/**
  * Show info template
  * 
  * @param string error message
  * @param array screen info
  */
 private function show_template_info($error = null, $screen = null)
 {
     onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
     onapp_permission('roles');
     $params = array('title' => onapp_string('SCREENS_'), 'screen' => $screen, 'screen_id' => onapp_get_arg('screen_id'), 'info_title' => onapp_string('SCREEN_INFO'), 'info_body' => onapp_string('SCREEN_INFO_INFO'));
     onapp_show_template('screen_info', $params);
 }
 /**
  * Initializes php error levels and frontend error levels arrays
  * Displays index log settings page
  *
  * @param string error message
  * @param string success or other message
  * @return void
  */
 private function show_template_view($message = NULL)
 {
     onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
     onapp_permission('roles');
     $params = array('title' => onapp_string($this->config['title']), 'log_levels_frontend' => onapp_get_frontend_errors(), 'php_error_levels' => onapp_get_php_errors(), 'message' => onapp_string($message), 'config' => parse_ini_file(ONAPP_PATH . ONAPP_DS . 'config.ini'), 'template' => $this->config['template'], 'info_title' => onapp_string($this->config['info_title']), 'info_body' => onapp_string($this->config['info_body']));
     if ($this->config['template'] == NULL) {
         onapp_die('No config[template] exists');
     }
     onapp_show_template('configuration_view', $params);
 }
 /**
  * Startups load balancer
  *
  * @global array $_ALIASES menu page aliases
  * @param integer balancer Id
  * @return void
  */
 private function startup($id)
 {
     global $_ALIASES;
     onapp_debug(__METHOD__);
     onapp_debug('id => ' . $id);
     onapp_permission(array('load_balancers', 'load_balancing_clusters', 'load_balancing_clusters.read', 'load_balancing_clusters.read.own'));
     $onapp = $this->get_factory();
     $load_balancer = $onapp->factory('LoadBalancer', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
     $load_balancer->_id = $id;
     $load_balancer->startup();
     if (is_null($load_balancer->error)) {
         onapp_event_exec('load_balancer_startup', array($load_balancer->_obj, $this->load('User', array($load_balancer->_obj->_user_id))));
         $_SESSION['message'] = 'BALANCER_STARTUP_HAS_BEEN_QUEUED';
         onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['load_balancers'] . '?action=details&id=' . $id);
     } else {
         onapp_event_exec('load_balancer_startup_failed', array($load_balancer->_obj, $this->load('User', array($load_balancer->_obj->_user_id))));
         trigger_error(print_r($load_balancer->error, true));
         $this->show_template_view($load_balancer->error);
     }
 }
 /**
  * Edits user group
  *
  * @global array $_ALIASES menu page aliases
  * @param integer user group id
  * @return void
  */
 private function group_edit($id)
 {
     global $_ALIASES;
     onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
     onapp_debug('id => ' . $id);
     onapp_permission(array('groups', 'groups.update'));
     $group = onapp_get_arg('group');
     if (is_null($group)) {
         $this->show_template_group_edit($id);
     } else {
         $onapp = $this->get_factory();
         $group_obj = $onapp->factory('UserGroup', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
         foreach ($group as $key => $value) {
             $group_obj->{$key} = $value;
         }
         $group_obj->_id = $id;
         //TODO delete this when fixed Ticket #2511
         $group_obj->_tagRoot = 'pack';
         //*****************************
         $group_obj->save();
         onapp_debug('group_obj =>' . print_r($group_obj, true));
         if (is_null($group_obj->error)) {
             onapp_event_exec('group_edit', array($group_obj->_obj));
             $_SESSION['message'] = 'GROUP_HAS_BEEN_UPDATED_SUCCESSFULLY';
             onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['users_and_groups'] . '?action=groups');
         } else {
             onapp_event_exec('group_edit_failed', array($group_obj->_obj));
             trigger_error(print_r($group_obj->error, true));
             $this->show_template_groups($group_obj->error);
         }
     }
 }
 /**
  * Opens virtual machine console id
  *
  * @global array $_ALIASES menu page aliases
  * @param interger virtual machine id
  * @return void
  */
 private function console($id)
 {
     global $_ALIASES;
     onapp_debug(__CLASS__ . ' :: ' . __FUNCTION__);
     onapp_debug('id => ' . $id);
     onapp_permission(array('virtual_machines', 'virtual_machines.console', 'virtual_machines.console.own'));
     $onapp = $this->get_factory();
     $console = $onapp->factory('Console', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
     $console_obj = $console->load($id);
     onapp_debug('console_obj => ' . print_r($console_obj, true));
     $url = $_SESSION['host'] . ONAPP_DS . 'console_remote' . ONAPP_DS . $console->_obj->_remote_key;
     if (is_null($console->error)) {
         onapp_redirect($url);
     } else {
         trigger_error(print_r($vm->error, true));
         $this->show_template_details($id, $vm->error);
     }
 }
 /**
  * Edits hypervisor's params
  *
  * @global array $_ALIASES menu page aliases
  * @param integer hypervisor id
  * @return void
  */
 private function edit($id)
 {
     global $_ALIASES;
     onapp_debug(__METHOD__);
     onapp_debug('id => ' . $id);
     $hypervisor = onapp_get_arg('hypervisor');
     onapp_permission(array('hypervisors.update', 'hypervisors'));
     if (is_null($hypervisor)) {
         $this->show_template_edit($id);
     } else {
         $onapp = $this->get_factory();
         $id = onapp_get_arg('id');
         $hypervisor_obj = $onapp->factory('Hypervisor', ONAPP_WRAPPER_LOG_REPORT_ENABLE);
         foreach ($hypervisor as $key => $value) {
             $hypervisor_obj->{$key} = $value;
         }
         $hypervisor_obj->_id = $id;
         $hypervisor_obj->save();
         onapp_debug('hypervisor_obj =>' . print_r($hypervisor_obj, true));
         if (is_null($hypervisor_obj->error)) {
             onapp_event_exec('hypervisor_edit', array($hypervisor_obj->_obj));
             $_SESSION['message'] = 'HYPERVISOR_HAS_BEEN_UPDATED_SUCCESSFULLY';
             onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['hypervisors']);
         } else {
             onapp_event_exec('hypervisor_edit_failed', array($hypervisor_obj->_obj));
             trigger_error(print_r($hypervisor_obj->error, true));
             $this->show_template_view($hypervisor_obj->error);
         }
     }
 }