HOR-1459
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user