newbb.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 129 行

PHP
129
字号
<?php// $Id: newbb.php,v 1.1 2005/04/07 09:23:42 gij Exp $// FILE		::	newbb.php// AUTHOR	::	Ryuji AMANO <info@ryus.biz>// WEB		::	Ryu's Planning <http://ryus.biz/>// NewBBversion/newbb2 plugin: D.J., http://xoops.org.cnfunction b_sitemap_newbb(){    global $sitemap_configs;    $sitemap = array();    // Get the NewBB version Info	$module_handler = &xoops_gethandler('module');	$newbb = $module_handler->getByDirname('newbb');	$newbb_version = intval($newbb->getInfo('version'));	// For NewBB 2. If the syntax is wrong, correct me plz.	if($newbb_version>=2){		// Get All Forums with access permission		$forum_handler =& xoops_getmodulehandler('forum', 'newbb');		$_forums = $forum_handler->getForums(0, 'access');		// Some transformation; Might ugly but works :=)		$forums = array();		$forums_sub = array();		foreach ($_forums as $forumid => $forum) {			if($forum->isSubForum()) $forums_sub[$forum->getVar('parent_forum')][$forumid] = array(				    'id' => $forumid,				    'url' => "viewforum.php?forum=".$forumid,				    'title' => $forum->getVar('forum_name')			);			else $forums[$forumid] = array(				    'id' => $forumid,				    'cid' => $forum->getVar('cat_id'),				    'url' => "viewforum.php?forum=".$forumid,				    'title' => $forum->getVar('forum_name')			);		}		unset($_forums);		foreach ($forums as $id => $forum) {			if(!empty($forums_sub[$id]))			$forums[$id]['fchild'] =& $forums_sub[$id];		}		// Why not enable subcategory?		if($sitemap_configs["show_subcategoris"]){			$category_handler =& xoops_getmodulehandler('category', 'newbb');			$categories = $category_handler->getAllCats('access');		    if(count($categories)>0) foreach ( $categories as $key=>$category ) {			    $cat_id=$category->getVar("cat_id");			    $i=$cat_id;		        $sitemap['parent'][$i]['id'] = $cat_id;		        $sitemap['parent'][$i]['title'] = $category->getVar("cat_title");		        $sitemap['parent'][$i]['url'] = "index.php?cat=".$cat_id;		    }		    if(count($forums)>0) foreach ( $forums as $id=>$forum ) {			    $cid=$forum['cid'];				$sitemap['parent'][$cid]['child'][$id] = $forum;				$sitemap['parent'][$cid]['child'][$id]['image'] = 2;				if(!empty($forum['fchild'])) foreach($forum['fchild'] as $_id=>$_forum){					$sitemap['parent'][$cid]['child'][$_id] = $_forum;					unset($_forum);					$sitemap['parent'][$cid]['child'][$_id]['image'] = 3;				}				unset($forum);			}		// In case not enable subcategory, do the following; Sorry, I have not tested with this mode yet. If any bugs, feel free to fix.		}else{		    if(count($forums)>0) foreach ( $forums as $id=>$forum ) {				$sitemap['parent'][$id] = $forum;				if(!empty($forum['fchild'])) foreach($forum['fchild'] as $_id=>$_forum){					$sitemap['parent'][$id]['child'][$_id] = $_forum;					$sitemap['parent'][$cid]['child'][$id]['image'] = 2;					unset($_forum);				}				unset($forum);			}		}		return $sitemap;	}	/*	 * My part ends, D.J. :=)	 */    $db =& Database::getInstance();    $myts =& MyTextSanitizer::getInstance();    if($sitemap_configs["show_subcategoris"]){ // サブカテ山绩のときのみ悸乖 by Ryuji        // カテゴリを评る        $sql = 'SELECT DISTINCT c.* FROM '.$db->prefix('bb_categories').' c, '.$db->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order';        $result = $db->query($sql);        $categories = array();        while ( $cat_row = $db->fetchArray($result) ) {            $i = $cat_row["cat_id"];            $sitemap['parent'][$i]['id'] = $cat_row["cat_id"];            $sitemap['parent'][$i]['title'] = $myts->makeTboxData4Show($cat_row["cat_title"]);            $sitemap['parent'][$i]['url'] = "index.php?cat=".$cat_row["cat_id"];            $categories[] = $cat_row["cat_id"];        }    }    // フォ〖ラム攫鼠艰评    $sql = "SELECT f.* FROM ".$db->prefix("bb_forums")." f LEFT JOIN ".$db->prefix("bb_categories")." c ON f.cat_id=c.cat_id ORDER BY f.forum_id";    $result = $db->query($sql);    //$forums = array();    $i=0;    while($forum_row = $db->fetchArray($result)){        //if(in_array($forum_row["cat_id"], $categories)){            if($sitemap_configs["show_subcategoris"]){ // サブカテ山绩のときのみ悸乖 by Ryuji                $j = $forum_row["cat_id"];    			$sitemap['parent'][$j]['child'][$i]['id'] = $forum_row["forum_id"];    			$sitemap['parent'][$j]['child'][$i]['title'] = $myts->makeTboxData4Show($forum_row["forum_name"]);    			$sitemap['parent'][$j]['child'][$i]['image'] = 2;    			$sitemap['parent'][$j]['child'][$i]['url'] = "viewforum.php?forum=".$forum_row['forum_id'];            }else{                // サブカテ润山绩ならフォ〖ラムをル〖トにする                $sitemap['parent'][$i]['id'] = $forum_row["forum_id"];                $sitemap['parent'][$i]['title'] = $myts->makeTboxData4Show($forum_row["forum_name"]);                $sitemap['parent'][$i]['url'] = "viewforum.php?forum=".$forum_row['forum_id'];            }        $i++;        //}    }    //print_r($categories);    return $sitemap;}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?