HOR-1459
This commit is contained in:
@@ -458,4 +458,47 @@ class AddonsManager extends BaseAddonsManager
|
|||||||
}
|
}
|
||||||
return true;
|
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)) {
|
if (is_array($list)) {
|
||||||
foreach ($list['addons'] as $key => $feature) {
|
foreach ($list['addons'] as $key => $feature) {
|
||||||
$addon = new AddonsManager();
|
$addon = new AddonsManager();
|
||||||
$addon->setAddonId($feature['name']);
|
if($addon->exists($feature['name'],$feature['guid'])){
|
||||||
$addon->setStoreId($feature['guid']);
|
$arrayData['ADDON_ID'] = $feature['name'];
|
||||||
$addon->setAddonName($feature['name']);
|
$arrayData['STORE_ID'] = $feature['guid'];
|
||||||
$addon->setAddonDescription($feature['description']);
|
$arrayData['ADDON_NAME'] = $feature['name'];
|
||||||
$addon->setAddonNick($feature['nick']);
|
$arrayData['ADDON_NICK'] = $feature['nick'];
|
||||||
$addon->setAddonVersion("");
|
$arrayData['ADDON_DESCRIPTION'] = $feature['description'];
|
||||||
$addon->setAddonStatus($feature['status']);
|
$arrayData['ADDON_STATE'] = '';
|
||||||
$addon->setAddonType("features");
|
$arrayData['ADDON_STATUS'] = $feature['status'];
|
||||||
$addon->setAddonPublisher("Colosa");
|
$arrayData['ADDON_VERSION'] = '';
|
||||||
$addon->setAddonDownloadUrl("");
|
$arrayData['ADDON_TYPE'] = 'features';
|
||||||
$addon->setAddonDownloadMd5("");
|
$arrayData['ADDON_PUBLISHER'] = 'Colosa';
|
||||||
$addon->setAddonReleaseDate(null);
|
$arrayData['ADDON_RELEASE_DATE'] = null;
|
||||||
$addon->setAddonReleaseType('localRegistry');
|
$arrayData['ADDON_RELEASE_TYPE'] = 'localRegistry';
|
||||||
$addon->setAddonReleaseNotes("");
|
$arrayData['ADDON_RELEASE_NOTES'] = '';
|
||||||
$addon->setAddonState("");
|
$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)
|
function runBgProcessmaker($task, $log)
|
||||||
{
|
{
|
||||||
require_once (PATH_CORE . "bin/tasks/cliAddons.php");
|
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);
|
$task = str_replace("\"", null, $task);
|
||||||
$data = explode(" ", $task);
|
$data = explode(" ", $task);
|
||||||
|
|||||||
Reference in New Issue
Block a user