Ejemplo n.º 1
0
 /**
  * Download the module from an url
  *
  * @param $url
  * @param $dest
  * @return bool
  */
 public static function download($url, $name, $dest = null)
 {
     if ($dest == null) {
         $dest = \Module::getPath();
     }
     $tmpName = date($name . '-Ymdhis.zip');
     $result = file_put_contents(__DIR__ . "/" . $tmpName, fopen($url, 'r'));
     if ($result) {
         $zip = new ZipArchive();
         if ($zip->open(__DIR__ . "/" . $tmpName) === true) {
             $destFolder = $dest . '/' . $name;
             $oldFolder = "";
             if (is_dir($destFolder)) {
                 $oldFolder = $destFolder . '-old';
                 if (is_dir($oldFolder)) {
                     \File::deleteDirectory($oldFolder);
                 }
                 rename($destFolder, $oldFolder);
             }
             $tmpFolder = $dest . '/' . $name . '-tmp';
             $zip->extractTo($tmpFolder);
             $zip->close();
             $file = glob($tmpFolder . '/*');
             $result = rename($file[0], $destFolder);
             \File::deleteDirectory($tmpFolder);
             if ($result) {
                 \File::deleteDirectory($oldFolder);
             }
             return $result;
         } else {
             return false;
         }
     }
     return false;
 }
Ejemplo n.º 2
0
 public function anyModules($action = "view")
 {
     $aModules = Arxmin::getModulesAvailables();
     if ($action == 'download') {
         $result = Module::download(Input::get('link'), Input::get('name'), \Module::getPath());
     }
     $title = trans("Modules Discovery");
     /*$oModules = Arxmin::getModules();
     
             foreach ($oModules as $module) {
     
                 $aModules[] = [
                     'title' => $module->name,
                     'description' => $module->name,
                 ];
             }*/
     return $this->viewMake('arxmin::modules.home', get_defined_vars());
 }