} else { throw new Exception($r->message); } } catch (Exception $e) { $response["message"] = $e->getMessage(); $status = 0; } if ($status == 0) { $response["status"] = "ERROR"; } echo G::json_encode($response); exit(0); break; case "addonslist": $type = isset($_REQUEST['type']) ? $_REQUEST['type'] : 'plugin'; $result = AddonsStore::addonList($type); break; break; default: throw new Exception("Action \"{$action}\" is not valid"); } if (!isset($result["success"])) { $result["success"] = true; } if (isset($result["addons"])) { $result["addons"] = array_values($result["addons"]); } else { $result["addons"] = array(); } echo G::json_encode($result); } catch (Exception $e) {
public static function addonFeatureList() { $result = array(); AddonsStore::checkLicenseStore(); $licenseManager =& pmLicenseManager::getSingleton(); //Getting the licenseManager $result["store_errors"] = array(); list($stores, $errors) = AddonsStore::updateAll(false); foreach ($errors as $store_id => $store_error) { $result["store_errors"][] = array("id" => $store_id, "msg" => $store_error); } $result["addons"] = array(); $result["errors"] = array(); $criteria = new Criteria(); $criteria->addAscendingOrderByColumn(AddonsManagerPeer::ADDON_TYPE); $criteria->addAscendingOrderByColumn(AddonsManagerPeer::ADDON_ID); $addons = AddonsManagerPeer::doSelect($criteria); foreach ($addons as $addon) { $status = $addon->getAddonStatus(); $version = $addon->getAddonVersion(); $enabled = null; if (!$addon->checkState()) { $result["errors"][] = array("addonId" => $addon->getAddonId(), "storeId" => $addon->getStoreId()); } $sw = 1; $addonInLicense = in_array($addon->getAddonId(), $licenseManager->features); if ($sw == 1 && $addon->getAddonId() != "enterprise" && !$addonInLicense) { $sw = 0; } if ($sw == 1 && $addon->isInstalled()) { if ($addon->isEnabled()) { $status = "installed"; } else { $status = "disabled"; } $version = $addon->getInstalledVersion(); if (version_compare($version . "", $addon->getAddonVersion() . "", "<")) { $status = "upgrade"; } $enabled = $addon->isEnabled(); $sw = 0; } if ($sw == 1 && $addonInLicense) { $status = "ready"; $sw = 0; } $state = $addon->getAddonState(); $log = null; if ($state != null) { $status = $state; $log = $addon->getInstallLog(); } if ($addon->getAddonId() == "enterprise" && $status == 'ready') { $status = 'installed'; } if ($status == 'minus-circle') { $status = "available"; } $result["addons"][$addon->getAddonId()] = array("id" => $addon->getAddonId(), "store" => $addon->getStoreId(), "name" => $addon->getAddonName(), "nick" => $addon->getAddonNick(), "version" => $version, "enabled" => $enabled, "latest_version" => $addon->getAddonVersion(), "type" => $addon->getAddonType(), "release_type" => $addon->getAddonReleaseType(), "url" => $addon->getAddonDownloadUrl(), "publisher" => $addon->getAddonPublisher(), "description" => $addon->getAddonDescription(), "status" => $status, "log" => $log, "progress" => round($addon->getAddonDownloadProgress())); } return $result; }
} $pluginDetail = $pluginRegistry->getPluginDetails($sClassName . ".php"); $pluginRegistry->installPlugin($pluginDetail->sNamespace); //error } file_put_contents(PATH_DATA_SITE . "plugin.singleton", $pluginRegistry->serializeInstance()); $licfile = glob(PATH_PLUGINS . "*.dat"); if (isset($licfile[0]) && is_file($licfile[0])) { $licfilename = basename($licfile[0]); @copy($licfile[0], PATH_DATA_SITE . $licfilename); @unlink($licfile[0]); } require_once 'classes/model/AddonsStore.php'; AddonsStore::checkLicenseStore(); $licenseManager =& pmLicenseManager::getSingleton(); AddonsStore::updateAll(false); $message = G::loadTranslation('ID_ENTERPRISE_INSTALLED') . ' ' . G::loadTranslation('ID_LOG_AGAIN'); G::SendMessageText($message, "INFO"); $licenseManager =& pmLicenseManager::getSingleton(); die('<script type="text/javascript">parent.parent.location = "../login/login";</script>'); } } if (!$_FILES['form']['type']['PLUGIN_FILENAME'] == 'application/octet-stream') { $pluginFilename = $_FILES['form']['type']['PLUGIN_FILENAME']; throw new Exception(G::loadTranslation('ID_FILES_INVALID_PLUGIN_FILENAME', SYS_LANG, array("pluginFilename" => $pluginFilename))); } G::LoadThirdParty('pear/Archive', 'Tar'); $tar = new Archive_Tar($path . $filename); $sFileName = substr($filename, 0, strrpos($filename, '.')); $sClassName = substr($filename, 0, strpos($filename, '-')); $sClassName = !empty($sClassName) ? $sClassName : $sFileName;
public function enterpriseSystemUpdate($data) { if (count(glob(PATH_DATA_SITE . 'license/*.dat')) == 0) { return; } require_once "classes/model/Users.php"; $user = $data; $criteria = new Criteria("workflow"); //SELECT $criteria->addSelectColumn(UsersPeer::USR_UID); //FROM //WHERE $criteria->add(UsersPeer::USR_USERNAME, $user->lName); //$user->lPassword $criteria->add(UsersPeer::USR_ROLE, "PROCESSMAKER_ADMIN"); //query $rsSQLUSR = UsersPeer::doSelectRS($criteria); $rsSQLUSR->setFetchmode(ResultSet::FETCHMODE_ASSOC); $sw = 0; if (UsersPeer::doCount($criteria) > 0) { //if ($rsSQLUSR->getRecordCount() > 0) { $sw = 1; } /* $cnn = Propel::getConnection("workflow"); $stmt = $cnn->createStatement(); $sql = "SELECT USR.USR_UID FROM USERS AS USR WHERE USR.USR_USERNAME = '******' AND USR.USR_ROLE = 'PROCESSMAKER_ADMIN'"; $rsSQLUSR = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); $sw = 0; if ($rsSQLUSR->getRecordCount() > 0) { $sw = 1; } */ if ($sw == 1) { //Upgrade available $swUpgrade = 0; $addonList = AddonsStore::addonList(); $addon = $addonList["addons"]; if (count($addon) > 0) { $status = array("ready", "upgrade", "available"); $pmVersion = EnterpriseUtils::pmVersion(PM_VERSION); foreach ($addon as $index => $value) { if ($addon[$index]["id"] == "processmaker") { if (version_compare($pmVersion . "", EnterpriseUtils::pmVersion($addon[$index]["version"]) . "", "<")) { $swUpgrade = 1; break; } } else { if (in_array($addon[$index]["status"], $status)) { $swUpgrade = 1; break; } } } } if ($swUpgrade == 1) { $_SESSION["__ENTERPRISE_SYSTEM_UPDATE__"] = 1; } } }
public function enable() { $this->setConfiguration(); require_once PATH_CORE . 'classes/model/AddonsStore.php'; AddonsStore::checkLicenseStore(); $licenseManager =& pmLicenseManager::getSingleton(); AddonsStore::updateAll(false); }
<?php require_once PATH_CORE . 'classes' . PATH_SEP . 'class.pmLicenseManager.php'; require_once PATH_CORE . "classes" . PATH_SEP . "model" . PATH_SEP . "AddonsStore.php"; require_once PATH_CORE . "classes" . PATH_SEP . "class.enterpriseUtils.php"; AddonsStore::checkLicenseStore(); $licenseManager =& pmLicenseManager::getSingleton(); $oHeadPublisher =& headPublisher::getSingleton(); if (isset($licenseManager->date) && is_array($licenseManager->date)) { G::LoadClass("configuration"); $conf = new Configurations(); if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) { $licenseManager->date['START'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['START'])); $licenseManager->date['END'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['END'])); $licenseManager->date['START'] = $conf->getSystemDate($licenseManager->date['START']); $licenseManager->date['END'] = $conf->getSystemDate($licenseManager->date['END']); } else { $licenseManager->date['START'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['START'])); $licenseManager->date['END'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['END'])); $licenseManager->date['START'] = G::getformatedDate($licenseManager->date['START'], 'M d, yyyy', SYS_LANG); $licenseManager->date['END'] = G::getformatedDate($licenseManager->date['END'], 'M d, yyyy', SYS_LANG); } } if (isset($licenseManager->result) && $licenseManager->result == "OK") { $oHeadPublisher->assign("license_start_date", $licenseManager->date["START"]); $oHeadPublisher->assign("license_end_date", $licenseManager->expireIn != "NEVER" ? $licenseManager->date["END"] : "NA"); $oHeadPublisher->assign("license_user", $licenseManager->info["FIRST_NAME"] . " " . $licenseManager->info["LAST_NAME"] . " (" . $licenseManager->info["DOMAIN_WORKSPACE"] . ")"); $oHeadPublisher->assign("license_span", $licenseManager->expireIn != "NEVER" ? ceil($licenseManager->date["SPAN"] / 60 / 60 / 24) : "~"); $oHeadPublisher->assign("license_name", $licenseManager->type); $oHeadPublisher->assign("license_server", $licenseManager->server); $oHeadPublisher->assign("license_expires", $licenseManager->expireIn);