function process_request($action) { global $error_handler; if ($this->get_user_info()) { if ($action == 'session_ttl') { $s = new Session($this->user); if ($s->initByID($_REQUEST['sid'])) { echo $s->keepAlive(); } else { echo "0"; } return; } if ($action == 'cyfe') { $Cyfe = new Cyfe($_REQUEST['user']); $Cyfe->{$_REQUEST}['view_action'](); } $error_handler->init($this->user); if ($this->check_if_logged_in()) { $error_handler->init($this->user); $this->return['auth'] = 1; $view = isset($_REQUEST['view']) ? $_REQUEST['view'] : ""; $view_action = isset($_REQUEST['view_action']) ? $_REQUEST['view_action'] : ""; if ($action != 'autocomplete' || $action != 'ext_track' || $action != 'notify') { $info = array('action' => $_REQUEST['action'], 'view_action' => isset($_REQUEST['view']) ? $_REQUEST['view'] : '', 'session_id' => $_REQUEST['sid'], 'data' => isset($_REQUEST['data']) ? $_REQUEST['data'] : '', 'user_id' => $this->user['uid'], 'user_db' => $this->user['database'], 'browser' => $_REQUEST['browser'], 'browser_version' => $_REQUEST['browser_version'], 'os' => $_REQUEST['os'], 'ip' => $_REQUEST['ip']); HOOK::Log("post", "activitylog", $this->user['folder'], $info); } switch ($action) { case 'view': if (!isset($this->user['status'])) { $view = 'tracking'; } $iView = new $view($this->user, $this->return); $custom_data = isset($_REQUEST['data']) ? $_REQUEST['data'] : ""; $iView->{$view_action}($custom_data); $this->return = $iView->get_return(); $this->return['error'] = $error_handler->error_message; print json_encode($this->return); break; case 'integrate': $integrate = new IntegrationHandler($this->user); $integrate->process_request($view_action, $_POST); $this->return['error'] = $error_handler->error_message; print json_encode($this->return); break; case 'shiponline': $shiponline = new shiponlineHandler($this->user); $custom_data = isset($_REQUEST['data']) ? $_REQUEST['data'] : ""; $this->return = $shiponline->{$view_action}($_REQUEST); //$this->return['error'] = $error_handler->error_message; print json_encode($this->return); break; default: $this->{$action}(); } } else { if (method_exists($this, $action)) { $this->{$action}(); } else { $backup = array(); $backup['action'] = $_REQUEST['action']; $backup['view'] = $_REQUEST['view']; $backup['view_action'] = $_REQUEST['view_action']; $this->return['data'] = $backup; $this->return['auth'] = 0; $this->return['error'] = $error_handler->error_message; print json_encode($this->return); } } } }