Example #1
0
 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);
             }
         }
     }
 }