public static function postInstallCmd(Event $event) { $baseXmlnuke = realpath(dirname(__FILE__) . "/../../../.."); $baseProject = realpath(dirname($baseXmlnuke) . "/../.."); $extra = $event->getComposer()->getPackage()->getExtra(); if (isset($extra) && isset($extra['project-name'])) { $projectName = $extra['project-name']; } else { $projectName = basename($baseProject); } $output = $event->getIO(); $output->write('=== XMLNUKE ===', true); $output->write('Xmlnuke Dir: ' . $baseXmlnuke, true); $output->write('Project Dir: ' . $baseProject, true); if (!file_exists($baseProject . '/httpdocs')) { $output->write("Creating Project...", true); $result = call_user_func_array(array('\\Xmlnuke\\Util\\CreatePhp5Project', 'Run'), array($baseXmlnuke . '/Composer.php', $baseProject, preg_replace('/[^A-Za-z0-0]/', '', $projectName), "en-us")); } if (!file_exists($baseProject . '/httpdocs/config.inc.php')) { $output->write("Setting the project ...", true); $configInc = file_get_contents($baseProject . "/httpdocs/config.inc-dist.php"); $configInc = str_replace('#XMLNUKE#', $baseXmlnuke, str_replace('#PROJECT#', $baseProject, $configInc)); file_put_contents($baseProject . "/httpdocs/config.inc.php", $configInc); } if (!file_exists($baseProject . '/data/anydataset/_db.anydata.xml')) { $output->write("Setting the _db.anydata ...", true); $dbInc = file_get_contents($baseProject . "/data/anydataset/_db.anydata-dist.xml"); file_put_contents($baseProject . "/data/anydataset/_db.anydata.xml", $dbInc); } $output->write("Updating Project References...", true); CreatePhp5Project::Update($baseXmlnuke, $baseProject); }
#!/usr/bin/env php <?php require_once __DIR__ . '/xmlnuke-php5/src/Xmlnuke/Util/CreatePhp5Project.php'; use Xmlnuke\Util\CreatePhp5Project; if (PHP_SAPI == 'cli') { echo "\n"; echo "============================\n"; echo "XMLNuke PHP5 Project Updater\n"; echo "By JG @ 2014\n"; echo "============================\n"; echo "\n"; if ($argc < 2) { echo "Use this script to update and existing XMLNuke PHP5 project with the essentials XMLNuke files. \n"; echo "The config.php file must be configured properly before run this command. \n"; echo "\n"; echo "Usage: \n"; echo " update-php5-project.php PATHTOYOURPROJECT \n"; echo "\n"; echo "Where: \n"; echo " PATHTOYOURPROJECT is the full path for your project \n"; echo "\n"; } else { try { $result = CreatePhp5Project::Update(__DIR__, $argv[1]); echo "Done.\n"; echo "\n"; } catch (Exception $ex) { echo "Error: " . $ex->getMessage() . "\n\n"; } } }