public function run()
 {
     onapp_debug(__METHOD__);
     global $_ALIASES, $_SCREEN_IDS;
     $route = onapp_get_arg('route');
     onapp_debug('route => ' . $route);
     if (array_key_exists($route, $_SCREEN_IDS)) {
         $method_name = $_SCREEN_IDS[$route]['method'];
         $class_name = $_SCREEN_IDS[$route]['class'];
     } else {
         if (is_null($route)) {
             onapp_debug('$route is null!, Redirecting :' . ONAPP_BASE_URL . '/' . $_ALIASES[ONAPP_DEFAULT_ALIAS]);
             onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES[ONAPP_DEFAULT_ALIAS]);
         } else {
             onapp_debug('There is no such page, Redirecting Base Url');
             trigger_error('There is no such page => ' . ONAPP_BASE_URL . $route);
             $_SESSION['message'] = 'THERE_IS_NO_SUCH_PAGE';
             onapp_redirect(ONAPP_BASE_URL);
         }
     }
     $file_path = ONAPP_PATH . ONAPP_DS . 'controllers' . ONAPP_DS . ONAPP_CONTROLLERS . ONAPP_DS . strtolower('c_' . $class_name . '') . '.php';
     if (file_exists($file_path)) {
         require_once "{$file_path}";
     } else {
         onapp_die("Could not find file {$file_path}");
     }
     onapp_debug("ONAPP_Controller->run: args => " . print_r(array('route' => $route, 'file' => $file_path, 'class' => $class_name, 'method' => $method_name), true));
     $new_class = new $class_name();
     $new_class->{$method_name}();
 }
 /**
  * Creates a new mail template
  *
  * @global array $_ALIASES menu page aliases
  * @return void
  */
 private function create()
 {
     global $_ALIASES;
     onapp_debug(__METHOD__);
     $template = onapp_get_arg('template');
     if (is_null($template)) {
         $this->show_template_create();
     } else {
         $content = ":template_name:  " . $template['_template_name'] . "\n" . ":from: " . $template['_from'] . "\n" . ":from_name:" . $template['_from_name'] . "\n" . ":to:" . $template['_to'] . "\n" . ":copy:  " . $template['_copy'] . "\n" . ":subject: " . $template['_subject'] . "\n" . "" . "\n" . $template['_message'] . "\n            ";
         $path = ONAPP_PATH . ONAPP_DS . 'events' . ONAPP_DS . $template['_new_event'] . ONAPP_DS . 'mail' . ONAPP_DS . 'mail';
         $k = 1;
         while (file_exists($path . $k)) {
             $k++;
         }
         $written = onapp_file_write($content, NULL, $path . $k);
         if ($written) {
             $_SESSION['message'] = 'TEMPLATE_HAS_BEEN_CREATED_SUCCESSFULLY';
             onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['email_templates'] . '?action=view');
         } else {
             $error = onapp_string('TEMPLATE_HAS_NOT_BEEN_CREATED_CHECK_EVENTS_FOLDER_PERMISSIONS');
             trigger_error($error);
             $this->show_template_view($error);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * Creates new cron job in cron file
  *
  * @global array $_ALIASES url aliases
  * @return void
  */
 private function create()
 {
     onapp_debug(__METHOD__);
     global $_ALIASES;
     $cron = onapp_get_arg('cron');
     if (!$cron) {
         $this->show_template_create();
     } else {
         if ($cron['command'] == '') {
             $error = onapp_string('COMMAND_FIELD_COULD_NOT_BE_EMPTY');
             trigger_error($error);
             $this->show_template_create($error);
             exit;
         }
         $this->ssh_connect();
         $this->append_cronjob($cron['minute'] . ' ' . $cron['hour'] . ' ' . $cron['day'] . ' ' . $cron['month'] . ' ' . $cron['weekday'] . ' ' . $cron['command']);
         $_SESSION['message'] = 'CRON_JOB_HAS_BEEN_CREATED_SUCCESSFULLY';
         onapp_redirect(ONAPP_BASE_URL . '/' . $_ALIASES['cron_manager']);
     }
 }
 /**
  * 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);
         }
     }
 }
Exemplo n.º 6
0
 /**
  * Performs Logout action
  *
  * @global array $_ALIASES menu page aliases
  * @return void
  */
 function logout()
 {
     global $_ALIASES;
     //session_start( );
     session_regenerate_id();
     session_destroy();
     unset($_SESSION);
     //session_start( );
     onapp_redirect($_ALIASES["login"]);
 }
 /**
  * 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);
         }
     }
 }