<?php
if (isset($_GET['do'])) {
?>
<html>
<head>
<title>Change chmod script</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META NAME="OWNER" CONTENT="tvoyweb@tvoyweb.ru">
<meta http-equiv="Cache-Control" content="no-cache">
<script language="JavaScript">
<!--
function _add() {
var owner = (document.getElementById('o_r').checked == true) ? 4:0;
owner += (document.getElementById('o_w').checked == true) ? 2:0;
owner += (document.getElementById('o_e').checked == true) ? 1:0;
var group = (document.getElementById('g_r').checked == true) ? 4:0;
group += (document.getElementById('g_w').checked == true) ? 2:0;
group += (document.getElementById('g_e').checked == true) ? 1:0;
var all = (document.getElementById('a_r').checked == true) ? 4:0;
all += (document.getElementById('a_w').checked == true) ? 2:0;
all += (document.getElementById('a_e').checked == true) ? 1:0;
c_val = document.getElementById('chmod').value = owner + '' + group + '' + all;
parent.opener.document.Chmod.chmod.value = c_val;
}
//-->
</script>
</head>
<body>
<fieldset style="width:497px;padding:10px 0px 10px 10px;background-color: #F7F6F4;">
Права доступа: <input id="chmod" type="text" size="5" value="000"><br><br>
<fieldset style="width:150px;margin-right:10px;float:left;padding:5px;"><legend title="Оставить отзыв">Владелец</legend>
<input id="o_r" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Чтение<br>
<input id="o_w" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Запись<br>
<input id="o_e" type="checkbox" onClick="_add();"> Исполнение<br>
</fieldset>
<fieldset style="width:150px;margin-right:10px;float:left;padding:5px;"><legend title="Оставить отзыв">Группа</legend>
<input id="g_r" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Чтение<br>
<input id="g_w" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Запись<br>
<input id="g_e" type="checkbox" onClick="_add();"> Исполнение<br>
</fieldset>
<fieldset style="width:150px;padding:5px;margin: 0px;"><legend title="Оставить отзыв">Остальные</legend>
<input id="a_r" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Чтение<br>
<input id="a_w" type="checkbox" style="margin-bottom:5px;" onClick="_add();"> Запись<br>
<input id="a_e" type="checkbox" onClick="_add();"> Исполнение<br>
</fieldset>
</fieldset></body>
</html>
<?
exit();
} else {
session_start();
$curdir = getcwd();
$doc_root = $_SERVER['DOCUMENT_ROOT'];
$root_info = pathinfo($doc_root);
$root_dirname = $root_info['basename'];
unset($root_info);
if (isset($_POST['DoChmod'])) {
$ext = (get_magic_quotes_gpc()) ? trim(stripslashes($_POST['ext'])):trim($_POST['ext']);
$chmod = (get_magic_quotes_gpc()) ? trim(stripslashes($_POST['chmod'])):trim($_POST['chmod']);
$dirpatch = (get_magic_quotes_gpc()) ? trim(stripslashes($_POST['dirpatch'])):trim($_POST['dirpatch']);
$_SESSION['last_dirpatch'] = $dirpatch;
$_SESSION['last_ext'] = $ext;
$_SESSION['last_chmod'] = strval($chmod);
$chmod = octdec('0'.strval($chmod));
$enclosed = ($_POST['enclosed'] == 'yes') ? TRUE:FALSE;
chdir($_SERVER['DOCUMENT_ROOT'].$dirpatch);
_CHMOD_DIR_FILES($chmod,$ext,$enclosed);
chdir($curdir);
header("Location: chmod.php?ok");
} else {
$ok = (isset($_GET['ok']) && isset($_SESSION['last_chmod'])) ? '<span style="color:CA1F26;"><b>Права на файлы в выбранном каталоге успешно изменены</b></span>':'';
$ext_value = (isset($_SESSION['last_ext'])) ? $_SESSION['last_ext']:'php';
$dirpatch_value = (isset($_SESSION['last_dirpatch'])) ? $_SESSION['last_dirpatch']:'/';
$chmod_value = (isset($_SESSION['last_chmod'])) ? $_SESSION['last_chmod']:'600';
unset($_SESSION['last_ext'],$_SESSION['last_dirpatch'],$_SESSION['last_chmod']);
?>
<html>
<head>
<title>Change chmod script</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META NAME="OWNER" CONTENT="tvoyweb@narod.ru">
<meta http-equiv="Cache-Control" content="no-cache">
<style type="text/css">
<!--
body{font-family: Arial;font-size: 11px;color: #000000;margin:1px;padding:1px;background:#F5F5F5;}
table{width: 100%;border:0px solid #345487;background-color:#F5F5F5;padding:0; margin:0;font-family:Arial;font-size: 13px;color: #000000 ;padding:0; margin:0}
.table1{width: 80%;border:0px solid #345487;background-color:#F5F5F5;padding:0; margin:0;font-family:Arial;font-size: 13px;color: #000000 ;padding:0; margin:0}
.table2{width: 460px;border:0px solid #345487;background-color:#F5F5F5;padding:0; margin:0;font-family:Arial;font-size: 13px;color: #000000 ;padding:0; margin:0}
.name{font-family:Arial;font-size: 13px;color: #ffffff ;font-weight:bold;background:#004982;height: 26px;}
a:link, a:visited, a:active, a:hover{text-decoration: none;font-size: 13px;color: #ffffff ;font-weight:bold;}
td.menu{font-family:Arial;font-size: 12px;color: #004982;font-weight:bold;background:#F5F5F5;height: 26px;line-height:20px;}
.dir{font-family:Arial;font-size: 12px;color: #000000;background:#F5F5F5;text-decoration: underline;cursor: hand;}
.file{font-family:Arial;font-size: 12px;color: #000000;background:#F5F5F5;text-decoration: none;}
input{border:1px solid #004982;background:#F5F5F5;}
select{border:1px solid #004982;background:#F5F5F5;}
#button {width: 100px;background-color: #F5F5F5;}
.red {color: #CA1F26;font-weight:bold;}
-->
</style>
</head>
<body>
<script language="JavaScript">
function Chek_chmod() {
c_val = document.Chmod.chmod.value;
if (c_val.length > 3) {
c_val = c_val.substring(0,3);
}
var c_val1 = (c_val.substring(0,1)>7) ? 7:c_val.substring(0,1);
var c_val2 = (c_val.substring(1,2)>7) ? 7:c_val.substring(1,2);
var c_val3 = (c_val.substring(2,3)>7) ? 7:c_val.substring(2,3);
document.Chmod.chmod.value = c_val1 + '' + c_val2 + '' + c_val3;
}
function setdir(dir) {
document.Chmod.dirpatch.value = dir;
return;
}
window.onload=function(){
document.Chmod.chmod.value = '<?=$chmod_value;?>';
document.Chmod.ext.value = '<?=$ext_value;?>';
document.Chmod.dirpatch.value = '<?=$dirpatch_value;?>';
}
</script>
<table class="name" cellspacing="0" cellpadding="5" border=0>
<tr>
<td align="left"> Change Chmod Script</td>
<td align="right"><a target="_blank" href="http://tvoyweb.ru/forums/">TvoyWeb.ru</a> </td>
</tr>
</table><br /><center>
<table align="center" class="table1" cellspacing="0" cellpadding="5" border=0>
<tr>
<td colspan="2"><?=$ok;?>Cкpипт cмeны пpaв для вcex фaйлoв нa вaшeм caйтe. <br>Пpocтo выбepитe тип фaйлoв, пpaвa, кoтopыe им нyжнo пpиcвoить, а также пaпкy, в кoтopoй пpoизвeдeтe измeнeния. Oбpaтитe
<span class="red">внимaниe</span>, чтo пo yмoлчaнию бyдyт oбpaбoтaны вce влoжeнныe кaтaлoги в корневой директории сайта.<br><br></td>
</tr>
</table>
<form name="Chmod" action="" method="post">
<table align="center" class="table2" cellspacing="0" cellpadding="5" border=0>
<tr>
<td class="menu" width="50%">Расширение файлов:</td>
<td align="right"><INPUT TYPE=TEXT NAME="ext" VALUE="php"> </td>
<tr>
<tr>
<td class="menu">Желаемый chmod:</td>
<td align="right"><b><span style="color:#000000;cursor:pointer;" onclick="window.open('chmod.php?do','','width=510,height=190');">?</span></b>
<INPUT TYPE=TEXT NAME="chmod" VALUE="600" onChange="Chek_chmod()"></td>
<tr>
<tr>
<td class="menu">Обрабатывать вложенные каталоги:</td>
<td align="right">Да <input name="enclosed" type="radio" value="yes" checked>
Нет <input name="enclosed" type="radio" value="no"></td>
<tr>
<tr>
<td class="menu">Выберите папку:</td>
<td align="right"><?=$root_dirname;?><INPUT TYPE=TEXT NAME="dirpatch" VALUE="/"> </td>
<tr>
<td align="right"><input type="submit" name="DoChmod" value="Отправить" id="button"></td>
<td align="left"><input type="reset" value="Очистить" id="button"></td>
</tr>
</table>
</form>
<table align="center" class="table1" cellspacing="0" cellpadding="5" border=0>
<tr>
<td colspan="2"><div style="height: 200px;overflow: auto;">
<?=$root_dirname;?>/ (корневая папка) <br>
<?php
chdir($doc_root);
_GET_DIR_TREE();
chdir($curdir);
?>
</div></td>
</tr>
</table>
</center><br />
</body>
</html>
<?
}
}
function _GET_DIR_TREE($level=1,$parentdir='/')
{
foreach (glob("*",GLOB_ONLYDIR) as $file) {
for ($i=0; $i<$level; $i++) {
echo " ";
}
echo ' <img src="dir.gif" alt="+"> <span class="dir" onclick="setdir(\''.$parentdir.$file.'/\')">'.$file.'</span>'."<br>\n";
flush();
if (!@chdir($file))continue;
_GET_DIR_TREE($level+1,$parentdir.$file.'/');
chdir("..");
}
}
function _CHMOD_DIR_FILES($chmod,$ext,$enclosed)
{
foreach (glob("{*,.*}",GLOB_BRACE) as $file) {
if ($file=='.' || $file=='..') continue;
if (is_dir($file) && $enclosed === TRUE) {
if (!@chdir($file))continue;
_CHMOD_DIR_FILES($chmod,$ext,$enclosed);
chdir("..");
} elseif (strtolower(pathinfo($file,PATHINFO_EXTENSION)) == $ext) {
chmod($file,$chmod);
}
}
}
function prints($data,$h = '2')
{
if (is_array($data) || is_object($data)) {
echo "<pre>";
print_r($data);
echo "</pre>";
} else {
echo "<h".$h.">".$data."</h".$h.">\n";
}
}
?>