DiscuzX/upload/source/class/magic/magic_gift.php

86 lines
2.6 KiB
PHP

<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: magic_gift.php 26749 2011-12-22 07:38:37Z chenmengshu $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class magic_gift {
var $version = '1.0';
var $name = 'gift_name';
var $description = 'gift_desc';
var $price = '20';
var $weight = '20';
var $useevent = 0;
var $targetgroupperm = false;
var $copyright = '<a href="http://www.comsenz.com" target="_blank">Comsenz Inc.</a>';
var $magic = array();
var $parameters = array();
function getsetting(&$magic) {
$settings = array();
return $settings;
}
function setsetting(&$magicnew, &$parameters) {
}
function usesubmit() {
global $_G;
$info = array(
'credits' => intval($_POST['credits']),
'percredit' => intval($_POST['percredit']),
'credittype' => $_GET['credittype'],
'left' => intval($_POST['credits']),
'magicid' => intval($this->magic['magicid']),
'receiver' => array()
);
if($info['credits'] < 1) {
showmessage(lang('magic/gift', 'gift_bad_credits_input'));
}
if($info['percredit'] < 1 || $info['percredit'] > $info['credits']) {
showmessage(lang('magic/gift', 'gift_bad_percredit_input'));
}
$member = array();
if(preg_match('/^extcredits[1-8]$/', $info['credittype'])) {
$member = C::t('common_member_count')->fetch($_G['uid']);
if($member[$info['credittype']] < $info['credits']) {
showmessage(lang('magic/gift', 'gift_credits_out_of_own'));
}
$extcredits = str_replace('extcredits', '', $info['credittype']);
updatemembercount($_G['uid'], array($extcredits => -$info['credits']), 1, 'BGC', $this->magic['magicid']);
} else {
showmessage(lang('magic/gift', 'gift_bad_credittype_input'));
}
C::t('common_member_field_home')->update($_G['uid'], array('magicgift' => serialize($info)));
usemagic($this->magic['magicid'], $this->magic['num']);
updatemagiclog($this->magic['magicid'], '2', '1', '0', '0', 'uid', $_G['uid']);
showmessage(lang('magic/gift', 'gift_succeed'), dreferer(), array(), array('alert' => 'right', 'showdialog' => 1, 'locationtime' => true));
}
function show() {
global $_G;
$num = !empty($this->parameters['num']) ? intval($this->parameters['num']) : 10;
magicshowtips(lang('magic/gift', 'gift_info', array('num'=>$num)));
$extcredits = array();
foreach($_G['setting']['extcredits'] as $id => $credit) {
$extcredits['extcredits'.$id] = $credit['title'];
}
$op = 'show';
include template('home/magic_gift');
}
}
?>