File "writeShareHtaccessFiles.php"
Full Path: /home/analogde/www/filetypes/pxsf/writeShareHtaccessFiles.php
File size: 3.39 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if(!isset($PXP_dir))
die("Script cannot be run separately.");
$ws_shares = Array();
$wsArr_basedir = Array();
$wsArr_create_htaccess = Array();
$wsArr_share_users = Array();
$wsArr_share_roles = Array();
$pxsf = $PXP_dir . "/shares.pxsf";
$d = dir($pxsf);
while($file = $d->read())
if($file != "." and $file != "..")
if(is_dir($pxsf . "/" . $file))
array_push($ws_shares, $file);
# import existing shares
$PXP_onlyReadValues = true;
foreach($ws_shares as $ws_share){
require($PXP_dir . "/shares.pxsf/" . $ws_share . "/config." . $ws_share . ".pxs.php");
$wsArr_basedir[$ws_share] = $PXP_basedir;
$wsArr_create_htaccess[$ws_share] = $PXP_create_htaccess;
$wsArr_share_users[$ws_share] = $PXP_share_users;
$wsArr_share_roles[$ws_share] = $PXP_share_roles;
}
$default_htaccess = implode("", file(dirname(__FILE__) . "/../htaccess/default.htaccess"));
foreach($ws_shares as $ws_share){
if($ws_share != "system"){
$new_htaccess_content = $default_htaccess;
switch($wsArr_create_htaccess[$ws_share]){
case 0:
if(file_exists(str_replace("{@PXP_user_folder}", $PXP_user_folder, $wsArr_basedir[$ws_share]) . "/.htaccess"))
unlink(str_replace("{@PXP_user_folder}", $PXP_user_folder, $wsArr_basedir[$ws_share]) . "/.htaccess");
break;
case 1:
if(sizeof($wsArr_share_users[$ws_share]) > 0 or sizeof($wsArr_share_roles[$ws_share]) > 0){
$new_htaccess_content = str_replace("{@AuthName}", "phpXplorer@" . $HTTP_SERVER_VARS["HTTP_HOST"], $new_htaccess_content);
$new_htaccess_content = str_replace("{@AuthUserFile}", $PXP_dir . "/.htpasswd", $new_htaccess_content);
$new_htaccess_content = str_replace("{@AuthGroupFile}", $PXP_dir . "/.htgroups", $new_htaccess_content);
if(sizeof($wsArr_share_users[$ws_share]) > 0){
$new_htaccess_content = str_replace("{@Require users}", implode(" ", $wsArr_share_users[$ws_share]) . (in_array("root", $wsArr_share_users[$ws_share]) ? "" : " root"), $new_htaccess_content);
}else{
$new_htaccess_content = str_replace("{@Require users}", "root", $new_htaccess_content);
}
if(sizeof($wsArr_share_roles[$ws_share]) > 0){
$new_htaccess_content = str_replace("{@Require groups}", implode(" ", $wsArr_share_roles[$ws_share]) . (in_array("administrators", $wsArr_share_roles[$ws_share]) ? "" : " administrators"), $new_htaccess_content);
}else{
$new_htaccess_content = str_replace("Require group {@Require groups}", "", $new_htaccess_content);
}
$handle = fopen(str_replace("{@PXP_user_folder}", $PXP_user_folder, $wsArr_basedir[$ws_share]) . "/.htaccess", "w");
fwrite($handle, $new_htaccess_content);
fclose($handle);
}
break;
case 2:
$new_htaccess_content = str_replace("{@AuthName}", "phpXplorer@" . $HTTP_SERVER_VARS["HTTP_HOST"], $new_htaccess_content);
$new_htaccess_content = str_replace("{@AuthUserFile}", $PXP_dir . "/.htpasswd", $new_htaccess_content);
$new_htaccess_content = str_replace("{@AuthGroupFile}", $PXP_dir . "/.htgroups", $new_htaccess_content);
$new_htaccess_content = str_replace("{@Require users}", "root", $new_htaccess_content);
$new_htaccess_content = str_replace("Require group {@Require groups}", "", $new_htaccess_content);
$handle = fopen(str_replace("{@PXP_user_folder}", $PXP_user_folder, $wsArr_basedir[$ws_share]) . "/.htaccess", "w");
fwrite($handle, $new_htaccess_content);
fclose($handle);
break;
}
}
}
?>