/** * check easy install * @return void */ function checkEasyinstall() { $lastTime = (int) FileHandler::readFile($this->easyinstallCheckFile); if ($lastTime > $_SERVER['REQUEST_TIME'] - 60 * 60 * 24 * 30) { return; } $oAutoinstallModel = getModel('autoinstall'); $params = array(); $params["act"] = "getResourceapiLastupdate"; $body = XmlGenerater::generate($params); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml"); $xml_lUpdate = new XmlParser(); $lUpdateDoc = $xml_lUpdate->parse($buff); $updateDate = $lUpdateDoc->response->updatedate->body; if (!$updateDate) { $this->_markingCheckEasyinstall(); return; } $item = $oAutoinstallModel->getLatestPackage(); if (!$item || $item->updatedate < $updateDate) { $oController = getAdminController('autoinstall'); $oController->_updateinfo(); } $this->_markingCheckEasyinstall(); }
/** * Request data to server and returns result * * @param array $params Request data * @return object */ function getXmlDoc(&$params) { $body = XmlGenerater::generate($params); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml"); if (!$buff) { return; } $xml = new XmlParser(); $xmlDoc = $xml->parse($buff); return $xmlDoc; }
/** * Request data to server and returns result * * @param array $params Request data * @return object */ function getXmlDoc(&$params) { $body = XmlGenerater::generate($params); $request_config = array('ssl_verify_peer' => FALSE, 'ssl_verify_host' => FALSE); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml", array(), array(), array(), $request_config); if (!$buff) { return; } $xml = new XmlParser(); $xmlDoc = $xml->parse($buff); return $xmlDoc; }
/** * Update easy install information * * @return void */ function _updateinfo() { $oModel =& getModel('autoinstall'); $item = $oModel->getLatestPackage(); if ($item) { $params["updatedate"] = $item->updatedate; } $params["act"] = "getResourceapiUpdate"; $body = XmlGenerater::generate($params); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml"); $xml = new XmlParser(); $xmlDoc = $xml->parse($buff); $this->updateCategory($xmlDoc); $this->updatePackages($xmlDoc); $this->checkInstalled(); }
/** * Update easy install information * * @return void */ function _updateinfo() { $oModel = getModel('autoinstall'); $item = $oModel->getLatestPackage(); if ($item) { $params["updatedate"] = $item->updatedate; } $params["act"] = "getResourceapiUpdate"; $body = XmlGenerater::generate($params); $request_config = array('ssl_verify_peer' => FALSE, 'ssl_verify_host' => FALSE); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml", array(), array(), array(), $request_config); $xml = new XmlParser(); $xmlDoc = $xml->parse($buff); $this->updateCategory($xmlDoc); $this->updatePackages($xmlDoc); $this->checkInstalled(); $oAdminController = getAdminController('admin'); $output = $oAdminController->cleanFavorite(); }
/** * Display uninstall package * * @return Object */ function dispAutoinstallAdminUninstall() { $package_srl = Context::get('package_srl'); if (!$package_srl) { return $this->dispAutoinstallAdminIndex(); } $oModel =& getModel('autoinstall'); $installedPackage = $oModel->getInstalledPackage($package_srl); if (!$installedPackage) { return $this->dispAutoinstallAdminInstalledPackages(); } if (!$_SESSION['ftp_password']) { Context::set('need_password', true); } $installedPackage = $oModel->getPackage($package_srl); $path = $installedPackage->path; $type = $oModel->getTypeFromPath($path); if (!$type || $type == "core") { return $this->stop("msg_invalid_request"); } $config_file = $oModel->getConfigFilePath($type); if (!$config_file) { return $this->stop("msg_invalid_request"); } $params["act"] = "getResourceapiPackages"; $params["package_srls"] = $package_srl; $body = XmlGenerater::generate($params); $buff = FileHandler::getRemoteResource(_XE_DOWNLOAD_SERVER_, $body, 3, "POST", "application/xml"); $xml_lUpdate = new XmlParser(); $xmlDoc = $xml_lUpdate->parse($buff); if ($xmlDoc && $xmlDoc->response->packagelist->item) { $item_list = $this->rearranges($xmlDoc->response->packagelist->item); $installedPackage->title = $item_list[$package_srl]->title; $installedPackage->type = $item_list[$package_srl]->category; $installedPackage->avail_remove = $item_list[$package_srl]->avail_remove; $installedPackage->deps = $item_list[$package_srl]->deps; Context::set('package', $installedPackage); $this->setTemplateFile('uninstall'); Context::addJsFilter($this->module_path . 'tpl/filter', 'uninstall_package.xml'); $security = new Security(); $security->encodeHTML('package.'); $this->setTemplateFile('uninstall'); } else { return $this->stop('msg_connection_fail'); } }
/** * Get install info * * @param int $packageSrl Package sequence to get info * @return stdClass install info */ public function getInstallInfo($packageSrl) { $params["act"] = "getResourceapiInstallInfo"; $params["package_srl"] = $packageSrl; $xmlDoc = XmlGenerater::getXmlDoc($params); $oModel = getModel('autoinstall'); $targetpackages = array(); if ($xmlDoc) { $xmlPackage = $xmlDoc->response->package; $package = new stdClass(); $package->package_srl = $xmlPackage->package_srl->body; $package->title = $xmlPackage->title->body; $package->package_description = $xmlPackage->package_description->body; $package->version = $xmlPackage->version->body; $package->path = $xmlPackage->path->body; if ($xmlPackage->depends) { if (!is_array($xmlPackage->depends->item)) { $xmlPackage->depends->item = array($xmlPackage->depends->item); } $package->depends = array(); foreach ($xmlPackage->depends->item as $item) { $dep_item = new stdClass(); $dep_item->package_srl = $item->package_srl->body; $dep_item->title = $item->title->body; $dep_item->version = $item->version->body; $dep_item->path = $item->path->body; $package->depends[] = $dep_item; $targetpackages[$dep_item->package_srl] = 1; } $packages = $oModel->getInstalledPackages(array_keys($targetpackages)); $package->deplist = ""; foreach ($package->depends as $key => $dep) { if (!$packages[$dep->package_srl]) { $package->depends[$key]->installed = FALSE; $package->package_srl .= "," . $dep->package_srl; } else { $package->depends[$key]->installed = TRUE; $package->depends[$key]->cur_version = $packages[$dep->package_srl]->current_version; if (version_compare($dep->version, $packages[$dep->package_srl]->current_version, ">")) { $package->depends[$key]->need_update = TRUE; $package->package_srl .= "," . $dep->package_srl; if ($dep->path === '.') { $package->contain_core = TRUE; } } else { $package->need_update = FALSE; } } } } $installedPackage = $oModel->getInstalledPackage($package_srl); if ($installedPackage) { $package->installed = TRUE; $package->cur_version = $installedPackage->current_version; $package->need_update = version_compare($package->version, $installedPackage->current_version, ">"); } if ($package->path === '.') { $package->contain_core = TRUE; } } return $package; }