Пример #1
0
        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);
Пример #2
0
            $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) {
Пример #3
0
     !$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)) {
Пример #4
0
    $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');
Пример #5
0
            $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)) {
Пример #6
0
                $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}&");
    }
}
Пример #7
0
        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();
Пример #8
0
            $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}&");
    }
}
Пример #9
0
 /**
  * 审核会员
  * @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);
 }
Пример #10
0
             $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;
Пример #11
0
    //会员资讯缓存
    $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();
Пример #12
0
    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();
Пример #13
0
        $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']);