diff options
Diffstat (limited to 'public/app/views/components/footer.php')
| -rw-r--r-- | public/app/views/components/footer.php | 240 |
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> - - |
