📄 pw_ajax.php
字号:
);
writelog($log);
if($foruminfo['allowhtm'] && $page==1){
require_once(R_P.'require/template.php');
}
echo "success\t";
$ifmark = explode("\t",$ifmark);
foreach($ifmark as $key=>$value){
echo "<li>$value</li>";
}
ajax_footer();
} else{
$groupid=='guest' && Showmsg('not_login');
InitGP(array('pid','page','ifmsg','atc_content'));
if(!is_numeric($pid)){
$pw_tmsgs = GetTtable($tid);
$atc = $db->get_one("SELECT t.fid,t.postdate,t.authorid,t.author,t.subject,tm.ifmark FROM pw_threads t LEFT JOIN $pw_tmsgs tm ON tm.tid=t.tid WHERE t.tid='$tid'");
} else{
$pw_posts = GetPtable('N',$tid);
$atc = $db->get_one("SELECT fid,postdate,authorid,author,ifmark,subject,content FROM $pw_posts WHERE pid='$pid'");
}
Add_S($atc);
if(strpos($atc['ifmark'],"(".$windid.")")===false){
Showmsg('have_not_showping');
}
$fid = $atc['fid'];
$foruminfo = $db->get_one("SELECT name,f_type,style,password,allowvisit,allowhtm,cms,forumadmin,fupadmin FROM pw_forums WHERE fid='$fid' AND type<>'category'");
!$foruminfo && Showmsg('data_error');
wind_forumcheck($foruminfo);
$markdb = explode("\t",$atc['ifmark']);
$cid = '';
foreach($markdb as $key=>$mark){
if(strpos($mark,"(".$windid.")")!==false){
$credit = substr($mark,0,strpos($mark,":"));
list($addpoint) = explode("(",substr($mark,strpos($mark,":")+1));
$addpoint = (int) $addpoint;
unset($markdb[$key]);
foreach($cType as $k=>$v){
if($v==$credit){
$cid = $k;break;
}
}
break;
}
}
!$cid && Showmsg('all_credit_error');
$addpoint = $addpoint>0 ? -$addpoint : abs($addpoint);
UserCredit($atc['authorid'],$cid,'set',$addpoint);
$ifmark = implode("\t",$markdb);
if(!is_numeric($pid)){
$db->update("UPDATE pw_threads SET ifmark=ifmark+'$addpoint' WHERE tid='$tid'");
$db->update("UPDATE $pw_tmsgs SET ifmark='$ifmark' WHERE tid='$tid'");
} else{
$db->update("UPDATE $pw_posts SET ifmark='$ifmark' WHERE pid='$pid'");
}
$atc_content = Char_cv($atc_content);
if($db_charset!='utf-8'){
$atc_content = ajax_convert($atc_content,$db_charset);
}
!$atc['subject'] && $atc['subject'] = substrs($atc['content'],35);
if($ifmsg){
$msg=array(
$atc['author'],
$winduid,
'delping_title',
$timestamp,
'delping_content',
'',
$windid,
'fid' => $atc['fid'],
'tid' => $tid,
'subject' => $atc['subject'],
'postdate' => get_date($atc['postdate']),
'forum' => strip_tags($foruminfo['name']),
'affect' => "$credit:$addpoint",
'admindate' => get_date($timestamp),
'reason' => $atc_content
);
writenewmsg($msg,1);
}
require_once(R_P.'require/writelog.php');
$log = array(
'type' => 'credit',
'username1' => $atc['author'],
'username2' => $windid,
'field1' => $atc['fid'],
'field2' => '',
'field3' => '',
'descrip' => 'creditdel_descrip',
'timestamp' => $timestamp,
'ip' => $onlineip,
'tid' => $tid,
'forum' => strip_tags($foruminfo['name']),
'subject' => $atc['subject'],
'affect' => "$name:$addpoint",
'reason' => $atc_content
);
writelog($log);
if($foruminfo['allowhtm'] && $page==1){
require_once(R_P.'require/template.php');
}
echo "success\t";
foreach($markdb as $key=>$value){
echo "<li>$value</li>";
}
ajax_footer();
}
} elseif($action=='dig'){
!$_G['dig'] && Showmsg("dig_right");
$read = $db->get_one("SELECT t.author,t.subject,t.dig,f.forumset FROM pw_threads t LEFT JOIN pw_forumsextra f USING(fid) WHERE tid='$tid'");
!$read && Showmsg('data_error');
$forumset = unserialize($read['forumset']);
!$forumset['dig'] && Showmsg('forum_dig_allow');
$rt = $db->get_one("SELECT uid,digtid FROM pw_memberinfo WHERE uid='$winduid'");
Add_S($rt);
if(strpos(",$rt[digtid],",",$tid,")===false){
$read['dig']++;
$db->update("UPDATE pw_threads SET dig=dig+1 WHERE tid='$tid'");
if($rt){
strlen($rt['digtid'])>2000 && $rt['digtid'] = '';
$rt['digtid'] .= ($rt['digtid'] ? ',' : '').$tid;
$db->update("UPDATE pw_memberinfo SET digtid='$rt[digtid]' WHERE uid='$winduid'");
} else{
$db->update("INSERT INTO pw_memberinfo (uid,digtid) VALUES('$winduid','$tid')");
}
require_once(R_P.'require/posthost.php');
PostHost("http://push.phpwind.com/push.php?type=dig&url=".rawurlencode("$db_bbsurl/read.php?tid=$tid")."&tocharset=$db_charset&title=".rawurlencode($read['subject'])."&bbsname=".rawurlencode($db_bbsname),"");
Showmsg('dig_success');
} else{
Showmsg("dig_limit");
}
} elseif($action=='extend'){
InitGP(array('type'));
if($type=='pwcode'){
$code = array();
$query = $db->query("SELECT * FROM pw_windcode");
while($rt = $db->fetch_array($query)){
$rt['descrip'] = str_replace("\n","|",$rt['descrip']);
$code[] = $rt;
}
} else{
@include_once(D_P.'data/bbscache/setform.php');
$id = (int)GetGP('id');
$setform = array();
if(isset($setformdb[$id])){
$setform = $setformdb[$id];
}
}
require_once PrintEot('ajax');ajax_footer();
} elseif($action=='sharelink'){
!$db_ifselfshare && Showmsg("sharelink_colse");
if(!$_POST['step']){
require_once PrintEot('ajax');ajax_footer();
} else{
InitGP(array('linkname','linkurl','linkdescrip','linklogo'),'P',1);
(!$linkname || !$linkurl) && Showmsg('sharelink_link_empty');
!$linkdescrip && $linkdescrip = '';
!$linklogo && $linklogo = '';
$linkurl = strtolower($linkurl);
substr($linkurl,0,7)!="http://" && Showmsg('sharelink_link_error');
$rs=$db->get_one("SELECT sid FROM pw_sharelinks WHERE username='$windid'");
$rs && Showmsg('sharelink_apply_limit');
if($db_charset!='utf-8'){
$linkname = ajax_convert($linkname,$db_charset);
$linkdescrip = ajax_convert($linkdescrip,$db_charset);
}
$db->update("INSERT INTO pw_sharelinks(name,url,descrip,logo,ifcheck,username) VALUES('$linkname','$linkurl','$linkdescrip','$linklogo','0','$windid')");
Showmsg("sharelink_success");
}
} elseif($action=='showface'){
$img=@opendir("$imgdir/face");
$imagearray=@readdir($img);
$imgselect = "<span onClick=\"showimage('$imgpath','none.gif')\" class=\"fl face\"><img src='$imgpath/face/none.gif' width=\"50\" height=\"50\"></span>";
while($imagearray=@readdir($img)){
if($imagearray!="." && $imagearray!=".." && $imagearray!="" && $imagearray!="none.gif" && eregi("\.(gif|jpg|png|bmp)$",$imagearray)){
if($imagearray==$iconarray[0]){
$imgselect.= "<span onClick=\"showimage('$imgpath','$imagearray')\" class=\"fl face\"><img src='$imgpath/face/$imagearray' width=\"50\" height=\"50\"></span>";
} else{
$imgselect.="<span onClick=\"showimage('$imgpath','$imagearray')\" class=\"fl face\"><img src='$imgpath/face/$imagearray' width=\"50\" height=\"50\"></span>";
}
}
}
@closedir($img);
require_once PrintEot('ajax');ajax_footer();
} elseif($action=='newrp'){
if($db_replysitemail && $winddb['newrp']){
include_once(D_P.'data/bbscache/forum_cache.php');
$rt=$db->get_one("SELECT replyinfo FROM pw_memberinfo WHERE uid='$winduid'");
$rt['replyinfo']=substr($rt['replyinfo'],1,-1);
$replydb=array();
$query=$db->query("SELECT tid,fid,subject,postdate,lastpost FROM pw_threads WHERE tid IN($rt[replyinfo]) LIMIT 20");
if($db->num_rows($query)==0){
Showmsg('newrp_error');
}
while($rt=$db->fetch_array($query)){
$rt['subject']=substrs($rt['subject'],55);
$rt['fname']=$forum[$rt['fid']]['name'];
$rt['lastpost']=get_date($rt['lastpost'],'Y-m-d');
$replydb[]=$rt;
}
require_once PrintEot('ajax');ajax_footer();
} else{
Showmsg('newrp_error');
}
} elseif($action=='delnewrp'){
!$tid && Showmsg('data_error');
$rt = $db->get_one("SELECT replyinfo FROM pw_memberinfo WHERE uid='$winduid'");
$rt['replyinfo'] = str_replace(",$tid,",',',$rt['replyinfo']);
$rt['replyinfo'] == ',' && $rt['replyinfo'] = '';
$db->update("UPDATE pw_memberinfo SET replyinfo='$rt[replyinfo]' WHERE uid='$winduid'");
$db->update("UPDATE pw_threads SET ifmail='0' WHERE tid='$tid'");
if($winddb['newrp'] && !$rt['replyinfo']){
$db->update("UPDATE pw_members SET newrp='0' WHERE uid='$winduid'");
}
Showmsg('operate_success');
} elseif($action=='addfriend'){
$touid = (int)GetGP('touid');
if($touid==$winduid){
Showmsg('friend_selferror');
}
$rt = $db->get_one("SELECT uid,username FROM pw_members WHERE uid='$touid'");
if(!$rt){
$errorname = $touid;
Showmsg('user_not_exists');
}
$rs = $db->get_one("SELECT uid FROM pw_friends WHERE uid='$winduid' AND friendid='$rt[uid]'");
if($rs){
Showmsg('friend_already_exists');
}
$db->update("INSERT INTO pw_friends(uid,friendid,joindate) VALUES('$winduid','$rt[uid]','$timestamp')");
Showmsg('friend_update_success');
} elseif($action == 'showsmile'){
InitGP(array('subjectid','page','type'));
$u = "http://dm.phpwind.net/misc";
$subjectid = (int)$subjectid;
(!is_numeric($page) || $page<1) && $page = 1;
$s = '300.xml';
if($type == 'general'){
$s = $subjectid ? $subjectid.'_'.$page.'.xml' : '300.xml';
} elseif($type == 'magic'){
$s = $subjectid ? $subjectid.'_'.$page.'.xml' : '200.xml';
}
$cachefile = D_P."data/bbscache/myshow_{$s}";
if(!file_exists($cachefile) || $timestamp - @filemtime($cachefile) > 43200){
$data = '';
if($subjectid){
$url = $u.'/list/'.$s;
} else{
$url = $u.'/menu/'.$s;
}
if(ini_get('allow_url_fopen')){
if(function_exists('file_get_contents')){
$data = @file_get_contents($url);
} else{
$data = @implode('',@file($url));
}
}
if($data && strpos($data,'<?xml')===0){
writeover($cachefile,$data);
}
}
header("Content-Type: text/xml; charset=UTF-8");
$data = readover($cachefile);
echo $data;
exit;
} elseif($action == 'honor'){
!$gp_allowhonor && Showmsg('undefined_action');
if(!$_POST['step']){
require_once PrintEot('ajax');ajax_footer();
} else{
InitGP(array('content'),'P',1);
if($db_charset!='utf-8'){
$content = ajax_convert($content,$db_charset);
}
$content = str_replace("\n",'',$content);
strlen($content)>100 && $content = substrs($content,100);
$db->update("UPDATE pw_members SET honor='$content' WHERE uid='$winduid'");
echo "success\t".stripslashes($content);ajax_footer();
}
} elseif($action == 'readlog'){
$readlog = explode(',',GetCookie('readlog'));
@krsort($readlog);
$tids = '';
$i = 0;
foreach($readlog as $key=>$value){
if(is_numeric($value)){
$tids .= ($tids ? ',' : '').$value;
if(++$i>9) break;
}
}
Cookie('readlog',",$tids,");
!$tids && Showmsg('data_error');
include_once(D_P.'data/bbscache/forum_cache.php');
$readb = array();
$query = $db->query("SELECT t.tid,t.fid,t.subject,t.author,t.authorid,f.f_type,f.password,f.allowvisit FROM pw_threads t LEFT JOIN pw_forums f USING(fid) WHERE t.tid IN($tids)");
while($rt = $db->fetch_array($query)){
if(empty($rt['password']) && $rt['f_type']<>'hidden' && (empty($rt['allowvisit']) || allowcheck($rt['allowvisit'],$groupid,$winddb['groups']))){
$readb[] = $rt;
}
}
require_once PrintEot('ajax');ajax_footer();
} elseif($action == 'threadlog'){
$threadlog = explode(',',GetCookie('threadlog'));
@krsort($threadlog);
$fids = ',';
$i = 0;
foreach($threadlog as $key=>$value){
if(is_numeric($value)){
$fids .= $value.',';
if(++$i>9) break;
}
}
Cookie('threadlog',$fids);
include_once(D_P.'data/bbscache/forum_cache.php');
$threaddb = array();
foreach($forum as $key=>$value){
if(in_array($key,$threadlog)){
$threaddb[$key] = $value['name'];
}
}
require_once PrintEot('ajax');ajax_footer();
}
function getfavor($tids){
$tids=explode('|',$tids);
$tiddb=array();
foreach($tids as $key=>$t){
if($t){
$v=explode(',',$t);
foreach($v as $k=>$v1){
$tiddb[$key][$v1]=$v1;
}
}
}
return $tiddb;
}
function makefavor($tiddb){
$newtids=$ex='';
$k=0;
ksort($tiddb);
foreach($tiddb as $key=>$val){
$new_tids='';
rsort($val);
if($key!=$k){
$s=$key-$k;
for($i=0;$i<$s;$i++){
$newtids .='|';
}
}
foreach($val as $k=>$v){
is_numeric($v) && $new_tids .= $new_tids ? ','.$v : $v;
}
$newtids .= $ex.$new_tids;
$k=$key+1;
$ex='|';
}
return $newtids;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -