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")); }
function index() { return dispatcher::redirect(array("action" => "page_not_found")); }
/** 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; }
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")); }
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); } }