Viewing file: auth.php (1.97 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Administrator plugin - Authentication routines * * This function tell other modules what users have access * to the plugin. * * @version $Id: auth.php 13893 2010-01-25 02:47:41Z pdontthink $ * @author Philippe Mingo * @copyright (c) 1999-2010 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @package plugins * @subpackage administrator */
/** * Check if user has access to administrative functions * * @return boolean */ function adm_check_user() { global $plugins; require_once(SM_PATH . 'functions/global.php'); if ( !in_array('administrator', $plugins) ) { return FALSE; } if ( !sqgetGlobalVar('username',$username,SQ_SESSION) ) { $username = ''; }
/* This needs to be first, for all non_options pages */ //if (!defined('PAGE_NAME') || strpos(PAGE_NAME, 'options') === FALSE) { if (!defined('PAGE_NAME') || (PAGE_NAME != 'administrator_options' && PAGE_NAME != 'options')) { $auth = FALSE; } else if (file_exists(SM_PATH . 'plugins/administrator/admins')) { $auths = file(SM_PATH . 'plugins/administrator/admins'); array_walk($auths, 'adm_array_trim'); $auth = in_array($username, $auths); } else if (file_exists(SM_PATH . 'config/admins')) { $auths = file(SM_PATH . 'config/admins'); array_walk($auths, 'adm_array_trim'); $auth = in_array($username, $auths); } else if (($adm_id = fileowner(SM_PATH . 'config/config.php')) && function_exists('posix_getpwuid')) { $adm = posix_getpwuid( $adm_id ); $auth = ($username == $adm['name']); } else { $auth = FALSE; }
return ($auth); }
/** * Removes whitespace from array values * @param string $value array value that has to be trimmed * @param string $key array key * @since 1.5.1 and 1.4.5 * @access private */ function adm_array_trim(&$value,$key) { $value=trim($value); }
|