Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
filetypes
/
htpasswd
:
edit.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /*************************************************************** * Copyright notice * * (c) 2003-2004 Tobias Bender (tobias@phpXplorer.org) * All rights reserved * * This script is part of the phpXplorer project. The phpXplorer project is * free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The GNU General Public License can be found at * http://www.gnu.org/copyleft/gpl.html. * A copy is found in the textfile GPL.txt distributed with these scripts. * * This script is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ $acronym = basename(dirname(__FILE__)); require(dirname(__FILE__) . "/../defaultActionHead.php"); $fileName = getRequestVar("fileName"); if(!(strpos($fileName, "..") === FALSE)) die($PXP_languages[$PXP_language]['accessDenied'] . " (804)"); $pInfo = checkFilePermissions($fileName, false); if(!$pInfo["allowOpen"] or !$pInfo["allowEdit"]) die($PXP_languages[$PXP_language]["accessDenied"] . " (809)"); if(isset($HTTP_POST_VARS["users"])){ require(dirname(__FILE__) . "/../../authentication/htaccess_editor.php"); $htEditor = new htaccessEditor(dirname(dirname(dirname(__FILE__))) . "/.htpasswd"); $rowActions = explode("<|>", $HTTP_POST_VARS["rowActions"]); $users = explode("<|>", $HTTP_POST_VARS["users"]); $passwords = explode("<|>", $HTTP_POST_VARS["passwords"]); $pxuf = $currentDir . "/" . $fileName; $passwdFileContent = ""; foreach($users as $index => $user){ if($rowActions[$index] == "d"){ $htEditor->deleteUser($user); continue; } if($passwords[$index] != "{__EMPTY__}") $htEditor->addUser($user, $passwords[$index]); } $htEditor->writeFile(); die(); } $caption = $PXP_languages[$PXP_language]['filetype.' . $acronym] . " - " . str_replace($PXP_basedir, "", $currentDir) . "/" . $fileName; $users = Array(); $lines = file($currentDir . "/" . $fileName); foreach($lines as $line){ $values = explode(":", $line); array_push($users, trim($values[0])); } # build strings from arrays $strUsers = sizeof($users) > 0 ? "'" . implode("','", $users) . "',null" : "null"; ?> <html> <head><title><?php echo $caption ?></title> <script src="<?php echo $GC_webGridClient_URL ?>/webGrid.js" type="text/javascript" language="JavaScript"></script> <script language="JavaScript" type="text/javascript"> //<![CDATA[ httpParameter=new Array() httpParameter['http_user']='' wGB205116740640f36a8f95b953 = new gridBox("wGB205116740640f36a8f95b953") var b=wGB205116740640f36a8f95b953 b.wgURL="<?php echo $GC_webGridClient_URL ?>" //]]> </script> <script src="<?php echo $GC_webGridClient_URL ?>/cache/columnTemplates.js" type="text/javascript" language="JavaScript"></script> <script src="<?php echo $GC_webGridClient_URL ?>/cache/validations.js" type="text/javascript" language="JavaScript"></script> <script src="<?php echo $GC_webGridClient_URL ?>/getJSDefinition.php?id=wGB205116740640f36a8f95b953" type="text/javascript" language="JavaScript"></script> <style type="text/css"> /*<![CDATA[*/ body{margin:0px} /*]]>*/ </style> <script language="JavaScript" type="text/javascript"> //<![CDATA[ function save(){ var f = document.frm1 if(!b.onSync()) return false var arrRA = new Array() for(var y in htpasswd.rows) arrRA[arrRA.length] = htpasswd.gRS(htpasswd.rows[y]) f.rowActions.value = arrRA.join("<|>") f.users.value = htpasswd.aCols['username'].vs.join("<|>"); f.passwords.value = htpasswd.aCols['password'].vs.join("<|>"); f.submit() } <?php $nullValues = Array(); for($i = 0; $i < sizeof($users) + 1; $i++) array_push($nullValues, "'{__EMPTY__}'"); $strNullValues = implode(",", $nullValues); ?>//javascript var confirmPasswordOfUser = "<?php echo $PXP_languages[$PXP_language]['confirmPasswordOfUser'] ?>" var doesNotMatch = "<?php echo $PXP_languages[$PXP_language]['doesNotMatch'] ?>" var passwordOfUser = "<?php echo $PXP_languages[$PXP_language]['passwordOfUser'] ?>" var shouldNotEmpty = "<?php echo $PXP_languages[$PXP_language]['shouldNotEmpty'] ?>" function init(){ var g = htpasswd; g.rC = <?php echo sizeof($users) ?> g.aCols['username'].vs = Array(<?php echo $strUsers ?>) g.aCols['password'].vs = Array(<?php echo $strNullValues ?>) g.aCols['passwordConfirm'].vs = Array(<?php echo $strNullValues ?>) g.title = "<?php echo $PXP_languages[$PXP_language]['user'] ?>" g.aCols['username'].title = "<?php echo $PXP_languages[$PXP_language]['user'] ?>" g.aCols['password'].title = "<?php echo $PXP_languages[$PXP_language]['password'] ?>" g.aCols['passwordConfirm'].title = "<?php echo $PXP_languages[$PXP_language]['passwordConfirm'] ?>" b.render(window.frames['wGB205116740640f36a8f95b953Content']) b.resize() window.setInterval('wGB205116740640f36a8f95b953.resize()', 444) } //]]> </script> </head> <body onLoad="init()"> <form name="frm1" action="./edit.php" method="post" target="frmSave"> <input type="hidden" name="rowActions" value=""> <input type="hidden" name="users" value=""> <input type="hidden" name="passwords" value=""> <input type="hidden" name="currentDir" value="<?php echo $currentDir ?>"> <input type="hidden" name="shareId" value="<?php echo $shareId ?>"> <input type="hidden" name="fileName" value="<?php echo $fileName ?>"> <input type="hidden" name="actionType" value=""> <input type="hidden" name="keyGenList" value=""> <table style="background-color:#DDDDDD" cellspacing="0" cellpadding="1" width="100%"> <tr> <td> <iframe scrolling="auto" id="wGB205116740640f36a8f95b953Content" name="wGB205116740640f36a8f95b953Content" width="100%" height="480px" frameborder="0"></iframe> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td style="height:1px" colspan="4"></td> </tr> <tr> <td height="28"> <input type="button" value="<?php echo $PXP_languages[$PXP_language]['add'] ?>" onClick="wGB205116740640f36a8f95b953.addRow()"> </td> <td height="28"> <input type="button" value="<?php echo $PXP_languages[$PXP_language]['insert'] ?>" onClick="wGB205116740640f36a8f95b953.insRow()"> </td> <td height="28"> <input type="button" value="<?php echo $PXP_languages[$PXP_language]['delete'] ?>" onClick="wGB205116740640f36a8f95b953.delRow()"> </td> <td height="28"> <input type="button" value="<?php echo $PXP_languages[$PXP_language]['save'] ?>" onClick="save()"> </td> <td height="28"> <input type="button" value="<?php echo $PXP_languages[$PXP_language]['cancel'] ?>" onClick="window.close()"> </td> </tr> </table> </td> </tr> </table> <iframe name="frmSave" style="display:none"></iframe> </form> </body> </html>