Server : nginx/1.22.1
System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : www ( 1000)
PHP Version : 7.2.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/www.jkmold.com/phpcms/modules/admin/classes/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/modules/admin/classes/role_cat.class.php
<?php

defined('IN_PHPCMS') or exit('No permission resources.');



class role_cat {

	//数据库连接

	static $db;

	

	private static function _connect() {

		self::$db = pc_base::load_model('category_priv_model');

	}

	

	/**

	 * 获取角色配置权限

	 * @param integer $roleid  角色ID

	 * @param integer $siteid  站点ID

	 */

	public static function get_roleid($roleid, $siteid) {

		if (empty(self::$db)) {

			self::_connect();

		}

		if ($data = self::$db->select("`roleid` = '$roleid' AND `is_admin` = '1' AND `siteid` IN ('$siteid') ")) {

			$priv = array();

			foreach ($data as $k=>$v) {

				$priv[$v['catid']][$v['action']] = true;

			}

			return $priv;

		} else {

			return false;

		}

	}

	

	/**

	 * 获取站点栏目列表

	 * @param integer $siteid  站点ID

	 * @return array()         返回为数组

	 */

	public static function get_category($siteid) {

		$category = getcache('category_content_'.$siteid, 'commons');

		foreach ($category as $k=>$v) {

			if (!in_array($v['type'], array(0,1))) unset($category[$k]); 

		}

		return $category;

	}

	

	/**

	 * 更新数据库信息 

	 * @param integer $roleid   角色ID

	 * @param integer $siteid   站点ID

	 * @param array $data       需要更新的数据

	 */

	public static function updata_priv($roleid, $siteid, $data) {

		if (empty(self::$db)) {

			self::_connect();

		}

		//删除该角色当前的权限

		self::$db->delete(array('roleid'=>$roleid, 'siteid'=>$siteid, 'is_admin'=>1));

		foreach ($data as $k=>$v) {

			if (is_array($v) && !empty($v[0])) {

				foreach ($v as $key=>$val) {

					self::$db->insert(array('siteid'=>$siteid, 'catid'=>$k, 'is_admin'=>1, 'roleid'=>$roleid, 'action'=>$val));

				}

			}

		}

	}

}