File "index.php"
Full Path: /srv/www/www.cadoro.it/src/index.php
File size: 47.37 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// test
require("includes/loader.inc.php");
# language
$lang = 'it';
require("includes/smarty.inc.php");
/**************************************************************************
* CONTROLLERS
**************************************************************************/
$request_uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$request_parts = explode("/", trim($request_uri, "/"));
$request_uri = "/" . implode("/", $request_parts);
/**************************************************************************
* API v1
**************************************************************************/
# /api/1
if (count($request_parts) >= 2 && $request_parts[0] == 'api' && $request_parts[1] == '1') {
$request_parts = array_slice($request_parts, 2);
# preflight
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (_a($_SERVER, 'HTTP_ORIGIN')) {
header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN']);
header("Access-Control-Allow-Methods: HEAD, GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Authorization, Content-Type");
}
echo "Allow: HEAD, GET, POST, PUT, DELETE, OPTIONS";
exit;
}
# /login
else if (count($request_parts) == 1 && $request_parts[0] == 'login') {
require("controllers/api-login.inc.php"); exit;
}
# /registrazione
else if (count($request_parts) == 1 && $request_parts[0] == 'registrazione') {
require("controllers/api-registrazione.inc.php"); exit;
}
# /auth
else if (count($request_parts) == 1 && $request_parts[0] == 'auth') {
require("controllers/api-auth.inc.php"); exit;
}
# /auth/token
else if (count($request_parts) == 2 && $request_parts[0] == 'auth' && $request_parts[1] == 'token') {
require("controllers/api-auth-token.inc.php"); exit;
}
# /password
else if (count($request_parts) == 1 && $request_parts[0] == 'password') {
require("controllers/api-password.inc.php"); exit;
}
# authentication
else {
$user = _a($_SERVER, 'PHP_AUTH_USER');
$card = _a($_SERVER, 'PHP_AUTH_PW');
$user = $user ? models\User::get_by_id($user) : null;
$user = $user && $user['card'] == $card ? $user : null;
# not authenticated
if (!$user) {
not_found_json();
}
# /state
else if (count($request_parts) == 1 && $request_parts[0] == 'state') {
require("controllers/api-state.inc.php"); exit;
}
# /profilo
else if (count($request_parts) == 1 && $request_parts[0] == 'profilo') {
require("controllers/api-profilo.inc.php"); exit;
}
# /punti-vendita
else if (count($request_parts) == 1 && $request_parts[0] == 'punti-vendita') {
require("controllers/api-punti-vendita.inc.php"); exit;
}
# /punti-vendita/:id
else if (count($request_parts) == 2 && $request_parts[0] == 'punti-vendita') {
$id = $request_parts[1];
require("controllers/api-punti-vendita-dettaglio.inc.php"); exit;
}
# /token
else if (count($request_parts) == 1 && $request_parts[0] == 'token') {
require("controllers/api-token.inc.php"); exit;
}
# /assistenza
else if (count($request_parts) == 1 && $request_parts[0] == 'assistenza') {
require("controllers/api-assistenza.inc.php"); exit;
}
# /offerte
else if (count($request_parts) == 1 && $request_parts[0] == 'offerte') {
require("controllers/api-offerte.inc.php"); exit;
}
# /lista-spesa
else if (count($request_parts) == 1 && $request_parts[0] == 'lista-spesa') {
$id = null;
require("controllers/api-lista-spesa.inc.php"); exit;
}
# /lista-spesa/:id
else if (count($request_parts) == 2 && $request_parts[0] == 'lista-spesa' && ctype_digit($request_parts[1])) {
$id = $request_parts[1]*1;
require("controllers/api-lista-spesa-dettaglio.inc.php"); exit;
}
# /preferiti
else if (count($request_parts) == 1 && $request_parts[0] == 'preferiti') {
require("controllers/api-preferiti.inc.php"); exit;
}
# /notifiche
else if (count($request_parts) == 1 && $request_parts[0] == 'notifiche') {
require("controllers/api-notifiche.inc.php"); exit;
}
# /landing/
else if (count($request_parts) == 1 && $request_parts[0] == 'landing') {
require("controllers/api-landing.inc.php"); exit;
}
# /landing/{:slug}
else if (count($request_parts) == 2 && $request_parts[0] == 'landing') {
$slug = $request_parts[1];
require("controllers/api-landing.inc.php"); exit;
}
}
# default (not found)
not_found_json();
}
# user identification
$principal = models\User::identify();
$smarty->assign("principal", $principal);
$smarty->assign("request_uri", $request_uri);
$smarty->assign("pcookie", !isset($_COOKIE['pcookie']));
# redirect
$redirect = models\Redirect::get_by_request_uri($request_uri);
if ($redirect) {
if (substr($redirect['redirect_uri'], 0, 4) === "http") {
header("Location: " . $redirect['redirect_uri']);
exit;
} else {
header("Location: " . BASE_URL . $redirect['redirect_uri']);
exit;
}
}
# richiamo prodotto
$smarty->assign("richiamo_prodotto", models\Page::get_by_slug("/richiamo-prodotto"));
# loyalty, permanenza sito
if ($principal) {
/*
if (!_a($principal['data'], 'session') || substr($principal['data']['session'], 0, 10) != date('Y-m-d')) {
$principal['data']['session'] = date('Y-m-d H:i:s');
$principal['data']['session_points'] = 0;
$principal->update_data($principal['data']);
} else {
$delta = time() - strtotime($principal['data']['session']);
if ($delta > 0 && $delta <= 3600) {
$points = min(floor($delta / 600), 5);
if ($points && _a($principal['data'], 'session_points', 0) < $points) {
$done = 0;
$done_real = 0;
$error_tessera = 0;
for ($i = _a($principal['data'], 'session_points', 0); $i < $points; $i++) {
$res = classes\Fidelity::SetPunti($principal['card'], '03');
if (!_a($res, 'Errore')) {
$done++;
$done_real++;
} else if ($res['Errore'] == 13) {
$done++;
} else if (in_array($res['Errore'], [1,4,5,99])) {
$error_tessera = $res['Errore'];
break;
}
}
$principal['data']['session_points'] += $done;
$principal->update_data($principal['data']);
if($error_tessera != 0) {
$principal->forget();
$smarty->assign("error_tessera", $error_tessera);
}
$smarty->assign("points_loyalty", $done_real);
}
} else if ($delta > 3600) {
$principal['data']['session'] = date('Y-m-d H:i:s');
$principal->update_data($principal['data']);
}
}
if (_request('debug') == 'Jisomm6quel2') {
header("Content-Type: text/plain;");
if (isset($delta)) {
$principal['data']['session_delta'] = $delta;
}
$principal['data']['now'] = date('Y-m-d H:i:s');
print_r($principal['data']);
exit;
}
*/
//$smarty->assign("points_loyalty_count", _a(_a($principal, 'data'), 'session_points'));
$smarty->assign("points_loyalty_count", 0);
}
# CMS (slug-based)
if ($page = models\Page::get_by_slug($request_uri)) {
require("controllers/cms.inc.php"); exit;
}
# /cerca
else if (count($request_parts) == 1 && $request_parts[0] == 'cerca') {
require("controllers/cerca.inc.php"); exit;
}
# /newsletter
else if (count($request_parts) == 1 && $request_parts[0] == 'newsletter') {
require("controllers/newsletter.inc.php"); exit;
}
# /punti-vendita
else if (count($request_parts) == 1 && $request_parts[0] == 'punti-vendita') {
require("controllers/punti-vendita.inc.php"); exit;
}
# /punti-vendita/popup
else if (count($request_parts) == 2 && $request_parts[0] == 'punti-vendita' && $request_parts[1] == 'popup') {
require("controllers/punti-vendita-popup.inc.php"); exit;
}
# /punti-vendita/{:slug}
else if (count($request_parts) == 2 && $request_parts[0] == 'punti-vendita') {
$slug = $request_parts[1];
require("controllers/punti-vendita-dettaglio.inc.php"); exit;
}
# /punti-vendita/{:slug}/volantini/{:volantino}
else if (count($request_parts) == 4 && $request_parts[0] == 'punti-vendita' && $request_parts[2] == 'volantini' && ctype_digit(_unslug($request_parts[3]))) {
$slug = $request_parts[1];
$flyer = _unslug($request_parts[3]);
require("controllers/punti-vendita-volantino.inc.php"); exit;
}
# /punti-vendita/{:slug}/volantini/{:volantino}/sfoglia
else if (count($request_parts) == 5 && $request_parts[0] == 'punti-vendita' && $request_parts[2] == 'volantini' && ctype_digit(_unslug($request_parts[3])) && $request_parts[4] == 'sfoglia') {
$slug = $request_parts[1];
$flyer = _unslug($request_parts[3]);
require("controllers/punti-vendita-volantino-pdf.inc.php"); exit;
}
# /cardoro/richiedi
else if (count($request_parts) == 2 && $request_parts[0] == 'cardoro' && $request_parts[1] == 'richiedi') {
require("controllers/cardoro-richiedi.inc.php"); exit;
}
# /registrazione
else if (count($request_parts) == 1 && $request_parts[0] == 'registrazione') {
require("controllers/registrazione.inc.php"); exit;
}
# /registrazione/:id/:hash
else if (count($request_parts) == 3 && $request_parts[0] == 'registrazione' && ctype_digit($request_parts[1])) {
$id = $request_parts[1];
$hash = $request_parts[2];
require("controllers/registrazione-conferma.inc.php"); exit;
}
# /password
else if (count($request_parts) == 1 && $request_parts[0] == 'password') {
require("controllers/password.inc.php"); exit;
}
# /password/:id/:hash
else if (count($request_parts) == 3 && $request_parts[0] == 'password' && ctype_digit($request_parts[1])) {
$id = $request_parts[1];
$hash = $request_parts[2];
require("controllers/password-conferma.inc.php"); exit;
}
# /login
else if (count($request_parts) == 1 && $request_parts[0] == 'login') {
require("controllers/login.inc.php"); exit;
}
# /logout
else if (count($request_parts) == 1 && $request_parts[0] == 'logout') {
require("controllers/logout.inc.php"); exit;
}
# /profilo
else if (count($request_parts) == 1 && $request_parts[0] == 'profilo') {
require("controllers/profilo.inc.php"); exit;
}
# /profilo/modifica
else if (count($request_parts) == 2 && $request_parts[0] == 'profilo' && $request_parts[1] == 'modifica') {
require("controllers/profilo-modifica.inc.php"); exit;
}
# /profilo/preferiti
else if (count($request_parts) == 2 && $request_parts[0] == 'profilo' && $request_parts[1] == 'preferiti') {
require("controllers/profilo-preferiti.inc.php"); exit;
}
# /profilo/lista-spesa
else if (count($request_parts) == 2 && $request_parts[0] == 'profilo' && $request_parts[1] == 'lista-spesa') {
require("controllers/profilo-lista-spesa.inc.php"); exit;
}
# /profilo/punti
else if (count($request_parts) == 2 && $request_parts[0] == 'profilo' && $request_parts[1] == 'punti') {
require("controllers/profilo-punti.inc.php"); exit;
}
# /filodiretto
else if (count($request_parts) == 1 && $request_parts[0] == 'filodiretto') {
require("controllers/filodiretto.inc.php"); exit;
}
# /filodiretto/lavora-con-noi
else if (count($request_parts) == 2 && $request_parts[0] == 'filodiretto' && $request_parts[1] == 'lavora-con-noi' ||
count($request_parts) == 3 && $request_parts[0] == 'filodiretto' && $request_parts[1] == 'lavora-con-noi' && $request_parts[2] == 'invia-curriculum') {
$tab = count($request_parts) == 2 ? 1 : 2;
require("controllers/filodiretto-lavora-con-noi.inc.php"); exit;
}
# /filodiretto/faq
else if (count($request_parts) == 2 && $request_parts[0] == 'filodiretto' && $request_parts[1] == 'faq') {
require("controllers/filodiretto-faq.inc.php"); exit;
}
# /filodiretto/newsletter
else if (count($request_parts) == 2 && $request_parts[0] == 'filodiretto' && $request_parts[1] == 'newsletter') {
require("controllers/filodiretto-newsletter.inc.php"); exit;
}
# /news
else if (count($request_parts) == 1 && $request_parts[0] == 'news') {
$category = null;
$year = null;
$month = null;
require("controllers/news.inc.php"); exit;
}
# /news/{:year}
else if (count($request_parts) == 2 && $request_parts[0] == 'news' && ctype_digit($request_parts[1])) {
$category = null;
$year = $request_parts[1]*1;
$month = null;
require("controllers/news.inc.php"); exit;
}
# /news/{:year}/{:month}
else if (count($request_parts) == 3 && $request_parts[0] == 'news' && ctype_digit($request_parts[1]) && ctype_digit($request_parts[2])) {
$category = null;
$year = $request_parts[1]*1;
$month = $request_parts[2]*1;
require("controllers/news.inc.php"); exit;
}
# /news/{:category}
else if (count($request_parts) == 2 && $request_parts[0] == 'news') {
$category = $request_parts[1];
$year = null;
$month = null;
require("controllers/news.inc.php"); exit;
}
# /news/{:category}/{:slug}
else if (count($request_parts) == 3 && $request_parts[0] == 'news' && ctype_digit(_unslug($request_parts[2]))) {
$article_id = _unslug($request_parts[2]);
require("controllers/news-dettaglio.inc.php"); exit;
}
# /magazine
else if (count($request_parts) == 1 && $request_parts[0] == 'magazine') {
$category = null;
$year = null;
$month = null;
require("controllers/magazine.inc.php"); exit;
}
# /magazine/{:year}
else if (count($request_parts) == 2 && $request_parts[0] == 'magazine' && ctype_digit($request_parts[1])) {
$category = null;
$year = $request_parts[1]*1;
$month = null;
require("controllers/magazine.inc.php"); exit;
}
# /magazine/{:year}/{:month}
else if (count($request_parts) == 3 && $request_parts[0] == 'magazine' && ctype_digit($request_parts[1]) && ctype_digit($request_parts[2])) {
$category = null;
$year = $request_parts[1]*1;
$month = $request_parts[2]*1;
require("controllers/magazine.inc.php"); exit;
}
# /magazine/{:category}
else if (count($request_parts) == 2 && $request_parts[0] == 'magazine') {
$category = $request_parts[1];
$year = null;
$month = null;
require("controllers/magazine.inc.php"); exit;
}
# /magazine/{:category}/{:slug}
else if (count($request_parts) == 3 && $request_parts[0] == 'magazine' && ctype_digit(_unslug($request_parts[2]))) {
$article_id = _unslug($request_parts[2]);
require("controllers/magazine-dettaglio.inc.php"); exit;
}
# /app
else if (count($request_parts) == 1 && $request_parts[0] == 'app') {
require_once("controllers/app.inc.php"); exit;
}
# /push
else if (count($request_parts) == 1 && $request_parts[0] == 'push') {
require("controllers/push.inc.php"); exit;
}
# /qrcode/{:uniqid}
else if (count($request_parts) == 2 && $request_parts[0] == 'qrcode') {
$uniqid = $request_parts[1];
require("controllers/qrcode.inc.php"); exit;
}
# /landing/{:slug}
else if (count($request_parts) == 2 && $request_parts[0] == 'landing') {
$slug = $request_parts[1];
require("controllers/landing.inc.php"); exit;
}
# /admin/...
else if (count($request_parts) >= 1 && $request_parts[0] == 'admin') {
$request_parts = array_slice($request_parts, 1);
$principal = models\UserBE::identify();
$smarty->assign("principal", $principal);
# /
if (count($request_parts) == 0 ||
count($request_parts) == 1 && $request_parts[0] == '' ||
count($request_parts) == 1 && $request_parts[0] == 'login') {
require("controllers/admin-login.inc.php"); exit;
}
# /logout
else if (count($request_parts) == 1 && $request_parts[0] == 'logout' || !$principal) {
require("controllers/admin-logout.inc.php"); exit;
}
# /upload
else if (count($request_parts) == 1 && $request_parts[0] == 'upload' || !$principal) {
require("controllers/admin-upload.inc.php"); exit;
}
# /blog-categories
else if (count($request_parts) == 1 && $request_parts[0] == 'blog-categories') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-blog-categories.inc.php"); exit;
}
# /blog-categories/{:category_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'blog-categories' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'blog-categories' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$category_id = $request_parts[1];
require("controllers/admin-blog-categories-edit.inc.php"); exit;
}
# /blog-categories/{:category_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'blog-categories' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$category_id = $request_parts[1];
require("controllers/admin-blog-categories-delete.inc.php"); exit;
}
# /blog-categories/add
else if (count($request_parts) == 2 && $request_parts[0] == 'blog-categories' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-blog-categories-add.inc.php"); exit;
}
# /blog-articles
else if (count($request_parts) == 1 && $request_parts[0] == 'blog-articles') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-blog-articles.inc.php"); exit;
}
# /blog-articles/{:blog-article_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'blog-articles' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'blog-articles' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$article_id = $request_parts[1];
require("controllers/admin-blog-articles-edit.inc.php"); exit;
}
# /blog-articles/{:blog-article_id}/add
else if (count($request_parts) == 3 && $request_parts[0] == 'blog-articles' && ctype_digit($request_parts[1]) && $request_parts[2] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$article_id = $request_parts[1];
$content_id = null;
require("controllers/admin-blog-articles-edit-content.inc.php"); exit;
}
# /blog-articles/{:blog-article_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'blog-articles' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$article_id = $request_parts[1];
require("controllers/admin-blog-articles-delete.inc.php"); exit;
}
# /blog-articles/{:blog-article_id}/{:content_id}
else if (count($request_parts) == 3 && $request_parts[0] == 'blog-articles' && ctype_digit($request_parts[1]) && $request_parts[2]) {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$article_id = $request_parts[1];
$content_id = $request_parts[2];
require("controllers/admin-blog-articles-edit-content.inc.php"); exit;
}
# /blog-articles/add
else if (count($request_parts) == 2 && $request_parts[0] == 'blog-articles' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-blog-articles-add.inc.php"); exit;
}
# /blog-articles/upload
else if (count($request_parts) == 2 && $request_parts[0] == 'blog-articles' && $request_parts[1] == 'upload') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-blog-articles-upload.inc.php"); exit;
}
# /pages
else if (count($request_parts) == 1 && $request_parts[0] == 'pages') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-pages.inc.php"); exit;
}
# /pages/{:page_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'pages' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'pages' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$page_id = $request_parts[1];
require("controllers/admin-pages-edit.inc.php"); exit;
}
# /pages/{:page_id}/add
else if (count($request_parts) == 3 && $request_parts[0] == 'pages' && ctype_digit($request_parts[1]) && $request_parts[2] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$page_id = $request_parts[1];
$content_id = null;
require("controllers/admin-pages-edit-content.inc.php"); exit;
}
# /pages/{:page_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'pages' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$page_id = $request_parts[1];
require("controllers/admin-pages-delete.inc.php"); exit;
}
# /pages/{:page_id}/{:content_id}
else if (count($request_parts) == 3 && $request_parts[0] == 'pages' && ctype_digit($request_parts[1]) && $request_parts[2]) {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$page_id = $request_parts[1];
$content_id = $request_parts[2];
require("controllers/admin-pages-edit-content.inc.php"); exit;
}
# /pages/add
else if (count($request_parts) == 2 && $request_parts[0] == 'pages' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-pages-add.inc.php"); exit;
}
# /pages/upload
else if (count($request_parts) == 2 && $request_parts[0] == 'pages' && $request_parts[1] == 'upload') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-pages-upload.inc.php"); exit;
}
# /stores
else if (count($request_parts) == 1 && $request_parts[0] == 'stores') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-stores.inc.php"); exit;
}
# /stores/{:store_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'stores' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'stores' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$store_id = $request_parts[1];
require("controllers/admin-stores-edit.inc.php"); exit;
}
# /stores/{:store_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'stores' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$store_id = $request_parts[1];
require("controllers/admin-stores-delete.inc.php"); exit;
}
# /stores/add
else if (count($request_parts) == 2 && $request_parts[0] == 'stores' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-stores-add.inc.php"); exit;
}
# /events
else if (count($request_parts) == 1 && $request_parts[0] == 'events') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-events.inc.php"); exit;
}
# /events/{:event_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'events' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'events' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$event_id = $request_parts[1];
require("controllers/admin-events-edit.inc.php"); exit;
}
# /events/{:event_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'events' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$event_id = $request_parts[1];
require("controllers/admin-events-delete.inc.php"); exit;
}
# /events/add
else if (count($request_parts) == 2 && $request_parts[0] == 'events' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-events-add.inc.php"); exit;
}
# /promotions
else if (count($request_parts) == 1 && $request_parts[0] == 'promotions') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-promotions.inc.php"); exit;
}
# /promotions/{:promotion_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'promotions' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'promotions' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$promotion_id = $request_parts[1];
require("controllers/admin-promotions-edit.inc.php"); exit;
}
# /promotions/{:promotion_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'promotions' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$promotion_id = $request_parts[1];
require("controllers/admin-promotions-delete.inc.php"); exit;
}
# /promotions/add
else if (count($request_parts) == 2 && $request_parts[0] == 'promotions' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-promotions-add.inc.php"); exit;
}
# /products-categories
else if (count($request_parts) == 1 && $request_parts[0] == 'products-categories') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-products-categories.inc.php"); exit;
}
# /products-categories/{:category_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'products-categories' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'products-categories' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$category_id = $request_parts[1];
require("controllers/admin-products-categories-edit.inc.php"); exit;
}
# /products-categories/{:category_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'products-categories' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$category_id = $request_parts[1];
require("controllers/admin-products-categories-delete.inc.php"); exit;
}
# /products-categories/add
else if (count($request_parts) == 2 && $request_parts[0] == 'products-categories' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-products-categories-add.inc.php"); exit;
}
# /products
else if (count($request_parts) == 1 && $request_parts[0] == 'products') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-products.inc.php"); exit;
}
# /products/{:product_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'products' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'products' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$product_id = $request_parts[1];
require("controllers/admin-products-edit.inc.php"); exit;
}
# /products/{:product_id}/add
else if (count($request_parts) == 3 && $request_parts[0] == 'products' && ctype_digit($request_parts[1]) && $request_parts[2] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$product_id = $request_parts[1];
$content_id = null;
require("controllers/admin-products-edit-content.inc.php"); exit;
}
# /products/{:product_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'products' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$product_id = $request_parts[1];
require("controllers/admin-products-delete.inc.php"); exit;
}
# /products/add
else if (count($request_parts) == 2 && $request_parts[0] == 'products' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-products-add.inc.php"); exit;
}
# /products/upload
else if (count($request_parts) == 2 && $request_parts[0] == 'products' && $request_parts[1] == 'upload') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-products-upload.inc.php"); exit;
}
# /menus
else if (count($request_parts) == 1 && $request_parts[0] == 'menus') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-menus.inc.php"); exit;
}
# /menus/{:menu_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'menus' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'menus' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$menu_id = $request_parts[1];
require("controllers/admin-menus-edit.inc.php"); exit;
}
# /menus/{:menu_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'menus' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$menu_id = $request_parts[1];
require("controllers/admin-menus-delete.inc.php"); exit;
}
# /menus/add
else if (count($request_parts) == 2 && $request_parts[0] == 'menus' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-menus-add.inc.php"); exit;
}
# /redirects
else if (count($request_parts) == 1 && $request_parts[0] == 'redirects') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-redirects.inc.php"); exit;
}
# /redirects/{:redirect_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'redirects' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'redirects' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$redirect_id = $request_parts[1];
require("controllers/admin-redirects-edit.inc.php"); exit;
}
# /redirects/{:redirect_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'redirects' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$redirect_id = $request_parts[1];
require("controllers/admin-redirects-delete.inc.php"); exit;
}
# /redirects/add
else if (count($request_parts) == 2 && $request_parts[0] == 'redirects' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-redirects-add.inc.php"); exit;
}
# /flyers
else if (count($request_parts) == 1 && $request_parts[0] == 'flyers') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-flyers.inc.php"); exit;
}
# /flyers/add
else if (count($request_parts) == 2 && $request_parts[0] == 'flyers' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-flyers-add.inc.php"); exit;
}
# /flyers/{:flyer_id}/products
else if (count($request_parts) == 2 && $request_parts[0] == 'flyers' ||
count($request_parts) == 3 && $request_parts[0] == 'flyers' && $request_parts[2] == 'products') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-flyers-products.inc.php"); exit;
}
# /flyers/{:flyer_id}/products/{:product_id}/edit
else if (count($request_parts) == 4 && $request_parts[0] == 'flyers' && ctype_digit($request_parts[1]) && $request_parts[2] == 'products' && ctype_digit($request_parts[3]) ||
count($request_parts) == 5 && $request_parts[0] == 'flyers' && ctype_digit($request_parts[1]) && $request_parts[2] == 'products' && ctype_digit($request_parts[3]) && $request_parts[4] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$flyer_id = $request_parts[1];
$product_id = $request_parts[3];
require("controllers/admin-flyers-products-edit.inc.php"); exit;
}
# /flyers/{:flyer_id}/products/{:product_id}/delete
else if (count($request_parts) == 5 && $request_parts[0] == 'flyers' && ctype_digit($request_parts[1]) && $request_parts[2] == 'products' && ctype_digit($request_parts[3]) && $request_parts[4] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$flyer_id = $request_parts[1];
$product_id = $request_parts[3];
require("controllers/admin-flyers-products-delete.inc.php"); exit;
}
# /flyers/{:flyer_id}/edit
else if (count($request_parts) == 3 && $request_parts[0] == 'flyers' && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-flyers-edit.inc.php"); exit;
}
# /flyers/{:flyer_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'flyers' && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-flyers-delete.inc.php"); exit;
}
# /users-be
else if (count($request_parts) == 1 && $request_parts[0] == 'users-be') {
if (!in_array($principal['role'], array(1))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-users-be.inc.php"); exit;
}
# /users-be/{:user_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'users-be' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'users-be' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$user_id = $request_parts[1];
require("controllers/admin-users-be-edit.inc.php"); exit;
}
# /users-be/add
else if (count($request_parts) == 2 && $request_parts[0] == 'users-be' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-users-be-add.inc.php"); exit;
}
# /users
else if (count($request_parts) == 1 && $request_parts[0] == 'users') {
if (!in_array($principal['role'], array(1, 2))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-users.inc.php"); exit;
}
# /users/{:user_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'users' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'users' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1, 2))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$user_id = $request_parts[1];
require("controllers/admin-users-edit.inc.php"); exit;
}
# /users/add
else if (count($request_parts) == 2 && $request_parts[0] == 'users' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1, 2))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-users-add.inc.php"); exit;
}
# /banners
else if (count($request_parts) == 1 && $request_parts[0] == 'banners') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-banners.inc.php"); exit;
}
# /banners/add
else if (count($request_parts) == 2 && $request_parts[0] == 'banners' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-banners-add.inc.php"); exit;
}
# /banners/{:banner_id}/edit
else if (count($request_parts) == 2 && $request_parts[0] == 'banners' ||
count($request_parts) == 3 && $request_parts[0] == 'banners' && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-banners-edit.inc.php"); exit;
}
# /banners/{:banner_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'banners' && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-banners-delete.inc.php"); exit;
}
# /setting
else if (count($request_parts) == 1 && $request_parts[0] == 'setting') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-setting.inc.php"); exit;
}
# /wslog
else if (count($request_parts) == 1 && $request_parts[0] == 'wslog') {
if (!in_array($principal['role'], array(1))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-wslog.inc.php"); exit;
}
# /wslog/{:log_id}/edit
else if (count($request_parts) == 2 && $request_parts[0] == 'wslog' ||
count($request_parts) == 3 && $request_parts[0] == 'wslog' && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-wslog-edit.inc.php"); exit;
}
# /beacons
else if (count($request_parts) == 1 && $request_parts[0] == 'beacons') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-beacons.inc.php"); exit;
}
# /beacons/{:beacon_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'beacons' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'beacons' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$beacon_id = $request_parts[1];
require("controllers/admin-beacons-edit.inc.php"); exit;
}
# /beacons/add
else if (count($request_parts) == 2 && $request_parts[0] == 'beacons' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-beacons-add.inc.php"); exit;
}
# /beacons/{:beacon_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'beacons' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$beacon_id = $request_parts[1];
require("controllers/admin-beacons-delete.inc.php"); exit;
}
# /notifications
else if (count($request_parts) == 1 && $request_parts[0] == 'notifications') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-notifications.inc.php"); exit;
}
# /notifications/{:notification_id}
else if (count($request_parts) == 2 && $request_parts[0] == 'notifications' && ctype_digit($request_parts[1]) ||
count($request_parts) == 3 && $request_parts[0] == 'notifications' && ctype_digit($request_parts[1]) && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$notification_id = $request_parts[1];
require("controllers/admin-notifications-edit.inc.php"); exit;
}
# /notifications/{:notification_id}/push
else if (count($request_parts) == 3 && $request_parts[0] == 'notifications' && ctype_digit($request_parts[1]) && $request_parts[2] == 'push') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$notification_id = $request_parts[1];
require("controllers/admin-notifications-push.inc.php"); exit;
}
# /notifications/add
else if (count($request_parts) == 2 && $request_parts[0] == 'notifications' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-notifications-add.inc.php"); exit;
}
# /notifications/{:notification_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'notifications' && ctype_digit($request_parts[1]) && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$notification_id = $request_parts[1];
require("controllers/admin-notifications-delete.inc.php"); exit;
}
# /qrcode
else if (count($request_parts) == 1 && $request_parts[0] == 'qrcode') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-qrcode.inc.php"); exit;
}
# /qrcode/add
else if (count($request_parts) == 2 && $request_parts[0] == 'qrcode' && $request_parts[1] == 'add') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
require("controllers/admin-qrcode-add.inc.php"); exit;
}
# /qrcode/{:qrcode_id}/edit
else if (count($request_parts) == 2 && $request_parts[0] == 'qrcode' ||
count($request_parts) == 3 && $request_parts[0] == 'qrcode' && $request_parts[2] == 'edit') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-qrcode-edit.inc.php"); exit;
}
# /qrcode/{:qrcode_id}/view
else if (count($request_parts) == 3 && $request_parts[0] == 'qrcode' && $request_parts[2] == 'view') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-qrcode-view.inc.php"); exit;
}
# /qrcode/{:banner_id}/delete
else if (count($request_parts) == 3 && $request_parts[0] == 'qrcode' && $request_parts[2] == 'delete') {
if (!in_array($principal['role'], array(1,3))) {
header("Location: " . BASE_URL . "/admin/login"); exit;
}
$id = $request_parts[1];
require("controllers/admin-qrcode-delete.inc.php"); exit;
}
}
# default (not found)
not_found();