当前位置: 首页>>代码示例>>PHP>>正文


PHP cache_ordered_forums函数代码示例

本文整理汇总了PHP中cache_ordered_forums函数的典型用法代码示例。如果您正苦于以下问题:PHP cache_ordered_forums函数的具体用法?PHP cache_ordered_forums怎么用?PHP cache_ordered_forums使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cache_ordered_forums函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: fetch_subforum_list

function fetch_subforum_list($parentid = -1)
{
    global $vbulletin;
    cache_ordered_forums(1);
    // 1 means: also cache thread/reply counts
    $result = array();
    if (!isset($vbulletin->iforumcache["{$parentid}"])) {
        return $result;
    }
    foreach ($vbulletin->iforumcache["{$parentid}"] as $forumid) {
        $forum = $vbulletin->forumcache["{$forumid}"];
        $forumperms = $vbulletin->userinfo['forumpermissions']["{$forumid}"];
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) and ($vbulletin->forumcache["{$forumid}"]['showprivate'] == 1 or !$vbulletin->forumcache["{$forumid}"]['showprivate'] and !$vbulletin->options['showprivateforums'])) {
            // no permission to view current forum
            continue;
        }
        if (!$forum['displayorder'] or !($forum['options'] & $vbulletin->bf_misc_forumoptions['active'])) {
            // forum not active
            continue;
        }
        // get on/off status
        //$lastpostinfo = $vbulletin->forumcache["$lastpostarray[$forumid]"];
        //$forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
        //$show['newposticon'] = ($forum['statusicon'] ? true : false);
        $result[] = array('id' => $forum['forumid'], 'title' => str($forum['title'], true), 'description' => str($forum['description'], true), 'threadcount' => intval($forum['threadcount']), 'replycount' => intval($forum['replycount']));
    }
    return $result;
}
开发者ID:reima,项目名称:restful-vb,代码行数:28,代码来源:functions.php

示例2: get_avaliable_group_list

 /**
  * Get available groups
  *
  * @global vB_Registry $vbulletin
  * @param array $member_group_id_list
  * @return array
  */
 public function get_avaliable_group_list($member_group_id_list)
 {
     $active_groups = $this->get_groups_list(true);
     global $vbulletin;
     if (empty($active_groups)) {
         return $active_groups;
     }
     require_once DIR . '/includes/functions.php';
     cache_ordered_forums();
     $forum_permissions = array();
     foreach (array_keys($vbulletin->forumcache) as $forumid) {
         if (!isset($forum_permissions[$forumid])) {
             $forum_permissions[$forumid] = 0;
         }
         foreach ($member_group_id_list as $user_group_id) {
             $forum_permissions[$forumid] |= $vbulletin->forumcache[$forumid]['permissions'][$user_group_id];
         }
     }
     $forum_id_list = array();
     // Get forums that allow canview access
     foreach ($forum_permissions as $forumid => $perm) {
         if ($perm & $vbulletin->bf_ugp_forumpermissions['canview'] and $perm & $vbulletin->bf_ugp_forumpermissions['canviewthreads'] and $perm & $vbulletin->bf_ugp_forumpermissions['cangetattachment']) {
             $forum_id_list[$forumid] = $forumid;
         }
     }
     foreach ($active_groups as $nntpid => &$group) {
         if (isset($forum_id_list[$group['map_id']])) {
             $group['available'] = true;
         }
     }
     return $active_groups;
 }
开发者ID:rcdesign-cemetery,项目名称:vb-nntp,代码行数:39,代码来源:class_nntpgate_forum_group.php

示例3: output

 public function output()
 {
     global $vbulletin;
     require_once DIR . '/includes/functions_forumlist.php';
     if (empty($vbulletin->iforumcache)) {
         cache_ordered_forums(1, 1);
     }
     return $this->getforumlist(-1);
 }
开发者ID:0hyeah,项目名称:yurivn,代码行数:9,代码来源:api_forumlist.php

示例4: construct_move_forums_options

/**
 * Constructs a Forum Jump Menu for use when moving an item to a new forum
 *
 * @param	integer	The "Root" ID from which to generate this Menu
 * @param	integer	A Forum ID to "exclude" from the menu
 * @param	integer	If 1, removes all previous information from the Forum Jump Menu
 * @param	string	Characters to prepend to the items in the Jump Box
 *
 * @return	string	The generated forum jump menu
 *
 */
function construct_move_forums_options($parentid = -1, $excludeforumid = NULL, $addbox = 1, $prependchars = '')
{
    global $vbulletin, $optionselected, $jumpforumid, $jumpforumtitle, $jumpforumbits, $vbphrase, $curforumid;
    if (empty($vbulletin->iforumcache)) {
        // get the vbulletin->iforumcache, as we use it all over the place, not just for forumjump
        cache_ordered_forums(0, 1);
    }
    if (empty($vbulletin->iforumcache["{$parentid}"]) or !is_array($vbulletin->iforumcache["{$parentid}"])) {
        return;
    }
    if ($addbox == 1) {
        $jumpforumbits = array();
    }
    foreach ($vbulletin->iforumcache["{$parentid}"] as $forumid) {
        $forumperms =& $vbulletin->userinfo['forumpermissions']["{$forumid}"];
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'])) {
            continue;
        } else {
            // set $forum from the $vbulletin->forumcache
            $forum = $vbulletin->forumcache["{$forumid}"];
            $optionvalue = $forumid;
            $optiontitle = $prependchars . $forum[title];
            if ($forum['link']) {
                $optiontitle .= " ({$vbphrase['link']})";
            } else {
                if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads'])) {
                    $optiontitle .= " ({$vbphrase['category']})";
                } else {
                    if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['allowposting'])) {
                        $optiontitle .= " ({$vbphrase['no_posting']})";
                    }
                }
            }
            $optionclass = 'd' . iif($forum['depth'] > 3, 3, $forum['depth']);
            if ($curforumid == $optionvalue) {
                $optionselected = ' ' . 'selected="selected"';
                $optionclass .= ' fjsel';
                $selectedone = 1;
            } else {
                $optionselected = '';
            }
            if ($excludeforumid == NULL or $excludeforumid != $forumid) {
                $jumpforumbits[$forumid] = array('optiontitle' => $optiontitle, 'optionvalue' => $optionvalue, 'optionselected' => $optionselected, 'optionclass' => $optionclass);
            }
            construct_move_forums_options($optionvalue, $excludeforumid, 0, $prependchars ? $prependchars . '    ' : '    ');
        }
        // if can view
    }
    // end foreach ($vbulletin->iforumcache[$parentid] AS $forumid)
    return $jumpforumbits;
}
开发者ID:0hyeah,项目名称:yurivn,代码行数:62,代码来源:functions_threadmanage.php

示例5: print_no_permission

    print_no_permission();
}
if (empty($_REQUEST['action'])) {
    if (empty($_REQUEST['do'])) {
        $_REQUEST['do'] = 'list';
    }
}
// ###########################################################################
// ############################### LIST FORUMS ###############################
// ###########################################################################
if ($_REQUEST['do'] == "list") {
    if (!$vbulletin->userinfo['userid']) {
        print_no_permission();
    }
    // get all forums
    cache_ordered_forums(1, 0);
    $show['forums'] = true;
    $showallinstant = 0;
    //generate the radio button form
    foreach ($vbulletin->forumcache as $forumid => $forum) {
        if (!$forum['link']) {
            $showinstant = 0;
            //get full forum info
            $forum = fetch_foruminfo($forum["forumid"], false);
            //if the user has permission to view the given forum, and if forum is postable...
            if ($perms = fetch_permissions($forum["forumid"]) and $perms & $vbulletin->bf_ugp_forumpermissions["canview"] and $forum["cancontainthreads"] and $forum["displayorder"] > 0 and $forum["options"] & $vbulletin->bf_misc_forumoptions['active']) {
                //get the level of the subscription for the given forum
                $sub_level = $db->query_first("\r\n\t\t\t\t\tSELECT emailupdate\r\n\t\t\t\t\tFROM " . TABLE_PREFIX . "subscribeforum\r\n\t\t\t\t\tWHERE forumid = '" . $forum["forumid"] . "' AND userid = " . $vbulletin->userinfo['userid'] . " LIMIT 1\r\n\t\t\t\t");
                $usergroupids = explode(",", $forum["ei_usergroups"]);
                //if the user hits the set all none or set all instant buttons...
                if ($_REQUEST["setall"] == "none") {
开发者ID:holandacz,项目名称:nb4,代码行数:31,代码来源:subscribeforums.php

示例6: do_post_edit

function do_post_edit()
{
    global $vbulletin, $db, $foruminfo, $forumperms, $threadinfo;
    global $postinfo, $vbphrase, $stylevar, $permissions;
    $checked = array();
    $edit = array();
    $postattach = array();
    $contenttype = 'vBForum_Post';
    if (!$postinfo['postid'] or $postinfo['isdeleted'] or !$postinfo['visible'] and !can_moderate($threadinfo['forumid'], 'canmoderateposts')) {
        json_error(ERR_INVALID_TOP, RV_POST_ERROR);
    }
    if (!$threadinfo['threadid'] or $threadinfo['isdeleted'] or !$threadinfo['visible'] and !can_moderate($threadinfo['forumid'], 'canmoderateposts')) {
        json_error(ERR_INVALID_TOP, RV_POST_ERROR);
    }
    if ($vbulletin->options['wordwrap']) {
        $threadinfo['title'] = fetch_word_wrapped_string($threadinfo['title']);
    }
    // get permissions info
    $_permsgetter_ = 'edit post';
    $forumperms = fetch_permissions($threadinfo['forumid']);
    if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) and ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'] or $vbulletin->userinfo['userid'] == 0)) {
        json_error(ERR_NO_PERMISSION, RV_POST_ERROR);
    }
    $foruminfo = fetch_foruminfo($threadinfo['forumid'], false);
    // check if there is a forum password and if so, ensure the user has it set
    verify_forum_password($foruminfo['forumid'], $foruminfo['password']);
    // need to get last post-type information
    cache_ordered_forums(1);
    // determine if we are allowed to be updating the thread's info
    $can_update_thread = ($threadinfo['firstpostid'] == $postinfo['postid'] and (can_moderate($threadinfo['forumid'], 'caneditthreads') or $postinfo['dateline'] + $vbulletin->options['editthreadtitlelimit'] * 60 > TIMENOW));
    // otherwise, post is being edited
    if (!can_moderate($threadinfo['forumid'], 'caneditposts')) {
        // check for moderator
        if (!$threadinfo['open']) {
            $vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "t={$threadinfo['threadid']}";
            json_error(fetch_error('threadclosed'), RV_POST_ERROR);
        }
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['caneditpost'])) {
            json_error(ERR_NO_PERMISSION, RV_POST_ERROR);
        } else {
            if ($vbulletin->userinfo['userid'] != $postinfo['userid']) {
                // check user owns this post
                json_error(ERR_NO_PERMISSION, RV_POST_ERROR);
            } else {
                // check for time limits
                if ($postinfo['dateline'] < TIMENOW - $vbulletin->options['edittimelimit'] * 60 and $vbulletin->options['edittimelimit'] != 0) {
                    json_error(fetch_error('edittimelimit', $vbulletin->options['edittimelimit'], $vbulletin->options['contactuslink']), RV_POST_ERROR);
                }
            }
        }
    }
    // Variables reused in templates
    $poststarttime =& $vbulletin->input->clean_gpc('r', poststarttime, TYPE_UINT);
    $posthash = md5($vbulletin->GPC['poststarttime'] . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']);
    $vbulletin->input->clean_array_gpc('p', array('stickunstick' => TYPE_BOOL, 'openclose' => TYPE_BOOL, 'wysiwyg' => TYPE_BOOL, 'message' => TYPE_STR, 'title' => TYPE_STR, 'prefixid' => TYPE_NOHTML, 'iconid' => TYPE_UINT, 'parseurl' => TYPE_BOOL, 'signature' => TYPE_BOOL, 'disablesmilies' => TYPE_BOOL, 'reason' => TYPE_NOHTML, 'preview' => TYPE_STR, 'folderid' => TYPE_UINT, 'emailupdate' => TYPE_UINT, 'ajax' => TYPE_BOOL, 'advanced' => TYPE_BOOL, 'postcount' => TYPE_UINT, 'podcasturl' => TYPE_STR, 'podcastsize' => TYPE_UINT, 'podcastexplicit' => TYPE_BOOL, 'podcastkeywords' => TYPE_STR, 'podcastsubtitle' => TYPE_STR, 'podcastauthor' => TYPE_STR, 'quickeditnoajax' => TYPE_BOOL));
    if ($vbulletin->GPC['message']) {
        $vbulletin->GPC['message'] = prepare_remote_utf8_string($vbulletin->GPC['message']);
    }
    $vbulletin->GPC['signature'] = $vbulletin->GPC_exists['signature'] = true;
    // Make sure the posthash is valid
    ($hook = vBulletinHook::fetch_hook('editpost_update_start')) ? eval($hook) : false;
    if (md5($poststarttime . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']) != $posthash) {
        $posthash = 'invalid posthash';
        // don't phrase me
    }
    // ### PREP INPUT ###
    if ($vbulletin->GPC['wysiwyg']) {
        require_once DIR . '/includes/functions_wysiwyg.php';
        $edit['message'] = convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], $foruminfo['allowhtml']);
    } else {
        $edit['message'] =& $vbulletin->GPC['message'];
    }
    $cansubscribe = true;
    // Are we editing someone else's post? If so load that users subscription info for this thread.
    if ($vbulletin->userinfo['userid'] != $postinfo['userid']) {
        if ($postinfo['userid']) {
            $userinfo = fetch_userinfo($postinfo['userid']);
            cache_permissions($userinfo);
        }
        $cansubscribe = ($userinfo['forumpermissions']["{$foruminfo['forumid']}"] & $vbulletin->bf_ugp_forumpermissions['canview'] and $userinfo['forumpermissions']["{$foruminfo['forumid']}"] & $vbulletin->bf_ugp_forumpermissions['canviewthreads'] and ($threadinfo['postuserid'] == $userinfo['userid'] or $userinfo['forumpermissions']["{$foruminfo['forumid']}"] & $vbulletin->bf_ugp_forumpermissions['canviewothers']));
        if ($cansubscribe and $otherthreadinfo = $db->query_first_slave("\n\t\t\tSELECT emailupdate, folderid\n\t\t\tFROM " . TABLE_PREFIX . "subscribethread\n\t\t\tWHERE threadid = {$threadinfo['threadid']} AND\n\t\t\t\tuserid = {$postinfo['userid']} AND\n\t\t\t\tcanview = 1")) {
            $threadinfo['issubscribed'] = true;
            $threadinfo['emailupdate'] = $otherthreadinfo['emailupdate'];
            $threadinfo['folderid'] = $otherthreadinfo['folderid'];
        } else {
            $threadinfo['issubscribed'] = false;
            // use whatever emailupdate setting came through
        }
    }
    if ($vbulletin->GPC['ajax'] or $vbulletin->GPC['quickeditnoajax']) {
        // quick edit
        $tmpmessage = $vbulletin->GPC['ajax'] ? convert_urlencoded_unicode($edit['message']) : $edit['message'];
        $edit = $postinfo;
        $edit['message'] =& $tmpmessage;
        $edit['title'] = unhtmlspecialchars($edit['title']);
        $edit['signature'] =& $edit['showsignature'];
        $edit['enablesmilies'] =& $edit['allowsmilie'];
        $edit['disablesmilies'] = $edit['enablesmilies'] ? 0 : 1;
        $edit['parseurl'] = true;
        $edit['prefixid'] = $threadinfo['prefixid'];
//.........这里部分代码省略.........
开发者ID:0hyeah,项目名称:yurivn,代码行数:101,代码来源:post.php

示例7: mark_forum_read

/**
* Marks a forum as read using the appropriate method.
*
* @param	array	Array of data for the forum being marked
* @param	integer	User ID this thread is being marked read for
* @param	integer	Unix timestamp that the thread is being marked read
* @param	boolean	Whether to automatically check if the parents' read times need to be updated
*
* @return	array	Returns an array of forums that were marked as read
*/
function mark_forum_read(&$foruminfo, $userid, $time, $check_parents = true)
{
	global $vbulletin, $db;

	if (empty($foruminfo['forumid']))
	{
		// sanity check -- wouldn't work anyway
		return array();
	}

	$userid = intval($userid);
	$time = intval($time);
	$forums_marked = array($foruminfo['forumid']);

	if ($vbulletin->options['threadmarking'] AND $userid)
	{

		$db->query_write("
			REPLACE INTO " . TABLE_PREFIX . "forumread
				(forumid, userid, readtime)
			VALUES
				($foruminfo[forumid], $userid, $time)
		");

		if (!$check_parents)
		{
			return $forums_marked;
		}

		// check to see if any parent forums should be marked as read as well
		$parentarray = array_diff(explode(',', $foruminfo['parentlist']), array($foruminfo['forumid'], -1));
		if (!empty($parentarray))
		{
			// find the top most entry in the parent list -- we need its child list
			$top_parentid = end($parentarray);
			$top_foruminfo = $vbulletin->forumcache["$top_parentid"];
			if (!$top_foruminfo['childlist'])
			{
				return $forums_marked;
			}

			// fetch the effective (including children) and raw last post times
			static $lastpostset = false, $rawlastpostinfo;
			if (!$lastpostset)
			{
				$lastpostset = true;
				require_once(DIR . '/includes/functions_forumlist.php');
				cache_ordered_forums(1);
				$rawlastpostinfo = $vbulletin->forumcache;
				fetch_last_post_array();
			}

			// determine the read time for all forums that we need to consider
			$readtimes = array();
			$readtimes_query = $db->query_read_slave("
				SELECT forumid, readtime
				FROM " . TABLE_PREFIX . "forumread
				WHERE userid = $userid
					AND forumid IN ($top_foruminfo[childlist])
			");
			while ($readtime = $db->fetch_array($readtimes_query))
			{
				$readtimes["$readtime[forumid]"] = $readtime['readtime'];
			}

			$cutoff = (TIMENOW - ($vbulletin->options['markinglimit'] * 86400));

			// now work through the parent, grandparent, etc of the forum we just marked
			// and mark it read only if all direct children are marked read
			foreach ($parentarray AS $parentid)
			{
				if (empty($vbulletin->forumcache["$parentid"]))
				{
					continue;
				}

				$markread = true;

				// now look through all the children and confirm they are all read
				if (is_array($vbulletin->iforumcache["$parentid"]))
				{
					foreach ($vbulletin->iforumcache["$parentid"] AS $childid)
					{
						if (max($cutoff, $readtimes["$childid"]) < $vbulletin->forumcache["$childid"]['lastpost'])
						{
							$markread = false;
							break;
						}
					}
				}
//.........这里部分代码省略.........
开发者ID:hungnv0789,项目名称:vhtm,代码行数:101,代码来源:functions_bigthree.php

示例8: verify_forum_password

{
	$vbulletin->options['threadpreview'] = 0;
}

// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);

// verify that we are at the canonical SEO url
// and redirect to this if not
verify_seo_url('forum', $foruminfo, array('pagenumber' => $_REQUEST['pagenumber']));

// get vbulletin->iforumcache - for use by makeforumjump and forums list
// fetch the forum even if they are invisible since its needed
// for the title but we'll unset that further down
// also fetch subscription info for $show['subscribed'] variable
cache_ordered_forums(1, 1, $vbulletin->userinfo['userid']);

$show['newthreadlink'] = iif(!$show['search_engine'] AND $foruminfo['allowposting'], true, false);
$show['threadicons'] = iif ($foruminfo['allowicons'], true, false);
$show['threadratings'] = iif ($foruminfo['allowratings'], true, false);
$show['subscribed_to_forum'] = ($vbulletin->forumcache["$foruminfo[forumid]"]['subscribeforumid'] != '' ? true : false);

if (!$daysprune)
{
	if ($vbulletin->userinfo['daysprune'])
	{
		$daysprune = $vbulletin->userinfo['daysprune'];
	}
	else
	{
		$daysprune = iif($foruminfo['daysprune'], $foruminfo['daysprune'], 30);
开发者ID:hungnv0789,项目名称:vhtm,代码行数:31,代码来源:forumdisplay.php

示例9: print_forums

function print_forums($parentid = -1, $indent = "\t")
{
    // new version - DRASTICALLY reduces queries...
    global $vbulletin, $imodcache, $accesscache, $vbphrase;
    // check to see if we need to do the queries
    if (empty($vbulletin->iforumcache)) {
        cache_ordered_forums(0, 1);
    }
    if (!is_array($imodcache)) {
        require_once DIR . '/includes/functions_forumlist.php';
        cache_moderators();
    }
    // check to see if this forum actually exists / has children
    if (empty($vbulletin->iforumcache["{$parentid}"])) {
        return;
    }
    foreach ($vbulletin->iforumcache["{$parentid}"] as $forumid) {
        $forum =& $vbulletin->forumcache["{$forumid}"];
        echo "{$indent}<ul class=\"lsq\">\n";
        // forum title and links
        echo "{$indent}<li><b><a name=\"forum{$forumid}\" href=\"forum.php?{$session['sessionurl']}do=edit&amp;f={$forumid}\">{$forum['title']}</a> <span class=\"smallfont\">(" . construct_link_code($vbphrase['reset'], "accessmask.php?{$session['sessionurl']}do=resetforum&amp;f={$forumid}&amp;hash=" . CP_SESSIONHASH) . ")</span></b>";
        // get moderators
        if (is_array($imodcache["{$forumid}"])) {
            echo "<span class=\"smallfont\"><br /> - <i>" . $vbphrase['moderators'] . ":";
            foreach ($imodcache["{$forumid}"] as $moderator) {
                // moderator username and links
                echo " <a href=\"moderator.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&amp;moderatorid={$moderator['moderatorid']}\">{$moderator['username']}</a>";
            }
            echo "</i></span>";
        }
        $allaccessmasks = 0;
        $forbidden = '';
        $permitted = '';
        $deny = $accesscache["{$forumid}"]['0'];
        $permit = $accesscache["{$forumid}"]['1'];
        /*echo "<pre>--$forumid--\n";
        		print_r($accesscache["$forumid"]);
        		echo '</pre>';*/
        if (is_array($deny)) {
            $forbidden = "{$indent}\t<li class=\"am-deny\"><b>" . construct_phrase($vbphrase['access_denied_x_users'], $deny['count']) . '</b>' . construct_link_code($vbphrase['display_users'], "accessmask.php?" . $vbulletin->session->vars['sessionurl'] . "&do=edit&f={$forumid}&accessmask={$deny['accessmask']}") . "</li>\n";
            $allaccessmasks = $deny['count'];
        }
        if (is_array($permit)) {
            $permitted = "{$indent}\t<li class=\"am-grant\"><b>" . construct_phrase($vbphrase['access_granted_x_users'], $permit['count']) . '</b>' . construct_link_code($vbphrase['display_users'], "accessmask.php?" . $vbulletin->session->vars['sessionurl'] . "&do=edit&f={$forumid}&accessmask={$permit['accessmask']}") . "</li>\n";
            $allaccessmasks = $allaccessmasks + $permit['count'];
        }
        if ($allaccessmasks > 0) {
            echo "{$indent}\t<ul class=\"usergroups\">\n";
            echo "{$indent}\t<li>" . construct_phrase($vbphrase['x_access_masks_set'], $allaccessmasks) . ' ' . construct_link_code('<b>' . $vbphrase['display_all_users'] . '</b>', "accessmask.php?" . $vbulletin->session->vars['sessionurl'] . "&do=edit&f={$forum['forumid']}&accessmask=2") . "</li>";
            echo $permitted;
            echo $forbidden;
            echo "{$indent}\t</ul><br />\n";
        } else {
            echo "{$indent}\t\n";
            echo "{$indent}\t<br />\n";
        }
        print_forums($forumid, "{$indent}\t");
        echo "{$indent}</li>\n";
        echo "{$indent}</ul>\n";
        if ($forum['parentid'] == -1) {
            echo "<hr size=\"1\" />\n";
        }
    }
    unset($vbulletin->iforumcache["{$parentid}"]);
}
开发者ID:benyamin20,项目名称:vbregistration,代码行数:65,代码来源:accessmask.php

示例10: get_last_read_by_current_user

 /**
  * Does this forum allow icons
  *
  * @return boolean
  */
 public function get_last_read_by_current_user($user)
 {
     global $vbulletin;
     if ($vbulletin->options['threadmarking'] and !$user->isGuest()) {
         //deal with the fact that the forum cache (from which we likely loaded this object)
         //doesn't have the forumread field.
         //we should consider a query to just look the value up for this forum -- it will likely
         //be faster in actual use and will almost certainly be simpler
         if (!$this->has_field('forumread')) {
             if (array_key_exists('forumread', $vbulletin->forumcache[$this->get_field('forumid')])) {
                 $this->set_field('forumread', $vbulletin->forumcache[$this->get_field('forumid')]['forumread']);
             } else {
                 //if we don't have forum read in the cache, then reload the cache.
                 //this implicitly references the current
                 cache_ordered_forums(1);
                 $this->set_field('forumread', $vbulletin->forumcache[$this->get_field('forumid')]['forumread']);
             }
         }
         return max($this->get_field('forumread'), TIMENOW - $vbulletin->options['markinglimit'] * 86400);
     } else {
         $forumview = intval(fetch_bbarray_cookie('forum_view', $this->get_field('forumid')));
         //use which one produces the highest value, most likely cookie
         return $forumview > $vbulletin->userinfo['lastvisit'] ? $forumview : $vbulletin->userinfo['lastvisit'];
     }
 }
开发者ID:0hyeah,项目名称:yurivn,代码行数:30,代码来源:forum.php

示例11: get_forums

function get_forums($parentid = -1, &$forums)
{
    global $vbulletin, $db, $foruminfo, $forumperms, $threadinfo, $postinfo, $vbphrase;
    if (empty($vbulletin->iforumcache)) {
        // get the vbulletin->iforumcache, as we use it all over the place, not just for forumjump
        cache_ordered_forums(0, 1);
    }
    if (is_array($vbulletin->iforumcache[$parentid])) {
        foreach ($vbulletin->iforumcache["{$parentid}"] as $forumid) {
            $forumperms =& $vbulletin->userinfo['forumpermissions']["{$forumid}"];
            if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'])) {
                continue;
            } else {
                // set $forum from the $vbulletin->forumcache
                $forum = $vbulletin->forumcache["{$forumid}"];
                $optionvalue = $forumid;
                $optiontitle = $forum[title];
                $ok = true;
                if ($forum['link']) {
                    $ok = false;
                } else {
                    if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads'])) {
                        $ok = false;
                    } else {
                        if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['allowposting'])) {
                            $ok = false;
                        }
                    }
                }
                if ($ok) {
                    $forums[] = array('id' => $forumid, 'title' => prepare_utf8_string($optiontitle));
                }
                get_forums($forumid, $forums);
            }
            // if can view
        }
        // end foreach ($vbulletin->iforumcache[$parentid] AS $forumid)
    }
}
开发者ID:0hyeah,项目名称:yurivn,代码行数:39,代码来源:moderation.php

示例12: cv_construct_forum_list

function cv_construct_forum_list($parentid = -1, &$ret, $depth = 0)
{
    global $vbulletin, $stylevar, $vbphrase, $defaultselected, $forum_url, $debug_mode, $use_vbseo_links, $excluded_forums;
    $parent_count = 0;
    if (!($vbulletin->userinfo['permissions']['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview'])) {
        return $ret;
    }
    if (empty($vbulletin->iforumcache)) {
        require_once './includes/functions_forumlist.php';
        cache_ordered_forums(1, 1);
    }
    if (empty($vbulletin->iforumcache["{$parentid}"]) or !is_array($vbulletin->iforumcache["{$parentid}"])) {
        return $ret;
    }
    foreach ($vbulletin->iforumcache["{$parentid}"] as $forumid) {
        $forum = $vbulletin->forumcache["{$forumid}"];
        $forum_title = $forum[title_clean];
        $forum_desc = strip_tags($forum['description']);
        if ($vbulletin->options['cv_ffl_permissions_usergroupid']) {
            $forumperms = $forum['permissions'][$vbulletin->options['cv_ffl_permissions_usergroupid']];
        } else {
            $forumperms = $vbulletin->userinfo['forumpermissions']["{$forumid}"];
        }
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) and !$vbulletin->options['showprivateforums'] or !$forum['displayorder'] or !($forum['options'] & $vbulletin->bf_misc_forumoptions['active']) or $forum['link'] and !$vbulletin->options['cv_ffl_show_linked'] and !$forum['nametitle'] or $excluded_forums and in_array($forum['forumid'], $excluded_forums)) {
            if ($debug_mode) {
                $debug_msg = 'SKIPPING FORUM ' . $forum[forumid] . ' - ' . $forum_title . ' ... ';
                eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) and !$vbulletin->options['showprivateforums']) {
                    $debug_msg = 'User does not have permissions to view the forum';
                    eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                }
                if (!$forum['displayorder']) {
                    $debug_msg = 'Forum does not have a display order assigned to it';
                    eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                }
                if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['active'])) {
                    $debug_msg = 'Forum is not active';
                    eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                }
                if ($forum['link'] and !$vbulletin->options['cv_ffl_show_linked'] and !$forum['nametitle']) {
                    $debug_msg = 'Forum is a link, not a real forum';
                    eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                }
                if ($excluded_forums and in_array($forum['forumid'], $excluded_forums)) {
                    $debug_msg = 'Forum has been specified in the ACP to be excluded.';
                    eval('$ret .= "' . fetch_template('cv_ffl_debug_msg') . '";');
                }
            }
            continue;
        } else {
            if ($depth == 1) {
                eval('$ret .= "' . fetch_template('cv_ffl_forum_category_seperator') . '";');
            }
            if ($depth >= 2) {
                for ($i = 0; $i < $depth - 2; $i++) {
                    eval('$title_prefix = "' . fetch_template('cv_ffl_forum_sub_forum_indicator') . '";');
                }
            }
            if ($use_vbseo_links) {
                $vbseo_forum_link = vbseo_forum_url($forum['forumid'], 1);
            }
            eval('$forum_link = "' . fetch_template('cv_ffl_forum_link') . '";');
            eval('$forum_feed_link = "' . fetch_template('cv_ffl_forum_feed_link') . '";');
            if ($forum['options'] & $vbulletin->bf_misc_forumoptions['cancontainthreads'] and !$forum['link']) {
                eval('$ret .= "' . fetch_template('cv_ffl_forum_bit_posts') . '";');
            } else {
                eval('$ret .= "' . fetch_template('cv_ffl_forum_bit_noposts') . '";');
            }
            // If the current forum has any sub-forums, then create that list
            $depth++;
            cv_construct_forum_list($forumid, $ret, $depth);
            $depth--;
        }
        // if can view
    }
    // end
    return $ret;
}
开发者ID:holandacz,项目名称:nb4,代码行数:78,代码来源:cv_rss_feeds.php

示例13: ListForums

function ListForums($who, $forumid)
{
    global $db, $vbulletin, $server, $structtypes, $lastpostarray;
    $result = RegisterService($who);
    if ($result['Code'] != 0) {
        $retval['Result'] = $result;
        return $retval;
    }
    $userid = $vbulletin->userinfo['userid'];
    //$xml = new XMLexporter($vbulletin);
    // ### GET FORUMS & MODERATOR iCACHES ########################
    cache_ordered_forums(1, 1);
    if (empty($vbulletin->iforumcache)) {
        $forums = $vbulletin->db->query_read_slave("\r\n            SELECT forumid, title, link, parentid, displayorder, title_clean, description, description_clean,\r\n            (options & " . $vbulletin->bf_misc_forumoptions['cancontainthreads'] . ") AS cancontainthreads\r\n            FROM " . TABLE_PREFIX . "forum AS forum\r\n            WHERE displayorder <> 0 AND\r\n            password = '' AND\r\n            (options & " . $vbulletin->bf_misc_forumoptions['active'] . ")\r\n            ORDER BY displayorder\r\n        ");
        $vbulletin->iforumcache = array();
        while ($forum = $vbulletin->db->fetch_array($forums)) {
            $vbulletin->iforumcache["{$forum['parentid']}"]["{$forum['displayorder']}"]["{$forum['forumid']}"] = $forum;
        }
        unset($forum);
        $vbulletin->db->free_result($forums);
    }
    // define max depth for forums display based on $vbulletin->options[forumhomedepth]
    define('MAXFORUMDEPTH', 1);
    if (is_array($vbulletin->iforumcache["{$forumid}"])) {
        $childarray = $vbulletin->iforumcache["{$forumid}"];
    } else {
        $childarray = array($vbulletin->iforumcache["{$forumid}"]);
    }
    if (!is_array($lastpostarray)) {
        fetch_last_post_array();
    }
    // add the current forum info
    // get the current location title
    $current = $db->query_first("SELECT title FROM " . TABLE_PREFIX . "forum AS forum WHERE (forumid = {$forumid})");
    if (strlen($current['title']) == 0) {
        $current['title'] = 'INDEX';
    }
    $forum = fetch_foruminfo($forumid);
    $lastpostinfo = $vbulletin->forumcache["{$lastpostarray[$forumid]}"];
    $isnew = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
    $curforum['ForumID'] = $forumid;
    $curforum['Title'] = $current['title'];
    $curforum['IsNew'] = $isnew == "new";
    $curforum['IsCurrent'] = true;
    $forumlist = array();
    foreach ($childarray as $subforumid) {
        // hack out the forum id
        $forum = fetch_foruminfo($subforumid);
        if (!$forum['displayorder'] or !($forum['options'] & $vbulletin->bf_misc_forumoptions['active'])) {
            continue;
        }
        $forumperms = $vbulletin->userinfo['forumpermissions']["{$subforumid}"];
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) and ($vbulletin->forumcache["{$subforumid}"]['showprivate'] == 1 or !$vbulletin->forumcache["{$subforumid}"]['showprivate'] and !$vbulletin->options['showprivateforums'])) {
            // no permission to view current forum
            continue;
        }
        $lastpostinfo = $vbulletin->forumcache["{$lastpostarray[$subforumid]}"];
        $isnew = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
        $tempforum['ForumID'] = $forum['forumid'];
        $tempforum['Title'] = $forum['title'];
        $tempforum['IsNew'] = $isnew == "new";
        $tempforum['IsCurrent'] = false;
        array_push($forumlist, $tempforum);
        unset($tempforum);
    }
    $result['RemoteUser'] = ConsumeArray($vbulletin->userinfo, $structtypes['RemoteUser']);
    $retval['Result'] = $result;
    $retval['CurrentForum'] = $curforum;
    $retval['ForumList'] = $forumlist;
    return $retval;
}
开发者ID:TheProjecter,项目名称:vbulletinbot,代码行数:71,代码来源:vbulletinbot.php

示例14: print_description_row

    print_description_row("<b><a href=\"forumpermission.php?" . $vbulletin->session->vars['sessionurl'] . "do=duplicate\">" . $vbphrase['permission_duplication_tools'] . "</a> | <a href=\"forumpermission.php?" . $vbulletin->session->vars['sessionurl'] . "do=quickedit\">" . $vbphrase['permissions_quick_editor'] . "</a> | <a href=\"forumpermission.php?" . $vbulletin->session->vars['sessionurl'] . "do=quickforum\">" . $vbphrase['quick_forum_permission_setup'] . "</a></b>", 0, 2, '', 'center');
    print_table_footer();
    print_form_header('', '');
    print_table_header($vbphrase['forum_permissions']);
    print_description_row('
		<div class="darkbg" style="border: 2px inset"><ul class="darkbg">
		<li><b>' . $vbphrase['color_key'] . '</b></li>
		<li class="col-g">' . $vbphrase['standard_using_default_usergroup_permissions'] . '</li>
		<li class="col-c">' . $vbphrase['customized_using_custom_permissions_for_this_usergroup'] . '</li>
		<li class="col-i">' . $vbphrase['inherited_using_custom_permissions_inherited_from_a_parent_forum'] . '</li>
		</ul></div>
	');
    print_table_footer();
    require_once DIR . '/includes/functions_forumlist.php';
    // get forum orders
    cache_ordered_forums(0, 1);
    // get moderators
    cache_moderators();
    // query forum permissions
    $fpermscache = array();
    $forumpermissions = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "forumpermission");
    while ($fp = $db->fetch_array($forumpermissions)) {
        $fpermscache["{$fp['forumid']}"]["{$fp['usergroupid']}"] = $fp;
    }
    // get usergroup default permissions
    $permissions = array();
    foreach ($vbulletin->usergroupcache as $usergroupid => $usergroup) {
        $permissions["{$usergroupid}"] = $usergroup['forumpermissions'];
    }
    ?>
<center>
开发者ID:holandacz,项目名称:nb4,代码行数:31,代码来源:forumpermission.php

示例15: construct_quick_nav

/**
* Returns the HTML for the forum jump menu
*
* @param	array		Information about current page (id, title, and link)
* @param	integer	ID of the parent forum for the group to be shown (-1 for all)
* @param	boolean	If true, evaluate the forumjump template too
* @param	boolean	Override $complete
*/
function construct_quick_nav($navpopup = array(), $parentid = -1, $addbox = true, $override = false)
{
	global $vbulletin, $daysprune, $vbphrase, $forumjump;
	static $complete = false;

	if ($override)
	{
		$complete = false;
	}

	if (!$navpopup['id'])
	{
		$navpopup['id'] = 'navpopup';
	}

	if ($complete OR !$vbulletin->options['useforumjump'] OR !($vbulletin->userinfo['permissions']['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview']))
	{
		return;
	}

	if (empty($vbulletin->iforumcache))
	{
		// get the vbulletin->iforumcache, as we use it all over the place, not just for forumjump
		cache_ordered_forums(0, 1);
	}

	if (empty($vbulletin->iforumcache["$parentid"]) OR !is_array($vbulletin->iforumcache["$parentid"]))
	{
		return;
	}

	foreach($vbulletin->iforumcache["$parentid"] AS $forumid)
	{
		$forumperms = $vbulletin->userinfo['forumpermissions']["$forumid"];
		if ((!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) AND ($vbulletin->forumcache["$forumid"]['showprivate'] == 1 OR (!$vbulletin->forumcache["$forumid"]['showprivate'] AND !$vbulletin->options['showprivateforums']))) OR !($vbulletin->forumcache["$forumid"]['options'] & $vbulletin->bf_misc_forumoptions['showonforumjump']) OR !$vbulletin->forumcache["$forumid"]['displayorder'] OR !($vbulletin->forumcache["$forumid"]['options'] & $vbulletin->bf_misc_forumoptions['active']))
		{
			continue;
		}
		else
		{
			// set $forum from the $vbulletin->forumcache
			$forum = $vbulletin->forumcache["$forumid"];

			$children = explode(',', trim($forum['childlist']));
			if (sizeof($children) <= 2)
			{
				$templater = vB_Template::create('forumjump_link');
					$templater->register('forum', $forum);
				$jumpforumbits .= $templater->render();
			}
			else
			{
				if ($forumbits = construct_quick_nav($navpopup, $forumid, false))
				{
					$templater = vB_Template::create('forumjump_subforum');
						$forum['depth']++;
						$templater->register('forum', $forum);
						$templater->register('forumbits', $forumbits);
					$jumpforumbits .= $templater->render();
				}
				else
				{
					$templater = vB_Template::create('forumjump_link');
						$templater->register('forum', $forum);
					$jumpforumbits .= $templater->render();
				}
			}
		} // if can view
	} // end foreach ($vbulletin->iforumcache[$parentid] AS $forumid)

	if ($addbox)
	{
		($hook = vBulletinHook::fetch_hook('forumjump')) ? eval($hook) : false;

		$templater = vB_Template::create('forumjump');
			if ($daysprune)
			{
				$templater->register('daysprune', intval($daysprune));
			}
			$templater->register('jumpforumbits', $jumpforumbits);
			$templater->register('navpopup', $navpopup);
		$forumjump = $templater->render();

		// prevent forumjump from being built more than once
		$complete = true;
	}
	else
	{
		return $jumpforumbits;
	}
}
开发者ID:hungnv0789,项目名称:vhtm,代码行数:99,代码来源:functions.php


注:本文中的cache_ordered_forums函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。