functions.user.php

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

PHP
104
字号
<?php
/**
 * Article management
 *
 * @copyright	The XOOPS project http://www.xoops.org/
 * @license		http://www.fsf.org/copyleft/gpl.html GNU public license
 * @author		Taiwen Jiang (phppp or D.J.) <php_pp@hotmail.com>
 * @since		1.00
 * @version		$Id$
 * @package		module::article
 */

if (!defined('XOOPS_ROOT_PATH')){ exit(); }

include dirname(__FILE__)."/vars.php";
define($GLOBALS["artdirname"]."_FUNCTIONS_USER_LOADED", TRUE);


IF(!defined("ART_FUNCTIONS_USER")):
define("ART_FUNCTIONS_USER", 1);

load_functions("user");

/**
 * Function to a list of user names associated with their user IDs
 * 
 */
function &art_getUnameFromId( $userid, $usereal = 0, $linked = false )
{
	if(!is_array($userid)) {
		$userid = array($userid);
	}
	$users = mod_getUnameFromIds($userid, $usereal, $linked);

    return $users;
}

/**
 * Function to check if a user is an administrator of the module
 *
 * @return bool
 */
function art_isAdministrator( $user = -1, $mid = 0 )
{
	global $xoopsUser, $xoopsModule;

	if( is_numeric($user) && $user == -1 ) $user =& $xoopsUser;
	if( !is_object($user) && intval($user) < 1 ) return false;
	$uid = (is_object($user)) ? $user->getVar("uid") : intval($user);

	if(!$mid){
	    if(is_object($xoopsModule) && $GLOBALS["artdirname"] == $xoopsModule->getVar("dirname")){
	    	$mid = $xoopsModule->getVar("mid");
	    }else{
	        $modhandler =& xoops_gethandler("module");
	        $art_module =& $modhandler->getByDirname($GLOBALS["artdirname"]);
		    $mid = $art_module->getVar("mid");
		    unset($art_module);
	    }
	}
	
	if(	is_object($xoopsModule) && $mid == $xoopsModule->getVar("mid") 
		&& is_object($xoopsUser) && $uid == $xoopsUser->getVar("uid")
	){
		return $GLOBALS["xoopsUserIsAdmin"];
	}

    $member_handler =& xoops_gethandler('member');
    $groups = $member_handler->getGroupsByUser($uid);
    
    $moduleperm_handler =& xoops_gethandler('groupperm');
    return $moduleperm_handler->checkRight('module_admin', $mid, $groups);
}

/**
 * Function to check if a user is a moderator of a category
 *
 * @return bool
 */
function art_isModerator( &$category, $user = -1 )
{
	global $xoopsUser;

	if(!is_object($category)){
		$cat_id = intval($category);
		if( $cat_id == 0 ) return false;
		$category_handler =& xoops_getmodulehandler("category", $GLOBALS["artdirname"]);
		$category =& $category_handler->get($cat_id);
	}

	if(is_numeric($user) && $user == -1) $user =& $xoopsUser;
	if(!is_object($user) && intval($user)<1) return false;
	$uid = (is_object($user)) ? $user->getVar("uid") : intval($user);

	return in_array($uid, $category->getVar("cat_moderator"));
}

// Adapted from PMA_getIp() [phpmyadmin project]
function art_getIP($asString = false)
{
	return mod_getIP($asString);
}
ENDIF;
?>

⌨️ 快捷键说明

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