Beispiel #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;
 }
 /**
  * Method to create import filespace if needed
  *
  * @param   object   $hook  Models\Import\Hook
  * @return  boolean
  */
 private function _createImportFilespace(Models\Import\Hook $hook)
 {
     // upload path
     $uploadPath = $hook->fileSpacePath();
     // if we dont have a filespace, create it
     if (!is_dir($uploadPath)) {
         \Filesystem::makeDirectory($uploadPath, 0775);
     }
     // all set
     return true;
 }