Beispiel #1
0
 /**
  * Query
  * 
  * @param string $host
  * @param string $name
  * @param string $pass
  * @param string $db
  * @param string $charset
  * @param string $data
  * @return string
  */
 public function query($host = null, $name = null, $pass = null, $db = '', $charset = null, $data = '')
 {
     $connect = $this->_connect($host, $name, $pass, $db, $charset);
     if (is_object($connect)) {
         $this->_resource = $connect;
     } else {
         return $connect;
     }
     $i = $time = $rows = 0;
     $out = null;
     foreach (SQL::parser($data) as $q) {
         $result = array();
         $str = '';
         $q = rtrim($q, ';');
         $start = microtime(true);
         $r = $this->_resource->query($q . ';');
         $time += microtime(true) - $start;
         if (!$r) {
             return Helper_View::message(Language::get('sql_query_false'), Helper_View::MESSAGE_ERROR_EMAIL) . '<div><code>' . $this->_resource->error . '</code></div>';
         } else {
             if (is_object($r) && ($row = $r->num_rows)) {
                 $rows += $row;
                 while ($row = $r->fetch_assoc()) {
                     $result[] = $row;
                 }
             } elseif ($r === true) {
                 $rows += $this->_resource->affected_rows;
             }
         }
         $i++;
         if ($result) {
             $str .= '<tr><th> ' . implode(' </th><th> ', array_map('htmlspecialchars', array_keys($result[0]))) . ' </th></tr>';
             foreach ($result as $v) {
                 $str .= '<tr class="border">';
                 foreach ($v as $value) {
                     $str .= $value === null ? '<td><pre style="margin:0;">NULL</pre></td>' : '<td><pre style="margin:0;"><a href="#sql" onclick="Gmanager.paste(\'' . rawurlencode($value) . '\');">' . htmlspecialchars($value, ENT_NOQUOTES) . '</a></pre></td>';
                 }
                 $str .= '</tr>';
             }
             $out .= '<table class="telo">' . $str . '</table>';
         }
     }
     $this->_resource->close();
     return Helper_View::message(Language::get('sql_true') . $i . '<br/>' . Language::get('sql_rows') . $rows . '<br/>' . str_replace('%time%', round($time, 6), Language::get('microtime')), Helper_View::MESSAGE_SUCCESS) . $out;
 }
Beispiel #2
0
 /**
  * renameFile
  *
  * @param string $name
  * @param string $arch_name
  * @param bool   $del
  * @param bool   $overwrite
  * @return string
  */
 public function renameFile($name, $arch_name, $del = false, $overwrite = false)
 {
     $tmp = Config::getTemp() . '/GmanagerZip' . GMANAGER_REQUEST_TIME;
     $zip = $this->_open();
     $folder = '';
     $sysName = IOWrapper::set($name);
     foreach ($zip->extract(PCLZIP_OPT_PATH, $tmp) as $f) {
         if ($f['status'] != 'ok') {
             Helper_System::clean($tmp);
             if (Config::get('Gmanager', 'mode') == 'FTP') {
                 Gmanager::getInstance()->ftpArchiveEnd();
             }
             return Helper_View::message(Language::get('extract_false'), Helper_View::MESSAGE_ERROR);
             break;
         }
         if ($arch_name == $f['stored_filename']) {
             $folder = $f['folder'];
         }
     }
     if (file_exists($tmp . '/' . $sysName)) {
         if ($overwrite) {
             if ($folder) {
                 Helper_System::clean($tmp . '/' . $sysName);
             } else {
                 unlink($tmp . '/' . $sysName);
             }
         } else {
             Helper_System::clean($tmp);
             if (Config::get('Gmanager', 'mode') == 'FTP') {
                 Gmanager::getInstance()->ftpArchiveEnd();
             }
             return Helper_View::message(Language::get('overwrite_false'), Helper_View::MESSAGE_ERROR);
         }
     }
     if ($folder) {
         @mkdir($tmp . '/' . $sysName, 0755, true);
     } elseif (!is_dir($tmp . '/' . dirname($sysName))) {
         @mkdir($tmp . '/' . dirname($sysName), 0755, true);
     }
     if ($folder) {
         // переделать на ftp
         if ($del) {
             $result = Gmanager::getInstance()->moveFiles($tmp . '/' . $arch_name, $tmp . '/' . $name);
         } else {
             $result = Gmanager::getInstance()->copyFiles($tmp . '/' . $arch_name, $tmp . '/' . $name);
         }
     } else {
         if ($del) {
             $result = rename($tmp . '/' . $arch_name, $tmp . '/' . $sysName);
         } else {
             $result = copy($tmp . '/' . $arch_name, $tmp . '/' . $sysName);
         }
     }
     if (!$result) {
         Helper_System::clean($tmp);
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_false')), Helper_View::MESSAGE_ERROR);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_false')), Helper_View::MESSAGE_ERROR);
             }
         }
     }
     $result = $zip->create($tmp, PCLZIP_OPT_REMOVE_PATH, mb_substr($tmp, mb_strlen(dirname(dirname($tmp))))) != 0;
     Helper_System::clean($tmp);
     if (Config::get('Gmanager', 'mode') == 'FTP') {
         Gmanager::getInstance()->ftpArchiveEnd($this->_name);
     }
     if ($result) {
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_true')), Helper_View::MESSAGE_SUCCESS);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_true')), Helper_View::MESSAGE_SUCCESS);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_true')), Helper_View::MESSAGE_SUCCESS);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_true')), Helper_View::MESSAGE_SUCCESS);
             }
         }
     } else {
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_false')), Helper_View::MESSAGE_ERROR);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_false')), Helper_View::MESSAGE_ERROR);
             }
         }
     }
 }
Beispiel #3
0
 /**
  * renameFile
  *
  * @param string $name
  * @param string $arch_name
  * @param bool   $del
  * @param bool   $overwrite
  * @return string
  */
 public function renameFile($name, $arch_name, $del = false, $overwrite = false)
 {
     $tmp = Config::getTemp() . '/GmanagerTar' . GMANAGER_REQUEST_TIME;
     $tgz = $this->_open();
     $sysName = IOWrapper::set($name);
     $folder = '';
     foreach ($tgz->listContent() as $f) {
         if ($arch_name == $f['filename']) {
             $folder = $f['typeflag'] == 5 ? 1 : 0;
             break;
         }
     }
     if (!$tgz->extract($tmp)) {
         Helper_System::clean($tmp);
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         return Helper_View::message(Language::get('extract_false'), Helper_View::MESSAGE_ERROR);
     }
     if (file_exists($tmp . '/' . $sysName)) {
         if ($overwrite) {
             if ($folder) {
                 Helper_System::clean($tmp . '/' . $sysName);
             } else {
                 unlink($tmp . '/' . $sysName);
             }
         } else {
             Helper_System::clean($tmp);
             if (Config::get('Gmanager', 'mode') == 'FTP') {
                 Gmanager::getInstance()->ftpArchiveEnd();
             }
             return Helper_View::message(Language::get('overwrite_false'), Helper_View::MESSAGE_ERROR);
         }
     }
     if ($folder) {
         @mkdir($tmp . '/' . $sysName, 0755, true);
     } else {
         @mkdir($tmp . '/' . dirname($sysName), 0755, true);
     }
     if ($folder) {
         if ($del) {
             $result = Gmanager::getInstance()->moveFiles($tmp . '/' . $name, $tmp . '/' . $arch_name);
         } else {
             $result = Gmanager::getInstance()->copyFiles($tmp . '/' . $name, $tmp . '/' . $arch_name);
         }
     } else {
         if ($del) {
             $result = rename($tmp . '/' . $arch_name, $tmp . '/' . $sysName);
         } else {
             $result = copy($tmp . '/' . $arch_name, $tmp . '/' . $sysName);
         }
     }
     if (!$result) {
         Helper_System::clean($tmp);
         if (Config::get('Gmanager', 'mode') == 'FTP') {
             Gmanager::getInstance()->ftpArchiveEnd();
         }
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_false')), Helper_View::MESSAGE_ERROR);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_false')), Helper_View::MESSAGE_ERROR);
             }
         }
     }
     $result = $tgz->createModify($tmp, '.', $tmp);
     Helper_System::clean($tmp);
     if (Config::get('Gmanager', 'mode') == 'FTP') {
         Gmanager::getInstance()->ftpArchiveEnd($this->_name);
     }
     if ($result) {
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_true')), Helper_View::MESSAGE_SUCCESS);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_true')), Helper_View::MESSAGE_SUCCESS);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_true')), Helper_View::MESSAGE_SUCCESS);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_true')), Helper_View::MESSAGE_SUCCESS);
             }
         }
     } else {
         if ($folder) {
             if ($del) {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_files_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%title%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_files_false')), Helper_View::MESSAGE_ERROR);
             }
         } else {
             if ($del) {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('move_file_false')), Helper_View::MESSAGE_ERROR);
             } else {
                 return Helper_View::message(str_replace('%file%', htmlspecialchars($arch_name, ENT_NOQUOTES), Language::get('copy_file_false')), Helper_View::MESSAGE_ERROR);
             }
         }
     }
 }
Beispiel #4
0
             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 '<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')));
Beispiel #5
0
 /**
  * renameFile
  *
  * @param string $name
  * @param string $arch_name
  * @param bool   $del
  * @param bool   $overwrite
  * @return string
  */
 public function renameFile($name, $arch_name, $del = false, $overwrite = false)
 {
     return Helper_View::message(Language::get('not_supported'), Helper_View::MESSAGE_ERROR);
 }
Beispiel #6
0
 /**
  * fname
  * 
  * @param string $f
  * @param string $name
  * @param int    $register
  * @param int    $i
  * @param bool   $overwrite
  * @return string
  */
 public function fname($f = '', $name = '', $register = 0, $i = 0, $overwrite = false)
 {
     // [replace=from,to] - replace
     // [n=0] - meter
     // [f] - type
     // [name] - name
     // [date] - date
     // [rand=8,16] - random
     // $f = rawurldecode($f);
     $info = pathinfo($f);
     $info['dirname'] = IOWrapper::get($info['dirname']);
     $info['basename'] = IOWrapper::get($info['basename']);
     $info['extension'] = IOWrapper::get($info['extension']);
     $info['filename'] = IOWrapper::get($info['filename']);
     if (preg_match_all('/\\[replace=([^,]),([^\\]])/U', $name, $arr, PREG_SET_ORDER)) {
         foreach ($arr as $var) {
             $name = str_replace($var[1], $var[2], $info['filename'] . '.' . $info['extension']);
         }
     }
     if (preg_match_all('/\\[n=*(\\d*)\\]/U', $name, $arr, PREG_SET_ORDER)) {
         foreach ($arr as $var) {
             $name = str_replace($var[0], $var[1] + $i, $name);
         }
     }
     if (preg_match_all('/\\[rand=*(\\d*),*(\\d*)\\]/U', $name, $arr, PREG_SET_ORDER)) {
         foreach ($arr as $var) {
             $name = str_replace($var[0], mb_substr(str_shuffle(Config::get('Gmanager', 'rand')), 0, mt_rand(!empty($var[1]) ? $var[1] : 8, !empty($var[2]) ? $var[2] : 16)), $name);
         }
     }
     $name = str_replace('[f]', $info['extension'], $name);
     $name = str_replace('[name]', $info['filename'], $name);
     $name = str_replace('[date]', strftime('%d_%m_%Y'), $name);
     if ($register == 1) {
         $tmp = mb_strtolower($name);
     } elseif ($register == 2) {
         $tmp = mb_strtoupper($name);
     } else {
         $tmp = $name;
     }
     if (!$overwrite && self::$_instance->file_exists($info['dirname'] . '/' . $tmp)) {
         return Helper_View::message(Language::get('overwrite_false') . ' (' . htmlspecialchars($info['dirname'] . '/' . $tmp, ENT_NOQUOTES) . ')', Helper_View::MESSAGE_ERROR);
     }
     if (self::$_instance->rename($f, $info['dirname'] . '/' . $tmp)) {
         return Helper_View::message($info['basename'] . ' - ' . $tmp, Helper_View::MESSAGE_SUCCESS);
     } else {
         return Helper_View::message(Errors::get() . ' ' . $info['basename'] . ' -&gt; ' . $tmp, Helper_View::MESSAGE_ERROR_EMAIL);
     }
 }