TION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $xmldata, $values, $indexs); xml_parser_free($parser); $loop = count($indexs['member']) / (count($indexs['struct']) / 2 ); for ($i = 0; $i < count($indexs['member']); $i += $loop){ $_struct = array_slice($indexs['member'], $i, $loop); $_array_pop = array_pop($_struct); $_array_shift = array_shift($_struct); $__struct = array_slice($values, $_array_shift, $_array_pop - $_array_shift + 1); $keys = array(); foreach($__struct as $_value){ if("complete" == $_value['type']){ if($__type == 0){ $tmp_value = $_value['value']; $keys[] = $tmp_value; } else { if(($tmp_value == 'content' && in_array('description', $keys)) || ($tmp_value == 'description' && in_array('content', $keys))) { } else { $struct[$i][$tmp_value] = siconv( $_value['value'], $_SC['charset'], 'UTF-8'); } } $__type == 0 ? $__type = 1:$__type = 0 ; } } } return $struct; } ?>6t]SSA|5IV>08 freehost\800123123com\web\aiyi\home\source\cp_invite.php$=".avatar($space['uid'], 'middle')."
".$_SN[$space['uid']], $_SN[$space['uid']], $_SCONFIG['sitename'], '', '', $spaceurl, '' ); //ȡӦӦ $appinfo = array(); if($appid) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('myapp')." WHERE appid='$appid'"); $appinfo = $_SGLOBAL['db']->fetch_array($query); if($appinfo) { $inviteapp = "&app=$appid"; $mailvar[6] = $appinfo['appname']; } else { $appid = 0; } } //ʼ if(submitcheck('emailinvite')) { set_time_limit(0);//óʱʱ if($_SCONFIG['closeinvite']) { showmessage('close_invite'); } $mails = array_unique(explode(",", $_POST['email'])); $invitenum = 0; $failingmail = array(); foreach($mails as $key => $value) { $value = trim($value); if(empty($value) || !isemail($value)) { $failingmail[] = $value; continue; } if($reward['credit']) { //ֿۼ $credit = intval($reward['credit'])*($invitenum+1); if(!isemail($value) || ($reward['credit'] && $credit > $space['credit'])) { $failingmail[] = $value; continue; } $code = strtolower(random(6)); $setarr = array( 'uid' => $_SGLOBAL['supe_uid'], 'code' => $code, 'email' => saddslashes($value), 'type' => 1 ); $id = inserttable('invite', $setarr, 1); if($id) { $mailvar[4] = "{$siteurl}invite.php?{$id}{$code}{$inviteapp}"; createmail($value, $mailvar); $invitenum++; } else { $failingmail[] = $value; } } else { $mailvar[4] = "{$siteurl}invite.php?u=$space[uid]&c=$invite_code{$inviteapp}"; if($appid) { $mailvar[6] = $appinfo['appname']; } createmail($value, $mailvar); } } if($reward['credit'] && $invitenum) { $credit = intval($reward['credit'])*$invitenum; $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET credit=credit-$credit WHERE uid='$_SGLOBAL[supe_uid]'"); } if($failingmail) { showmessage('send_result_2', '', 1, array(implode('
', $failingmail))); } else { showmessage('send_result_1'); } } if($_GET['op'] == 'resend') { $id = $_GET['id'] ? intval($_GET['id']) : 0; if(submitcheck('resendsubmit')) { if(empty($id)) { showmessage('send_result_3'); } $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('invite')." WHERE id='$id' AND uid='$_SGLOBAL[supe_uid]' ORDER BY id DESC"); if($value = $_SGLOBAL['db']->fetch_array($query)) { if($reward['credit']) { $inviteurl = "{$siteurl}invite.php?{$value[id]}{$value[code]}"; } else { $inviteurl = "{$siteurl}invite.php?u=$space[uid]&c=$invite_code"; } $mailvar[4] = $inviteurl; createmail($value['email'], $mailvar); showmessage('send_result_1', $_POST['refer']); } else { showmessage('send_result_3'); } } }elseif($_GET['op'] == 'delete') { $id = $_GET['id'] ? intval($_GET['id']) : 0; if(empty($id)) { showmessage('there_is_no_record_of_invitation_specified'); } $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('invite')." WHERE id='$id' AND uid='$_SGLOBAL[supe_uid]'"); if($value = $_SGLOBAL['db']->fetch_array($query)) { if(submitcheck('deletesubmit')) { $_SGLOBAL['db']->query("DELETE FROM ".tname('invite')." WHERE id='$id'"); showmessage('do_success', $_POST['refer']); } } else { showmessage('there_is_no_record_of_invitation_specified'); } } else { $list = $flist = array(); $count = 0; $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('invite')." WHERE uid='$_SGLOBAL[supe_uid]' ORDER BY id DESC"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['fuid'], $value['fusername']); if($value['fuid']) { $flist[] = $value; } else { if($reward['credit']) { $inviteurl = "{$siteurl}invite.php?{$value[id]}{$value[code]}"; } else { $inviteurl = "{$siteurl}invite.php?u=$space[uid]&c=$invite_code{$inviteapp}"; } if($value['type']) { $maillist[] = array( 'email' => $value['email'], 'url' => $inviteurl, 'id' => $value['id'] ); } else { $list[] = $inviteurl;//ûз͵ $count++; } } } if($inviteurl) { $mailvar[4] = $inviteurl; } elseif($reward['credit']) { $mailvar[4] = "{$siteurl}invite.php?{$value[id]}{xxxxxx}"; } else { $mailvar[4] = "{$siteurl}invite.php?u=$space[uid]&c=$invite_code{$inviteapp}"; } realname_get(); if($reward['credit']) { $list_str = empty($list)?'':implode("\n", $list); $maxcount_my = $maxcount - $count; $maxinvitenum = empty($reward['credit'])?$maxcount_my:intval($space['credit']/$reward['credit']); if($maxinvitenum > $maxcount_my) $maxinvitenum = $maxcount_my; if($maxinvitenum < 0) $maxinvitenum = 0; //ύ if(submitcheck('invitesubmit')) { if($_SCONFIG['closeinvite']) { showmessage('close_invite'); } $invitenum = intval($_POST['invitenum']); if($invitenum > $maxinvitenum) $invitenum = $maxinvitenum; //ۼ $credit = intval($reward['credit'])*$invitenum; if(empty($invitenum) || ($reward['credit'] && $credit > $space['credit'])) { showmessage('invite_error'); } $codes = array(); for ($i=0;$i<$invitenum;$i++) { $code = strtolower(random(6)); $codes[] = "('$_SGLOBAL[supe_uid]', '$code')"; } if($codes) { $_SGLOBAL['db']->query("INSERT INTO ".tname('invite')." (uid, code) VALUES ".implode(',', $codes)); if($credit) { $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET credit=credit-$credit WHERE uid='$_SGLOBAL[supe_uid]'"); } } showmessage('do_success', 'cp.php?ac=invite', 0); } } $uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']); $uri = substr($uri, 0, strrpos($uri, '/')+1); $actives = array('invite'=>' class="active"'); } include template('cp_invite'); function createmail($mail, $mailvar) { global $_SGLOBAL, $_SCONFIG, $space, $_SN, $appinfo; $mailvar[3] = empty($_POST['saymsg'])?'':getstr($_POST['saymsg'], 500); smail(0, $mail, cplang($appinfo ? 'app_invite_subject' : 'invite_subject', array($_SN[$space['uid']], $_SCONFIG['sitename'], $appinfo['appname'])), cplang($appinfo ? 'app_invite_massage' : 'invite_massage', $mailvar)); } ?>t\F@F@wG5IV>07 freehost\800123123com\web\aiyi\home\source\cp_magic.phpGquery("SELECT * FROM ".tname("friend")." WHERE uid = '$_SGLOBAL[supe_uid]' AND fusername='$_POST[fusername]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value) { showmessage("bad_friend_username_given");//Ч } $fuid = $value['fuid']; $fusername = $value['fusername']; //ߵıӵиõ߼ת $usermagics = array(); $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname("usermagic")." WHERE uid='$_SGLOBAL[supe_uid]' AND mid IN('license', '$mid')"); while($value = $_SGLOBAL['db']->fetch_array($query)) { $usermagics[$value['mid']] = $value; } if(!$usermagics['license'] || !$usermagics['license']['count']) { showmessage('has_no_more_present_magic'); } if(!$usermagics[$mid] || !$usermagics[$mid]['count']) { showmessage('has_no_more_magic', '', '', array($magic['name'], 'a_buy_'.$mid, "cp.php?ac=magic&op=buy&mid=$mid")); } // $_SGLOBAL['db']->query('UPDATE '.tname('usermagic')." SET count = count - 1 WHERE uid = '$_SGLOBAL[supe_uid]' AND mid IN ('license', '$mid')"); // $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('usermagic')." WHERE uid='$fuid' AND mid='$mid'"); $value = $_SGLOBAL['db']->fetch_array($query); $count = $value ? $value['count'] + 1 : 1; inserttable('usermagic', array('uid'=>$fuid, 'username'=>$fusername, 'mid'=>$mid, 'count'=>$count), 0, true); //루ͣ־ inserttable('magicinlog', array('uid'=>$fuid, 'username'=>$fusername, 'mid'=>$mid, 'count'=>1, 'type'=>2, 'fromid'=>$_SGLOBAL['supe_uid'], 'credit'=>0, 'dateline'=>$_SGLOBAL['timestamp'])); //֪ͨ notification_add($fuid, 'magic', cplang('magic_present_note', array($magic['name'], "cp.php?ac=magic&view=me&mid=$mid"))); showmessage("magicpresent_success", $_POST['refer'], '', array($fusername)); } if($op == 'buy') {// $results = magic_buy_get($magic); extract($results); } elseif ($op == "present") {// if($mid == 'license') { showmessage("magic_can_not_be_presented");//˵߲ת } //ߵıӵиõ߼ת $usermagics = array(); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('usermagic')." WHERE uid='$_SGLOBAL[supe_uid]' AND mid IN('license', '$mid')"); while($value = $_SGLOBAL['db']->fetch_array($query)) { $usermagics[$value['mid']] = $value; } if(!$usermagics['license'] || !$usermagics['license']['count']) { showmessage('has_no_more_present_magic'); } if(!$usermagics[$mid] || !$usermagics[$mid]['count']) { showmessage('has_no_more_magic', '', '', array($magic['name'], 'a_buy_'.$mid, "cp.php?ac=magic&op=buy&mid=$mid")); } } elseif($op == 'showusage') { //ʾʹðͼƬ if(!$mid) { showmessage('unknown_magic'); } } elseif($op == 'receive') {//ȡ $uid = intval($_GET['uid']); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('magicuselog')." WHERE uid='$uid' AND mid='gift' LIMIT 1"); $value = $_SGLOBAL['db']->fetch_array($query); if($value && $value['data']) { $data = unserialize($value['data']); if($data['left'] <= 0) { showmessage("magic_gift_already_given_out");//Ѿ } $data['receiver'] = is_array($data['receiver']) ? $data['receiver'] : array(); if(in_array($_SGLOBAL['supe_uid'], $data['receiver'])) { showmessage("magic_had_got_gift");//Ѿȡ˴κ } $credit = $data['left'] > $data['chunk'] ? $data['chunk'] : $data['left']; $data['receiver'][] = $_SGLOBAL['supe_uid']; $data['left'] = $data['left'] - $credit; if($data['left'] > 0) { updatetable('magicuselog', array('data'=>serialize($data)), array('logid'=>$value['logid'])); } else { $_SGLOBAL['db']->query('DELETE FROM '.tname('magicuselog')." WHERE logid = '$value[logid]'"); } $_SGLOBAL['db']->query('UPDATE '.tname('space')." SET credit = credit + '$credit' WHERE uid='$_SGLOBAL[supe_uid]'"); showmessage('magic_got_gift', '', '', array($credit));//Ѿȡˣ x } else { showmessage('magic_has_no_gift');//ռûú } } elseif($op == 'appear') { //ȡЧ if(!$_SGLOBAL['session']['magichidden']) { showmessage('magic_not_hidden_yet'); } if(submitcheck('appearsubmit')) { updatetable('session', array('magichidden'=>'0'), array('uid'=>$_SGLOBAL['supe_uid'])); updatetable('magicuselog', array('expire'=>$_SGLOBAL['timestamp']), array('uid'=>$_SGLOBAL['supe_uid'], 'mid'=>'invisible')); showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'retrieve') { //պ $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('magicuselog')." WHERE uid = '$_SGLOBAL[supe_uid]' AND mid = 'gift'"); $value = $_SGLOBAL['db']->fetch_array($query); $leftcredit = 0; if(!$value) { showmessage('not_set_gift');//ǰûú } elseif($value['data']) { $data = unserialize($value['data']); $leftcredit = intval($data['left']); } if(submitcheck('retrievesubmit')) { $_SGLOBAL['db']->query('DELETE FROM '.tname('magicuselog')." WHERE uid = '$_SGLOBAL[supe_uid]' AND mid = 'gift'"); $_SGLOBAL['db']->query('UPDATE '.tname('space')." SET credit = credit + $leftcredit WHERE uid = '$_SGLOBAL[supe_uid]'"); showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'cancelsuperstar') {//ȡ $mid = 'superstar'; $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('spacefield')." WHERE uid = '$_SGLOBAL[supe_uid]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value || !$value['magicstar']) { showmessage('not_superstar_yet'); } if(submitcheck('cancelsubmit')) { updatetable('spacefield', array('magicstar'=>0), array('uid'=>$_SGLOBAL['supe_uid'])); updatetable('magicuselog', array('expire'=>$_SGLOBAL['timestamp']), array('uid'=>$_SGLOBAL['supe_uid'], 'mid'=>'superstar')); showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'cancelflicker') {//ȡʺ $mid = 'flicker'; $_GET['idtype'] = 'cid'; $_GET['id'] = intval($_GET['id']); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('comment')." WHERE cid = '$_GET[id]' AND authorid = '$_SGLOBAL[supe_uid]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value || !$value['magicflicker']) { showmessage('no_flicker_yet'); } if(submitcheck('cancelsubmit')) { updatetable('comment', array('magicflicker'=>0), array('cid'=>$_GET['id'], 'authorid'=>$_SGLOBAL['supe_uid'])); showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'cancelcolor') {//ȡɫ $mid = 'color'; $_GET['id'] = intval($_GET['id']); //idtypemagiccolorֶεıӳ $mapping = array('blogid'=>'blogfield', 'tid'=>'thread'); $tablename = $mapping[$_GET['idtype']]; if(empty($tablename)) { showmessage('no_color_yet'); } $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname($tablename)." WHERE $_GET[idtype] = '$_GET[id]' AND uid = '$_SGLOBAL[supe_uid]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value || !$value['magiccolor']) { showmessage('no_color_yet'); } if(submitcheck('cancelsubmit')) { updatetable($tablename, array('magiccolor'=>0), array($_GET['idtype']=>$_GET[id])); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('feed')." WHERE id = '$_GET[id]' AND idtype = '$_GET[idtype]'"); $feed = $_SGLOBAL['db']->fetch_array($query); if($feed) { $feed['body_data'] = unserialize($feed['body_data']); if($feed['body_data']['magic_color']) { unset($feed['body_data']['magic_color']); } $feed['body_data'] = serialize($feed['body_data']); updatetable('feed', array('body_data'=>$feed['body_data']), array('feedid'=>$feed['feedid'])); } showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'cancelframe') {//ȡ $mid = 'frame'; $_GET['idtype'] = 'picid'; $_GET['id'] = intval($_GET['id']); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('pic')." WHERE picid = '$_GET[id]' AND uid = '$_SGLOBAL[supe_uid]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value || !$value['magicframe']) { showmessage('no_frame_yet'); } if(submitcheck('cancelsubmit')) { updatetable('pic', array('magicframe'=>0), array('picid'=>$_GET['id'])); showmessage('do_success', $_POST['refer'], 0); } } elseif($op == 'cancelbgimage') {//ȡֽ $mid = 'bgimage'; $_GET['idtype'] = 'blogid'; $_GET['id'] = intval($_GET['id']); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('blogfield')." WHERE blogid = '$_GET[id]' AND uid = '$_SGLOBAL[supe_uid]'"); $value = $_SGLOBAL['db']->fetch_array($query); if(!$value || !$value['magicpaper']) { showmessage('no_bgimage_yet'); } if(submitcheck('cancelsubmit')) { updatetable('blogfield', array('magicpaper'=>0), array('blogid'=>$_GET['id'])); showmessage('do_success', $_POST['refer'], 0); } } else {// if($_GET['view'] == 'me') {//ҵĵ //ӵеĵ $types['list'] = ' class="active"'; $list = $ids = $magics = array(); if($mid) { $magics[$mid] = $magic; $ids[] = $mid; } else { //ʾȫ $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('magic')." WHERE close = '0'"); while($value = $_SGLOBAL['db']->fetch_array($query)) { $value['forbiddengid'] = explode(',', $value['forbiddengid']); $magics[$value['mid']] = $value; $ids[] = $value['mid']; } } $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('usermagic')." WHERE uid='$_SGLOBAL[supe_uid]' AND mid IN (".simplode($ids).") AND count > 0"); while($value=$_SGLOBAL['db']->fetch_array($query)) { $list[$value['mid']] = $value; } } elseif($_GET['view'] == 'log') {//¼ $_GET['type'] = in_array($_GET['type'], array('in', 'out', 'present')) ? $_GET['type'] : 'in'; $types = array($_GET['type']=>' class="active"'); //ҳ $perpage = 20; $page = empty($_GET['page'])?0:intval($_GET['page']); if($page<1) $page = 1; $start = ($page-1)*$perpage; //鿪ʼ ckstart($start, $perpage); $list = array(); if($_GET['type'] == 'in') { //ü¼ $uids = array();//ʾ $count = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT COUNT(*) FROM '.tname('magicinlog')." WHERE uid = '$_SGLOBAL[supe_uid]'"), 0); if($count) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('magicinlog')." WHERE uid = '$_SGLOBAL[supe_uid]' ORDER BY dateline DESC LIMIT $start, $perpage"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if($value['type'] == 2) { $uids[] = $value['fromid']; } $list[] = $value; } } if($uids) { $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('member').' WHERE uid IN ('.simplode($uids).')'); while($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['uid'], $value['username']); } realname_get(); } } elseif($_GET['type'] == 'present') { //ͼ¼ $count = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT COUNT(*) FROM '.tname('magicinlog')." WHERE type = 2 AND fromid = '$_SGLOBAL[supe_uid]'"), 0); if($count) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('magicinlog')." WHERE type = 2 AND fromid = '$_SGLOBAL[supe_uid]' ORDER BY dateline DESC LIMIT $start, $perpage"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['uid'], $value['username']); $list[] = $value; } } realname_get(); } else { //ʹü¼ $count = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT COUNT(*) FROM '.tname('magicuselog')." WHERE uid = '$_SGLOBAL[supe_uid]'"), 0); if($count) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('magicuselog')." WHERE uid = '$_SGLOBAL[supe_uid]' ORDER BY dateline DESC LIMIT $start, $perpage"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $value['data'] = unserialize($value['data']); $list[] = $value; } } } //ҳ $theurl = 'cp.php?ac=magic&view=log&type='.$_GET['type']; $multi = multi($count, $perpage, $page, $theurl); } else {//г $_GET['view'] = 'store'; //ʾ˳ $_GET['order'] = $_GET['order'] == 'hot' ? 'hot' : 'default'; $orders = array($_GET['order']=>' class="active"'); $magics = $ids = $list = array(); $blacklist = array('coupon');//̵ʾĵ if($mid) { //ֻʾ $magics[$mid] = $magic; $ids[] = $mid; } else { //ʾȫ $orderby = $_GET['order'] == 'hot' ? '' : 'ORDER BY displayorder'; $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('magic')." $orderby"); while($value = $_SGLOBAL['db']->fetch_array($query)) { if($value['close'] || in_array($value['mid'], $blacklist)) { continue; } $value['forbiddengid'] = explode(',', $value['forbiddengid']); $magics[$value['mid']] = $value; $ids[] = $value['mid']; } } if(empty($magics)) { showmessage('magic_store_is_closed');//̵Ѿرգûκε߿ţ } $oldids = array();//Ѿ¼̵ĵ $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('magicstore').' WHERE mid IN ('.simplode($ids).')'); while($value = $_SGLOBAL['db']->fetch_array($query)) { $list[$value['mid']] = $value; $oldids[] = $value['mid']; //¿ if($value['storage'] < $magics[$value['mid']]['providecount'] && $value['lastprovide'] + $magics[$value['mid']]['provideperoid'] < $_SGLOBAL['timestamp']) { $_SGLOBAL['db']->query('UPDATE '.tname('magicstore')." SET storage = '{$magics[$value[mid]][providecount]}', lastprovide = '$_SGLOBAL[timestamp]' WHERE mid = '$value[mid]'"); $list[$value['mid']]['storage'] = $magics[$value['mid']]['providecount']; } } $newids = array_diff($ids, $oldids);//δ¼̵ĵ if($newids) { $inserts = array(); foreach ($newids as $id) { $inserts[] = "('$id', '{$magics[$id][providecount]}', '$_SGLOBAL[timestamp]')"; $list[$id] = array("mid"=>$id, 'storage'=>$magics[$id]['providecount'], 'lastprovide'=>$_SGLOBAL['timestamp']); } $_SGLOBAL['db']->query('INSERT INTO '.tname('magicstore').'(mid, storage, lastprovide) VALUES '.implode(',',$inserts)); } // if($_GET['order'] == 'hot') { //۳ function hotsort($a, $b) { return ($a['sellcount'] > $b['sellcount']) ? -1 : ($a['sellcount'] < $b['sellcount']); } usort($list, 'hotsort'); $order = array(); foreach ($list as $value) { $order[$value['mid']] = $value; } $list = $order; unset($order); } else { //Ĭ $order = array(); foreach ($ids as $id) { $order[$id] = $list[$id]; } $list = $order; unset($order); } } $actives = array($_GET['view']=>' class="active"'); } include_once template('cp_magic'); ?>t[^^%BP 6IV>06 freehost\800123123com\web\aiyi\home\source\cp_mtag.phpIquery("SELECT * FROM ".tname('profield')." ORDER BY displayorder"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if($value['formtype'] == 'text') { $textarr[$value['fieldid']] = $value; } else { $value['choice'] = explode("\n", $value['choice']); foreach ($value['choice'] as $subkey => $subvalue) { $value['choice'][$subkey] = trim($subvalue); } $fieldarr[$value['fieldid']] = $value['fieldid']; $choicearr[$value['fieldid']] = $value; } $_SGLOBAL['profield'][$value['fieldid']] = $value; } //ʾ if($_GET['op'] == 'manage') { if(empty($_GET['subop'])) { $_GET['subop'] = 'base'; } //鵱ǰûȨ $mtag = array(); $managemtag = 0; $tagid = empty($_GET['tagid'])?0:intval($_GET['tagid']); $mtag = getmtag($tagid); if(submitcheck('invitesubmit') || $_GET['subop']=='invite') { if(empty($mtag['allowinvite'])) { showmessage('no_privilege');// } } else { if($mtag['grade'] < 8) { showmessage('no_privilege');/// } } //Ŀ $field = $_SGLOBAL['profield'][$mtag['fieldid']]; //ύ if(submitcheck('basesubmit')) { $setarr = array(); if($mtag['grade'] == 9) { //Ⱥ $setarr['joinperm'] = $field['manualmember']?intval($_POST['joinperm']):0; $setarr['viewperm'] = intval($_POST['viewperm']); $setarr['threadperm'] = intval($_POST['threadperm']); $setarr['postperm'] = intval($_POST['postperm']); $setarr['closeapply'] = intval($_POST['closeapply']); } $setarr['pic'] = picurl_get($_POST['pic'], 150); $setarr['announcement'] = getstr($_POST['announcement'], 5000, 1, 1, 1, 1); updatetable('mtag', $setarr, array('tagid'=>$tagid)); showmessage('do_success', "cp.php?ac=mtag&op=manage&tagid=$tagid&subop=$_GET[subop]"); } elseif (submitcheck('memberssubmit')) { //Ա mtag_managemember($mtag, $_POST['ids'], $_POST['newgrade']); showmessage('do_success', "cp.php?ac=mtag&op=manage&tagid=$tagid&subop=$_GET[subop]&grade=$_GET[grade]"); } elseif (submitcheck('invitesubmit')) { // $ids = empty($_POST['ids'])?array():$_POST['ids']; $inserts = array(); if($ids) { $haves = array(); $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('tagspace')." WHERE tagid='$mtag[tagid]' AND uid IN (".simplode($ids).")"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $haves[$value['uid']] = $value['uid']; } $touids = array(); $nones = array_diff($ids, $haves); if($nones) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('friend')." WHERE uid='$_SGLOBAL[supe_uid]' AND fuid IN (".simplode($nones).") AND status='1'"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $touids[] = $value['fuid']; $inserts[] = "('$value[fuid]', '$mtag[tagid]', '$_SGLOBAL[supe_uid]', '$_SGLOBAL[supe_username]', '$_SGLOBAL[timestamp]')"; } } } if($inserts) { $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET mtaginvitenum=mtaginvitenum+1 WHERE uid IN (".simplode($touids).")"); $_SGLOBAL['db']->query("REPLACE INTO ".tname('mtaginvite')." (uid,tagid,fromuid,fromusername,dateline) VALUES ".implode(',', $inserts)); } showmessage('do_success', "cp.php?ac=mtag&op=manage&tagid=$tagid&subop=invite&page=$_GET[page]&group=$_GET[group]&start=$_GET[start]"); } elseif (submitcheck('membersubmit')) { //Ա mtag_managemember($mtag, array($_GET['uid']), $_POST['grade']); showmessage('do_success', $_POST['refer'], 0); } //༭û if($_GET['subop'] == 'member') { $grades = array(); $tagid = $_GET['tagid']; $uid = $_GET['uid']; $query = $_SGLOBAL['db']->query("SELECT grade FROM ".tname('tagspace')." WHERE tagid='$tagid' AND uid='$uid' LIMIT 1"); if($value = $_SGLOBAL['db']->fetch_array($query)) { $grades = array($value['grade'] => ' selected'); } } elseif($_GET['subop'] == 'members') { //ҳ $perpage = 24; $start = empty($_GET['start'])?0:intval($_GET['start']); $list = array(); $count = 0; // $wheresql = ''; $_GET['key'] = stripsearchkey($_GET['key']); if($_GET['key']) { $wheresql = " AND username LIKE '%$_GET[key]%' "; } //鿪ʼ ckstart($start, $perpage); $_GET['grade'] = intval($_GET['grade']); $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('tagspace')." WHERE tagid='$tagid' AND grade='$_GET[grade]' $wheresql LIMIT $start,$perpage"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['uid'], $value['username']); $list[] = $value; $count++; } realname_get(); $multi = smulti($start, $perpage, $count, "cp.php?ac=mtag&op=manage&tagid=$mtag[tagid]&subop=members&grade=$_GET[grade]&key=$_GET[key]"); } elseif($_GET['subop'] == 'invite') { // //ҳ $perpage = 24; $page = empty($_GET['page'])?0:intval($_GET['page']); if($page<1) $page = 1; $start = ($page-1)*$perpage; //鿪ʼ ckstart($start, $perpage); $list = array(); $wherearr = array(); $_GET['key'] = stripsearchkey($_GET['key']); if($_GET['key']) { $wherearr[] = " fusername LIKE '%$_GET[key]%' "; } $_GET['group'] = isset($_GET['group'])?intval($_GET['group']):-1; if($_GET['group'] >= 0) { $wherearr[] = " gid='$_GET[group]'"; } $sql = $wherearr ? 'AND'.implode(' AND ', $wherearr) : ''; $count = $_SGLOBAL['db']->result($_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('friend')." WHERE uid='$_SGLOBAL[supe_uid]' AND status='1' $sql"), 0); $fuids = array(); if($count) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('friend')." WHERE uid='$_SGLOBAL[supe_uid]' AND status='1' $sql ORDER BY num DESC, dateline DESC LIMIT $start,$perpage"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['fuid'], $value['fusername']); $list[] = $value; $fuids[] = $value['fuid']; } } //Ƿ $joins = array(); $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('tagspace')." WHERE tagid='$tagid' AND uid IN (".simplode($fuids).")"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $joins[$value['uid']] = $value['uid']; } //Ƿ $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('mtaginvite')." WHERE tagid='$tagid' AND uid IN (".simplode($fuids).")"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $joins[$value['uid']] = $value['uid']; } realname_get(); //û $groups = getfriendgroup(); $groupselect = array($_GET['group'] => ' selected'); $multi = multi($count, $perpage, $page, "cp.php?ac=mtag&op=manage&tagid=$mtag[tagid]&subop=invite&group=$_GET[group]&key=$_GET[key]"); } else { //ʾ include_once(S_ROOT.'./source/function_bbcode.php'); $mtag['announcement'] = html2bbcode($mtag['announcement']); $joinperms = array($mtag['joinperm'] => ' selected'); $viewperms = array($mtag['viewperm'] => ' selected'); $threadperms = array($mtag['threadperm'] => ' selected'); $postperms = array($mtag['postperm'] => ' selected'); $closeapply = array($mtag['closeapply'] => ' checked'); } $actives = array($_GET['subop'] => ' class="active"'); } elseif($_GET['op'] == 'join') { $tagid = empty($_GET['tagid'])?0:intval($_GET['tagid']); if(submitcheck('joinsubmit')) { $mtag = mtag_join('tagid', $tagid); if(empty($mtag)) { showmessage('mtag_join_error'); } else { showmessage('join_success', "space.php?uid=$_SGLOBAL[supe_uid]&do=mtag&tagid=$mtag[tagid]", 0); } } } elseif($_GET['op'] == 'out') { $tagid = empty($_GET['tagid'])?0:intval($_GET['tagid']); $mtag = $tagid?getmtag($tagid):array(); if(submitcheck('outsubmit')) { //˽Ⱥ֤ if(($mtag['joinperm'] > 0 || $mtag['viewperm'] > 0) && $mtag['grade'] == 9) { //֤ǷȺ $count = $_SGLOBAL['db']->result($_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('tagspace')." WHERE tagid='$tagid' AND grade='9'"), 0); if($count < 2) { showmessage('failure_to_withdraw_from_group'); } } if($mtag['status'] != -9) { mtag_out($mtag, array($_SGLOBAL['supe_uid']));//˳ } showmessage('do_success', "space.php?do=mtag"); } } elseif($_GET['op'] == 'mtaginvite') { //Ⱥ $count = 0; $invites = array(); $query = $_SGLOBAL['db']->query("SELECT mtag.*, i.* FROM ".tname('mtaginvite')." i LEFT JOIN ".tname('mtag')." mtag ON mtag.tagid=i.tagid WHERE i.uid='$_SGLOBAL[supe_uid]' ORDER BY i.dateline DESC"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { realname_set($value['fromuid'], $value['fromusername']); $value['title'] = $_SGLOBAL['profield'][$value['fieldid']]['title']; if(empty($value['pic'])) { $value['pic'] = 'image/nologo.jpg'; } $invites[] = $value; $count++; } realname_get(); //ͳ if($count != $space['mtaginvitenum']) { updatetable('space', array('mtaginvitenum'=>$count), array('uid'=>$space['uid'])); } } elseif($_GET['op'] == 'inviteconfirm') { $tagid = intval($_GET['tagid']); if($tagid && !empty($_GET['r'])) { //жǷѾȺ $ts_count = getcount('tagspace', array('tagid'=>$tagid, 'uid'=>$_SGLOBAL['supe_uid'])); if(!$ts_count) { $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('mtaginvite')." WHERE tagid='$tagid' AND uid='$_SGLOBAL[supe_uid]'"); if($invite = $_SGLOBAL['db']->fetch_array($query)) { //ȺϢ $mtag = getmtag($tagid); // $fieldid = $mtag['fieldid']; $field = $mtag['field']; //ԼڵǰĿȺ $maxinputnum = 0; if($field['formtype'] == 'text' || $field['formtype'] == 'multi') { $maxinputnum = intval($field['inputnum']); } elseif($field['formtype'] == 'select') { $maxinputnum = 1; } if($maxinputnum) { $query = $_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('tagspace')." ts, ".tname('mtag')." mtag WHERE ts.tagid=mtag.tagid AND ts.uid='$_SGLOBAL[supe_uid]' AND mtag.fieldid='$fieldid'"); $count = $_SGLOBAL['db']->result($query, 0); if($count >= $maxinputnum) { showmessage('mtag_join_field_error', '', 1, array($field['title'], $maxinputnum)); } } //Ⱥ $setarr = array( 'tagid' => $tagid, 'uid' => $_SGLOBAL['supe_uid'], 'username' => $_SGLOBAL['supe_username'] ); $_SGLOBAL['db']->query("UPDATE ".tname('mtag')." SET membernum=membernum+1 WHERE tagid='$tagid'"); inserttable('tagspace', $setarr, 0, true); //¼֪ͨ //ʵ realname_set($invite['fromuid'], $invite['fromusername']); realname_get(); if(ckprivacy('mtag', 1)) { $fs = array(); $fs['icon'] = 'mtag'; $fs['title_template'] = cplang('feed_mtag_join_invite'); $fs['title_data'] = array( 'mtag' => "$mtag[tagname]", 'field' => "$mtag[title]", 'fromusername' => "{$_SN[$invite['fromuid']]}" ); $fs['body_template'] = ''; $fs['body_data'] = array(); $fs['body_general'] = ''; feed_add($fs['icon'], $fs['title_template'], $fs['title_data'], $fs['body_template'], $fs['body_data'], $fs['body_general']); } $_SGLOBAL['db']->query("DELETE FROM ".tname('mtaginvite')." WHERE tagid='$tagid' AND uid='$_SGLOBAL[supe_uid]'"); //ͳ if($space['mtaginvitenum']>0) { updatetable('space', array('mtaginvitenum'=>$space['mtaginvitenum']-1), array('uid'=>$space['uid'])); } showmessage('invite_mtag_ok', '', 1, array($tagid)); } } } //ȡ if($tagid) { $_SGLOBAL['db']->query("DELETE FROM ".tname('mtaginvite')." WHERE uid='$_SGLOBAL[supe_uid]' AND tagid='$tagid'"); //ͳ if($space['mtaginvitenum']>0) { updatetable('space', array('mtaginvitenum'=>$space['mtaginvitenum']-1), array('uid'=>$space['uid'])); } showmessage('invite_mtag_cancel'); } elseif($tagid == 0) { $_SGLOBAL['db']->query("DELETE FROM ".tname('mtaginvite')." WHERE uid='$_SGLOBAL[supe_uid]'"); //ͳ updatetable('space', array('mtaginvitenum'=>0), array('uid'=>$space['uid'])); showmessage('do_success', "cp.php?ac=mtag&op=mtaginvite", 0); } showmessage('invite_mtag_cancel', "cp.php?ac=mtag&op=mtaginvite", 0); }elseif($_GET['op'] == 'apply') { $tagid = intval($_GET['tagid']); if($tagid && submitcheck('pmsubmit')) { if(empty($_POST['message'])) { showmessage('fill_out_the_grounds_for_the_application'); } $notearr = array(); $mtag = getmtag($tagid); $mtagurl = 'cp.php?ac=mtag&tagid='.$tagid.'&op=manage&subop=members&key='.$_SGLOBAL['supe_username']; $_POST['message'] = getstr($_POST['message'], 0, 1, 1, 1); $message = cplang('apply_mtag_manager', array($mtagurl, $mtag['tagname'], $_POST['message'])); $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('tagspace')." WHERE tagid='$tagid' AND grade > 8 LIMIT 0 , 5"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $notearr[] = array( 'uid' => $value['uid'], 'type' => 'mtag', 'new' => 1, 'authorid' => $_SGLOBAL['supe_uid'], 'author' => $_SGLOBAL['supe_username'], 'note' => addslashes(sstripslashes($message)), 'dateline' => $_SGLOBAL['timestamp'] ); } if(!$notearr) { $groups = array(); $query = $_SGLOBAL['db']->query("SELECT gid FROM ".tname('usergroup')." WHERE managemtag='1'"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $groups[] = $value['gid']; } if($groups) { $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('space')." WHERE groupid IN (".simplode($groups).") LIMIT 0 , 5"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $notearr[] = array( 'uid' => $value['uid'], 'type' => 'mtag', 'new' => 1, 'authorid' => $_SGLOBAL['supe_uid'], 'author' => $_SGLOBAL['supe_username'], 'note' => addslashes(sstripslashes($message)), 'dateline' => $_SGLOBAL['timestamp'] ); } } } note_apply($notearr); showmessage('do_success'); } } else { //Ⱥ if(!checkperm('allowmtag')) { ckspacelog(); showmessage('no_privilege'); } //ʵ֤ ckrealname('thread'); //Ƶ֤ ckvideophoto('thread'); //ûϰ cknewuser(); //ύ if(submitcheck('textsubmit')) { // $_POST['tagname'] = $tagname = getstr($_POST['tagname'], 40, 1, 1, 1); $_POST['fieldid'] = $fieldid = intval($_POST['fieldid']); $profield = $_SGLOBAL['profield'][$fieldid]; if(empty($profield) || $profield['formtype'] != 'text') { showmessage('mtag_fieldid_does_not_exist'); } if(strlen($tagname) < 2) { showmessage('mtag_tagname_error'); } if(!empty($_POST['joinmode'])) { //ȷ $mtag = mtag_join('tagname', stripslashes($tagname), $fieldid); if(empty($mtag)) { showmessage('mtag_join_error'); } else { $url = "space.php?uid=$_SGLOBAL[supe_uid]&do=mtag&tagid=$mtag[tagid]"; showmessage('join_success', $url, 0); } } else { //Ѱ $newtagname = stripslashes($_POST['tagname']); $findmtag = $likemtags = array(); $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('mtag')." WHERE tagname='$tagname' AND fieldid='$fieldid'"); if(!$findmtag = $_SGLOBAL['db']->fetch_array($query)) { $key = stripsearchkey($_POST['tagname']); //Ƶ $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('mtag')." WHERE tagname LIKE '%$key%' ORDER BY membernum DESC LIMIT 0,20"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $likemtags[] = $value; } } else { if(empty($findmtag['pic'])) $findmtag['pic'] = 'image/nologo.jpg'; } $_GET['op'] = 'confirm'; include template("cp_mtag"); exit(); } } elseif(submitcheck('choicesubmit')) { $mtags = array(); foreach ($_POST['tagname'] as $fieldid => $values) { $profield = $_SGLOBAL['profield'][$fieldid]; if($profield['formtype'] == 'multi') { if($values && is_array($values)) { foreach ($values as $value) { $s = stripslashes($value); if(in_array($s, $profield['choice'])) { if($mtag = mtag_join('tagname', $s, $fieldid)) { $mtags[] = $mtag; } } } } } elseif($profield['formtype'] == 'select') { $s = stripslashes($values); if(in_array($s, $profield['choice'])) { if($mtag = mtag_join('tagname', $s, $fieldid)) { $mtags[] = $mtag; } } } else { continue; } } if(empty($mtags)) { showmessage('do_success', 'cp.php?ac=mtag'); } else { $_GET['op'] = 'multiresult'; include template("cp_mtag"); exit(); } } //Ѿ $existmtag = array(); $query = $_SGLOBAL['db']->query("SELECT mtag.tagname, mtag.fieldid FROM ".tname('tagspace')." main LEFT JOIN ".tname('mtag')." mtag ON mtag.tagid=main.tagid WHERE main.uid='$_SGLOBAL[supe_uid]'"); while($value = $_SGLOBAL['db']->fetch_array($query)) { $existmtag[$value['fieldid']][] = $value['tagname']; } } include template("cp_mtag"); // function mtag_join($type, $key, $fieldid=0) { global $_SGLOBAL, $space; //жûǷѾ $havejoin = 0; $key = addslashes($key); if($type == 'tagid') { $wheresql = "main.tagid='$key'"; } else { if(strlen($key) < 2) { showmessage('mtag_tagname_error'); } $wheresql = "main.tagname='$key' AND main.fieldid='$fieldid'"; } $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('mtag')." main WHERE $wheresql LIMIT 1"); if($mtag = $_SGLOBAL['db']->fetch_array($query)) { //жǷ $fieldid = $mtag['fieldid']; $havejoin = getcount('tagspace', array('tagid'=>$mtag['tagid'], 'uid'=>$_SGLOBAL['supe_uid'])); } elseif($type == 'tagid') { return array(); } if($havejoin) { return $mtag; } $field = $_SGLOBAL['profield'][$fieldid]; if(!$mtag) { // $mtag = array( 'tagname' => $key, 'fieldid' => $fieldid ); $tagid = inserttable('mtag', $mtag, 1); $mtag['tagid'] = $tagid; } else { $tagid = $mtag['tagid']; } // $mtag['title'] = $field['title']; //ԼڵǰĿȺ $maxinputnum = 0; if($field['formtype'] == 'text' || $field['formtype'] == 'multi') { $maxinputnum = intval($field['inputnum']); } elseif($field['formtype'] == 'select') { $maxinputnum = 1; } if($maxinputnum) { $var = "myinputnum_$fieldid"; $query = $_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('tagspace')." ts, ".tname('mtag')." mtag WHERE ts.tagid=mtag.tagid AND ts.uid='$_SGLOBAL[supe_uid]' AND mtag.fieldid='$fieldid'"); $_SGLOBAL[$var] = $_SGLOBAL['db']->result($query, 0); if($_SGLOBAL[$var] >= $maxinputnum) { showmessage('mtag_join_field_error', '', 1, array($field['title'], $maxinputnum)); } } // $setarr = array( 'tagid' => $tagid, 'uid' => $_SGLOBAL['supe_uid'], 'username' => $_SGLOBAL['supe_username'] ); if($mtag['joinperm'] == 2) { return array(); } elseif($mtag['joinperm'] == 1) { $mtag['grade'] = $setarr['grade'] = -2;//Ҫ } else { //ǷȺ $query = $_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('tagspace')." WHERE tagid='$tagid' AND grade>=8"); $modcount = $_SGLOBAL['db']->result($query, 0); if($modcount) { $mtag['grade'] = $setarr['grade'] = 0;//ѾȺ } else { $mtag['grade'] = $setarr['grade'] = $field['manualmoderator']?0:9;//ԶΪȺ } //¼֪ͨ if(ckprivacy('mtag', 1)) { $fs = array(); $fs['icon'] = 'mtag'; $fs['title_template'] = cpla