Exemple #1
0
 /**
  * Return Hook for Post Parsing or Post Convert
  *
  * @param   string   $type    Hook we want
  * @param   object   $import  Resource Import Model
  * @return  Closure
  */
 private function _hooks($type, $import)
 {
     // array to hold callbacks
     $callbacks = array();
     // get hooks on import
     $hooks = json_decode($import->get('hooks'));
     // make sure we have this type of hook
     if (!isset($hooks->{$type})) {
         return $callbacks;
     }
     // loop through each hook
     foreach ($hooks->{$type} as $hook) {
         // load hook object
         $importHook = new Models\Import\Hook($hook);
         // make sure we have an object
         if (!$importHook) {
             continue;
         }
         // build path to script
         $hookFile = $importHook->fileSpacePath() . DS . $importHook->get('file');
         // make sure we have a file
         if (!is_file($hookFile)) {
             continue;
         }
         // add callback
         $callbacks[] = function ($data, $dryRun) use($hookFile) {
             return include $hookFile;
         };
     }
     // return closures as callbacks
     return $callbacks;
 }
 /**
  * Show Raw immport hook file
  *
  * @return  void
  */
 public function rawTask()
 {
     // get request vars
     $id = Request::getVar('id', array());
     if (is_array($id)) {
         $id = !empty($id) ? $id[0] : 0;
     }
     // create hook model object
     $hook = new Models\Import\Hook($id);
     // get path to file
     $file = $hook->fileSpacePath() . DS . $hook->get('file');
     // default contents
     $contents = '';
     // if we have a file
     if (file_exists($file)) {
         // get contents of file
         $contents = file_get_contents($file);
     }
     // output contents of hook file
     highlight_string($contents);
     exit;
 }