function do_create() { global $context, $create_path, $txt, $sourcedir, $boardurl; if (!file_exists($create_path)) { @mkdir($create_path); } if (!file_exists($create_path) || !is_writable($create_path)) { fatal_error($txt['path_not_writable'], false); } $context['clean_name'] = htmlspecialchars(str_replace(array(' ', ',', ':', '.', ';', '#', '@', '='), array('_'), $context['mod_name'])); $current_path = $create_path . '/' . $context['clean_name']; // Let's start fresh everytime if (file_exists($current_path)) { require_once $sourcedir . '/Subs-Package.php'; deltree($current_path); } @mkdir($current_path); if (!file_exists($current_path) || !is_writable($current_path)) { fatal_error($txt['path_not_writable'], false); } $context['current_path'] = $current_path; if (!prepare_files()) { return; } create_mod_xml(); create_package_xml(); // Everything seems fine, now it's time to package everything create_package(); $context['creation_done'] = true; $context['download_url'] = $boardurl . '/patch_to_mod.php?download=' . $context['clean_name']; }
function main($argv) { $this_script = array_shift($argv); $config_file = array_shift($argv); $config = load_config($config_file); $base_dir = $config['base_dir']; //'/Users/alanstorm/Documents/github/Pulsestorm/var/build'; $archive_files = $config['archive_files']; //'Pulsestorm_Modulelist.tar'; $path_output = $config['path_output']; //'/Users/alanstorm/Desktop/working'; $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; $temp_dir = get_temp_dir(); chdir($temp_dir); shell_exec('cp ' . $base_dir . '/' . $archive_files . ' ' . $temp_dir); if (preg_match('/\\.zip$/', $archive_files)) { shell_exec('unzip -o ' . $temp_dir . '/' . $archive_files); } else { shell_exec('tar -xvf ' . $temp_dir . '/' . $archive_files); } shell_exec('rm ' . $temp_dir . '/' . $archive_files); $all = glob_recursive($temp_dir . '/*'); $dirs = glob_recursive($temp_dir . '/*', GLOB_ONLYDIR); $files = array_diff($all, $dirs); if (isset($config['auto_detect_version']) && $config['auto_detect_version'] == true) { $config['extension_version'] = get_module_version($files); $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; } if (!$config['skip_version_compare']) { check_module_version_vs_package_version($files, $config['extension_version']); } $xml = create_package_xml($files, $temp_dir, $config); file_put_contents($temp_dir . '/package.xml', $xml); echo $temp_dir, "\n"; if (!is_dir($path_output)) { mkdir($path_output, 0777, true); } $archiver = new Mage_Archive_Tar(); $archiver->pack($temp_dir, $path_output . '/' . $archive_files, true); shell_exec('gzip ' . $path_output . '/' . $archive_files); shell_exec('mv ' . $path_output . '/' . $archive_files . '.gz ' . $path_output . '/' . $archive_connect); #echo $xml; #echo "\nDone\n"; echo "Built in {$path_output}\n"; }
function main($argv) { $this_script = array_shift($argv); $config_file = array_shift($argv); $config = load_config($config_file); $base_dir = $config['base_dir']; //'/Users/alanstorm/Documents/github/Pulsestorm/var/build'; $archive_files = $config['archive_files']; //'Pulsestorm_Modulelist.tar'; $path_output = $config['path_output']; //'/Users/alanstorm/Desktop/working'; $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; $temp_dir = get_temp_dir(); if ($base_dir['0'] !== '/') { $base_dir = getcwd() . '/' . $base_dir; } chdir($temp_dir); if (!file_exists($base_dir . '/' . $archive_files)) { error('Can\'t find specified archive, bailing' . "\n[" . $base_dir . '/' . $archive_files . ']'); exit; } shell_exec('cp ' . $base_dir . '/' . $archive_files . ' ' . $temp_dir); if (preg_match('/\\.zip$/', $archive_files)) { shell_exec('unzip -o ' . $temp_dir . '/' . $archive_files); } else { shell_exec('tar -xf ' . $temp_dir . '/' . $archive_files); } shell_exec('rm ' . $temp_dir . '/' . $archive_files); $all = glob_recursive($temp_dir . '/*'); $dirs = glob_recursive($temp_dir . '/*', GLOB_ONLYDIR); $files = array_diff($all, $dirs); if (isset($config['auto_detect_version']) && $config['auto_detect_version'] == true) { $config['extension_version'] = get_module_version($files); $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; } if (!$config['skip_version_compare']) { check_module_version_vs_package_version($files, $config['extension_version']); } $xml = create_package_xml($files, $temp_dir, $config); file_put_contents($temp_dir . '/package.xml', $xml); if (!is_dir($path_output)) { mkdir($path_output, 0777, true); } $archiver = new Mage_Archive_Tar(); $archiver->pack($temp_dir, $path_output . '/' . $archive_files, true); shell_exec('gzip ' . $path_output . '/' . $archive_files); shell_exec('mv ' . $path_output . '/' . $archive_files . '.gz ' . $path_output . '/' . $archive_connect); // Creating extension xml for connect using the extension name create_extension_xml($files, $config, $temp_dir, $path_output); }