Exemplo n.º 1
0
 function contact()
 {
     global $__in, $__out;
     $page = new page($__in['id']);
     if ($page->send_contact_email($__in['contact']['name'], $__in['contact']['email'], $__in['contact']['subject'], $__in['contact']['message'])) {
         $__out['contact'] = $__in['contact'];
         return dispatcher::redirect(array("action" => "contact_thankyou"));
     } else {
         $__out['contact'] = $__in['contact'];
         return dispatcher::redirect(array("action" => "showonepage", "id" => $__in['id']));
     }
 }
 function index()
 {
     return dispatcher::redirect(array("action" => "getall"));
 }
Exemplo n.º 3
0
 function index()
 {
     return dispatcher::redirect(array("action" => "page_not_found"));
 }
Exemplo n.º 4
0
 /**
 Sets the permissions for a group.
 */
 function set_permissions()
 {
     global $__in, $__out;
     try {
         $group = new group($__in['id']);
         $__out['group'] = $group->this_to_array();
         $permission = new permission();
         $__out['arr_permissions'] = $permission->assoc_array_from_result_array($permission->getall(), "id", "description");
         $__out['selected_permission_ids'] = $group->get_selected_permission_ids();
         if ($__in['__is_form_submitted']) {
             // if form is submitted
             $group->set_permissions($__in['group']['permissions']);
             return dispatcher::redirect(array("action" => "getall"), "updated_successfully");
         }
     } catch (ValidationException $ex) {
         $ex->publish_errors();
     } catch (Exception $ex) {
         throw $ex;
     }
     return true;
 }
Exemplo n.º 5
0
require_once "config/translation/" . $__out['lang'] . ".php";
try {
    dispatcher::request();
    // handle request
} catch (PermissionDeniedException $ex) {
    if ($_SESSION['group_id'] == 0) {
        // visitor
        dispatcher::redirect(array("controller" => "user", "action" => "login"), "please_login_first");
    } else {
        dispatcher::redirect(array("controller" => "errors", "action" => "permission_denied"));
    }
} catch (PageNotFoundException $ex) {
    if (DEBUG) {
        exception_handler($ex);
    } else {
        dispatcher::redirect(array("controller" => "errors", "action" => "page_not_found"));
    }
} catch (Exception $ex) {
    exception_handler($ex);
}
$__out['user_id'] = $_SESSION['user_id'];
$__out['__errors'] = $__errors;
/**< Add the $__errors array to the array of output ($__out) to be shown on the template when displayed. */
$__out['__info'] = $__info;
/**< Add the $__info array to the array of output ($__out) to be shown on the template when displayed. */
//-------------------------------------------------------------
// view handling
require_once "lib/clssmarty.php";
$template = new clssmarty();
$template->display_index();
/**< assign the $__out variables to the template and display the main tpl of the current language and current theme and current group. */
 /**
  * Impersonates a user
  * @global array $__in
  * @global array $__out
  * @return boolean
  */
 public function impersonate()
 {
     global $__in, $__out;
     try {
         $user = new user($__in['id']);
         $user->impersonate();
     } catch (ValidationException $ex) {
         $ex->publish_errors();
     } catch (Exception $ex) {
         throw $ex;
     }
     return dispatcher::redirect(array("controller" => "user", "action" => "home"));
 }
Exemplo n.º 7
0
 public static function process()
 {
     if (array_key_exists('c', $_GET)) {
         $controller_name = $_GET['c'];
     }
     if (array_key_exists('a', $_GET)) {
         $action_name = $_GET['a'];
     }
     if (array_key_exists('v', $_GET)) {
         $value = $_GET['v'];
     }
     if (array_key_exists('sv', $_GET)) {
         $sub_value = $_GET['sv'];
     }
     // set default values
     if (!isset($controller_name)) {
         $controller_name = 'home';
     }
     if (!isset($action_name)) {
         $action_name = 'index';
     }
     if (!isset($value)) {
         $value = '';
     }
     if (!isset($sub_value)) {
         $sub_value = '';
     }
     $verb = strtoupper($_SERVER['REQUEST_METHOD']);
     $query_string_array = array();
     if (array_key_exists('QUERY_STRING', $_SERVER)) {
         parse_str($_SERVER['QUERY_STRING'], $query_string_array);
     }
     $session_service = service_factory::get_session_service();
     $session_service->set();
     $session_service->extend();
     switch ($controller_name) {
         case 'home':
             global $model;
             $controller = controller_factory::get_home_controller();
             $model = $controller->index();
             break;
         case 'account':
             global $model;
             $controller = controller_factory::get_account_controller();
             switch ($action_name) {
                 case 'signup':
                     if ($verb === 'POST') {
                         $model = $controller->do_signup($_POST['first-name'], $_POST['last-name'], $_POST['username'], $_POST['password']);
                     } else {
                         $model = $controller->show_signup();
                     }
                     break;
                 case 'signin':
                     if ($verb === 'POST') {
                         $model = $controller->do_signin($_POST['account-username'], $_POST['account-password']);
                         if ($model->success) {
                             dispatcher::redirect('/');
                         }
                     } else {
                         $url = '';
                         if (array_key_exists('url', $query_string_array)) {
                             $url = $query_string_array['url'];
                         }
                         $model = $controller->show_signin($url);
                     }
                     break;
                 case 'signout':
                     $controller->signout();
                     dispatcher::redirect('/');
                     break;
             }
             break;
         case 'location':
             global $session;
             $controller = controller_factory::get_list_controller();
             switch ($action_name) {
                 case 'index':
                     if ($session) {
                         $data = $controller->get_locations($session->user_id);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 case 'tracking':
                     if ($session) {
                         $data = $controller->get_trackings_by_location($value, $session->user_id);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 case 'checkin':
                     $data = $controller->get_trackings_by_location($value, 0);
                     dispatcher::dispatch(200, count($data), 'application/json');
                     break;
                 case 'report':
                     if ($session) {
                         $data = $controller->get_location_report_by_date($value);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 case 'status':
                     if ($session) {
                         $data = $controller->get_tracking_status($value, $session->user_id);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 case 'join':
                     if ($verb === 'POST') {
                         if ($session) {
                             $data = $controller->join_location($value, $session->user_id);
                             dispatcher::dispatch(200, json_encode($data), 'application/json');
                         } else {
                             dispatcher::dispatch_error(401);
                         }
                     }
                     break;
                 case 'approve':
                     if ($verb === 'POST') {
                         if ($session) {
                             $data = $controller->approve_user_at_location($value, $sub_value);
                             dispatcher::dispatch(200, json_encode($data), 'application/json');
                         } else {
                             dispatcher::dispatch_error(401);
                         }
                     }
                     break;
                 case 'deactivate':
                     if ($verb === 'POST') {
                         if ($session) {
                             $data = $controller->deactivate_user_at_location($value, $sub_value);
                             dispatcher::dispatch(200, json_encode($data), 'application/json');
                         } else {
                             dispatcher::dispatch_error(401);
                         }
                     }
                     break;
                 case 'reactivate':
                     if ($verb === 'POST') {
                         if ($session) {
                             $data = $controller->reactivate_user_at_location($value, $sub_value);
                             dispatcher::dispatch(200, json_encode($data), 'application/json');
                         } else {
                             dispatcher::dispatch_error(401);
                         }
                     }
                     break;
                 case 'show':
                     if ($session) {
                         $data = $controller->get_location($value, $session->user_id);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 case 'member':
                     if ($session) {
                         $data = $controller->get_members($value);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         dispatcher::dispatch_error(401);
                     }
                     break;
                 default:
                     // do nothing
             }
             break;
         case 'list':
             global $model;
             global $session;
             if ($session) {
                 $controller = controller_factory::get_list_controller();
                 $model = $controller->index();
             } else {
                 dispatcher::dispatch_error(401);
             }
             break;
         case 'tracking':
             if ($verb === 'POST') {
                 global $session;
                 if ($session) {
                     $controller = controller_factory::get_list_controller();
                     $post_data = routing::parse_post_data();
                     if ($action_name === 'checkin') {
                         $data = $controller->check_in($post_data->location_id, $session->user_id);
                         dispatcher::dispatch(200, json_encode($data), 'application/json');
                     } else {
                         if ($action_name === 'checkout') {
                             $data = $controller->check_out($post_data->location_id, $session->user_id);
                             dispatcher::dispatch(200, json_encode($data), 'application/json');
                         }
                     }
                 } else {
                     dispatcher::dispatch_error(401);
                 }
             }
             break;
         default:
             // do nothing
     }
     // fallback
     if (dispatcher::load_view($controller_name, $action_name)) {
         exit;
     } else {
         // error
         dispatcher::dispatch_error(404);
     }
 }