VvebOIDC/config/app-routes.php

202 lines
11 KiB
PHP

<?php
/**
* Vvveb
*
* Copyright (C) 2022 Ziadin Givan
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
return [
//PWA manifest
'/manifest.webmanifest' => ['module' => 'feed/manifest/index'],
//homepage
'/' => ['module' => 'index/index'],
//pagination for blog posts when home has blog posts
'/p/#page#' => ['module' => 'index/index'],
//user
'/user/login' => ['module' => 'user/login/index'],
'/user/signup' => ['module' => 'user/signup/index'],
'/user/edit' => ['module' => 'user/edit/index'],
'/user/reset' => ['module' => 'user/reset/index'],
'/user/reset/{token}/{user}' => ['module' => 'user/reset/reset'],
//user dashboard
'/user/order-tracking' => ['module' => 'user/order-tracking/index'],
'/user/orders' => ['module' => 'user/orders/index'],
'/user/order/{customer_order_id}' => ['module' => 'user/orders/order'],
'/user/downloads' => ['module' => 'user/downloads/index'],
'/user/downloads/#page#' => ['module' => 'user/downloads/index'],
'/user/downloads/#download_id#' => ['module' => 'user/downloads/download'],
'/user/return-form' => ['module' => 'user/return-form'],
'/user/address' => ['module' => 'user/address/index'],
'/user/address/edit' => ['module' => 'user/address/edit'],
'/user/address/edit/#user_address_id#' => ['module' => 'user/address/edit'],
'/user/address/delete/#user_address_id#' => ['module' => 'user/address/delete'],
'/user/comments' => ['module' => 'user/comments/index'],
'/user/profile' => ['module' => 'user/profile/index'],
//user wishlist
'/user/wishlist' => ['module' => 'user/wishlist/index'],
'/user/wishlist/add/#product_id#' => ['module' => 'user/wishlist/add'],
'/user/wishlist/remove/#product_id#' => ['module' => 'user/wishlist/remove'],
//user digital assets
'/user/downloads/download/{customer_order_id}-{key}-{public}-#digital_asset_id#' => ['module' => 'user/downloads/download'],
'/user' => ['module' => 'user/index'],
//search
'/search' => ['module' => 'search'],
'/search/{search}' => ['module' => 'search'],
'/search/{search}/#page#' => ['module' => 'search'],
'/search/{search}/{type}/#page#' => ['module' => 'search'],
//ecommerce
//catalog
'/shop' => ['module' => 'product/index'],
'/shop/#page#' => ['module' => 'product/index'],
'/shop/#page#/filters-{filters}' => ['module' => 'product/index'],
'/shop/{slug}' => ['module' => 'product/category/index'],
'/shop/{slug}/#page#' => ['module' => 'product/category/index'],
'/shop/{slug}/#page#/filters-{filters}' => ['module' => 'product/category/index'],
'/brand/{slug}' => ['module' => 'product/manufacturer/index'],
'/brand' => ['module' => 'product/manufacturer/index'],
'/brand/#page#' => ['module' => 'product/manufacturer/index'],
'/vendor/{slug}' => ['module' => 'product/vendor/index'],
'/vendor/{slug}/#page#' => ['module' => 'product/vendor/index'],
'/vendor' => ['module' => 'product/vendor/index'],
'/vendor/#page#' => ['module' => 'product/vendor/index'],
'/product/{slug}' => ['module' => 'product/product/index', 'edit'=>'?module=product/product&slug={slug}'],
//'/product/{slug}-#product_id#' => ['module' => 'product/product/index', 'edit'=>'?module=product/product&product_id={product_id}'],
//compare
'/cart/compare' => ['module' => 'cart/compare/index'],
'/cart/compare/add/#product_id#' => ['module' => 'cart/compare/add'],
'/cart/compare/remove/#product_id#' => ['module' => 'cart/compare/remove'],
//multi language catalog - language code must be at least 2 characters
'/{language{2,5}}/shop' => ['module' => 'product/index'],
'/{language{2,5}}/shop/#page#' => ['module' => 'product/index'],
'/{language{2,5}}/shop/{slug}' => ['module' => 'product/category/index'],
'/{language{2,5}}/shop/{slug}/#page#' => ['module' => 'product/category/index'],
'/{language{2,5}}/shop/{slug}/#page#/filters-{filters}' => ['module' => 'product/category/index'],
'/{language{2,5}}/manufacturer/{slug}' => ['module' => 'product/manufacturer/index'],
'/{language{2,5}}/vendor/{slug}' => ['module' => 'product/vendor/index'],
'/{language{2,5}}/vendor/{slug}/#page#' => ['module' => 'product/vendor/index'],
//'/{language{2,5}}/product/{slug}-#product_id#' => ['module' => 'product/product/index', 'edit'=>'?module=product/product&product_id={product_id}'],
'/{language{2,5}}/product/{slug}' => ['module' => 'product/product/index', 'edit'=>'?module=product/product&product_id={slug}'],
//checkout
'/cart' => ['module' => 'cart/cart/index'],
'/cart/{cart_id}' => ['module' => 'cart/cart/index'],
'/cart/add/#product_id#' => ['module' => 'cart/cart/add'],
'/cart/remove/#key#' => ['module' => 'cart/cart/remove'],
'/cart/voucher' => ['module' => 'checkout/cart/voucher'],
//'/checkout/#product_id#' => ['module' => 'checkout/checkout/index'],
'/checkout/pay' => ['module' => 'checkout/pay'],
'/checkout/confirm' => ['module' => 'checkout/confirm/index'],
'/checkout/confirm/{customer_order_id}' => ['module' => 'checkout/order/index'],
'/checkout' => ['module' => 'checkout/checkout/index'],
'/checkout/{cart_id}' => ['module' => 'checkout/checkout/index'],
//feeds
'/feed/{rss}' => ['module' => 'feed/index'],
'/robots.txt' => ['module' => 'feed/robots/index'],
/*
'/feed/posts' => ['module' => 'feed/posts'],
'/feed/products' => ['module' => 'feed/products'],
'/feed/comments' => ['module' => 'feed/comments'],
*/
//content
'/blog' => ['module' => 'content'],
'/blog/#page#' => ['module' => 'content'],
'/cat/{slug}' => ['module' => 'content/category/index'],
'/cat/{slug}/#page#' => ['module' => 'content/category/index'],
'/tag/{slug}' => ['module' => 'content/tag/index'],
'/tag/{slug}/#page#' => ['module' => 'content/tag/index'],
'/author/{username}' => ['module' => 'content/user/index'],
//archive year
'/#year{4,4}#'=> ['module' => 'content/archive/index'],
//archive month and year
'/#year{4,4}#/#month{2,2}#'=> ['module' => 'content/archive/index'],
//archive day
//'/#year#/#month#/#day#'=> ['module' => 'content/archive/index'],
//post
//'/#year{4,4}#-#month{1,2}#-#day#/{slug}' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&slug={slug}'],
'/{slug}' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&slug={slug}&type=post'],
//'/{slug}-#post_id#' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&post_id={post_id}&type=post'],
//page
//'/{slug}' => ['module' => 'content/page/index', 'edit'=>'?module=content/post&slug={slug}'],
'/page/{slug}' => ['module' => 'content/page/index', 'edit'=>'?module=content/post&slug={slug}&type=page'],
//'/page/{slug}-#post_id#' => ['module' => 'content/page/index', 'edit'=>'?module=content/post&post_id={post_id}&type=page'],
//multi language content - language code must be at least 2 characters
'/{language{2,5}}/' => ['module' => 'index/index'],
//pagination for blog posts
'/{language{2,5}}/p/#page#' => ['module' => 'index/index'],
//content
'/{language{2,5}}/blog' => ['module' => 'content'],
'/{language{2,5}}/cat/{slug}' => ['module' => 'content/category/language'],
'/{language{2,5}}/tag/{slug}' => ['module' => 'content/tag/index'],
//'/{language{2,5}}/{slug}-#post_id#' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&post_id={post_id}'],
'/{language{2,5}}/{slug}' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&post_id={slug}'],
//'/{language{2,5}}/page/{slug}-#post_id#' => ['module' => 'content/page/index', 'edit'=>'?module=content/post&post_id={post_id}'],
'/{language{2,5}}/page/{slug}' => ['module' => 'content/page/index', 'edit'=>'?module=content/post&slug={slug}'],
'/{language{2,5}}/tag/{slug}' => ['module' => 'content/tag/index'],
'/{language{2,5}}/tag/{slug}/#page#' => ['module' => 'content/tag/index'],
'/{language{2,5}}/author/{username}' => ['module' => 'content/user/index'],
//archive year
'/{language{2,5}}/#year{4,4}#'=> ['module' => 'content/archive/index'],
//archive month and year
'/{language{2,5}}/#year{4,4}#/#month{2,2}#'=> ['module' => 'content/archive/index'],
//archive day
//'/#year#/#month#/#day#'=> ['module' => 'content/archive/index'],
'/{language{2,5}}/cart' => ['module' => 'cart/cart/index'],
'/{language{2,5}}/checkout' => ['module' => 'checkout/checkout/index'],
'/{language{2,5}}/user' => ['module' => 'user/index'],
//custom post
'/{type}' => ['module' => 'content'],
'/{type}/#page#' => ['module' => 'content'],
'/{type}/cat/{slug}' => ['module' => 'content/category/index'],
'/{type}/cat/{slug}/#page#' => ['module' => 'content/category/index'],
'/{type}/tag/{slug}' => ['module' => 'content/tag/index'],
'/{type}/tag/{slug}/#page#' => ['module' => 'content/tag/index'],
'/{type}/author/{username}' => ['module' => 'content/user/index'],
'/{type}/{slug}' => ['module' => 'content/post/index', 'edit'=>'?module=content/post&slug={slug}&type=post'],
//custom product
'/{type}' => ['module' => 'product/index', 'type' => '{type}'],
'/{type}/#page#' => ['module' => 'product/index', 'type' => '{type}'],
'/{type}/cat/{slug}' => ['module' => 'product/category/index', 'type' => '{type}'],
'/{type}/cat/{slug}/#page#' => ['module' => 'product/category/index', 'type' => '{type}'],
'/{type}/cat/{slug}/#page#/filters-{filters}' => ['module' => 'product/category/index', 'type' => '{type}'],
'/{type}/{slug}' => ['module' => 'product/product/index', 'type' => '{type}', 'edit'=>'?module=product/product&type={type}&slug={slug}'],
//Cron
'/run-cron/{key}' => ['module' => 'cron/index'],
];