示例#1
0
 /**
  * Rozbudowany raport błędu dla MK_Exception i MK_Db_Exception.
  * Zapisanie zdarzenia w pliku tekstowym i wysłanie do logs.madkom.pl (dla developer:false)
  *
  * try {
  *    // code
  * } catch (MK_Db_Exception $e) {
  *    //MK_Error::setMoreTraceIgnorePath(array('Spirb->loadModule'));
  *    die($e->getExtendedMessage());
  * } catch (MK_Exception $e) {
  *    die($e->getExtendedMessage());
  * }
  *
  * @param bool $detailedLog
  *
  * @return string
  */
 public function getExtendedMessage($detailedLog = true)
 {
     $retArray = array('success' => false, 'message' => $this->getMessage());
     $_file = $this->getFile();
     $_line = strval($this->getLine());
     $_trace = MK_Error::getExtendedTrace($this);
     $debugMsg = $dbError = '';
     if (MK_Db_PDO_Singleton::isInstance()) {
         $mkDb = new MK_Db_PDO();
         $mkDb->transFail();
         $dbError = $mkDb->getErrorMsg();
     }
     if ($detailedLog == true) {
         if (empty($dbError)) {
             $debugMsg = MK_Error::fromException($retArray['message'], $_file, $_line, $_trace);
         } else {
             $debugMsg = MK_Error::fromDataBase($dbError, $_file, $_line, $_trace);
         }
     } else {
         $debugMsg = empty($dbError) ? $retArray['message'] : $dbError;
     }
     $retArray['debug'] = MK_DEBUG === true ? '<pre>' . $debugMsg . '</pre>' : '';
     if (MK::isAjaxExecution(true)) {
         return json_encode($retArray);
     }
     return $retArray[MK_DEBUG === true ? 'debug' : 'message'];
 }
示例#2
0
文件: Console.php 项目: b091/mkphp-1
 /**
  * Zwraca najważniejsze informacje dotyczace aplikacji (DLA Admina)
  *     php index.php -mappinfo
  * Szczegółowy raport z dodatkowymi informacjami
  *     php index.php -mappinfo true
  *
  * @param array $argv
  */
 public function appinfo(array $argv)
 {
     $db = new MK_Db_PDO();
     // Podstawowe informacje APPINFO
     $this->output(array('APP' => strtolower(APP_NAME), 'DATABASE' => DB_NAME, 'PASS' => DB_PASS, 'USER' => DB_USER, 'DBHOST' => DB_HOST, 'PORT' => DB_PORT, 'VERSION' => $db->getAppVersion()));
     // Dodatkowe informacje po wpisaniu parametru 'true'
     if (isset($argv[0]) && $argv[0] == 'true') {
         // ### DEVELOPER ###
         $this->output(array('RELEASED' => $db->getReleasedVersion(), 'MK_DEBUG' => (int) MK_DEBUG, 'MK_DEVELOPER' => (int) MK_DEVELOPER, 'MK_TEST' => (int) MK_TEST, 'MK_ERROR_JS_ENABLED' => (int) MK_ERROR_JS_ENABLED), MK_EOL . '### DEVELOPER ###');
         // ### SESSION ###
         $this->output(array('SESSION_SAVE_HANDLER' => SESSION_SAVE_HANDLER, 'MK_DIR_SESSION' => MK_DIR_SESSION), MK_EOL . '### SESSION ###');
         // ### MTM ###
         $this->output(array('APP_FILE_LOCK' => APP_FILE_LOCK, 'APP_STATUS_LOG' => APP_STATUS_LOG, 'MTM_FILE_LIST' => MTM_FILE_LIST, 'MTM_FILE_LOG' => MTM_FILE_LOG, 'MTM_FILE_LOCK' => MTM_FILE_LOCK), MK_EOL . '### MTM ###');
         // ### LAST 3 UPGRADE COMPLETED TASK ###
         $this->output($this->prepareCompletedTasks($db->getCompletedTask(3), 'UPGRADE_COMPLETED_TASK_'), MK_EOL . '### LAST 3 UPGRADE COMPLETED TASK ###');
         // ### LAST 5 UPGRADE LOGS ###
         $this->output(MK_Upgrade_Logs::getInfo(5, 'LAST_UPGRADE_LOGS_'), MK_EOL . '### LAST 5 UPGRADE LOGS ###');
     }
     exit;
 }
示例#3
0
文件: Upgrade.php 项目: b091/mkphp-1
 /**
  * Uruchamia proces aktualizacji
  */
 public function begin()
 {
     // ustawienie glownego katalogu do upgradu
     $this->setUpgradeFolder(APP_PATH . DIRECTORY_SEPARATOR . 'upgrade');
     // ustawienie katalogu do zapisywania logow
     $this->setUpgradeLogFolder(APP_PATH . DIRECTORY_SEPARATOR . 'upgrade' . DIRECTORY_SEPARATOR . 'log');
     // ustawienie katalogu do zapisywania backupu
     $this->setUpgradeBackupFolder(APP_PATH . DIRECTORY_SEPARATOR . 'upgrade' . DIRECTORY_SEPARATOR . 'backup' . DIRECTORY_SEPARATOR . MK_Registry::get("upgradeBeginTime"));
     // ustawienie katalogu do plikow sql i parserow
     $this->setUpgradeSourceFolder(APP_PATH . DIRECTORY_SEPARATOR . 'upgrade' . DIRECTORY_SEPARATOR . 'source');
     self::writeToLog('URUCHAMIANIE PROCESU AKTUALIZACJI');
     self::writeToLog('Ustanowienie połączenia do bazy danych');
     parent::__construct();
     self::writeToLog('Rozpoczynanie transakcji sql (BEGIN)');
     $this->transStart();
     // ustawienie stanu aplikacji na upgrade
     self::writeToLog('Ustawianie aplikacji w stan: upgrade');
     $this->changeApplicationState('upgrade');
     // sprawdzenie licencji
     $this->checkLicence();
     // czyszczenie sessji użytkowników
     self::writeToLog('Czyszczenie sesji użytkowników');
     $this->clearUserSessions();
     self::writeToLog('UPGRADE ROZPOCZĘTY');
     $this->proceed();
     $this->clearDbComments();
     self::writeToLog('Zamykanie transakcji sql (COMMIT)');
     $this->transComplete();
     // ustawienie stanu aplikacji na działającą
     self::writeToLog('Ustawianie aplikacji w stan: running');
     $this->changeApplicationState('running');
     self::writeToLog('UPGRADE ZAKOŃCZONY');
     die("true");
 }