1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?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');
- }
- }
- ?>
|