From 8d79524c62aba1e629d612c59390074be108f11d Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 10 Aug 2015 15:37:32 +0300 Subject: [PATCH] extension.php --- extension.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ upgrade.php | 23 +++++++++++----------- 2 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 extension.php diff --git a/extension.php b/extension.php new file mode 100644 index 0000000000..2d0c3d0ba5 --- /dev/null +++ b/extension.php @@ -0,0 +1,53 @@ +getContainer()->get('config'); +$entityManager = $app->getContainer()->get('entityManager'); + +$user = $entityManager->getEntity('User', 'system'); +$app->getContainer()->setUser($user); + +$upgradeManager = new \Espo\Core\ExtensionManager($app->getContainer()); + +echo "Start install process...\n"; + +try { + $fileData = file_get_contents($arg); + $fileData = 'data:application/zip;base64,' . base64_encode($fileData); + + $upgradeId = $upgradeManager->upload($fileData); + $upgradeManager->install(array('id' => $upgradeId)); +} catch (\Exception $e) { + die("Error: " . $e->getMessage() . "\n"); +} + +try { + $app = new \Espo\Core\Application(); + $app->runRebuild(); +} catch (\Exception $e) {} + +echo "Install is completed.\n"; \ No newline at end of file diff --git a/upgrade.php b/upgrade.php index 879f155fec..719f693953 100644 --- a/upgrade.php +++ b/upgrade.php @@ -8,23 +8,23 @@ if (substr($sapiName, 0, 3) != 'cli') { include "bootstrap.php"; -$packageName = isset($_SERVER['argv'][1]) ? trim($_SERVER['argv'][1]) : ''; +$arg = isset($_SERVER['argv'][1]) ? trim($_SERVER['argv'][1]) : ''; -if ($packageName == 'version' || $packageName == '-v') { +if ($arg == 'version' || $arg == '-v') { $app = new \Espo\Core\Application(); die("Current version is " . $app->getContainer()->get('config')->get('version') . ".\n"); } -if (empty($packageName)) { - die("Please specify an upgraded package.\n"); +if (empty($arg)) { + die("Specify an upgrade package file.\n"); } -if (!file_exists($packageName)) { - die("Package does not exist. Please check the file path.\n"); +if (!file_exists($arg)) { + die("Package file does not exist.\n"); } -$pathInfo = pathinfo($packageName); -if (!isset($pathInfo['extension']) || $pathInfo['extension'] != 'zip' || !is_file($packageName)) { +$pathInfo = pathinfo($arg); +if (!isset($pathInfo['extension']) || $pathInfo['extension'] !== 'zip' || !is_file($arg)) { die("Unsupported package.\n"); } @@ -38,10 +38,11 @@ $app->getContainer()->setUser($user); $upgradeManager = new \Espo\Core\UpgradeManager($app->getContainer()); -echo "Start upgrade process. Current version is " . $config->get('version') . "\n"; +echo "Current version is " . $config->get('version') . "\n"; +echo "Start upgrade process...\n"; try { - $fileData = file_get_contents($packageName); + $fileData = file_get_contents($arg); $fileData = 'data:application/zip;base64,' . base64_encode($fileData); $upgradeId = $upgradeManager->upload($fileData); @@ -55,4 +56,4 @@ try { $app->runRebuild(); } catch (\Exception $e) {} -echo "Upgrade is complete. New version is " . $config->get('version') . ". \n"; \ No newline at end of file +echo "Upgrade is completed. New version is " . $config->get('version') . ". \n"; \ No newline at end of file