JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
remove useless require_once()
[wfpl-cms.git] / code / cms.php
index 60e53b9..e2ef7d9 100644 (file)
@@ -1,37 +1,54 @@
 <?php
 
 function cms_display($basename, &$tem) {
-       $tem->set('basename', $basename);
-
+       if(preg_match('/([.]l(ocal)?$)|^192[.]168[.]|^127.0.0.1$|^10[.]/', $_SERVER['HTTP_HOST'])) {
+               $GLOBALS['wfpl_main_template']->set('$running_locally');
+       }
+       $tem->set('$host', this_host());
        $nav_items = db_get_assocs('cms_pages', "coalesce(nullif(nav_title,''), title) as title,filename", 'where navbar!=0 order by navbar');
        if($nav_items) {
-               foreach($nav_items as &$nav_item) {
-                       if($nav_item['filename'] == 'index') {
-                               $nav_item['filename'] = './';
+               foreach($nav_items as &$item) {
+                       $item['basename'] = $item['filename']; # for nav-links as images
+                       if($item['filename'] == $basename) {
+                               $item['current'] = true;
                        }
-                       if($nav_item['title'] == '') {
-                               $nav_item['title'] = '-- blank --';
+                       if($item['filename'] == 'index') {
+                               $item['filename'] = './';
+                       }
+                       if($item['title'] == '') {
+                               $item['title'] = '(untitled)';
                        }
                }
-               $tem->set('navbar_items', $nav_items);
+               $tem->set('$navbar_items', $nav_items);
        }
 
-       $have_content = cms_display_content($tem, 'where filename=%"', $basename);
+       $cms_page_id = cms_display_content($tem, 'where filename=%"', $basename);
 
        if(logged_in_as_admin()) {
-               $tem->set('admin_links', 1);
+               $admin_links = array();
+               if($cms_page_id) {
+                       $admin_links['id'] = $cms_page_id;
+               }
+               $tem->set('$admin_links', $admin_links);
+       }
+
+       if($cms_page_id) {
+               return true;
+       } else {
+               return false;
        }
-       return $have_content;
 }
 
 function cms_display_content(&$tem /*, 'where clause %", %i', string, int */) {
        $args = array_slice(func_get_args(), 1);
-       $args = array_merge(array('cms_pages', 'id as admin_edit_page_id,title as cms_title,content as cms_body,keywords as meta_keywords,description as meta_description'), $args);
+       $args = array_merge(array('cms_pages', 'id,title,keywords,description,content'), $args);
        $row = call_user_func_array('db_get_assoc', $args);
        if($row) {
-               # dump it into the global scope:
-               $tem->sets($row);
-               return true;
+               $tem->set('$cms_title', $row['title']);
+               $tem->set('$meta_keywords', $row['keywords']);
+               $tem->set('$meta_description', $row['description']);
+               $tem->set('$cms_body', $row['content']);
+               return $row['id'];
        }
        return false;
 }