Ejemplo n.º 1
0
 /**
  * Logs with an arbitrary level.
  *
  * @param mixed  $level
  * @param string $message
  * @param array  $context
  * @param string $file
  * @param int    $line
  *
  * @throws InvalidArgumentException
  */
 public function log($level, $message, array $context = [], $file = null, $line = null)
 {
     if (static::hasFactoryClass()) {
         static::callFactoryClass(__FUNCTION__, func_get_args());
         return;
     }
     if (!is_string($message)) {
         throw new InvalidArgumentException('Expecting $message to be string, but ' . gettype($message) . ' given!');
     }
     self::open();
     // build a replacement array with braces around the context keys
     $replace = [];
     foreach ($context as $key => $val) {
         $replace['{' . $key . '}'] = $val;
     }
     // interpolate replacement values into the message and return
     $message = strtr($message, $replace);
     $logData = [$level, $message];
     if ($file && $line) {
         $logData[] = str_replace(rex_path::base(), '', $file);
         $logData[] = $line;
     }
     self::$file->add($logData);
     // forward the error into phps' error log
     error_log($message, 0);
 }
Ejemplo n.º 2
0
    echo $fragment->parse('core/page/section.php');
}
// ---------------------------------- Step 3 . Perms, Environment
$error_array = [];
$success_array = [];
$errors = rex_setup::checkEnvironment();
if (count($errors) > 0) {
    foreach ($errors as $error) {
        $error_array[] = rex_view::error($error);
    }
} else {
    $success_array[] = rex_i18n::msg('setup_308');
}
$res = rex_setup::checkFilesystem();
if (count($res) > 0) {
    $base = rex_path::base();
    foreach ($res as $key => $messages) {
        if (count($messages) > 0) {
            $li = [];
            foreach ($messages as $message) {
                $li[] = '<li>' . str_replace($base, '', $message) . '</li>';
            }
            $error_array[] = '<p>' . rex_i18n::msg($key) . '</p><ul>' . implode('', $li) . '</ul>';
        }
    }
} else {
    $success_array[] = rex_i18n::msg('setup_309');
}
if ($step > 2 && count($error_array) > 0) {
    $step = 3;
}
Ejemplo n.º 3
0
 private function shouldIgnore($path)
 {
     static $ignore;
     if (null === $ignore) {
         $ignore = file(rex_path::base('.gitignore'), FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
         $ignore = array_filter($ignore, function ($path) {
             return '#' !== $path[0];
         });
         $ignore = array_merge($ignore, ['/redaxo/src/addons/be_style/vendor/bootstrap/lib/', '/redaxo/src/addons/be_style/vendor/bootstrap/tasks/', '/redaxo/src/addons/be_style/vendor/bootstrap/templates/', '/redaxo/src/addons/be_style/vendor/bootstrap/test/', '/redaxo/src/addons/be_style/vendor/bootstrap-select/js/', '/redaxo/src/addons/be_style/vendor/bootstrap-select/less/', '/redaxo/src/addons/be_style/vendor/font-awesome/css/', '/redaxo/src/addons/be_style/vendor/font-awesome/less/', '/redaxo/src/addons/be_style/vendor/font-awesome/src/', '/redaxo/src/addons/be_style/vendor/scssphp/tests/']);
     }
     $subpath = substr($path, strlen(rex_path::base()) - 1);
     foreach ($ignore as $pattern) {
         if (0 === strpos($subpath, $pattern)) {
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 4
0
 /**
  * @param string $dir
  */
 private static function _addDirectory($dir)
 {
     $dirPath = rex_path::base($dir);
     if (!is_dir($dirPath)) {
         return;
     }
     if (!isset(self::$dirs[$dir])) {
         self::$dirs[$dir] = [];
     }
     $files = self::$dirs[$dir];
     $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirPath, RecursiveDirectoryIterator::SKIP_DOTS));
     foreach ($iterator as $path => $file) {
         /** @var SplFileInfo $file */
         if (!$file->isFile() || !in_array($file->getExtension(), ['php', 'inc'])) {
             continue;
         }
         $file = self::normalizePath($path);
         unset($files[$file]);
         $checksum = md5_file($path);
         if (isset(self::$dirs[$dir][$file]) && self::$dirs[$dir][$file] === $checksum) {
             continue;
         }
         self::$dirs[$dir][$file] = $checksum;
         self::$cacheChanged = true;
         $classes = self::findClasses($path);
         foreach ($classes as $class) {
             $class = strtolower($class);
             if (!isset(self::$classes[$class])) {
                 self::$classes[$class] = $file;
             }
         }
     }
     foreach ($files as $file) {
         unset(self::$dirs[$file]);
         self::$cacheChanged = true;
     }
 }
Ejemplo n.º 5
0
 /**
  * Initializes the class.
  *
  * @param string $htdocs  Htdocs path
  * @param string $backend Backend folder name
  */
 public static function init($htdocs, $backend)
 {
     self::$base = realpath($htdocs) . '/';
     self::$backend = $backend;
 }
Ejemplo n.º 6
0
 protected function printDefectTrace(PHPUnit_Framework_TestFailure $defect)
 {
     $stacktrace = PHPUnit_Util_Filter::getFilteredStacktrace($defect->thrownException());
     $stacktrace = str_replace([$this->backtrace, rex_path::base()], '', $stacktrace);
     $this->write($defect->getExceptionAsString() . "\n" . $stacktrace);
 }