Overview
  • Namespace
  • Class

Namespaces

  • nk2580
    • wordsmith
      • Actions
      • Endpoints
      • Environment
      • Filters
      • Inputs
        • Fields
      • Menus
      • MetaBoxes
      • PostTypes
      • Routes
      • Scripts
      • SettingsPages
      • Taxonomies
        • Hierarchical
        • NonHierarchical
      • UserCapabilities
      • UserRoles
      • Utillities
        • NavWalkers

Classes

  • nk2580\wordsmith\Actions\Action
  • nk2580\wordsmith\Actions\AJAXAction
  • nk2580\wordsmith\Endpoints\Endpoint
  • nk2580\wordsmith\Endpoints\EndpointHandler
  • nk2580\wordsmith\Environment\Instance
  • nk2580\wordsmith\Environment\Plugin
  • nk2580\wordsmith\Environment\Theme
  • nk2580\wordsmith\Filters\Filter
  • nk2580\wordsmith\Inputs\Fields\AddressField
  • nk2580\wordsmith\Inputs\Fields\CheckBoxField
  • nk2580\wordsmith\Inputs\Fields\EmailField
  • nk2580\wordsmith\Inputs\Fields\FileUploadField
  • nk2580\wordsmith\Inputs\Fields\GalleryField
  • nk2580\wordsmith\Inputs\Fields\HiddenField
  • nk2580\wordsmith\Inputs\Fields\ImageUploadField
  • nk2580\wordsmith\Inputs\Fields\PasswordField
  • nk2580\wordsmith\Inputs\Fields\RadioButtonField
  • nk2580\wordsmith\Inputs\Fields\SelectBoxField
  • nk2580\wordsmith\Inputs\Fields\TextAreaField
  • nk2580\wordsmith\Inputs\Fields\TextField
  • nk2580\wordsmith\Inputs\Fields\UrlField
  • nk2580\wordsmith\Inputs\Input
  • nk2580\wordsmith\Inputs\Repeater
  • nk2580\wordsmith\Menus\Menu
  • nk2580\wordsmith\MetaBoxes\MetaBox
  • nk2580\wordsmith\PostTypes\PostType
  • nk2580\wordsmith\Routes\Route
  • nk2580\wordsmith\Routes\RouteFactory
  • nk2580\wordsmith\Routes\RouteGroup
  • nk2580\wordsmith\Scripts\AdminScript
  • nk2580\wordsmith\Scripts\PublicScript
  • nk2580\wordsmith\SettingsPages\SettingsPage
  • nk2580\wordsmith\Taxonomies\Hierarchical\HierarchicalTaxonomy
  • nk2580\wordsmith\Taxonomies\NonHierarchical\NonHierarchicalTaxonomy
  • nk2580\wordsmith\Taxonomies\Taxonomy
  • nk2580\wordsmith\UserCapabilities\UserCapability
  • nk2580\wordsmith\UserRoles\UserRole
  • nk2580\wordsmith\Utillities\Cypher
  • nk2580\wordsmith\Utillities\JsonResponse
  • nk2580\wordsmith\Utillities\NavWalkers\Bootstrap
  • nk2580\wordsmith\Utillities\PDF
 1 <?php
 2 
 3 /*
 4  * To change this license header, choose License Headers in Project Properties.
 5  * To change this template file, choose Tools | Templates
 6  * and open the template in the editor.
 7  */
 8 
 9 namespace nk2580\wordsmith\Routes;
10 
11 /**
12  * Description of RouteCollection
13  *
14  * @author Nik Kyriakidis
15  */
16 class RouteFactory {
17 
18     public static function fetchGroup($group) {
19         $status = false;
20         $groups = RouteFactory::all();
21         if (!empty($groups)) {
22             foreach ($groups as $g) {
23                 if ($g->name == $group) {
24                     $status = $g;
25                     break;
26                 }
27             }
28         }
29         return $status;
30     }
31 
32     public static function createGroup($group) {
33         $obj = new RouteGroup($group);
34         $GLOBALS['_cc_routes'][$group] = $obj;
35         return $obj;
36     }
37 
38     public static function addRoute(Route $route) {
39         $group = $route->getGroup();
40         $RouteGroup = RouteFactory::fetchGroup($group);
41         if (!$RouteGroup) {
42             $g = RouteFactory::createGroup($group);
43             $g->add($route);
44         } else {
45             $RouteGroup->add($route);
46         }
47     }
48 
49     public static function all() {
50         $OBJ = $GLOBALS['_cc_routes'];
51         return $OBJ;
52     }
53 
54     public static function init() {
55         if (!is_array($GLOBALS['_cc_routes'])) {
56             $GLOBALS['_cc_routes'] = [];
57         }
58     }
59     
60     public static function implementRouteGroup($group, $endpint, $namespace = ""){
61         $obj = RouteFactory::fetchGroup($group);
62         $obj->run($endpint);
63     }
64 
65 }
66 
API documentation generated by ApiGen