Exemplo n.º 1
0
    $factory = $obj->setFormat($archive)->setFile(Registry::get('current'))->factory();
    if ($if) {
        echo $factory->lookFile($_GET['f']);
    } else {
        echo $factory->listArchive($idown);
        $f = 1;
    }
} elseif ($archive == Archive::FORMAT_GZ) {
    echo Gmanager::getInstance()->gz(Registry::get('current')) . '<div class="ch"><form action="?gmanager_action=change&amp;c=' . Registry::get('rCurrent') . '&amp;go=1" method="post"><div><input type="submit" name="gz_extract" value="' . Language::get('extract_archive') . '"/></div></form></div>';
    $if = true;
} else {
    echo Gmanager::getInstance()->look(Registry::get('current'), $itype, $idown);
}
if (Gmanager::getInstance()->file_exists(Registry::get('current')) || Registry::get('currentType') == 'link') {
    if ($archive) {
        $d = Helper_View::getRawurl(dirname(Registry::get('current')));
        $found = '<div class="rb">' . Language::get('create') . ' <a href="?gmanager_action=change&amp;go=create_file&amp;c=' . $d . '">' . Language::get('file') . '</a> / <a href="?gmanager_action=change&amp;go=create_dir&amp;c=' . $d . '">' . Language::get('dir') . '</a><br/></div><div class="rb"><a href="?gmanager_action=change&amp;go=upload&amp;c=' . $d . '">' . Language::get('upload') . '</a><br/></div><div class="rb"><a href="?gmanager_action=change&amp;go=mod&amp;c=' . $d . '">' . Language::get('mod') . '</a><br/></div>';
    } else {
        $found = '<form action="?' . htmlspecialchars($_SERVER['QUERY_STRING'], ENT_COMPAT, 'UTF-8') . '" method="post"><div><input name="limit" value="' . Registry::get('limit') . '" type="text" onkeypress="return Gmanager.number(event)" class="pinput"/><input type="submit" value="' . Language::get('limit') . '"/></div></form><div class="rb">' . Language::get('create') . ' <a href="?gmanager_action=change&amp;go=create_file&amp;c=' . Registry::get('rCurrent') . '">' . Language::get('file') . '</a> / <a href="?gmanager_action=change&amp;go=create_dir&amp;c=' . Registry::get('rCurrent') . '">' . Language::get('dir') . '</a><br/></div><div class="rb"><a href="?gmanager_action=change&amp;go=upload&amp;c=' . Registry::get('rCurrent') . '">' . Language::get('upload') . '</a><br/></div><div class="rb"><a href="?gmanager_action=change&amp;go=mod&amp;c=' . Registry::get('rCurrent') . '">' . Language::get('mod') . '</a><br/></div>';
    }
} else {
    $found = '<div class="red">' . Language::get('file_not_found') . '(' . Registry::get('hCurrent') . ')' . '<br/></div>';
}
$tm = '<div class="rb">' . round(microtime(true) - GMANAGER_START, 4) . ' / ' . Helper_View::formatSize(memory_get_peak_usage()) . '<br/></div>';
if (!$if && !$f && !$ia) {
    echo '</table><div class="ch"><input onclick="return Gmanager.checkForm(document.forms[1],\'check[]\');" type="submit" name="full_chmod" value="' . Language::get('chmod') . '"/> <input onclick="return (Gmanager.checkForm(document.forms[1],\'check[]\') &amp;&amp; Gmanager.delNotify());" type="submit" name="full_del" value="' . Language::get('del') . '"/> <input onclick="return Gmanager.checkForm(document.forms[1],\'check[]\');" type="submit" name="full_rename" value="' . Language::get('change') . '"/> <input onclick="return Gmanager.checkForm(document.forms[1],\'check[]\');" type="submit" name="fname" value="' . Language::get('rename') . '"/> <input onclick="return Gmanager.checkForm(document.forms[1],\'check[]\');" type="submit" name="create_archive" value="' . Language::get('create_archive') . '"/></div></div></form>' . $found . $tm . Registry::get('foot');
} elseif ($f) {
    echo '</table><div class="ch"><input onclick="return Gmanager.checkForm(document.forms[1],\'check[]\');" type="submit" name="full_extract" value="' . Language::get('extract_file') . '"/> <input type="submit" name="mega_full_extract" value="' . Language::get('extract_archive') . '"/>';
    if ($archive != Archive::FORMAT_RAR) {
        echo ' <input type="submit" name="add_archive" value="' . Language::get('add_archive') . '"/> <input onclick="return (Gmanager.checkForm(document.forms[1],\'check[]\') &amp;&amp; Gmanager.delNotify());" type="submit" name="del_archive" value="' . Language::get('del') . '"/>';
    }
Exemplo n.º 2
0
 /**
  * listArchive
  *
  * @todo refactoring to ListData
  * @param string $down
  * @return string
  */
 public function listArchive($down = '')
 {
     $zip = $this->_open();
     $list = $zip->listContent();
     if (!$list) {
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         return '<tr class="border"><td colspan="' . (array_sum(Config::getSection('Display')) + 1) . '">' . Helper_View::message(Language::get('archive_error') . '<br/>' . $zip->errorInfo(true), Helper_View::MESSAGE_ERROR_EMAIL) . '</td></tr>';
     } else {
         $r_current = Helper_View::getRawurl($this->_name);
         $l = '';
         if ($down) {
             $list = array_reverse($list);
         }
         $s = sizeof($list);
         for ($i = 0; $i < $s; ++$i) {
             $r_name = Helper_View::getRawurl($list[$i]['filename']);
             if ($list[$i]['folder']) {
                 $type = 'DIR';
                 $name = htmlspecialchars($list[$i]['filename'], ENT_NOQUOTES);
                 $size = ' ';
                 $down = ' ';
             } else {
                 $type = htmlspecialchars(Helper_System::getType($list[$i]['filename']), ENT_NOQUOTES);
                 $name = '<a href="?c=' . $r_current . '&amp;f=' . $r_name . '">' . htmlspecialchars(Helper_View::strLink($list[$i]['filename'], true), ENT_NOQUOTES) . '</a>';
                 $size = Helper_View::formatSize($list[$i]['size']);
                 $down = '<a href="change.php?get=' . $r_current . '&amp;f=' . $r_name . '">' . Language::get('get') . '</a>';
             }
             $l .= '<tr class="border"><td class="check"><input name="check[]" type="checkbox" value="' . $r_name . '"/></td>';
             if (Config::get('Display', 'name')) {
                 $l .= '<td>' . $name . '</td>';
             }
             if (Config::get('Display', 'down')) {
                 $l .= '<td>' . $down . '</td>';
             }
             if (Config::get('Display', 'type')) {
                 $l .= '<td>' . $type . '</td>';
             }
             if (Config::get('Display', 'size')) {
                 $l .= '<td>' . $size . '</td>';
             }
             if (Config::get('Display', 'change')) {
                 $l .= '<td><a href="change.php?c=' . $r_current . '&amp;f=' . $r_name . '">' . Language::get('ch') . '</a></td>';
             }
             if (Config::get('Display', 'del')) {
                 $l .= '<td><a onclick="return Gmanager.delNotify();" href="change.php?go=del_zip_archive&amp;c=' . $r_current . '&amp;f=' . $r_name . '">' . Language::get('dl') . '</a></td>';
             }
             if (Config::get('Display', 'chmod')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'date')) {
                 $l .= '<td>' . strftime(Config::get('Gmanager', 'dateFormat'), $list[$i]['mtime']) . '</td>';
             }
             if (Config::get('Display', 'uid')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'gid')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'n')) {
                 $l .= '<td>' . ($i + 1) . '</td>';
             }
             $l .= '</tr>';
         }
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         $prop = $zip->properties();
         if (isset($prop['comment']) && $prop['comment'] != '') {
             if (mb_convert_encoding($prop['comment'], 'UTF-8', 'UTF-8') != $prop['comment']) {
                 $prop['comment'] = mb_convert_encoding($prop['comment'], 'UTF-8', Config::get('Gmanager', 'altEncoding'));
             }
             $l .= '<tr class="border"><td>' . Language::get('comment_archive') . '</td><td colspan="' . (array_sum(Config::getSection('Display')) + 1) . '"><pre>' . htmlspecialchars($prop['comment'], ENT_NOQUOTES) . '</pre></td></tr>';
         }
         return $l;
     }
 }
Exemplo n.º 3
0
     if (isset($_POST['cmd'])) {
         echo Gmanager::getInstance()->showCmd($_POST['cmd']);
         $v = htmlspecialchars($_POST['cmd'], ENT_COMPAT);
     } else {
         $v = '';
     }
     echo '<div class="input"><form action="change.php?go=cmd&amp;c=' . Registry::get('rCurrent') . '" method="post"><div>' . Language::get('cmd_code') . '<br/><input type="text" name="cmd" value="' . $v . '" style="width:98%"/><br/><input type="submit" value="' . Language::get('cmd_go') . '"/></div></form></div>';
     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 '<div class="input"><form action="change.php?go=rename&amp;c=' . Registry::get('rCurrent') . '&amp;f=' . $r_file . '" method="post"><div><input type="hidden" name="arch_name" value="' . $r_file . '"/>' . Language::get('change_func') . '<br/><input type="text" name="name" value="' . $h_file . '"/><br/><input type="checkbox" name="overwrite" id="overwrite" checked="checked"/><label for="overwrite">' . Language::get('overwrite_existing_files') . '</label><br/><input type="checkbox" name="del" id="del" value="1"/><label for="del">' . Language::get('change_del') . '</label><br/><input type="submit" value="' . Language::get('ch') . '"/></div></form></div>';
     } 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 '<div class="input"><form action="change.php?go=rename&amp;c=' . Registry::get('rCurrent') . '" method="post"><div>' . Language::get('change_func') . '<br/><input type="text" name="name" value="' . $realpath . '"/><br/><input type="checkbox" name="overwrite" id="overwrite" checked="checked"/><label for="overwrite">' . Language::get('overwrite_existing_files') . '</label><br/><input type="checkbox" name="del" id="del" value="1"/><label for="del">' . Language::get('change_del') . '</label><br/><input onkeypress="return Gmanager.number(event)" type="text" size="4" maxlength="4" style="-wap-input-format:\'4N\';width:28pt;" name="chmod" value="' . Gmanager::getInstance()->lookChmod(Registry::get('current')) . '"/>' . Language::get('change_chmod') . '<br/><input type="submit" value="' . Language::get('ch') . '"/></div></form></div><div>' . Language::get('sz') . ': ' . $size . '<br/>' . $md5 . '</div>';
Exemplo n.º 4
0
 /**
  * listArchive
  *
  * @todo refactoring to ListData
  * @param string $down
  * @return string
  */
 public function listArchive($down = '')
 {
     $rar = $this->_open();
     $list = $rar->getEntries();
     if (!$list) {
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         return '<tr class="border"><td colspan="' . (array_sum(Config::getSection('Display')) + 1) . '">' . Helper_View::message(Language::get('archive_error'), Helper_View::MESSAGE_ERROR_EMAIL) . '</td></tr>';
     } else {
         $r_current = Helper_View::getRawurl($this->_name);
         $l = '';
         $i = 0;
         if ($down) {
             $list = array_reverse($list);
         }
         foreach ($list as $entry) {
             $r_name = Helper_View::getRawurl($entry->getName());
             if ($entry->isDirectory()) {
                 $type = 'DIR';
                 $name = htmlspecialchars($entry->getName(), ENT_NOQUOTES);
                 $size = ' ';
                 $down = ' ';
             } else {
                 $type = htmlspecialchars(Helper_System::getType($entry->getName()), ENT_NOQUOTES);
                 $name = '<a href="?c=' . $r_current . '&amp;f=' . $r_name . '">' . htmlspecialchars(Helper_View::strLink($entry->getName(), true), ENT_NOQUOTES) . '</a>';
                 $size = Helper_View::formatSize($entry->getUnpackedSize());
                 $down = '<a href="change.php?get=' . $r_current . '&amp;f=' . $r_name . '">' . Language::get('get') . '</a>';
             }
             $l .= '<tr class="border"><td class="check"><input name="check[]" type="checkbox" value="' . $r_name . '"/></td>';
             if (Config::get('Display', 'name')) {
                 $l .= '<td>' . $name . '</td>';
             }
             if (Config::get('Display', 'down')) {
                 $l .= '<td>' . $down . '</td>';
             }
             if (Config::get('Display', 'type')) {
                 $l .= '<td>' . $type . '</td>';
             }
             if (Config::get('Display', 'size')) {
                 $l .= '<td>' . $size . '</td>';
             }
             if (Config::get('Display', 'change')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'del')) {
                 $l .= '<td>' . Language::get('dl') . '</td>';
             }
             if (Config::get('Display', 'chmod')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'date')) {
                 $l .= '<td>' . strftime(Config::get('Gmanager', 'dateFormat'), strtotime($entry->getFileTime())) . '</td>';
             }
             if (Config::get('Display', 'uid')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'gid')) {
                 $l .= '<td> </td>';
             }
             if (Config::get('Display', 'n')) {
                 $l .= '<td>' . ++$i . '</td>';
             }
             $l .= '</tr>';
         }
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         return $l;
     }
 }
Exemplo n.º 5
0
     $f = '&amp;f=' . rawurlencode($_GET['f']);
 } else {
     $f = '';
 }
 if ($charset[0] && $data['content']) {
     $data['content'] = mb_convert_encoding($data['content'], $charset[1], $charset[0]);
 }
 if ($_GET['beautify']) {
     $data['content'] = Gmanager::getInstance()->beautify($data['content']);
 }
 $quotes = defined('ENT_IGNORE') ? ENT_COMPAT | ENT_IGNORE : ENT_COMPAT;
 $data['size'] = Helper_View::formatSize(strlen($data['content']));
 $data['lines'] = mb_substr_count($data['content'], "\n") + 1;
 $path = mb_substr(Gmanager::getInstance()->realpath(Registry::get('current')), mb_strlen(IOWrapper::get($_SERVER['DOCUMENT_ROOT'])));
 if (Config::get('Gmanager', 'mode') == 'HTTP' && $path) {
     $http = '<div class="rb"><a href="http://' . $_SERVER['HTTP_HOST'] . str_replace('//', '/', '/' . Helper_View::getRawurl(str_replace('\\', '/', $path))) . '">' . Language::get('look') . '</a><br/></div>';
 } else {
     $http = '';
 }
 if (Registry::get('lineEditor') && $data['lines'] > Config::get('LineEditor', 'minLines')) {
     $isLineEditor = true;
     $i = $start;
     $j = 0;
     $edit = '<table class="pedit"><tbody id="pedit">';
     foreach (array_slice(explode("\n", $data['content']), $start, $end) as $var) {
         $j++;
         $i++;
         $edit .= '<tr id="i' . $j . '"><td class="pedit_l">' . $i . '</td><td class="pedit_c"><input name="line[' . ($i - 1) . '][]" type="text" value="' . htmlspecialchars($var, $quotes, 'UTF-8') . '"/></td><td class="pedit_r"><a title="' . Language::get('add') . '" href="javascript:void(0);" onclick="Gmanager.editAdd(this);">[+]</a> / <a title="' . Language::get('dl') . '" href="javascript:void(0);" onclick="Gmanager.editDel(this);">[-]</a></td></tr>';
     }
     if ($end > $i) {
         $j++;
Exemplo n.º 6
0
 /**
  * getListSearchArray
  *
  * @param string $where    where
  * @param string $pattern  regexp pattern
  * @param bool   $inText   in text
  * @param int    $limit    max file size
  * @param bool   $archive  in gz archives
  * @param string $t target
  * @return array
  */
 private static function _getListSearchArray($where = '', $pattern = '', $inText = false, $limit = 8388608, $archive = false, $t = '')
 {
     static $count = 0;
     static $page = array();
     $where = str_replace('//', '/', $where . '/');
     $obj = Gmanager::getInstance();
     foreach ($obj->iterator($where) as $f) {
         if ($obj->is_dir($where . $f)) {
             self::_getListSearchArray($where . $f . '/', $pattern, $inText, $limit, $archive, $t);
             continue;
         }
         $type = htmlspecialchars(Helper_System::getType(Helper_System::basename($f)), ENT_NOQUOTES);
         $arch = Helper_Archive::isArchive($type);
         $stat = $obj->stat($where . $f);
         $pname = $pdown = $ptype = $psize = $pchange = $pdel = $pchmod = $pdate = $puid = $pgid = $pn = $in = null;
         if ($inText) {
             if ($stat['size'] > $limit || $arch && !$archive || $arch && $archive && $type != Archive::FORMAT_GZ) {
                 continue;
             }
             $in = preg_match_all($pattern, $type == Archive::FORMAT_GZ ? $obj->getGzContent($where . $f) : $obj->file_get_contents($where . $f), $match);
             unset($match);
             if ($in) {
                 $in = ' (' . $in . ')';
             } else {
                 continue;
             }
         } else {
             $in = preg_match_all($pattern, $f, $match);
             unset($match);
             if (!$in) {
                 continue;
             }
         }
         $count++;
         //$h_file = htmlspecialchars($c . $f, ENT_COMPAT);
         $r_file = Helper_View::getRawurl($where . $f);
         if (Config::get('Display', 'name')) {
             $name = htmlspecialchars(Helper_View::strLink($where . $f, true), ENT_NOQUOTES);
             if ($arch) {
                 $pname = '<a href="index.php?' . $r_file . '">' . $name . '</a>' . $in . '';
             } else {
                 $pname = '<a href="edit.php?' . $r_file . '"' . $t . '>' . $name . '</a>' . $in . '';
             }
         }
         if (Config::get('Display', 'size')) {
             $psize = '' . Helper_View::formatSize($stat['size']) . '';
         }
         if (Config::get('Display', 'chmod')) {
             $pchmod = '<a href="change.php?go=chmod&amp;c=' . $r_file . '">' . $obj->lookChmod($where . $f) . '</a>';
         }
         $page[$f] = '<input name="check[]" type="checkbox" value="' . $r_file . '"/>' . $pname . $psize . $pchmod . $pn;
     }
     //natcasesort($page);
     return $page;
 }
Exemplo n.º 7
0
 /**
  * head
  *
  * @return string
  */
 public function head()
 {
     if (Config::get('Gmanager', 'mode') != 'FTP') {
         $realpath = self::$_instance->realpath(Registry::get('current'));
         $realpath = $realpath ? $realpath : Registry::get('current');
     } else {
         $realpath = Registry::get('current');
     }
     $chmod = $this->lookChmod(Registry::get('current'));
     $chmod = $chmod ? $chmod : (isset($_POST['chmod'][0]) ? htmlspecialchars($_POST['chmod'][0], ENT_NOQUOTES) : (isset($_POST['chmod']) ? htmlspecialchars($_POST['chmod'], ENT_NOQUOTES) : 0));
     $d = dirname(str_replace('\\', '/', $realpath));
     $archive = Helper_Archive::isArchive(Helper_System::getType(Helper_System::basename(Registry::get('current'))));
     if (Registry::get('currentType') == 'dir' || Registry::get('currentTypeLink') == 'dir') {
         if (Registry::get('current') == '.') {
             return '<div class="border">' . Language::get('dir') . ' <a href="?">' . htmlspecialchars(Helper_View::strLink(self::$_instance->getcwd()), ENT_NOQUOTES) . '</a> (' . $this->lookChmod(self::$_instance->getcwd()) . ')<br/></div>';
         } else {
             return '<div class="border">' . Language::get('back') . ' <a href="?c=' . Helper_View::getRawurl($d) . '">' . $d . '</a> (' . $this->lookChmod($d) . ')<br/></div><div class="border">' . Language::get('dir') . ' <a href="?c=' . Registry::get('rCurrent') . '">' . htmlspecialchars(str_replace('\\', '/', Helper_View::strLink($realpath)), ENT_NOQUOTES) . '</a> (' . $chmod . ')<br/></div>';
         }
     } elseif (Registry::get('currentType') == 'file' && $archive) {
         $up = dirname($d);
         return '<div class="border">' . Language::get('back') . ' <a href="?c=' . Helper_View::getRawurl($up) . '">' . htmlspecialchars(Helper_View::strLink($up), ENT_NOQUOTES) . '</a> (' . $this->lookChmod($up) . ')<br/></div><div class="border">' . Language::get('dir') . ' <a href="?c=' . Helper_View::getRawurl($d) . '">' . htmlspecialchars(Helper_View::strLink($d), ENT_NOQUOTES) . '</a> (' . $this->lookChmod($d) . ')<br/></div><div class="border">' . Language::get('file') . ' <a href="?c=' . Registry::get('rCurrent') . '">' . htmlspecialchars(str_replace('\\', '/', Helper_View::strLink($realpath)), ENT_NOQUOTES) . '</a> (' . $chmod . ')<br/></div>';
     } else {
         $up = dirname($d);
         return '<div class="border">' . Language::get('back') . ' <a href="?c=' . Helper_View::getRawurl($up) . '">' . htmlspecialchars(Helper_View::strLink($up), ENT_NOQUOTES) . '</a> (' . $this->lookChmod($up) . ')<br/></div><div class="border">' . Language::get('dir') . ' <a href="?c=' . Helper_View::getRawurl($d) . '">' . htmlspecialchars(Helper_View::strLink($d), ENT_NOQUOTES) . '</a> (' . $this->lookChmod($d) . ')<br/></div><div class="border">' . Language::get('file') . ' <a href="?gmanager_action=edit&amp;c=' . Registry::get('rCurrent') . '">' . htmlspecialchars(str_replace('\\', '/', Helper_View::strLink($realpath)), ENT_NOQUOTES) . '</a> (' . $chmod . ')<br/></div>';
     }
 }