= 5.2.3
*
*/
require 'bootstrap.php';
$_GET['go'] = isset($_GET['go']) ? $_GET['go'] : '';
if (isset($_GET['get']) && Gmanager::getInstance()->is_file($_GET['get'])) {
if (isset($_GET['f'])) {
$archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename($_GET['get'])));
if ($archive && $archive != Archive::FORMAT_GZ) {
$obj = new Archive;
$f = $obj->setFormat($archive)->setFile($_GET['get'])->factory()->lookFile($_GET['f'], true);
} else {
$f = '';
}
$name = Helper_System::basename($_GET['f']);
} else {
$f = Gmanager::getInstance()->file_get_contents($_GET['get']);
$name = Helper_System::basename($_GET['get']);
}
Getf::download($f, $name, true, false);
exit;
}
if (Registry::get('currentType') == 'link') {
$realpath = Registry::get('current');
} else {
$realpath = Gmanager::getInstance()->realpath(Registry::get('current'));
if ($realpath && Registry::get('currentType') == 'dir') {
$realpath .= '/';
}
}
$realpath = $realpath ? htmlspecialchars(str_replace('\\', '/', $realpath), ENT_COMPAT) : Registry::get('hCurrent');
Gmanager::getInstance()->sendHeader();
if ($_GET['go'] == 'phpinfo') {
header('Content-Type: text/html; charset=UTF-8');
phpinfo();
exit;
} elseif (isset($_POST['add_archive']) && !isset($_POST['name'])) {
header('Location: http://' . $_SERVER['HTTP_HOST'] . str_replace(array('\\', '//'), '/', dirname($_SERVER['PHP_SELF']) . '/') . 'index.php?c=' . rawurlencode(dirname(Registry::get('current'))) . '&add_archive=' . Registry::get('rCurrent'), true, 301);
exit;
}
echo str_replace('%title%', ($_GET['go'] && $_GET['go'] != 1) ? htmlspecialchars($_GET['go'], ENT_NOQUOTES) : (isset($_POST['full_chmod']) ? Language::get('chmod') : (isset($_POST['full_del']) ? Language::get('del') : (isset($_POST['full_rename']) ? Language::get('change') : (isset($_POST['fname']) ? Language::get('rename') : (isset($_POST['create_archive']) ? Language::get('create_archive') : htmlspecialchars(rawurldecode($_SERVER['QUERY_STRING']), ENT_NOQUOTES)))))), Registry::get('top')) . '' . Language::get('title_change') . '
' . Gmanager::getInstance()->head() . Gmanager::getInstance()->langJS();
switch ($_GET['go']) {
case 1:
$x = isset($_POST['check']) ? sizeof($_POST['check']) : 0;
if (isset($_POST['fname'])) {
if (!isset($_POST['name'])) {
echo '';
} else {
for ($i = 0; $i < $x; ++$i) {
$_POST['check'][$i] = rawurldecode($_POST['check'][$i]);
echo Gmanager::getInstance()->fname($_POST['check'][$i], $_POST['name'], $_POST['register'], $i, isset($_POST['overwrite']));
}
}
} elseif (isset($_POST['full_del'])) {
for ($i = 0; $i < $x; ++$i) {
$_POST['check'][$i] = rawurldecode($_POST['check'][$i]);
if (Gmanager::getInstance()->is_dir($_POST['check'][$i])) {
echo Gmanager::getInstance()->delDir($_POST['check'][$i] . '/');
} else {
echo Gmanager::getInstance()->delFile($_POST['check'][$i]);
}
}
} elseif (isset($_POST['full_chmod'])) {
if (!isset($_POST['chmod'])) {
echo '';
} else {
for ($i = 0; $i < $x; ++$i) {
$_POST['check'][$i] = rawurldecode($_POST['check'][$i]);
if (Gmanager::getInstance()->is_dir($_POST['check'][$i])) {
echo Gmanager::getInstance()->rechmod($_POST['check'][$i], $_POST['chmod'][1]);
} else {
echo Gmanager::getInstance()->rechmod($_POST['check'][$i], $_POST['chmod'][0]);
}
}
}
} elseif (isset($_REQUEST['mega_full_extract'])) {
if (!isset($_POST['name']) || !isset($_POST['chmod'])) {
echo '';
} else {
$archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename(Registry::get('hCurrent'))));
if ($archive && $archive != Archive::FORMAT_GZ) {
$obj = new Archive;
echo $obj->setFormat($archive)->setFile(Registry::get('current'))->factory()->extractArchive($_POST['name'], $_POST['chmod'], isset($_POST['overwrite']));
} elseif ($archive == Archive::FORMAT_GZ) {
echo Gmanager::getInstance()->gzExtract(Registry::get('current'), $_POST['name'], $_POST['chmod'], isset($_POST['overwrite']));
}
}
} elseif (isset($_POST['full_extract'])) {
if (!isset($_POST['name']) || !isset($_POST['chmod'])) {
echo '';
} else {
$_POST['check'] = array_map('rawurldecode', $_POST['check']);
$archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename(Registry::get('hCurrent'))));
if ($archive && $archive != Archive::FORMAT_GZ) {
$obj = new Archive;
echo $obj->setFormat($archive)->setFile(Registry::get('current'))->factory()->extractFile($_POST['name'], $_POST['chmod'], $_POST['check'], isset($_POST['overwrite']));
}
}
} elseif (isset($_POST['gz_extract'])) {
if (!isset($_POST['name']) || !isset($_POST['chmod'])) {
echo '';
} else {
echo Gmanager::getInstance()->gzExtract(Registry::get('current'), $_POST['name'], $_POST['chmod'], isset($_POST['overwrite']));
}
} elseif (isset($_POST['create_archive'])) {
if (!isset($_POST['name'])) {
echo '';
} else {
$_POST['check'] = array_map('rawurldecode', $_POST['check']);
$obj = new Archive;
echo $obj->setFormat(Archive::FORMAT_ZIP)->setFile($_POST['name'])->factory()->createArchive($_POST['chmod'], $_POST['check'], $_POST['comment'], isset($_POST['overwrite']));
}
} elseif (isset($_POST['add_archive'])) {
if (isset($_POST['dir'])) {
$_POST['check'] = array_map('rawurldecode', $_POST['check']);
$_POST['dir'] = rawurldecode($_POST['dir']);
$_POST['add_archive'] = rawurldecode($_POST['add_archive']);
$archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename($_POST['add_archive'])));
if ($archive && $archive != Archive::FORMAT_GZ && $archive != Archive::FORMAT_RAR) {
$obj = new Archive;
echo $obj->setFormat($archive)->setFile($_POST['add_archive'])->factory()->addFile($_POST['check'], $_POST['dir']);
}
} else {
echo '';
}
} elseif (isset($_POST['full_rename'])) {
if (!isset($_GET['go2'])) {
echo '';
} else {
for ($i = 0; $i < $x; ++$i) {
$_POST['check'][$i] = rawurldecode($_POST['check'][$i]);
echo Gmanager::getInstance()->frename($_POST['check'][$i], str_replace('//', '/', $_POST['name'] . '/' . Helper_System::basename($_POST['check'][$i])), '', isset($_POST['del']), $_POST['name'], isset($_POST['overwrite']));
}
}
} elseif (isset($_POST['del_archive'])) {
$archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename(Registry::get('current'))));
$_POST['check'] = array_map('rawurldecode', $_POST['check']);
if ($archive && $archive != Archive::FORMAT_GZ && $archive != Archive::FORMAT_RAR) {
$obj = new Archive;
$factory = $obj->setFormat($archive)->setFile($_POST['add_archive'])->factory();
foreach ($_POST['check'] as $ch) {
$factory->delFile($ch);
}
}
}
break;
case 'del':
if (Registry::get('currentType') == 'dir') {
echo Gmanager::getInstance()->delDir(Registry::get('current'));
} else {
echo Gmanager::getInstance()->delFile(Registry::get('current'));
}
break;
case 'chmod':
if (!isset($_POST['chmod'])) {
echo '';
} else {
echo Gmanager::getInstance()->rechmod(Registry::get('current'), $_POST['chmod']);
}
break;
case 'create_dir':
if (!isset($_POST['name'])) {
echo '';
} else {
echo Gmanager::getInstance()->createDir(Registry::get('current') . $_POST['name'], $_POST['chmod']);
}
break;
case 'create_file':
if (!isset($_POST['name'])) {
$Patterns = new Patterns;
echo '';
} else {
if (Gmanager::getInstance()->file_exists(Registry::get('current') . $_POST['name']) && !isset($_POST['a'])) {
echo '' . Language::get('warning') . '
';
} else {
if (Config::get('Gmanager', 'realName') != Config::REALNAME_RELATIVE) {
$realpath = $realpath . htmlspecialchars($_POST['name'], ENT_NOQUOTES, 'UTF-8');
} else {
$realpath = Registry::get('hCurrent') . htmlspecialchars($_POST['name'], ENT_NOQUOTES, 'UTF-8');
}
echo '' . Gmanager::getInstance()->createFile(Registry::get('current') . $_POST['name'], rawurldecode($_POST['ptn']), $_POST['chmod']);
}
}
break;
case 'rename':
if (isset($_POST['name']) && $_POST['name'] != '') {
$archive = Helper_Archive::isArchive(Helper_System::getType(Registry::get('current')));
if (isset($_GET['f']) && $archive && $archive != Archive::FORMAT_GZ && $archive != Archive::FORMAT_RAR) {
$obj = new Archive;
echo $obj->setFormat($archive)->setFile(Registry::get('current'))->factory()->renameFile($_POST['name'], rawurldecode($_POST['arch_name']), isset($_POST['del']), isset($_POST['overwrite']));
} else {
echo Gmanager::getInstance()->frename(Registry::get('current'), $_POST['name'], isset($_POST['chmod']) ? $_POST['chmod'] : null, isset($_POST['del']), $_POST['name'], isset($_POST['overwrite']));
if (isset($_POST['chmod']) && $_POST['chmod']) {
echo Gmanager::getInstance()->rechmod($_POST['name'], $_POST['chmod']);
}
}
} else {
echo Helper_View::message(Language::get('filename_empty'), Helper_View::MESSAGE_ERROR);
}
break;
case 'del_zip_archive':
$obj = new Archive;
echo $obj->setFormat(Archive::FORMAT_ZIP)->setFile($_GET['c'])->factory()->delFile($_GET['f']);
break;
case 'del_tar_archive':
$obj = new Archive;
echo $obj->setFormat(Archive::FORMAT_TAR)->setFile($_GET['c'])->factory()->delFile($_GET['f']);
break;
case 'upload':
if ((((!isset($_POST['url']) || $_POST['url'] == 'http://' || $_POST['url'] == '') && (!isset($_FILES['f']) || $_FILES['f']['error'][0])) && !isset($_POST['f'])) || !isset($_POST['name']) || !isset($_POST['chmod'])) {
echo '';
} else {
if (!$_FILES['f']['error'][0]) {
$all = sizeof($_FILES['f']['tmp_name']);
if ($all > 1) {
if (mb_substr($_POST['name'], -1) != '/') {
$_POST['name'] .= '/';
}
}
for ($i = 0; $i < $all; ++$i) {
echo Gmanager::getInstance()->uploadFiles($_FILES['f']['tmp_name'][$i], $_FILES['f']['name'][$i], $_POST['name'], $_POST['chmod']);
}
} else {
echo Gmanager::getInstance()->uploadUrl($_POST['url'], $_POST['name'], $_POST['chmod'], $_POST['headers'], isset($_POST['set_time_limit']) ? $_POST['set_time_limit'] : false, isset($_POST['ignore_user_abort']));
}
}
break;
case 'mod':
$safe = strtoupper(ini_get('safe_mode'));
$php_user = Gmanager::getInstance()->getPHPUser();
echo '' . ($php_user['name'] ? '
» ' . Language::get('php_user') . htmlspecialchars($php_user['name'], ENT_NOQUOTES) . '
' : '') . '
» Safe Mode: ' . ($safe == 1 || $safe == 'ON' ? '
ON' : '
OFF') . '
» ' . htmlspecialchars($_SERVER['SERVER_SOFTWARE'], ENT_NOQUOTES) . '
» ' . htmlspecialchars(Gmanager::getInstance()->getUname(), ENT_NOQUOTES) . '
» ' . Language::get('disk_total_space') . ' ' . Helper_View::formatSize(@disk_total_space($_SERVER['DOCUMENT_ROOT'])) . '; ' . Language::get('disk_free_space') . ' ' . Helper_View::formatSize(@disk_free_space($_SERVER['DOCUMENT_ROOT'])) . '
» ' . strftime('%d.%m.%Y / %H') . '
:' . strftime('%M') . '
';
break;
case 'new_version':
$new = Gmanager::getInstance()->getData('http://wapinet.ru/gmanager/gmanager.txt');
if ($new['body']) {
if (version_compare($new['body'], Config::getVersion(), '<=')) {
echo Helper_View::message(Language::get('version_new') . ': ' . $new['body'] . '
' . Language::get('version_old') . ': ' . Config::getVersion() . '
' . Language::get('new_version_false'), Helper_View::MESSAGE_SUCCESS);
} else {
echo Helper_View::message(Language::get('version_new') . ': ' . $new['body'] . '
' . Language::get('version_old') . ': ' . Config::getVersion() . '
' . Language::get('new_version_true') . '
» ' . Language::get('get') . '
', Helper_View::MESSAGE_ERROR);
}
} else {
echo Helper_View::message(Language::get('not_connect'), Helper_View::MESSAGE_ERROR_EMAIL);
}
break;
case 'scan':
if (!isset($_POST['url']) || $_POST['url'] == 'http://') {
echo '';
} else {
$only_headers = isset($_POST['oh']);
if ($url = Gmanager::getInstance()->getData($_POST['url'], $_POST['headers'], $only_headers, $_POST['post'])) {
$url = $url['headers'] . ($only_headers ? '' : "\r\n\r\n" . $url['body']);
echo 'IP: ' . implode(', ', gethostbynamel(parse_url($_POST['url'], PHP_URL_HOST))) . '
' . Language::get('size') . ': ' . Helper_View::formatSize(strlen($url)) . '
' . Gmanager::getInstance()->code($url, 0, true);
} else {
echo Helper_View::message(Language::get('not_connect'), Helper_View::MESSAGE_ERROR_EMAIL);
}
}
break;
case 'send_mail':
if (!isset($_POST['from']) || !isset($_POST['theme']) || !isset($_POST['mess']) || !isset($_POST['to'])) {
echo '';
} else {
echo Gmanager::getInstance()->sendMail($_POST['theme'], $_POST['mess'], $_POST['to'], $_POST['from']);
}
break;
case 'eval':
if (isset($_POST['eval'])) {
echo Gmanager::getInstance()->showEval($_POST['eval']);
$v = htmlspecialchars($_POST['eval'], ENT_NOQUOTES);
} else {
$v = '';
}
echo '';
break;
case 'search':
if (isset($_POST['search']) && $_POST['search'] != '') {
$v = htmlspecialchars($_POST['search'], ENT_NOQUOTES);
if (Config::get('Gmanager', 'addressBar')) {
echo '';
}
echo '';
} else {
$v = '';
}
echo '';
break;
case 'mysql':
$_POST['sql'] = isset($_POST['sql']) ? trim($_POST['sql']) : '';
if (isset($_POST['name']) && isset($_POST['host'])) {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_MYSQL)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
} else {
if (isset($_POST['backup'])) {
if (isset($_POST['file']) && $_POST['file']) {
echo $factory->backup($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], array('tables' => (isset($_POST['tables']) ? array_map('rawurldecode', $_POST['tables']) : array()), 'data' => (isset($_POST['data']) ? array_map('rawurldecode', $_POST['data']) : array()), 'file' => $_POST['file']));
} else {
$tables = $factory->backup($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], array());
echo '';
}
} else {
$Patterns = new Patterns;
if (!$_POST['sql'] && !$_POST['db']) {
$_POST['sql'] = 'SHOW DATABASES';
} elseif (!$_POST['sql']) {
$_POST['sql'] = 'SHOW TABLES';
}
echo ' ' . $_POST['name'] . ($_POST['db'] ? ' => ' . htmlspecialchars($_POST['db'], ENT_NOQUOTES) : '') . '
' . $factory->query($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], $_POST['sql']) . '';
}
}
} else {
echo '';
}
break;
case 'postgresql':
$_POST['sql'] = isset($_POST['sql']) ? trim($_POST['sql']) : '';
if (isset($_POST['name']) && isset($_POST['host'])) {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_POSTGRESQL)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
} else {
if (isset($_POST['backup'])) {
if (isset($_POST['file']) && $_POST['file']) {
echo $factory->backup($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], array('tables' => (isset($_POST['tables']) ? array_map('rawurldecode', $_POST['tables']) : array()), 'data' => (isset($_POST['data']) ? array_map('rawurldecode', $_POST['data']) : array()), 'file' => $_POST['file']));
} else {
$tables = $factory->backup($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], array());
echo '';
}
} else {
$Patterns = new Patterns;
if (!$_POST['sql'] && !$_POST['db']) {
$_POST['sql'] = 'SELECT oid, * from pg_database';
} elseif (!$_POST['sql']) {
$_POST['sql'] = 'SELECT * FROM information_schema.tables';
}
echo ' ' . $_POST['name'] . ($_POST['db'] ? ' => ' . htmlspecialchars($_POST['db'], ENT_NOQUOTES) : '') . '
' . $factory->query($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], $_POST['sql']) . '';
}
}
} else {
echo '';
}
break;
case 'sqlite':
$_POST['sql'] = isset($_POST['sql']) ? trim($_POST['sql']) : '';
if (isset($_POST['db'])) {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_SQLITE)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
} else {
if (isset($_POST['backup'])) {
if (isset($_POST['file']) && $_POST['file']) {
echo $factory->backup('', '', '', $_POST['db'], $_POST['charset'], array('tables' => (isset($_POST['tables']) ? array_map('rawurldecode', $_POST['tables']) : array()), 'data' => (isset($_POST['data']) ? array_map('rawurldecode', $_POST['data']) : array()), 'file' => $_POST['file']));
} else {
$tables = $factory->backup('', '', '', $_POST['db'], $_POST['charset'], array());
echo '';
}
} else {
$Patterns = new Patterns;
if (!$_POST['sql']) {
$_POST['sql'] = 'SELECT name FROM sqlite_master WHERE type = "table" ORDER BY name';
}
echo ' ' . $_POST['db'] . '
' . $factory->query('', '', '', Gmanager::getInstance()->realpath($_POST['db']), $_POST['charset'], $_POST['sql']) . '';
}
}
} else {
echo '';
}
break;
case 'sql_tables':
echo '';
break;
case 'sql_tables_mysql':
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_MYSQL)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
}
echo $factory->query($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
}
break;
case 'sql_tables_postgresql':
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_POSTGRESQL)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
}
echo $factory->query($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
}
break;
case 'sql_tables_sqlite':
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_SQLITE)->factory();
if (!$factory) {
echo Helper_View::message(Language::get('sql_connect_false'), Helper_View::MESSAGE_ERROR);
}
echo $factory->query('', '', '', $_POST['db'], '', !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
}
break;
case 'sql_installer':
echo '';
break;
case 'sql_installer_mysql':
if (mb_substr(Registry::get('hCurrent'), -1) != '/') {
$d = str_replace('\\', '/', dirname(Registry::get('hCurrent')) . '/');
} else {
$d = Registry::get('hCurrent');
}
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_MYSQL)->setForce(true)->factory();
$sql = $factory->installer($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
if ($sql) {
echo Gmanager::getInstance()->createFile($_POST['file'], $sql, $_POST['chmod']);
} else {
echo Helper_View::message(Language::get('sql_parser_error'), Helper_View::MESSAGE_ERROR_EMAIL);
}
}
break;
case 'sql_installer_postgresql':
if (mb_substr(Registry::get('hCurrent'), -1) != '/') {
$d = str_replace('\\', '/', dirname(Registry::get('hCurrent')) . '/');
} else {
$d = Registry::get('hCurrent');
}
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_POSTGRESQL)->setForce(true)->factory();
$sql = $factory->installer($_POST['host'], $_POST['name'], $_POST['pass'], $_POST['db'], $_POST['charset'], !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
if ($sql) {
echo Gmanager::getInstance()->createFile($_POST['file'], $sql, $_POST['chmod']);
} else {
echo Helper_View::message(Language::get('sql_parser_error'), Helper_View::MESSAGE_ERROR_EMAIL);
}
}
break;
case 'sql_installer_sqlite':
if (mb_substr(Registry::get('hCurrent'), -1) != '/') {
$d = str_replace('\\', '/', dirname(Registry::get('hCurrent')) . '/');
} else {
$d = Registry::get('hCurrent');
}
if (!(isset($_POST['tables']) && Gmanager::getInstance()->is_file($_POST['tables'])) && !(isset($_FILES['f_tables']) && !$_FILES['f_tables']['error'])) {
echo '';
} else {
$obj = new SQL;
$factory = $obj->setDb(SQL::DB_SQLITE)->setForce(true)->factory();
$sql = $factory->installer('', '', '', $_POST['db'], '', !$_FILES['f_tables']['error'] ? file_get_contents($_FILES['f_tables']['tmp_name']) : Gmanager::getInstance()->file_get_contents($_POST['tables']));
if ($sql) {
echo Gmanager::getInstance()->createFile($_POST['file'], $sql, $_POST['chmod']);
} else {
echo Helper_View::message(Language::get('sql_parser_error'), Helper_View::MESSAGE_ERROR_EMAIL);
}
}
break;
case 'cmd':
if (isset($_POST['cmd'])) {
echo Gmanager::getInstance()->showCmd($_POST['cmd']);
$v = htmlspecialchars($_POST['cmd'], ENT_COMPAT);
} else {
$v = '';
}
echo '';
break;
default:
if (!Gmanager::getInstance()->file_exists(Registry::get('current'))) {
echo Helper_View::message(Language::get('not_found'), Helper_View::MESSAGE_ERROR);
break;
}
$archive = Helper_Archive::isArchive(Helper_System::getType(Registry::get('current')));
if (isset($_GET['f']) && ($archive == Archive::FORMAT_ZIP || $archive == Archive::FORMAT_TAR || $archive == Archive::FORMAT_BZ2)) {
$r_file = Helper_View::getRawurl($_GET['f']);
$h_file = htmlspecialchars($_GET['f']);
echo '';
} else {
$size = $md5 = '';
if (Registry::get('currentType') == 'dir') {
$size = Helper_View::formatSize(Gmanager::getInstance()->size(Registry::get('current'), true));
} else {
$size = Helper_View::formatSize(Gmanager::getInstance()->size(Registry::get('current')));
if (Config::get('Gmanager', 'mode') == 'FTP') {
$md5 = Language::get('md5') . ': ' . md5(Gmanager::getInstance()->file_get_contents(Registry::get('current')));
} else {
$md5 = Language::get('md5') . ': ' . md5_file(IOWrapper::set(Registry::get('current')));
}
}
echo '' . Language::get('sz') . ': ' . $size . '
' . $md5 . '
';
}
break;
}
echo '' . round(microtime(true) - GMANAGER_START, 4) . ' / ' . Helper_View::formatSize(memory_get_peak_usage()) . '
' . Registry::get('foot');
XtGem.com