function translateRoutes($config) { global $routes; $core_routes = json_decode(file_get_contents('config/routes.json'), true); if (!empty($config['routes'])) { require loadMVC('controller', 'routes'); foreach ($GLOBALS['routes']['model'] as $route) { $core_routes[$route['id']] = $route; } } // print_r($core_routes); return $core_routes; }
<?php // TEMPLATE 4 Controller // // Set Model query type: if ($database == 'es') { $id_field = 'id'; // Set Model query type: $model[$controller]['selector'] = 'SEARCH_INDEX_all'; $criteria['filter'] = array('section_id' => $request_parameters['client_request']); } elseif ($database == 'mysql') { $id_field = 'content_id'; // Set Model query type: $model[$controller]['selector'] = 'SEARCH_all'; $criteria['filter'] = array('section_id = "' . $request_parameters['client_request'] . '"'); } // Set Model query elements: $model[$controller]['criteria'] = array('limit' => array(0, 100), 'filter' => $criteria['filter'], 'return' => array('name', 'type', 'content'), 'order' => array('parent', 'order_by'), 'report' => true); // Get data from the SECTION model: $model[$controller]['query'] = setModelParameters($model[$controller]['criteria']); require loadMVC('model', 'content'); // BUILD CONTENT FOR VIEW: $view[$controller]['title'] = $request_parameters['route_elements']['navbar']['name']; foreach ($model[$controller]['result']['records'] as $record) { if ($record[$id_field] == $request_parameters['client_request']) { $view[$controller]['content']['intro'] = $record['content']; } else { $view[$controller]['content']['items'][$record['id']][] = $record; } }
<?php // XML controller // $xml_output = ''; // Send the content to the view: require loadMVC('view', 'shared/xml');
<?php // TEMPLATE 1 View // // Set display html for controller: $display = array(); if (isset($view[$controller]['content']['content'])) { $display[] = $view[$controller]['content']['content']; } require loadMVC('view', 'shared/page_header'); // Set display html for view: $view['body'] = ' <!--Main Content Section--> <section id="page-header" class="section"> <div class="container"> <div class="row"> <div class="col-md-12"> ' . $view['header'] . ' </div> </div> </div> </section> <section id="content1" class="section"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="text-left">' . implode($display) . '</div> </div> </div> </div>
$view[$controller]['title'] = $view[$controller]['content']['items'][0]['parent']; } } else { // LOAD CONTENT FOR SEARCH PAGE: // Set page requested: require loadMVC('helper', 'pages'); // Set number of items to show per page: $pages['items_per_page'] = 99; // Set Model query parameters: if ($database == 'es') { // Set Model query type: $model[$controller]['selector'] = 'SEARCH_INDEX_all'; $criteria['filter'] = array('section_id' => $request_parameters['client_request']); $criteria['condition'] = array(array('type' => 'image')); } elseif ($database == 'mysql') { // Set Model query type: $model[$controller]['selector'] = 'SEARCH_all'; $criteria['filter'] = array('section_id = "' . $request_parameters['client_request'] . '"', 'type = "image"'); $criteria['condition'] = null; } // Set Model query elements: $model[$controller]['criteria'] = array('limit' => array($pages['request'] * $pages['items_per_page'], $pages['items_per_page']), 'filter' => $criteria['filter'], 'condition' => $criteria['condition'], 'order' => array('parent', 'order_by'), 'return' => array('name', 'type', 'content'), 'report' => true); // Get data from the SECTION model: $model[$controller]['query'] = setModelParameters($model[$controller]['criteria']); require loadMVC('model', 'content'); // BUILD CONTENT FOR VIEW: $view[$controller]['title'] = $request_parameters['route_elements']['navbar']['name']; $view[$controller]['content']['items'] = $model[$controller]['result']['records']; // Build page navigation criteria for view: require loadMVC('helper', 'page_nav'); }
<?php // TEMPLATE 5 ITEM View // // Set display html for controller: $html_data = array(); $html_media = array(); $html_sidebar = ''; $html_title = ''; require loadMVC('view', 'shared/item'); // require(loadMVC('view', 'shared/sidebar')); // Set display html: $view['body'] = ' <!--Main Content Section--> <section id="page-title" class="section"> <div class="container"> <div class="row"> <div class="col-sm-12"> <h1 class="black">' . implode(' - ', $html_title) . '</h1> <hr></hr> </div> </div> </div> </section> <section id="content3" class="section"> <div class="container"> <div class="col-sm-8"> <div class="row"> <div class="col-sm-12 margin-20"> ' . implode('', $html_data) . ' </div>
<?php // HOME Controller // $content = array(); echoContent($content); // Send the content to the view: require loadMVC('view', 'home');
<?php // CONTENT Controller // // Set template from routes parameters: $template = 'template' . $request_parameters['route_elements']['settings']['template']; // Set data source: $database = 'es'; // $database = 'mysql'; // Re-set view path to template view: $view_path = $template; // Include view settings in View elements: $GLOBALS['view']['settings'] = $request_parameters['route_elements']['settings']; // Request Template controller: require loadMVC('controller', $template); echoContent($view);
<?php // TEMPLATE 2 ITEM View // // Set display html for controller: $html_data = array(); $html_media = array(); $html_sidebar = ''; require loadMVC('view', 'shared/item'); require loadMVC('view', 'shared/page_header'); require loadMVC('view', 'shared/sidebar'); // Set display html: $view['body'] = ' <!--Main Content Section--> <section id="page-header" class="section"> <div class="container"> <div class="row"> <div class="col-md-12"> ' . $view['header'] . ' </div> </div> </div> </section> <section id="content3" class="section"> <div class="container"> <div class="col-sm-8"> <div class="row"> <div class="col-sm-12 margin-20"> ' . implode('', $html_data) . ' </div>
<?php // Load application core config settings and shared scripts: require_once 'config/global.php'; require_once 'app/core/functions.php'; session_start(); global $argv; $request_parameters = clientRequest($config); // $view_path = ''; // Load Application helper: require loadMVC('helper', 'application'); // Load Application controller: require_once loadMVC('controller', $GLOBALS['controller']);
if(!is_array($content['view']['records'][0]['image'])) { $content['view']['records'][0]['image'] = array($content['view']['records'][0]['image']); } $content['view']['records'][0]['image'][] = preg_replace('@75/@', '', $item['url']); } else { $content['view']['records'][0]['image'] = preg_replace('@75/@', '', $item['url']); } } } } // print_r($content['view']['records']); $json_array['record_count'] = 0; if(isset($content['view']['records'])) { // Convert Content to json string: $json_array['record_count'] = count($view[$controller]['content']); $json_array['records'] = $content['view']['records']; } */ $content = array('url' => preg_replace('@json@', '', $request_parameters['request_url'])); $content = array_merge($content, $view[$controller]); $json_output = json_encode($content); preg_replace('@path\\: "@', 'path: "' . $request_parameters['domain_url'], $json_output); // print_r(json_decode($json_output)); // Send the content to the view: require loadMVC('view', 'shared/json');
function model($content_directory, $parent, $name, $info) { $view_config = yaml_parse_file($content_directory . $name . '/_settings/settings.yml'); print_r($view_config); $id = preg_replace('@ @', '_', $name); $controller = $GLOBALS['controller']; // Set model parameters: $model[$controller]['selector'] = 'CREATE_INDEX'; $model[$controller]['criteria'] = array('items' => array('id' => $id, 'request' => 'content', 'navbar' => array('name' => ucfirst($name), 'type' => 'link', 'group' => ucfirst($parent)), 'settings' => $view_config, 'order' => $view_config['order']), 'report' => true); // Get response from the ROUTES model: $model[$controller]['query'] = setModelParameters($model[$controller]['criteria']); require loadMVC('model', 'routes'); // Insert routes into .htaccess file: updateHTaccessRules(array('htaccess_rules' => '.htaccess'), $id, 'include'); }
$view['body'] = ''; $view['footer'] = ''; $view['js'] = ''; // Request Section controller: require loadMVC('controller', $request_parameters['route_request']); // Output route: switch ($request_parameters['output_format']) { case 'html': // Send the content to the view: require loadMVC('view', $view_path); $app_title = $request_parameters['route_view']; // Set up navbar: require loadMVC('helper', 'navbar'); // Get navbar display: require loadMVC('view', 'shared/navbar'); // ADD common views in app/views/shared: // Get page title: // require(loadMVC('view', 'shared/title')); // Get page footer: // require(loadMVC('view', 'shared/footer')); // If html is expected, send display content to application view: require loadMVC('view', 'application'); break; case 'json': case 'xml': // Otherwies send to alternative output controller: require loadMVC('helper', $request_parameters['output_format']); break; default: break; }
<?php // ROUTES Controller // $controller = $GLOBALS['controller']; $database = 'es'; // $database = 'mysql'; // Set Model query parameters: if ($database == 'es') { // Set Model query type: $model[$controller]['selector'] = 'SEARCH_INDEX_all'; $criteria['return'] = array('id', 'request', 'navbar', 'settings'); } elseif ($database == 'mysql') { // Set Model query type: $model[$controller]['selector'] = 'SEARCH_all'; $criteria['return'] = array('json' => 'json'); } $model[$controller]['criteria'] = array('report' => false, 'return' => $criteria['return']); // Get data from the ROUTES model: $model[$controller]['query'] = setModelParameters($model[$controller]['criteria']); require loadMVC('model', 'routes'); if ($database == 'es') { $routes['model'] = $model[$controller]['result']['records']; } elseif ($database == 'mysql') { foreach (json_decode($model[$controller]['result']['records'][1]['json'], true) as $route) { foreach ($route as $id => $record) { $routes['model'][$record['settings']['order']] = $record; } } ksort($routes['model']); }
require loadMVC('model', 'authentication'); // Validate username against user account: if (!empty($model['result']['records'])) { foreach ($model['result']['records'] as $user_id => $user) { } // print_r($user); // Validate password against user account if ($user['password'] === crypt($_POST['pass'], $user['password'])) { // Set cookie if validated: setcookie($config['authentication']['cookie_name'], session_id() . '-' . $user_id . '-' . $user['username'], time() + 3600, "/"); $response['status'] = 'success'; } else { $response['status'] = 'failed'; } } else { $response['status'] = 'failed'; } } else { $response['status'] = 'failed'; } // Return JSON status for ajax: header('Content-type: application/json'); echo json_encode($response); // Unset Application view: $request_parameters['output_format'] = '_null'; } else { // Unset Application view: $request_parameters['output_format'] = '_null'; // Load LOGIN view: require loadMVC('view', 'login'); }