Beispiel #1
0
 public function log($message, $level, $a = null, $depth = null, $display = false)
 {
     if (is_null($this->task)) {
         throw new base_step_exception('not_specified_base_task');
     }
     backup_helper::log($message, $level, $a, $depth, $display, $this->get_logger());
 }
 /**
  * Converts the given directory with the backup into moodle2 format
  *
  * @param string $tempdir The directory to convert
  * @param string $format The current format, if already detected
  * @param base_logger|null if the conversion should be logged, use this logger
  * @throws convert_helper_exception
  * @return bool false if unable to find the conversion path, true otherwise
  */
 public static function to_moodle2_format($tempdir, $format = null, $logger = null)
 {
     if (is_null($format)) {
         $format = backup_general_helper::detect_backup_format($tempdir);
     }
     // get the supported conversion paths from all available converters
     $converters = self::available_converters();
     $descriptions = array();
     foreach ($converters as $name) {
         $classname = "{$name}_converter";
         if (!class_exists($classname)) {
             throw new convert_helper_exception('class_not_loaded', $classname);
         }
         if ($logger instanceof base_logger) {
             backup_helper::log('available converter', backup::LOG_DEBUG, $classname, 1, false, $logger);
         }
         $descriptions[$name] = call_user_func($classname . '::description');
     }
     // choose the best conversion path for the given format
     $path = self::choose_conversion_path($format, $descriptions);
     if (empty($path)) {
         if ($logger instanceof base_logger) {
             backup_helper::log('unable to find the conversion path', backup::LOG_ERROR, null, 0, false, $logger);
         }
         return false;
     }
     if ($logger instanceof base_logger) {
         backup_helper::log('conversion path established', backup::LOG_INFO, implode(' => ', array_merge($path, array('moodle2'))), 0, false, $logger);
     }
     foreach ($path as $name) {
         if ($logger instanceof base_logger) {
             backup_helper::log('running converter', backup::LOG_INFO, $name, 0, false, $logger);
         }
         $converter = convert_factory::get_converter($name, $tempdir, $logger);
         $converter->convert();
     }
     // make sure we ended with moodle2 format
     if (!self::detect_moodle2_format($tempdir)) {
         throw new convert_helper_exception('conversion_failed');
     }
     return true;
 }
Beispiel #3
0
 public function log($message, $level, $a = null, $depth = null, $display = false)
 {
     backup_helper::log($message, $level, $a, $depth, $display, $this->get_logger());
 }
Beispiel #4
0
 /**
  * If the logger was set for the converter, log the message
  *
  * If the $display is enabled, the spaces in the $message text are removed
  * and the text is used as a string identifier in the core_backup language file.
  *
  * @see backup_helper::log()
  * @param string $message message text
  * @param int $level message level {@example backup::LOG_WARNING}
  * @param null|mixed $a additional information
  * @param null|int $depth the message depth
  * @param bool $display whether the message should be sent to the output, too
  */
 public function log($message, $level, $a = null, $depth = null, $display = false)
 {
     if ($this->logger instanceof base_logger) {
         backup_helper::log($message, $level, $a, $depth, $display, $this->logger);
     }
 }