if (!threadSetCheckOwnerPassword($winduid, $password)) { Showmsg('您输入的密码不正确!'); } if ($db->get_value("SELECT COUNT(*) as sum FROM pw_cnalbum WHERE atype=1 AND ownerid=" . S::sqlEscape($cyid)) > 0) { Showmsg('colony_del_photo'); } if ($colony['cnimg']) { require_once R_P . 'require/functions.php'; pwDelatt("cn_img/{$colony['cnimg']}", $db_ifftp); pwFtpClose($ftp); } $query = $db->query("SELECT uid FROM pw_cmembers WHERE colonyid=" . S::sqlEscape($cyid) . " AND ifadmin != '-1'"); while ($rt = $db->fetch_array($query)) { $cMembers[] = $rt['uid']; } updateUserAppNum($cMembers, 'group', 'minus'); $db->update("DELETE FROM pw_cmembers WHERE colonyid=" . S::sqlEscape($cyid)); //* $db->update("DELETE FROM pw_colonys WHERE id=" . S::sqlEscape($cyid)); pwQuery::delete('pw_colonys', 'id=:id', array($cyid)); $db->update("UPDATE pw_cnclass SET cnsum=cnsum-1 WHERE fid=" . S::sqlEscape($colony['classid']) . " AND cnsum>0"); $db->update("DELETE FROM pw_argument WHERE cyid=" . S::sqlEscape($cyid)); refreshto("apps.php?q=groups", '解散群组成功!'); } } else { Showmsg('undefined_action'); } function threadSetCheckOwnerPassword($ownerId, $inputPassword) { $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ $userData = $userService->get($ownerId);
$affected_rows = 0; while ($rt = $db->fetch_array($query)) { pwDelatt($rt['path'], $db_ifftp); if ($rt['ifthumb']) { $lastpos = strrpos($rt['path'], '/') + 1; pwDelatt(substr($rt['path'], 0, $lastpos) . 's_' . substr($rt['path'], $lastpos), $db_ifftp); } $affected_rows += delAppAction('photo', $rt['pid']) + 1; //TODO 效率? } pwFtpClose($ftp); countPosts("-{$affected_rows}"); } $db->update("DELETE FROM pw_cnphoto WHERE aid=" . pwEscape($aid)); $db->update("DELETE FROM pw_cnalbum WHERE aid=" . pwEscape($aid)); updateUserAppNum($album['ownerid'], 'photo', 'minus', $album['photonum']); if ($album['ownerid'] != $winduid) { echo getLangInfo('msg', 'operate_success') . "\tjump\t{$basename}a=friend"; } else { echo getLangInfo('msg', 'operate_success') . "\tjump\t{$basename}a=own"; } ajax_footer(); } } elseif ($a == 'editalbum') { define('AJAX', 1); define('F_M', true); banUser(); InitGP(array('aid')); empty($aid) && Showmsg('data_error'); $rt = $db->get_one("SELECT aid,aname,aintro,atype,private,albumpwd,ownerid FROM pw_cnalbum WHERE aid=" . pwEscape($aid)); if (empty($rt) || $rt['atype'] != 0 || $rt['ownerid'] != $winduid && $groupid != 3) {
!$selids && adminmsg('operate_error', "{$basename}&action=cp"); $selids = strpos($selids, ',') !== false ? "IN ({$selids})" : "= {$selids}"; $uids = $dids = array(); $query = $db->query("SELECT uid,dtid,did FROM pw_diary WHERE did {$selids}"); while ($rt = $db->fetch_array($query)) { //$db->update("DELETE FROM pw_diary WHERE did=".S::sqlEscape($rt['did'])); pwQuery::delete('pw_diary', 'did=:did', array($rt['did'])); $db->update("UPDATE pw_diarytype SET num=num-1 WHERE dtid=" . S::sqlEscape($rt['dtid'])); if ($affected_rows = delAppAction('diary', $rt['did'])) { countPosts("-{$affected_rows}"); } $uids[] = $rt['uid']; $dids[] = $rt['did']; } $uids = array_unique($uids); updateUserAppNum($uids, 'diary', 'recount'); //删除日志时,删除微博 $weiboService = L::loadClass('weibo', 'sns'); /* @var $weiboService PW_Weibo */ $weiboArr = $weiboService->getWeibosByObjectIdsAndType($dids, 'diary'); foreach ($weiboArr as $weibo) { $mids[] = $weibo['mid']; } $mids && $weiboService->deleteWeibos($mids); adminmsg('operate_success', "{$basename}&action=cp&step=list&groupid={$groupid}&author={$author}&keyword={$keyword}&postdate_s={$postdate_s}&postdate_e={$postdate_e}&hits={$hits}&replies={$replies}&tcounts={$tcounts}&counts={$counts}&orderby={$orderby}&sc={$sc}&perpage={$perpage}&&page={$page}&"); } else { $sc = $sc ? $sc : 'desc'; $diarydb = array(); !$perpage && ($perpage = $db_perpage); null === $searchDisplay && ($searchDisplay = 'none'); if (empty($groupid) && empty($groups) && empty($author) && empty($keyword) && empty($postdate_s) && empty($postdate_s) && empty($postdate_e)) {
$a = 'my'; } countPosts('+1'); //积分变动 require_once R_P . 'require/credit.php'; $o_share_creditset = unserialize($o_share_creditset); $creditset = getCreditset($o_share_creditset['Post']); $creditset = array_diff($creditset, array(0)); if (!empty($creditset)) { $credit->sets($winduid, $creditset, true); updateMemberid($winduid); } if ($creditlog = unserialize($o_share_creditlog)) { addLog($creditlog['Post'], $windid, $winduid, 'share_Post'); } updateUserAppNum($winduid, 'share'); $memberShare = array('reply' => "memberShareThread", 'topic' => "memberShareThread", 'diary' => "memberShareDiary", 'album' => "memberShareAlbum", 'user' => "memberShareUser", 'group' => "memberShareGroup", 'photo' => "memberSharePic", 'web' => "memberShareLink", 'video' => "memberShareVideo", 'music' => "memberShareMusic"); $threadShare = array('topic' => "threadShare", 'diary' => "diaryShare", 'photo' => "picShare"); $threadFav = array('diary' => "diaryFav", 'photo' => "picFav"); if (isset($memberShare[$type])) { updateDatanalyse($winduid, $memberShare[$type], 1); } if (isset($threadShare[$type_tmp]) && $ifhidden != 1) { updateDatanalyse($id, $threadShare[$type_tmp], 1); } elseif (isset($threadFav[$type])) { updateDatanalyse($id, $threadFav[$type], 1); } if (defined('AJAX')) { Showmsg('operate_success'); } else { refreshto("{$baseUrl}q=share&a={$a}", 'operate_success');
$aid = $db->insert_id(); $data['aid'] = $aid; $aids[] = $data['aid']; $diaryAid[$aid] = $data; } } //*=======拷贝图片===========*// $diaryAid = $diaryAid ? serialize($diaryAid) : ''; if ($aids) { preg_match_all('/attachment=(\\d+)/i', $diary['content'], $result); $diary['content'] = str_replace($result[1], $aids, $diary['content']); } //$db->update("UPDATE pw_diary SET aid = ".S::sqlEscape($diaryAid).",content=".S::sqlEscape($diary['content'])." WHERE did=".S::sqlEscape($did)." AND uid=".S::sqlEscape($winduid)); pwQuery::update('pw_diary', 'did=:did AND uid=:uid', array($did, $winduid), array('aid' => $diaryAid, 'content' => $diary['content'])); countPosts('+1'); updateUserAppNum($winduid, 'diary'); echo "success\t{$did}"; ajax_footer(); } elseif ($a == 'feedsetting') { if (empty($_POST['step'])) { $friend = getFriends($winduid); if (empty($friend)) { Showmsg('no_friend'); } foreach ($friend as $key => $value) { $value['iffeed'] && ($checked[$key] = 'CHECKED'); $frienddb[$value['ftid']][] = $value; } $query = $db->query("SELECT * FROM pw_friendtype WHERE uid=" . S::sqlEscape($winduid) . " ORDER BY ftid"); $friendtype = array(); while ($rt = $db->fetch_array($query)) {
$rt['title'] = $belong . "<a href=\"u.php?uid={$temp_uid}\" target=\"_blank\">" . $temp['album']['username'] . "</a>"; } elseif ($rt['type'] == 'group') { $rt['title'] = "<a href=\"{$rt['link']}\" target=\"_blank\">" . $temp['group']['name'] . "</a>"; } elseif ($rt['type'] == 'diary') { $rt['title'] = "<a href=\"{$rt['link']}\" target=\"_blank\">" . $temp['diary']['subject'] . "</a>"; } else { $rt['title'] = "<a href=\"{$rt['link']}\" target=\"_blank\">" . substrs($rt['link'], 40) . "</a>"; } $sharedb[] = $rt; } require_once PrintApp('share'); } elseif ($job == 'delete') { InitGP(array('selid', 'type', 'ifhidden', 'username', 'postdate_s', 'postdate_e', 'ordertype', 'page', 'lines')); empty($selid) && adminmsg("no_share_selid", "{$basename}&action=share"); require_once "mode/o/require/core.php"; foreach ($selid as $key => $id) { $sharedb = $db->get_one("SELECT uid FROM pw_share WHERE id=" . pwEscape($id)); if (empty($sharedb)) { adminmsg('data_error', "{$basename}&action=share"); } $uids[] = $sharedb['uid']; $db->update("DELETE FROM pw_share WHERE id=" . pwEscape($id)); if ($affected_rows = delAppAction('share', $id)) { countPosts("-{$affected_rows}"); } } $uids = array_unique($uids); updateUserAppNum($uids, 'share', 'recount'); adminmsg('operate_success', "{$basename}&action=share&job=list&type={$type}&username="******"&ifhidden={$ifhidden}&postdate_s={$postdate_s}&postdate_e={$postdate_e}&ordertype={$ordertype}&lines={$lines}&page={$page}&"); } }
if ($cnimg = $img->getImgUrl()) { $cnimg = substr(strrchr($cnimg, '/'), 1); //* $db->update("UPDATE pw_colonys SET cnimg=".S::sqlEscape($cnimg)." WHERE id=".S::sqlEscape($cyid)); $db->update(pwQuery::buildClause("UPDATE :pw_table SET cnimg=:cnimg WHERE id=:id", array('pw_colonys', $cnimg, $cyid))); } /** $db->update("INSERT INTO pw_cmembers SET " . S::sqlSingle(array( 'uid' => $winduid, 'username' => $windid, 'ifadmin' => 1, 'colonyid' => $cyid, 'addtime' => $timestamp ))); **/ pwQuery::insert('pw_cmembers', array('uid' => $winduid, 'username' => $windid, 'ifadmin' => 1, 'colonyid' => $cyid, 'addtime' => $timestamp)); updateUserAppNum($winduid, 'group'); $url = "apps.php?q=group&cyid={$cyid}&a=set"; $msg = defined('AJAX') ? "success\t" . $url : 'colony_regsuccess'; refreshto("apps.php?q=group&cyid={$cyid}&a=set", $msg); } } elseif ($a == 'checkcname') { define('AJAX', 1); S::gp(array('cname')); $ckcname = $db->get_value("SELECT cname FROM pw_colonys WHERE cname=" . S::sqlEscape($cname)); if (empty($ckcname)) { echo "ok"; } ajax_footer(); } require_once PrintEot('m_groups'); pwOutPut();
$page = $numofpage; } $pages = numofpage($count, $page, $numofpage, "{$basename}&action=writes&job=list{$urladd}&"); $start = ($page - 1) * $lines; $limit = pwLimit($start, $lines); $query = $db->query("SELECT o.id,o.uid,m.username,o.postdate,o.source,o.content,o.c_num FROM pw_owritedata o LEFT JOIN pw_members m ON o.uid=m.uid WHERE {$sql} " . "ORDER BY postdate {$ordertype} " . $limit); while ($rt = $db->fetch_array($query)) { $rt['s_content'] = substrs($rt['content'], 40); $rt['postdate'] = $rt['postdate'] ? get_date($rt['postdate']) : '-'; $writedb[] = $rt; } require_once PrintApp('write'); } elseif ($job == 'delete') { InitGP(array('selid', 'content', 'username', 'postdate_s', 'postdate_e', 'ordertype', 'page', 'lines')); empty($selid) && adminmsg("no_write_selid", "{$basename}&action=writes"); require_once "mode/o/require/core.php"; foreach ($selid as $key => $id) { $writedb = $db->get_one("SELECT uid FROM pw_owritedata WHERE id=" . pwEscape($id)); if (empty($writedb)) { adminmsg('data_error', "{$basename}&action=writes"); } $uids[] = $writedb['uid']; $db->update("DELETE FROM pw_owritedata WHERE id=" . pwEscape($id)); $affected_rows = delAppAction('write', $id) + 1; countPosts("-{$affected_rows}"); } $uids = array_unique($uids); updateUserAppNum($uids, 'owrite', 'recount'); adminmsg('operate_success', "{$basename}&action=writes&job=list&content=" . rawurlencode($content) . "&username="******"&postdate_s={$postdate_s}&postdate_e={$postdate_e}&ordertype={$ordertype}&lines={$lines}&page={$page}&"); } }
/** * 审核会员 * @param array $where 搜索条件 * return array */ function checkMembers($uids) { if (!$this->getIfadmin() || empty($uids)) { return false; } !is_array($uids) && ($uids = array($uids)); $array = $this->getMembers(array('uid' => $uids, 'ifadmin' => -1)); if ($array) { $ids = array_keys($array); require_once R_P . 'u/require/core.php'; //* $this->_db->update("UPDATE pw_cmembers SET ifadmin='0' WHERE colonyid=" . S::sqlEscape($this->cyid) . ' AND uid IN(' . S::sqlImplode($ids) . ") AND ifadmin='-1'"); pwQuery::update('pw_cmembers', 'colonyid=:colonyid AND uid IN (:uid) AND ifadmin=:ifadmin', array($this->cyid, $ids, -1), array('ifadmin' => 0)); updateUserAppNum($ids, 'group'); } $newMemberCount = count($array); $this->updateInfoCount(array('members' => $newMemberCount)); return $this->getUserNames($array); }
$pwSQL['lastphoto'] = $db->get_value("SELECT path FROM pw_cnphoto WHERE aid=" . S::sqlEscape($photo['aid']) . " ORDER BY pid DESC LIMIT 1"); } if (strpos(",{$photo['lastpid']},", ",{$pid},") !== false) { $pwSQL['lastpid'] = implode(',', getLastPid($photo['aid'])); } $upsql = $pwSQL ? ',' . S::sqlSingle($pwSQL) : ''; $db->update("UPDATE pw_cnalbum SET photonum=photonum-1{$upsql} WHERE aid=" . S::sqlEscape($photo['aid'])); pwDelatt($photo['path'], $db_ifftp); $lastpos = strrpos($photo['path'], '/') + 1; pwDelatt(substr($photo['path'], 0, $lastpos) . 's_' . substr($photo['path'], $lastpos), $db_ifftp); pwFtpClose($ftp); $affected_rows = delAppAction('photo', $pid) + 1; countPosts("-{$affected_rows}"); } $uids = array_unique($uids); updateUserAppNum($uids, 'photo', 'recount'); adminmsg('operate_success', "{$basename}&action=photos&job=list&aid={$aid}&aname=" . rawurlencode($aname) . "&uploader=" . rawurlencode($uploader) . "&pintro=" . rawurlencode($pintro) . "&uptime_s={$uptime_s}&uptime_e={$uptime_e}&orderway={$orderway}&ordertype={$ordertype}&lines={$lines}&page={$page}&"); } else { require_once R_P . 'u/require/core.php'; S::gp(array('aid', 'aname', 'uploader', 'pintro', 'uptime_s', 'uptime_e', 'orderway', 'ordertype', 'lines', 'page')); $cnpho = array(); $orderBySelection = array('default' => '默认排序', 'uptime' => '上传日期', 'hits' => '浏览数', 'c_num' => '评论数'); $orderBySelection = formSelect('orderway', $orderway, $orderBySelection, 'class="select_wa fl mr20"'); $uptimeStartString = $uptime_s && is_numeric($uptime_s) ? get_date($uptime_s, 'Y-m-d') : $uptime_s; $uptimeEndString = $uptime_e && is_numeric($uptime_e) ? get_date($uptime_e, 'Y-m-d') : $uptime_e; !is_numeric($lines) && ($lines = 30); if (empty($aid) && empty($aname) && empty($uploader) && empty($pintro) && empty($uptime_s) && empty($uptime_e)) { $noticeMessage = getLangInfo('cpmsg', 'noenough_condition'); } else { $uptime_s = $uptime_s && !is_numeric($uptime_s) ? PwStrtoTime($uptime_s) : $uptime_s; $uptime_e = $uptime_e && !is_numeric($uptime_e) ? PwStrtoTime($uptime_e) : $uptime_e;
//会员资讯缓存 $userCache = L::loadClass('Usercache', 'user'); /* @var $userCache PW_Usercache */ $userCache->delete($winduid, 'cardphoto'); /* $usercache = L::loadDB('Usercache', 'user'); $usercachedata = $usercache->get($winduid,'photos'); $usercachedata = explode(',',$usercachedata['value']); is_array($usercachedata) || $usercachedata = array(); if (count($usercachedata) >=4) array_pop($usercachedata); array_unshift($usercachedata,$pid); $usercachedata = implode(',',$usercachedata); $usercache->update($winduid,'photos',$pid,$usercachedata); */ } $db->update("UPDATE pw_cnalbum SET lasttime=" . S::sqlEscape($timestamp, false) . ',lastpid=' . S::sqlEscape(implode(',', $lastpid)) . (!$rt['lastphoto'] ? ',lastphoto=' . S::sqlEscape($img->getLastPhoto()) : '') . " WHERE aid=" . S::sqlEscape($aid)); countPosts("+{$photoNum}"); //积分变动 require_once R_P . 'require/credit.php'; $creditset = getCreditset($o_photos_creditset['Uploadphoto'], true, $photoNum); $creditset = array_diff($creditset, array(0)); if (!empty($creditset)) { $credit->sets($winduid, $creditset, true); updateMemberid($winduid); } if ($creditlog = unserialize($o_photos_creditlog)) { addLog($creditlog['Uploadphoto'], $windid, $winduid, 'photos_Uploadphoto'); } updateUserAppNum($winduid, 'photo', 'add', $photoNum); echo "success\t" . $photoInfo['pintro'] . "\t" . $pid . "\t" . $photo . "\t" . $photoThumb; ajax_footer();
define('AJAX', 1); define('F_M', true); !$colony['ifcyer'] && Showmsg('undefined_action'); if ($windid == $colony['admin']) { Showmsg('colony_out_admin'); } if (empty($_POST['step'])) { require_once PrintEot('m_ajax'); ajax_footer(); } else { if ($colony['ifadmin'] != '-1') { $newColony->updateInfoCount(array('members' => -1)); } //* $db->update("DELETE FROM pw_cmembers WHERE colonyid=" . S::sqlEscape($cyid) . " AND uid=" . S::sqlEscape($winduid)); pwQuery::delete('pw_cmembers', 'colonyid=:colonyid AND uid=:uid', array($cyid, $winduid)); updateUserAppNum($winduid, 'group', 'recount'); $colony['members']--; updateGroupLevel($colony['id'], $colony); Showmsg('colony_outsuccess'); } } elseif ($a == 'fanoutmsg') { define('AJAX', 1); !$ifadmin && Showmsg('undefined_action'); $messageServer = L::loadClass('message', 'message'); !$_G['multiopen'] && Showmsg('您没有群发消息权限'); if (!$messageServer->checkUserMessageLevle('sms', 1)) { Showmsg('你已超过每日发送消息数或你的消息总数已满'); } if (empty($_POST['step'])) { S::gp(array('selid', 'group'), null, 2); $uids = $usernames = array();
$usercache = L::loadDB('Usercache'); $usercache->delete($winduid, 'write', $id); //积分变动 require_once R_P . 'require/credit.php'; $o_write_creditset = unserialize($o_write_creditset); $creditset = getCreditset($o_write_creditset['Delete'], false); $creditset = array_diff($creditset, array(0)); if (!empty($creditset)) { require_once R_P . 'require/postfunc.php'; $credit->sets($authorid, $creditset, true); updateMemberid($authorid, false); } if ($creditlog = unserialize($o_write_creditlog)) { addLog($creditlog['Delete'], $author, $authorid, 'write_Delete'); } updateUserAppNum($authorid, 'owrite', 'minus'); Showmsg('mode_o_write_del'); } } elseif ($do == 'my') { $u != $winduid && Showmsg('undefined_action'); $writedata = array(); $count = $db->get_value("SELECT COUNT(*) FROM pw_owritedata WHERE touid=" . pwEscape($winduid)); if ($count) { $page = (int) GetGP('page'); list($pages, $limit) = pwLimitPages($count, $page, "{$basename}do=my&"); $query = $db->query("SELECT w.*,m.username,m.icon,m.groupid FROM pw_owritedata w LEFT JOIN pw_members m ON w.uid=m.uid WHERE w.touid=" . pwEscape($winduid) . "ORDER BY w.id DESC {$limit}"); while ($rt = $db->fetch_array($query)) { if ($rt['groupid'] == 6 && $db_shield && $groupid != 3) { $rt['content'] = appShield('ban_write'); } list($rt['postdate']) = getLastDate($rt['postdate']);