コード例 #1
0
ファイル: forumcp.php プロジェクト: sherlockhouse/aliyun
                             $userService->update($rt['uid'], array('groups' => $rt['groups']));
                         }
                         if (in_array($rt['groupid'], array('-1', '6', '7')) && $rt['groups'] == '') {
                             $db->update("DELETE FROM pw_administrators WHERE uid=" . S::sqlEscape($rt['uid'], false));
                         } else {
                             $db->update("REPLACE INTO pw_administrators SET" . S::sqlSingle(array('uid' => $rt['uid'], 'username' => $rt['username'], 'groupid' => $rt['groupid'], 'groups' => $rt['groups']), false));
                         }
                     }
                 }
             }
             $newadmin = addslashes(implode(',', $newadmin));
             //$db->update("UPDATE pw_forums SET forumadmin=',$newadmin,' WHERE fid=".S::sqlEscape($fid));
             pwQuery::update('pw_forums', 'fid=:fid', array($fid), array('forumadmin' => ",{$newadmin},"));
             require_once R_P . 'admin/cache.php';
             updatecache_forums($fid);
             updatecache_fd(true);
         }
         if ($errorname) {
             $errorname = S::escapeChar(substr($errorname, 1));
             Showmsg('user_not_exists');
         } else {
             refreshto("forumcp.php?action=edit&type={$type}&fid={$fid}", 'operate_success');
         }
     }
 } elseif ($type == 'trecycle' && $db_recycle) {
     require_once R_P . 'require/updateforum.php';
     require_once R_P . 'require/writelog.php';
     S::gp(array('page', 'step'), 'GP', 2);
     if (empty($step)) {
         S::gp(array('username', 'starttime', 'endtime', 't_type'));
         $page < 1 && ($page = 1);
コード例 #2
0
ファイル: uptime.php プロジェクト: adi00/wumaproject
                admincheck($rt['uid'], $rt['username'], $newgid, $newgroups, 'delete');
            } else {
                admincheck($rt['uid'], $rt['username'], $newgid, $newgroups, 'update');
            }
            continue;
        }
        if ($rt['gid'] != $rt['groupid'] && strpos($rt['groups'], "," . $rt['gid'] . ",") === false) {
            $db->update("DELETE FROM pw_extragroups WHERE uid=" . pwEscape($rt['uid'], false) . 'AND gid=' . pwEscape($rt['gid'], false));
            continue;
        }
        $rt['startdate'] = get_date($rt['startdate']);
        $rt['slevel'] = $ltitle[$rt['gid']];
        $rt['tolevel'] = $ltitle[$rt['togid']];
        $memberdb[] = $rt;
    }
    $updatecache_fd && updatecache_fd();
    include PrintEot('uptime');
    exit;
} elseif ($action == 'setlevel') {
    if (!$_POST['step']) {
        include PrintEot('uptime');
        exit;
    } elseif ($_POST['step'] == 1) {
        PostCheck($verify);
        InitGP(array('username'), 'P');
        !$username && adminmsg('operate_error');
        $rt = $db->get_one("SELECT uid,username,groupid,groups FROM pw_members WHERE username=" . pwEscape($username));
        if (!$rt) {
            $errorname = $username;
            adminmsg('user_not_exists');
        } elseif (in_array($rt['username'], $manager) && !If_manager) {
コード例 #3
0
ファイル: cache.php プロジェクト: adi00/wumaproject
function updatecache_f($return = 0)
{
    global $db;
    updatecache_fd(false);
    $db->update("UPDATE pw_forums SET ifsub='0' WHERE type<3");
    $db->update("UPDATE pw_forums SET ifsub='1' WHERE type>2");
    $appdb = array();
    $query = $db->query("SELECT f.*,fe.creditset,fe.forumset,fe.commend,fe.appinfo FROM pw_forums f LEFT JOIN pw_forumsextra fe ON f.fid=fe.fid ORDER BY f.vieworder,f.fid");
    $fkeys = array('fid', 'fup', 'ifsub', 'childid', 'type', 'name', 'style', 'f_type', 'cms', 'ifhide', 'title', 'metadescrip', 'descrip', 'keywords');
    $catedb = $forumdb = $subdb1 = $subdb2 = $forum_cache = $fname = array();
    while ($forums = $db->fetch_array($query)) {
        writeforumscache($forums);
        $fname[$forums['fid']] = str_replace(array("\\", "'", '<', '>'), array("\\\\", "\\'", '&lt;', '&gt;'), strip_tags($forums['name']));
        $forum = array();
        foreach ($fkeys as $k) {
            $forum[$k] = $forums[$k];
        }
        if ($forums['appinfo']) {
            $forums['appinfo'] = unserialize($forums['appinfo']);
            $appdb[$forums['fid']] = $forums['appinfo'];
        }
        if ($forum['type'] == 'category') {
            $catedb[] = $forum;
        } elseif ($forum['type'] == 'forum') {
            $forumdb[$forum['fup']] || ($forumdb[$forum['fup']] = array());
            $forumdb[$forum['fup']][] = $forum;
        } elseif ($forum['type'] == 'sub') {
            $subdb1[$forum['fup']] || ($subdb1[$forum['fup']] = array());
            $subdb1[$forum['fup']][] = $forum;
        } else {
            $subdb2[$forum['fup']] || ($subdb2[$forum['fup']] = array());
            $subdb2[$forum['fup']][] = $forum;
        }
    }
    $forumcache = '';
    foreach ($catedb as $cate) {
        if (!$cate) {
            continue;
        }
        $forum_cache[$cate['fid']] = $cate;
        if ($cate['f_type'] != 'hidden' && $cate['childid'] > 0) {
            $forumlist_cache[$cate['fid']]['name'] = strip_tags($cate['name']);
        }
        if ($cate['cms']) {
            $cmscache .= "<option value=\"{$cate['fid']}\">&gt;&gt; {$fname[$cate[fid]]}</option>\r\n";
        } elseif ($cate['f_type'] != 'hidden') {
            $forumcache .= "<option value=\"{$cate['fid']}\">&gt;&gt; {$fname[$cate[fid]]}</option>\r\n";
        }
        if (!$forumdb[$cate['fid']]) {
            continue;
        }
        foreach ($forumdb[$cate['fid']] as $forum) {
            $forum_cache[$forum['fid']] = $forum;
            if ($forum['f_type'] != 'hidden' && $forumlist_cache[$cate['fid']]) {
                $forumlist_cache[$cate['fid']]['child'][$forum['fid']] = strip_tags($forum['name']);
            }
            if ($forum['cms']) {
                $cmscache .= "<option value=\"{$forum['fid']}\"> &nbsp;|- {$fname[$forum[fid]]}</option>\r\n";
            } elseif ($forum['f_type'] != 'hidden') {
                $forumcache .= "<option value=\"{$forum['fid']}\"> &nbsp;|- {$fname[$forum[fid]]}</option>\r\n";
            }
            if (!$subdb1[$forum['fid']]) {
                continue;
            }
            foreach ($subdb1[$forum['fid']] as $sub1) {
                $forum_cache[$sub1['fid']] = $sub1;
                if ($sub1['cms']) {
                    $cmscache .= "<option value=\"{$sub1['fid']}\"> &nbsp; &nbsp;|-  {$fname[$sub1[fid]]}</option>\r\n";
                } elseif ($sub1['f_type'] != 'hidden') {
                    $forumcache .= "<option value=\"{$sub1['fid']}\"> &nbsp; &nbsp;|-  {$fname[$sub1[fid]]}</option>\r\n";
                }
                if (!$subdb2[$sub1['fid']]) {
                    continue;
                }
                foreach ($subdb2[$sub1['fid']] as $sub2) {
                    $forum_cache[$sub2['fid']] = $sub2;
                    if ($sub2['cms']) {
                        $cmscache .= "<option value=\"{$sub2['fid']}\">&nbsp;&nbsp; &nbsp; &nbsp;|-  {$fname[$sub2[fid]]}</option>\r\n";
                    } elseif ($sub2['f_type'] != 'hidden') {
                        $forumcache .= "<option value=\"{$sub2['fid']}\">&nbsp;&nbsp; &nbsp; &nbsp;|-  {$fname[$sub2[fid]]}</option>\r\n";
                    }
                }
            }
        }
    }
    //主题分类缓存
    $query = $db->query("SELECT * FROM pw_topictype ORDER BY vieworder ");
    while ($rt = $db->fetch_array($query)) {
        if ($rt['upid'] == 0) {
            $typedb[$rt['id']] = $rt;
        } else {
            $subtypedb[$rt['upid']][] = $rt;
        }
    }
    foreach ($typedb as $key => $value) {
        $t_typedb[$value['fid']][$key] = $value;
        empty($subtypedb[$value['id']]) && ($subtypedb[$value['id']] = array());
        foreach ($subtypedb[$value['id']] as $k => $v) {
            $t_typedb[$v['fid']][$v['id']] = $v;
        }
    }
    $forum_cache = "\$forum=" . pw_var_export($forum_cache) . ";";
    $forumcache = "\$forumcache='\r\n{$forumcache}';\r\n\$cmscache='\r\n{$cmscache}';";
    $forumlist_cache = "\$pwForumList=" . pw_var_export($forumlist_cache) . ";";
    $topic_type_cache = "\$topic_type_cache=" . pw_var_export($t_typedb) . ";";
    $forum_appinfo = "\$forum_appinfo=" . pw_var_export($appdb) . ";";
    writeover(D_P . "data/bbscache/forumcache.php", "<?php\r\n" . $forumcache . "\r\n?>");
    writeover(D_P . 'data/bbscache/forum_cache.php', "<?php\r\n" . $forum_cache . "\r\n?>");
    writeover(D_P . 'data/bbscache/forumlist_cache.php', "<?php\r\n" . $forumlist_cache . "\r\n?>");
    writeover(D_P . 'data/bbscache/forum_appinfo.php', "<?php\r\n" . $forum_appinfo . "\r\n?>");
    $cache = $forum_cache . "\r\n" . $forumcache . "\r\n" . $forumlist_cache . "\r\n" . $topic_type_cache;
    $db->pw_update("SELECT * FROM pw_cache WHERE name='forum_cache'", "UPDATE pw_cache SET cache=" . pwEscape($cache, false) . " WHERE name='forum_cache'", "INSERT INTO pw_cache SET name='forum_cache',cache=" . pwEscape($cache, false));
    updateCatedbs();
    if (empty($return)) {
        cache_read();
    }
}
コード例 #4
0
ファイル: cache.php プロジェクト: sherlockhouse/aliyun
function updatecache_f($return = 0)
{
    global $db;
    updatecache_fd(false);
    //* $db->update("UPDATE pw_forums SET ifsub='0' WHERE type<3");
    $db->update(pwQuery::buildClause("UPDATE :pw_table SET ifsub='0' WHERE type<3", array('pw_forums')));
    //* $db->update("UPDATE pw_forums SET ifsub='1' WHERE type>2");
    $db->update(pwQuery::buildClause("UPDATE :pw_table SET ifsub='1' WHERE type>2", array('pw_forums')));
    $t_typedb = getTopictypeCache();
    $appdb = array();
    $query = $db->query("SELECT f.*,fe.creditset,fe.forumset,fe.commend,fe.appinfo,c.ifopen as cnifopen FROM pw_forums f LEFT JOIN pw_forumsextra fe ON f.fid=fe.fid LEFT JOIN pw_cnclass c ON f.fid=c.fid ORDER BY f.vieworder,f.fid");
    $fkeys = array('fid', 'fup', 'ifsub', 'childid', 'type', 'name', 'style', 'f_type', 'ifcms', 'ifhide', 'title', 'metadescrip', 'descrip', 'keywords', 'forumadmin');
    $catedb = $forumdb = $subdb1 = $subdb2 = $forum_cache = $fname = array();
    while ($forums = $db->fetch_array($query)) {
        $forums['topictype'] = $t_typedb[$forums['fid']];
        writeforumscache($forums);
        $fname[$forums['fid']] = str_replace(array("\\", "'", '<', '>'), array("\\\\", "\\'", '&lt;', '&gt;'), strip_tags($forums['name']));
        $forum = array();
        foreach ($fkeys as $k) {
            $forum[$k] = $forums[$k];
        }
        if ($forums['appinfo']) {
            $forums['appinfo'] = unserialize($forums['appinfo']);
            $appdb[$forums['fid']] = $forums['appinfo'];
        }
        if ($forum['type'] == 'category') {
            $catedb[] = $forum;
        } elseif ($forum['type'] == 'forum') {
            $forumdb[$forum['fup']] || ($forumdb[$forum['fup']] = array());
            $forumdb[$forum['fup']][] = $forum;
        } elseif ($forum['type'] == 'sub') {
            $subdb1[$forum['fup']] || ($subdb1[$forum['fup']] = array());
            $subdb1[$forum['fup']][] = $forum;
        } else {
            $subdb2[$forum['fup']] || ($subdb2[$forum['fup']] = array());
            $subdb2[$forum['fup']][] = $forum;
        }
    }
    $forumcache = '';
    $pwForumAllList = $forumlist_cache = array();
    foreach ($catedb as $cate) {
        if (!$cate) {
            continue;
        }
        $forum_cache[$cate['fid']] = $cate;
        if ($forumdb[$cate['fid']]) {
            if ($cate['f_type'] != 'hidden') {
                $forumlist_cache[$cate['fid']]['name'] = strip_tags($cate['name']);
            } else {
                $pwForumAllList[$cate['fid']]['name'] = strip_tags($cate['name']);
            }
        }
        if ($cate['cms']) {
            $cmscache .= "<option value=\"{$cate['fid']}\">&gt;&gt; {$fname[$cate[fid]]}</option>\r\n";
        } elseif ($cate['f_type'] != 'hidden') {
            $forumcache .= "<option value=\"{$cate['fid']}\">&gt;&gt; {$fname[$cate[fid]]}</option>\r\n";
        }
        if (!$forumdb[$cate['fid']]) {
            continue;
        }
        foreach ($forumdb[$cate['fid']] as $forum) {
            $forum_cache[$forum['fid']] = $forum;
            if ($forum['f_type'] != 'hidden') {
                if (!isset($forumlist_cache[$cate['fid']]['name'])) {
                    $forumlist_cache[$cate['fid']]['name'] = $pwForumAllList[$cate['fid']]['name'];
                }
                $forumlist_cache[$cate['fid']]['child'][$forum['fid']] = strip_tags($forum['name']);
            } else {
                if (!isset($pwForumAllList[$cate['fid']]['name'])) {
                    $pwForumAllList[$cate['fid']]['name'] = $forumlist_cache[$cate['fid']]['name'];
                }
                $pwForumAllList[$cate['fid']]['child'][$forum['fid']] = strip_tags($forum['name']);
            }
            if ($forum['cms']) {
                $cmscache .= "<option value=\"{$forum['fid']}\"> &nbsp;|- {$fname[$forum[fid]]}</option>\r\n";
            } elseif ($forum['f_type'] != 'hidden') {
                $forumcache .= "<option value=\"{$forum['fid']}\"> &nbsp;|- {$fname[$forum[fid]]}</option>\r\n";
            }
            if (!$subdb1[$forum['fid']]) {
                continue;
            }
            foreach ($subdb1[$forum['fid']] as $sub1) {
                $forum_cache[$sub1['fid']] = $sub1;
                if ($sub1['cms']) {
                    $cmscache .= "<option value=\"{$sub1['fid']}\"> &nbsp; &nbsp;|-  {$fname[$sub1[fid]]}</option>\r\n";
                } elseif ($sub1['f_type'] != 'hidden') {
                    $forumcache .= "<option value=\"{$sub1['fid']}\"> &nbsp; &nbsp;|-  {$fname[$sub1[fid]]}</option>\r\n";
                }
                if (!$subdb2[$sub1['fid']]) {
                    continue;
                }
                foreach ($subdb2[$sub1['fid']] as $sub2) {
                    $forum_cache[$sub2['fid']] = $sub2;
                    if ($sub2['cms']) {
                        $cmscache .= "<option value=\"{$sub2['fid']}\">&nbsp;&nbsp; &nbsp; &nbsp;|-  {$fname[$sub2[fid]]}</option>\r\n";
                    } elseif ($sub2['f_type'] != 'hidden') {
                        $forumcache .= "<option value=\"{$sub2['fid']}\">&nbsp;&nbsp; &nbsp; &nbsp;|-  {$fname[$sub2[fid]]}</option>\r\n";
                    }
                }
            }
        }
    }
    $forum_cache = "\$forum=" . pw_var_export($forum_cache) . ";";
    $forumcache = "\$forumcache='\r\n{$forumcache}';\r\n\$cmscache='\r\n{$cmscache}';";
    $forumlist_cache = "\$pwForumList=" . pw_var_export($forumlist_cache) . ";\r\n\$pwForumAllList = " . pw_var_export($pwForumAllList) . ";";
    $topic_type_cache = "\$topic_type_cache=" . pw_var_export($t_typedb) . ";";
    $forum_appinfo = "\$forum_appinfo=" . pw_var_export($appdb) . ";";
    pwCache::setData(D_P . "data/bbscache/forumcache.php", "<?php\r\n" . $forumcache . "\r\n?>");
    pwCache::setData(D_P . 'data/bbscache/forum_cache.php', "<?php\r\n" . $forum_cache . "\r\n?>");
    pwCache::setData(D_P . 'data/bbscache/forumlist_cache.php', "<?php\r\n" . $forumlist_cache . "\r\n?>");
    pwCache::setData(D_P . 'data/bbscache/forum_appinfo.php', "<?php\r\n" . $forum_appinfo . "\r\n?>");
    pwCache::setData(D_P . 'data/bbscache/forum_typecache.php', "<?php\r\n" . $topic_type_cache . "\r\n?>");
    $cache = $forum_cache . "\r\n" . $forumlist_cache;
    $db->pw_update("SELECT * FROM pw_cache WHERE name='forum_cache'", "UPDATE pw_cache SET cache=" . S::sqlEscape($cache, false) . " WHERE name='forum_cache'", "INSERT INTO pw_cache SET name='forum_cache',cache=" . S::sqlEscape($cache, false));
    if (empty($return)) {
        cache_read();
    }
}