This commit is contained in:
Paula V. Quispe
2016-07-26 15:20:31 -04:00
parent 057bdbe356
commit 403387c14d
3 changed files with 79 additions and 30 deletions

View File

@@ -458,4 +458,47 @@ class AddonsManager extends BaseAddonsManager
}
return true;
}
/**
* Exists in Addons Manager Table
*
* @param string $addonId
* @param string $storeId
* @return type
* @throws type
*/
public function exists($addonId, $storeId)
{
$oAddManager = AddonsManagerPeer::retrieveByPK($addonId, $storeId);
return (!is_null($oAddManager));
}
/**
* Update Addons Manager Table
*
* @param type $data
* @return type
* @throws type
*/
public function update($data)
{
$con = Propel::getConnection( AddonsManagerPeer::DATABASE_NAME );
try {
$con->begin();
$this->setNew( false );
$this->fromArray( $data, BasePeer::TYPE_FIELDNAME );
if ($this->validate()) {
$result = $this->save();
$con->commit();
return $result;
} else {
$con->rollback();
throw (new Exception( "Failed Validation in class " . get_class( $this ) . "." ));
}
} catch (Exception $e) {
$con->rollback();
throw ($e);
}
}
}

View File

@@ -434,23 +434,43 @@ class AddonsStore extends BaseAddonsStore
if (is_array($list)) {
foreach ($list['addons'] as $key => $feature) {
$addon = new AddonsManager();
$addon->setAddonId($feature['name']);
$addon->setStoreId($feature['guid']);
$addon->setAddonName($feature['name']);
$addon->setAddonDescription($feature['description']);
$addon->setAddonNick($feature['nick']);
$addon->setAddonVersion("");
$addon->setAddonStatus($feature['status']);
$addon->setAddonType("features");
$addon->setAddonPublisher("Colosa");
$addon->setAddonDownloadUrl("");
$addon->setAddonDownloadMd5("");
$addon->setAddonReleaseDate(null);
$addon->setAddonReleaseType('localRegistry');
$addon->setAddonReleaseNotes("");
$addon->setAddonState("");
if($addon->exists($feature['name'],$feature['guid'])){
$arrayData['ADDON_ID'] = $feature['name'];
$arrayData['STORE_ID'] = $feature['guid'];
$arrayData['ADDON_NAME'] = $feature['name'];
$arrayData['ADDON_NICK'] = $feature['nick'];
$arrayData['ADDON_DESCRIPTION'] = $feature['description'];
$arrayData['ADDON_STATE'] = '';
$arrayData['ADDON_STATUS'] = $feature['status'];
$arrayData['ADDON_VERSION'] = '';
$arrayData['ADDON_TYPE'] = 'features';
$arrayData['ADDON_PUBLISHER'] = 'Colosa';
$arrayData['ADDON_RELEASE_DATE'] = null;
$arrayData['ADDON_RELEASE_TYPE'] = 'localRegistry';
$arrayData['ADDON_RELEASE_NOTES'] = '';
$arrayData['ADDON_DOWNLOAD_URL'] = '';
$arrayData['ADDON_DOWNLOAD_MD5'] = '';
$addon->save();
$addon->update($arrayData);
} else {
$addon->setAddonId($feature['name']);
$addon->setStoreId($feature['guid']);
$addon->setAddonName($feature['name']);
$addon->setAddonDescription($feature['description']);
$addon->setAddonNick($feature['nick']);
$addon->setAddonVersion("");
$addon->setAddonStatus($feature['status']);
$addon->setAddonType("features");
$addon->setAddonPublisher("Colosa");
$addon->setAddonDownloadUrl("");
$addon->setAddonDownloadMd5("");
$addon->setAddonReleaseDate(null);
$addon->setAddonReleaseType('localRegistry');
$addon->setAddonReleaseNotes("");
$addon->setAddonState("");
$addon->save();
}
}
}
}

View File

@@ -7,20 +7,6 @@ require_once PATH_CORE . 'classes' . PATH_SEP . 'model' . PATH_SEP . 'AddonsMana
function runBgProcessmaker($task, $log)
{
require_once (PATH_CORE . "bin/tasks/cliAddons.php");
//require_once PATH_CORE . 'classes' . PATH_SEP . 'class.enterpriseUtils.php';
/*
$pmosFilename = PATH_TRUNK . "processmaker";
$cmd = "php -f \"$pmosFilename\" $task";
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
$str = system("$cmd 1> \"$log.log\" 2> \"$log.err\" < /dev/null &", $retval);
}
*/
$task = str_replace("\"", null, $task);
$data = explode(" ", $task);