public function execute() { $this->view->assign('action', 'update'); $counter = array('total' => 0, 'applicable' => 0, 'payware' => 0); $app_list = array(); $this->view->assign('error', false); $messages = installerMessage::getInstance()->handle(waRequest::get('msg')); try { $app_list = installerHelper::getApps($messages, $counter); foreach ($app_list as &$info) { if ($info['slug'] == 'installer') { $info['name'] = _w('Webasyst Framework'); break; } } unset($info); $plugin_list = installerHelper::getSystemPlugins($messages, $counter); } catch (Exception $ex) { $messages[] = array('text' => $ex->getMessage(), 'result' => 'fail'); } installerHelper::checkUpdates($messages); $this->view->assign('messages', $messages); //$this->view->assign('install_counter', $model->get($this->getApp(), 'install_counter')); $this->getConfig()->setCount($counter['total'] ? $counter['total'] : null); $this->view->assign('update_counter', $counter['total']); $this->view->assign('update_counter_applicable', $counter['applicable']); $this->view->assign('apps', $app_list); $this->view->assign('plugins', $plugin_list); $this->view->assign('identity_hash', installerHelper::getHash()); $this->view->assign('title', _w('Updates')); }
public function execute() { parent::execute(); $this->view->assign('systemplugins', installerHelper::getSystemPlugins($messages, $this->update_counter)); if (waRequest::get('subject') == 'systemplugins') { $this->view->assign('selected_type', waRequest::get('slug')); } $this->getConfig()->setCount($this->update_counter ? $this->update_counter : null); $this->view->assign('update_counter', $this->update_counter); }
public function onCount() { $args = func_get_args(); $force = array_shift($args); $model = new waAppSettingsModel(); $app_id = $this->getApplication(); $update_counter = null; if ($force || time() - $model->get($app_id, 'update_counter_timestamp', 0) > 600 || is_null($update_counter = $model->get($app_id, 'update_counter', null))) { $license = $model->get('webasyst', 'license', false); $apps = new waInstallerApps($license, null, 600, $force); $app_list = $apps->getApplicationsList(false); $update_counter = waInstallerApps::getUpdateCount($app_list); $messages = ''; installerHelper::getSystemPlugins($messages, $update_counter); $model->ping(); $model->set($app_id, 'update_counter', $update_counter); $model->set($app_id, 'update_counter_timestamp', time()); } elseif (is_null($update_counter)) { $update_counter = $model->get($app_id, 'update_counter'); } return $update_counter ? $update_counter : null; }