www.gusucode.com > 15:【198-3299】dedecms包装材料-建筑材料类企业模板(带手机版) > 15:【198-3299】dedecms包装材料-建筑材料类企业模板(带手机版)/include/typeunit.class.menu.php
<?php if(!defined('DEDEINC')) exit("Request Error!"); /** * 栏目单元,主要用户管理后台管理菜单处 * * @version $Id: typeunit.class.menu.php 1 15:21 2010年7月5日Z tianya $ * @package DedeCMS.Libraries * @copyright Copyright (c) 2007 - 2010, DesDev, Inc. * @license http://help.dedecms.com/usersguide/license.html * @link http://www.dedecms.com */ require_once(DEDEDATA."/cache/inc_catalog_base.inc"); /** * 栏目单元,主要用户管理后台管理菜单处 * * @package TypeUnit * @subpackage DedeCMS.Libraries * @link http://www.dedecms.com */ class TypeUnit { var $dsql; var $aChannels; var $isAdminAll; //php5构造函数 function __construct($catlogs='') { global $cfg_Cs; $this->dsql = $GLOBALS['dsql']; $this->aChannels = Array(); $this->isAdminAll = false; if(!empty($catlogs) && $catlogs!='-1') { $this->aChannels = explode(',',$catlogs); foreach($this->aChannels as $cid) { if($cfg_Cs[$cid][0]==0) { $this->dsql->SetQuery("Select id,ispart From `#@__arctype` where reid=$cid"); $this->dsql->Execute(); while($row = $this->dsql->GetObject()) { //if($row->ispart==1) $this->aChannels[] = $row->id; } } } } else { $this->isAdminAll = true; } } function TypeUnit($catlogs='') { $this->__construct($catlogs); } //清理类 function Close() { } /** * 读出所有分类,在类目管理页(list_type)中使用 * * @access public * @param int $channel 频道ID * @param int $nowdir 当前操作ID * @return string */ function ListAllType($channel=0, $nowdir=0) { global $cfg_admin_channel, $admin_catalogs; //检测用户有权限的顶级栏目 if($cfg_admin_channel=='array') { $admin_catalog = join(',', $admin_catalogs); $this->dsql->SetQuery("SELECT reid FROM `#@__arctype` WHERE id IN($admin_catalog) GROUP BY reid "); $this->dsql->Execute(); $topidstr = ''; while($row = $this->dsql->GetObject()) { if($row->reid==0) continue; $topidstr .= ($topidstr=='' ? $row->reid : ','.$row->reid); } $admin_catalog .= ','.$topidstr; $admin_catalogs = explode(',', $admin_catalog); $admin_catalogs = array_unique($admin_catalogs); } $this->dsql->SetQuery("SELECT id,typedir,typename,ispart,channeltype FROM `#@__arctype` WHERE reid=0 ORDER BY sortrank"); $this->dsql->Execute(0); $lastid = GetCookie('lastCidMenu'); while($row=$this->dsql->GetObject(0)) { if( $cfg_admin_channel=='array' && !in_array($row->id, $admin_catalogs) ) { continue; } $typeDir = $row->typedir; $typeName = $row->typename; $ispart = $row->ispart; $id = $row->id; $channeltype = $row->channeltype; //普通栏目 if($ispart==0) { $smenu = " oncontextmenu=\"CommonMenu(event,this,$id,'".urlencode($typeName)."')\""; } //封面频道 else if($ispart==1) { $smenu = " oncontextmenu=\"CommonMenuPart(event,this,$id,'".urlencode($typeName)."')\""; } //独立页面 //else if($ispart==2) //{ //$smenu = " oncontextmenu=\"SingleMenu(event,this,$id,'".urlencode($typeName)."')\""; //} //跳转网址 else { continue; $smenu = " oncontextmenu=\"JumpMenu(event,this,$id,'".urlencode($typeName)."')\" "; } echo "<dl class='topcc'>\r\n"; echo " <dd class='dlf'><img style='cursor:pointer' onClick=\"LoadSuns('suns{$id}',{$id});\" src='images/tree_explode.gif' width='11' height='11'></dd>\r\n"; echo " <dd class='dlr'><a href='catalog_do.php?cid=".$id."&dopost=listArchives'{$smenu}>".$typeName."</a></dd>\r\n"; echo "</dl>\r\n"; echo "<div id='suns".$id."' class='sunct'>"; if($lastid==$id || $cfg_admin_channel=='array') { $this->LogicListAllSunType($id, " "); } echo "</div>\r\n"; } } /** * 获得子类目的递归调用 * * @access public * @param int $id 栏目ID * @param string $step 层级标志 * @param bool $needcheck 权限 * @return string */ function LogicListAllSunType($id,$step,$needcheck=true) { global $cfg_admin_channel, $admin_catalogs; $fid = $id; $this->dsql->SetQuery("SELECT id,reid,typedir,typename,ispart,channeltype FROM `#@__arctype` WHERE reid='".$id."' ORDER BY sortrank"); $this->dsql->Execute($fid); if($this->dsql->GetTotalRow($fid)>0) { while($row=$this->dsql->GetObject($fid)) { if($cfg_admin_channel=='array' && !in_array($row->id, $admin_catalogs) ) { continue; } $typeDir = $row->typedir; $typeName = $row->typename; $reid = $row->reid; $id = $row->id; $ispart = $row->ispart; $channeltype = $row->channeltype; if($step==" ") { $stepdd = 2; } else { $stepdd = 3; } //有权限栏目 if(in_array($id,$this->aChannels) || $needcheck===false || $this->isAdminAll===true) { //普通列表 if($ispart==0||empty($ispart)) { $smenu = " oncontextmenu=\"CommonMenu(event,this,$id,'".urlencode($typeName)."')\""; $timg = " <img src='images/tree_page.gif'> "; } //封面频道 else if($ispart==1) { $smenu = " oncontextmenu=\"CommonMenuPart(event,this,$id,'".urlencode($typeName)."')\""; $timg = " <img src='images/tree_part.gif'> "; } //独立页面 //else if($ispart==2) //{ //$timg = " <img src='img/tree_page.gif'> "; //$smenu = " oncontextmenu=\"SingleMenu(event,this,$id,'".urlencode($typeName)."')\" "; //} //跳转网址 else { continue; $timg = " <img src='img/tree_page.gif'> "; $smenu = " oncontextmenu=\"JumpMenu(event,this,$id,'".urlencode($typeName)."')\" "; } echo " <table class='sunlist'>\r\n"; echo " <tr>\r\n"; echo " <td align='left'>".$step.$timg."<a href='catalog_do.php?cid=".$id."&dopost=listArchives'{$smenu}>".$typeName."</a></td>\r\n"; echo " </tr>\r\n"; echo " </table>\r\n"; $this->LogicListAllSunType($id,$step." ",false); } } } } }//End Class