Пример #1
0
 private static function _dump($obj, $message = null, $logLevel = LOG_DEBUG, $outputFile = null)
 {
     if (is_array($obj)) {
         $collection = array_reduce_val($obj, function ($startValue, $val, $key) {
             return $startValue || $val instanceof Lib_Model;
         }, false);
         if ($collection) {
             $message .= ' [collection]';
             array_each($obj, function ($value, $key) use($message, $logLevel, $outputFile) {
                 self::_dump($value, $message . "[{$key}]", $logLevel, $outputFile);
             });
             return;
         }
     }
     if ($obj instanceof Lib_Model) {
         $message .= sprintf(' %s->toArray()', get_class($obj));
         /* @var Lib_Model $obj */
         $obj = $obj->toArray();
     }
     $dump = var_export($obj, true);
     if (null != $outputFile) {
         fwrite($outputFile, $message . ': ' . $dump);
     } else {
         logger_log($message . ': ' . $dump, $logLevel);
     }
 }
Пример #2
0
 /**
  * @param string $command
  * @param array|null &$output
  * @param int|null &$retval
  * @return string
  */
 function proc_exec($command, &$output = array(), &$retval = null)
 {
     $descriptors = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
     $res = proc_open($command, $descriptors, $pipes);
     fclose($pipes[0]);
     $stdout = stream_get_contents($pipes[1]);
     fclose($pipes[1]);
     $stderr = stream_get_contents($pipes[2]);
     fclose($pipes[2]);
     $output = explode(PHP_EOL, $stdout);
     $retval = proc_close($res);
     if (0 !== $retval) {
         logger_log("Process returned error." . PHP_EOL . " * Cli: " . $command . PHP_EOL . " * Return value: " . $retval . PHP_EOL . " * Stderr: " . PHP_EOL . str_indent($stderr, 1) . PHP_EOL . " * Stdout: " . PHP_EOL . str_indent($stdout, 1) . PHP_EOL);
         debug_assert(false);
         // FIXME: should be enforce but i wont risk it now
     }
     $ol = count($output);
     return $ol > 0 ? $output[$ol - 1] : '';
 }
Пример #3
0
function my_mysql_query($query)
{
    global $link;
    logger_log($query);
    logger_log("\n============================\n");
    $result = mysqli_query($link, $query);
    assert($result != NULL);
    /*
    	if(!$result) {
    		error('mysqli error: '.$link->errno.': '.$link->error);
    	}
    */
    return $result;
}
Пример #4
0
 /**
  * @return callable
  */
 function debug_handler_error_default_dg()
 {
     return function ($errno, $errstr, $errfile, $errline, $errcontext) {
         $e = new ErrorException($errstr . PHP_EOL, $errno, 0, $errfile, $errline);
         switch ($errno) {
             case E_ERROR:
             case E_PARSE:
             case E_CORE_ERROR:
             case E_COMPILE_ERROR:
             case E_USER_ERROR:
             case E_RECOVERABLE_ERROR:
                 throw $e;
                 break;
             case E_WARNING:
             case E_CORE_WARNING:
             case E_COMPILE_WARNING:
             case E_USER_WARNING:
                 logger_log($e, LOG_WARNING);
                 break;
             case E_NOTICE:
             case E_USER_NOTICE:
             case E_DEPRECATED:
             case E_USER_DEPRECATED:
                 logger_log($e, LOG_NOTICE);
                 break;
             default:
                 debug_assert(false, "Unknown value");
                 break;
         }
     };
 }
Пример #5
0
 public function fail($msg = null)
 {
     logger_log('Error:');
     if ($msg) {
         logger_log($msg, LOG_ERR);
     }
     exit(1);
 }