Ejemplo n.º 1
0
 $latest_release = file_get_contents('https://xtend.liammartens.com/releases/latest.release');
 // get zip file
 $zip = file_get_contents('https://xtend.liammartens.com/releases/' . $latest_release . '.zip');
 file_put_contents(Workbench::$directory . '/xtend.zip', $zip);
 // extract zip
 $zip = new \ZipArchive();
 $zip->open(Workbench::$directory . '/xtend.zip');
 $zip->extractTo(Workbench::$directory);
 // move application folder
 rename(Workbench::$directory . '/xTend-' . $latest_release . '/dist/Application', Workbench::$directory . '/' . $name);
 // remove directory
 (new Objects\DirectoryHandler\Directory(Workbench::$directory . '/xTend-' . $latest_release))->remove();
 // remove zip file and directory
 unlink(Workbench::$directory . '/xtend.zip');
 // add application to Workbench configuration
 Workbench::new($name, $domain, $path);
 // get namespace from name
 $namespace = Workbench::namespace($name);
 // add to index.php
 file_put_contents(Workbench::$directory . '/' . Workbench::get('public') . '/index.php', '
 namespace ' . $namespace . ' {
     global $matched_application;
     if(__NAMESPACE__==$matched_application) {
         Core\\App::start(__DIR__);
         Core\\FileHandler::system(\'Config.App.App.php\')->include();
         Core\\App::run();
     }
 }', FILE_APPEND);
 // replace old namespaces (default Application)
 foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(Workbench::$directory . '/' . $name)) as $file) {
     // skip if not file / if not PHP file