Merge branch 'master' of bitbucket.org:colosa/processmaker

This commit is contained in:
Wendy Nestor
2014-09-29 16:28:06 -04:00
5 changed files with 79 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ if (CLI2) {
Download and install an addon
EOT
);
CLI::taskRun(run_addon_install);
CLI::taskRun(run_addon_core_install);
} else {
pake_desc("install addon");
pake_task("addon-install");
@@ -28,8 +28,8 @@ CLI::taskArg('workspace', false);
CLI::taskArg('hash', false);
CLI::taskRun("change_hash");
//function run_addon_install($args, $opts) {
function run_addon_install($args)
//function run_addon_core_install($args, $opts) {
function run_addon_core_install($args)
{
try {
if (!extension_loaded("mysql")) {

View File

@@ -62,6 +62,13 @@ class workspaceTools
*/
public function upgrade($first = false, $buildCacheView = false, $workSpace = SYS_SYS, $onedb = false, $lang = 'en')
{
$start = microtime(true);
CLI::logging("> Verify enterprise old...\n");
$this->verifyEnterprise($workSpace);
$stop = microtime(true);
$final = $stop - $start;
CLI::logging("<*> Verify took $final seconds.\n");
$start = microtime(true);
CLI::logging("> Updating database...\n");
$this->upgradeDatabase($onedb);
@@ -1630,5 +1637,60 @@ class workspaceTools
G::LoadClass("enterprise");
enterpriseClass::setHashPassword($response);
}
public function verifyEnterprise ($workspace)
{
$this->initPropel( true );
$pathBackup = PATH_DATA . 'backups';
if (!file_exists($pathBackup)) {
G::mk_dir($pathBackup, 0777);
}
$pathNewFile = PATH_DATA . 'backups' . PATH_SEP . 'enterpriseBackup';
$pathDirectoryEnterprise = PATH_CORE . 'plugins' . PATH_SEP . 'enterprise';
$pathFileEnterprise = PATH_CORE . 'plugins' . PATH_SEP . 'enterprise.php';
if (!file_exists($pathDirectoryEnterprise) && !file_exists(PATH_PLUGIN . 'enterprise.php')) {
CLI::logging(" Without changes... \n");
return true;
}
CLI::logging(" Migrating Enterprise Core version...\n");
if (!file_exists($pathNewFile)) {
CLI::logging(" Creating folder in $pathNewFile\n");
G::mk_dir($newDiretory, 0777);
}
$shared_stat = stat(PATH_DATA);
if (file_exists($pathDirectoryEnterprise)) {
CLI::logging(" Copying Enterprise Directory to $pathNewFile...\n");
if ($shared_stat !== false) {
workspaceTools::dirPerms($pathDirectoryEnterprise, $shared_stat['uid'], $shared_stat['gid'], $shared_stat['mode']);
} else {
CLI::logging(CLI::error("Could not get shared folder permissions, workspace permissions couldn't be changed") . "\n");
}
if (G::recursive_copy($pathDirectoryEnterprise, $pathNewFile . PATH_SEP. 'enterprise')) {
CLI::logging(" Removing $pathDirectoryEnterprise...\n");
G::rm_dir($pathDirectoryEnterprise);
} else {
CLI::logging(CLI::error(" Error: Failure to copy from $pathDirectoryEnterprise...\n"));
}
if (file_exists($pathDirectoryEnterprise)) {
CLI::logging(CLI::info(" Remove manually $pathDirectoryEnterprise...\n"));
}
}
if (file_exists($pathFileEnterprise)) {
CLI::logging(" Copying Enterprise.php file to $pathNewFile...\n");
if ($shared_stat !== false) {
workspaceTools::dirPerms($pathFileEnterprise, $shared_stat['uid'], $shared_stat['gid'], $shared_stat['mode']);
} else {
CLI::logging(CLI::error("Could not get shared folder permissions, workspace permissions couldn't be changed") . "\n");
}
CLI::logging(" Removing $pathFileEnterprise...\n");
copy($pathFileEnterprise , $pathNewFile. PATH_SEP . 'enterprise.php');
G::rm_dir($pathFileEnterprise);
if (file_exists($pathFileEnterprise)) {
CLI::logging(CLI::info(" Remove manually $pathFileEnterprise...\n"));
}
}
}
}

View File

@@ -27,7 +27,7 @@ class AddonsManager extends BaseAddonsManager
*/
public function getDownloadFilename()
{
{
$filename = $this->getAddonDownloadFilename();
if (!isset($filename) || empty($filename)) {
$filename = "download.tar";
@@ -37,7 +37,7 @@ class AddonsManager extends BaseAddonsManager
}
public function getDownloadDirectory()
{
{
$dir = PATH_DATA . "upgrade/{$this->getStoreId()}_{$this->getAddonName()}";
if (!file_exists($dir)) {
mkdir($dir, 0777, true);
@@ -52,7 +52,7 @@ class AddonsManager extends BaseAddonsManager
* if file exists but md5 for the download is not available.
*/
public function checkDownload()
{
{
$filename = $this->getDownloadFilename();
if (!file_exists($filename)) {
return false;
@@ -70,7 +70,7 @@ class AddonsManager extends BaseAddonsManager
* @return bool true if is of type 'plugin', false otherwise
*/
public function isPlugin()
{
{
return ($this->getAddonType() == 'plugin');
}
@@ -166,17 +166,17 @@ class AddonsManager extends BaseAddonsManager
return (null);
}
///////
$oPluginRegistry = &PMPluginRegistry::getSingleton();
$details = $oPluginRegistry->getPluginDetails($this->getAddonName() . ".php");
$v = (!($details == null))? $details->iVersion : null;
if ($v != "") {
return ($v);
}
if (file_exists(PATH_PLUGINS . $this->getAddonName() . PATH_SEP . "VERSION")) {
return (trim(file_get_contents(PATH_PLUGINS . $this->getAddonName() . PATH_SEP . "VERSION")));
}
///////
$oPluginRegistry = &PMPluginRegistry::getSingleton();
$details = $oPluginRegistry->getPluginDetails($this->getAddonName() . ".php");
$v = (!($details == null))? $details->iVersion : null;
return ($v);
} else {
if ($this->getAddonType() == "core") {
throw new Exception("Addon type \"" . $this->getAddonType() . "\" unsupported");

View File

@@ -27,7 +27,7 @@ function runBgProcessmaker($task, $log)
$elem = array_shift($data); //delete first element
run_addon_install($data);
run_addon_core_install($data);
}
try {

View File

@@ -374,7 +374,7 @@ Ext.onReady(function () {
renderer: function (value, metaData, record, rowIndex, colIndex, store)
{
var arrayMatch = [];
var newValue = value;
var newValue = _(value);
if ((arrayMatch = /^\*\*(.+)\*\*$/.exec(value))) {
newValue = _(arrayMatch[1]);