Example #1
0
 /**
  * Display the repository details
  *
  * @return     void
  */
 public function displayTask()
 {
     $this->view->total = 0;
     $this->view->filters = array();
     // Paging
     $this->view->filters['limit'] = Request::getState($this->_option . '.' . $this->_controller . '.limit', 'limit', Config::get('list_limit'), 'int');
     $this->view->filters['start'] = Request::getState($this->_option . '.' . $this->_controller . '.limitstart', 'limitstart', 0, 'int');
     $this->view->filters['status'] = trim(Request::getState($this->_option . '.' . $this->_controller . '.status', 'status', 'upcoming'));
     $this->view->filters['search'] = trim(Request::getState($this->_option . '.' . $this->_controller . '.search', 'search', ''));
     $upcoming = false;
     $installed = true;
     if ($this->view->filters['status'] == 'upcoming' || $this->view->filters['status'] == 'all') {
         $upcoming = true;
         if ($this->view->filters['status'] == 'upcoming') {
             $installed = false;
         }
     }
     $source = Component::params('com_update')->get('git_repository_source', null);
     $this->view->rows = json_decode(Cli::log($this->view->filters['limit'], $this->view->filters['start'], $this->view->filters['search'], $upcoming, $installed, false, $source));
     $this->view->total = json_decode(Cli::log($this->view->filters['limit'], $this->view->filters['start'], $this->view->filters['search'], $upcoming, $installed, true, $source));
     $this->view->total = $this->view->total[0];
     // Set any errors
     foreach ($this->getErrors() as $error) {
         $this->view->setError($error);
     }
     // Output the HTML
     $this->view->display();
 }
Example #2
0
 /**
  * Display system information
  *
  * @apiMethod GET
  * @apiUri    /system/info
  * @apiParameter {
  * 		"name":          "values",
  * 		"description":   "Amount of data to return",
  * 		"type":          "string",
  * 		"required":      false,
  * 		"default":       "all",
  * 		"allowedValues": "all, short"
  * }
  * @return    void
  */
 public function infoTask()
 {
     $values = Request::getVar('values', 'all');
     $response = new stdClass();
     /*$ip = Request::ip();
     		$ips = explode(',', $this->config->get('whitelist', '127.0.0.1'));
     		$ips = array_map('trim', $ips);
     		if (!in_array($ip, $ips))
     		{
     			$this->setMessage($response);
     			return;
     		}
     
     		if (isset($_SERVER['SERVER_SOFTWARE']))
     		{
     			$sf = $_SERVER['SERVER_SOFTWARE'];
     		}
     		else
     		{
     			$sf = getenv('SERVER_SOFTWARE');
     		}*/
     //$commit = shell_exec("git log -1 --pretty=format:'%H - %s (%ad)' --abbrev-commit");
     //shell_exec("git log -1 --pretty=format:'%h - %s (%ci)' --abbrev-commit git merge-base local-dev dev");
     // System
     $response->system = array('cms' => App::version(), 'php' => php_uname(), 'dbversion' => App::get('db')->getVersion(), 'dbcollation' => App::get('db')->getCollation(), 'phpversion' => phpversion(), 'server' => $sf, 'last_update' => null, 'last_core_update' => null, 'environment' => Config::get('application_env', 'production'));
     require_once PATH_CORE . DS . 'components' . DS . 'com_update' . DS . 'helpers' . DS . 'cli.php';
     $source = Component::params('com_update')->get('git_repository_source', null);
     //$response->system['repositoryVersion']   = json_decode(Cli::version());
     //$response->system['repositoryVersion']   = $response->system['repositoryVersion'][0];
     //$response->system['repositoryMechanism'] = json_decode(Cli::mechanism());
     //$response->system['repositoryMechanism'] = $response->system['repositoryMechanism'][0];
     //$response->system['status']    = json_decode(Cli::status());
     $response->system['status'] = count(json_decode(Cli::status())) > 0 ? 'dirty' : 'clean';
     $response->system['upcoming'] = json_decode(Cli::update(true, false, $source));
     $response->system['migration'] = json_decode(Cli::migration());
     // Get the last update
     $rows = json_decode(Cli::log(1, 0, '', false, true, false, null));
     if ($rows) {
         $props = get_object_vars($rows);
         foreach ($props as $key => $item) {
             $response->system['last_update'] = $item;
         }
     }
     // Get last core update
     $rows = json_decode(Cli::log(1, 0, 'Merge remote-tracking', false, true, false, null));
     if ($rows) {
         $props = get_object_vars($rows);
         foreach ($props as $key => $item) {
             $response->system['last_update_core'] = $item;
         }
     }
     if (strstr($values, ',') || $values != 'all' && $values != 'short') {
         $keys = explode(',', $values);
         $keys = array_map('trim', $keys);
         $keys = array_map('strtolower', $keys);
         $data = array();
         foreach ($keys as $key) {
             $data[$key] = $response->system[$key];
         }
         $response->system = $data;
     }
     $results = Event::trigger('hubzero.onSystemOverview', array($values));
     if ($results) {
         $response->overview = array();
         foreach ($results as $result) {
             if ($result) {
                 $response->overview[] = $result;
             }
         }
     }
     $this->send($response);
 }