summaryrefslogtreecommitdiff
path: root/public/app/views/components/footer.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-27 13:06:44 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-27 13:06:44 +0300
commitd1338cbb59d0752155f17d94b0b9b073df95183f (patch)
tree75b7fe87a47ee6961dc38263582117bb920fa1d4 /public/app/views/components/footer.php
parent38cc5c0c3abed6cfe4fbe0cbabec60a8ed64784d (diff)
downloadgyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.tar.gz
gyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.tar.bz2
gyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.zip
content model; add petition to database
Diffstat (limited to 'public/app/views/components/footer.php')
-rw-r--r--public/app/views/components/footer.php240
1 files changed, 0 insertions, 240 deletions
diff --git a/public/app/views/components/footer.php b/public/app/views/components/footer.php
deleted file mode 100644
index 7cd4a5a..0000000
--- a/public/app/views/components/footer.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
-use app\extends\Cache_service;
-
-
-/** DESIGNERS
- * -----------------------------------------------------------------------------
- *
- * structures that combine several design information
- * in a json structrure and parses inta a quite complicated view;
- *
- * co-operate with pages
- *
- * can be used to rended menus, sections like header or footer etc;
- *
- * TODO:
- * + embed it as a core \Render method
- * + dynamic designers
- * + recursive designers
- *
- * Here we implement a simplified version of the consept
- * where entities shall always be `pages`
- *
- *
- * PARAMETRES
- * --- -- -- - - -
- *
- * primary properties of designer structure are 2 properties
- *
- * @var class (string): container class name
- * @var struct (json array): representatoion of the "to-be-designed" structure
- *
- * TODO: support more complx `class` strings ex. `.container>#footer>row`
- *
- *
- * Each sub-structure has 2-5 properties:
- *
- * @var title (string) : title of the sub-section
- * @var entity (string) : type of entity (ex: page/lesson/etc; TODO: method of CMS_model?)
- * @var list (array) : list of entity id(s)
- * @var template (string) : template that is used to draw the listed pages' info
- * @var width (string) : class that relates to sub-structure's width
- *
- * NOTE:
- * designer parsing and rendering can be a quite expensive proccess
- * thus it is strongly recommented to use cached entities
- *
- *
- * Example structure:
- {
- "class" : "row", # container class
- "struct" : [
- { # block 1
- "title" : "",
- "entity" : "page",
- "list" : [2, 1, 3], # pages to be listed
- "template" : "list", # list page titles with link to the pages
- "width" : "col-md-4"
- },
- {
- "template" : "null", # list nothing
- "width" : "col-md-3"
- },
- {
- "entity" : "page",
- "list" : [4], # list content of page 4;
- "template" : "content", # set title to page-title
- "width" : "col-md-5"
- }
-
- TODO: (wish)
- ,{
- "template": "struct",
- "struct" : [
- {
- title, entity, list, template, width
- },
- ...
- ]
- }
- ]
- }
- *
- * brainstormin: (TODO:)
- * use some document-describe stucture like the one on the pdfmake js-library
- * -----------------------------------------------------------------------------
- */
-
-
-/** check imported variables / data
- * -----------------------------------------------------------------------------
- */
-if (!isset($designer)) {
-
- // default designer (and first case-study)
- $designer = '{
- "class" : "row",
- "struct" : [
- {
- "title" : "Πληροφορίες",
- "entity" : "page",
- "list" : [2, 1, 3, 4],
- "template" : "list",
- "width" : "col-md-4 no-list-mark"
- },
- {
- "entity" : "page",
- "list" : [6],
- "template" : "content",
- "width" : "col-md-3 no-list-mark"
- },
- {
- "entity" : "page",
- "list" : [5],
- "template" : "content",
- "width" : "col-md-5 no-list-mark"
- }
- ]
- }';
-}
-
-// $entity list shall be passed
-// entity link url shall be passed
-
-
-/** templating functions
- * -----------------------------------------------------------------------------
- */
-
-/** List template
- * --- -- -- - - -
- *
- * lists entity titles with links
- * in a `ul>li` html-structure
- *
- * @param $title
- * @param $list
- * @param $container
- */
-function list_template($title, $list, $container, $entity) {
-
- $result = '<div class="'. $container .'">
- <h4>'. $title .'</h4>
- <ul>';
-
- foreach($list as $id) {
-
- if ($entity[$id]['status'] == 1) { // if entity is published
- $result .= '
- <li>
- <a href="/page/'. $id . '">
- ' . $entity[$id]['title'] .'
- </a>
- </li>';
- }
-
- }
- return $result . '</ul></div>';
-}
-
-/** content_template
- *
- * lists whole title and content of entity
- *
- * @param $list
- * @param $container
- */
-function content_template($list, $container, $entity) {
-
- $parsedown = new Parsedown();
-
- $result = '<div class="'. $container .'"><ul>';
-
- foreach($list as $id) {
-
- if ($entity[$id]['status'] == 1) { // if entity is published
-
- $result .= '
- <li>
- <h4>'. $entity[$id]['title'] .'</h4>
- <div>'. $parsedown->text($entity[$id]['body']) .'</div>
- </li>';
- }
-
- }
- return $result .'</ul></div>';
-}
-
-
-/** ready to start the proccessing
- * -----------------------------------------------------------------------------
- */
-
-// decode ...
-$parse = json_decode($designer);
-
-/** then start parse-proccessing ...
- * -----------------------------------------------------------------------------
- */
-?>
-
-
-
-<div class="<?=$parse->class?>">
-
- <?php
- foreach( $parse->struct as $section ) {
-
- switch ($section->template) {
-
- case 'list':
- echo list_template(
- $section->title,
- $section->list,
- $section->width,
- $entity
- );
- break;
-
- case 'content':
- echo content_template(
- $section->list,
- $section->width,
- $entity
- );
- break;
-
- default: // ex. 'null'
-
- echo '<div class="'. $section->width .'">
- <h4>'. $section->title.'</h4>
- </div>';
- }
-
- }
- ?>
-
-</div>
-
-