126 lines
4.4 KiB
PHP
Executable File
126 lines
4.4 KiB
PHP
Executable File
<?php
|
|
// ensure this file is being included by a parent file
|
|
if( !defined( '_JEXEC' ) && !defined( '_VALID_MOS' ) ) die( 'Restricted access' );
|
|
/**
|
|
* @version $Id: users.php 226 2012-12-25 06:51:02Z soeren $
|
|
* @package eXtplorer
|
|
* @copyright soeren 2007-2009
|
|
* @author The eXtplorer project (http://extplorer.net)
|
|
* @author The The QuiX project (http://quixplorer.sourceforge.net)
|
|
*
|
|
* @license
|
|
* The contents of this file are subject to the Mozilla Public License
|
|
* Version 1.1 (the "License"); you may not use this file except in
|
|
* compliance with the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS"
|
|
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing rights and limitations
|
|
* under the License.
|
|
*
|
|
* Alternatively, the contents of this file may be used under the terms
|
|
* of the GNU General Public License Version 2 or later (the "GPL"), in
|
|
* which case the provisions of the GPL are applicable instead of
|
|
* those above. If you wish to allow use of your version of this file only
|
|
* under the terms of the GPL and not to allow others to use
|
|
* your version of this file under the MPL, indicate your decision by
|
|
* deleting the provisions above and replace them with the notice and
|
|
* other provisions required by the GPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file
|
|
* under either the MPL or the GPL."
|
|
*
|
|
* Administrative Functions regarding users
|
|
*/
|
|
function ext_load_users() {
|
|
require _EXT_PATH."/config/.htusers.php";
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
function ext_save_users() {
|
|
$cnt=count($GLOBALS["users"]);
|
|
if($cnt>0) sort($GLOBALS["users"]);
|
|
|
|
// Make PHP-File
|
|
$content='<?php
|
|
// ensure this file is being included by a parent file
|
|
if( !defined( \'_JEXEC\' ) && !defined( \'_VALID_MOS\' ) ) die( \'Restricted access\' );
|
|
$GLOBALS["users"]=array(';
|
|
for($i=0;$i<$cnt;++$i) {
|
|
// if($GLOBALS["users"][6]&4==4) $GLOBALS["users"][6]=7; // If admin, all permissions
|
|
$content.="\r\n\tarray('".$GLOBALS["users"][$i][0]."','".
|
|
$GLOBALS["users"][$i][1]."','".$GLOBALS["users"][$i][2]."','".$GLOBALS["users"][$i][3]."','".
|
|
$GLOBALS["users"][$i][4]."','".$GLOBALS["users"][$i][5]."','".$GLOBALS["users"][$i][6]."',".
|
|
$GLOBALS["users"][$i][7].'),';
|
|
}
|
|
$content.="\r\n); \r\n?>";
|
|
|
|
// Write to File
|
|
if( !is_writable(_EXT_PATH."/config/.htusers.php") && !chmod( _EXT_PATH."/config/.htusers.php", 0644 ) ) {
|
|
return false;
|
|
}
|
|
file_put_contents( _EXT_PATH."/config/.htusers.php", $content);
|
|
|
|
return true;
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
function &ext_find_user($user,$pass) {
|
|
$return = null;
|
|
$cnt=count($GLOBALS["users"]);
|
|
for($i=0;$i<$cnt;++$i) {
|
|
if($user==$GLOBALS["users"][$i][0]) {
|
|
if($pass===NULL || ($pass==$GLOBALS["users"][$i][1] && $GLOBALS["users"][$i][7])) {
|
|
return $GLOBALS["users"][$i];
|
|
}
|
|
}
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
function ext_update_user($user,$new_data) {
|
|
$data=&ext_find_user($user,NULL);
|
|
if($data==NULL) return false;
|
|
|
|
$data=$new_data;
|
|
return ext_save_users();
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
function ext_add_user($data) {
|
|
if(ext_find_user($data[0],NULL)) return false;
|
|
|
|
$GLOBALS["users"][]=$data;
|
|
return ext_save_users();
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
function ext_remove_user($user) {
|
|
$data=&ext_find_user($user,NULL);
|
|
if($data==NULL) return false;
|
|
|
|
// Remove
|
|
$data=NULL;
|
|
|
|
// Copy Valid Users
|
|
$cnt=count($GLOBALS["users"]);
|
|
for($i=0;$i<$cnt;++$i) {
|
|
if($GLOBALS["users"][$i]!=NULL) $ext_save_users[]=$GLOBALS["users"][$i];
|
|
}
|
|
$GLOBALS["users"]=$ext_save_users;
|
|
return ext_save_users();
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
/*
|
|
function num_users($active=true) {
|
|
$cnt=count($GLOBALS["users"]);
|
|
if(!$active) return $cnt;
|
|
|
|
for($i=0, $j=0;$i<$cnt;++$i) {
|
|
if($GLOBALS["users"][$i][7]) ++$j;
|
|
}
|
|
return $j;
|
|
}
|
|
*/
|
|
//------------------------------------------------------------------------------
|
|
|
|
?>
|