JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
generic editable site
[wfpl-cms.git] / code / cms.php
1 <?php
2
3 function cms_display($basename, &$tem) {
4         $tem->set('basename', $basename);
5
6         $nav_items = db_get_assocs('cms_pages', "coalesce(nullif(nav_title,''), title) as title,filename", 'where navbar!=0 order by navbar');
7         if($nav_items) {
8                 foreach($nav_items as &$nav_item) {
9                         if($nav_item['filename'] == 'index') {
10                                 $nav_item['filename'] = './';
11                         }
12                         if($nav_item['title'] == '') {
13                                 $nav_item['title'] = '-- blank --';
14                         }
15                 }
16                 $tem->set('navbar_items', $nav_items);
17         }
18
19         $have_content = cms_display_content($tem, 'where filename=%"', $basename);
20
21         if(logged_in_as_admin()) {
22                 $tem->set('admin_links', 1);
23         }
24         return $have_content;
25 }
26
27 function cms_display_content(&$tem /*, 'where clause %", %i', string, int */) {
28         $args = array_slice(func_get_args(), 1);
29         $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);
30         $row = call_user_func_array('db_get_assoc', $args);
31         if($row) {
32                 # dump it into the global scope:
33                 $tem->sets($row);
34                 return true;
35         }
36         return false;
37 }