UpdateDatabase.php
[Pman.Cms] / UpdateDatabase.php
1 <?php
2
3 /**
4  *
5  * This applies database files from
6  * a) OLD - {MODULE}/DataObjects/XXXX.{dbtype}.sql
7  *
8  * b) NEW - {MODULE}/sql/XXX.sql (SHARED or translable)
9  *  and {MODULE}/{dbtype}/XXX.sql (SHARED or translable)
10  *
11  *
12  */
13
14 require_once 'Pman.php';
15 class Pman_Cms_UpdateDatabase extends Pman
16 {
17     
18     static $cli_desc = "Update SQL - Beta";
19  
20  
21     
22     var $cli = false;
23     function getAuth() {
24         
25         
26         $ff = HTML_FlexyFramework::get();
27         if (!empty($ff->cli)) {
28             $this->cli = true;
29             return true;
30         }
31         
32         parent::getAuth(); // load company!
33         $au = $this->getAuthUser();
34         if (!$au || $au->company()->comptype != 'OWNER') {
35             $this->jerr("Not authenticated", array('authFailure' => true));
36         }
37         $this->authUser = $au;
38         return true;
39     }
40      
41     function get($tbl)
42     {
43         $this->updateData();
44         if (!empty($tbl)) {
45             $d = DB_DataObject::factory($tbl);
46             $d->initDatabase($this);
47         }
48         
49     }
50     
51     function updateData()
52     {
53         $enum = DB_DataObject::Factory('core_enum');
54         $enum->initEnums(
55             array( 
56                 array(
57                     'etype' => '',
58                     'name' => 'cms_page_type',
59                     'display_name' =>  'Cms Page Type',
60                     'cn' => array(
61                         array(
62                             'name' => 'page',
63                             'display_name' => 'Pages',
64                         ),
65                         array(
66                             'name' => 'element',
67                             'display_name' => 'Elements',
68                             
69                         ),
70                         array(
71                             'name' => 'blog',
72                             'display_name' => 'Blog Entries',
73                             
74                         ),
75                         array(
76                             'name' => 'menu',
77                             'display_name' => 'Menu Tree',
78                             
79                         ),
80                         array(
81                             'name' => 'category',
82                             'display_name' => 'Category',
83                             
84                         ),
85                     )
86                 )
87             )
88         );
89        
90         $p = DB_DataObject::Factory('cms_page');
91         $p->page_type_id = 0;
92         $all = $p->fetchAll();
93         foreach($all as $t) {
94             $t->convertOld();
95         }
96        
97         
98         
99         $tp = DB_DataObject::factory('cms_template');
100         $opts = HTML_FlexyFramework::get()->Pman_Cms;
101         $tp->syncTemplateDir(false, '', true);
102             //if (isset($q['lang'])) {
103             //    $this->syncLang($q['lang']);
104             //}
105         
106         $page = DB_DataObject::factory('cms_page');
107         $page->initData();
108         
109         
110         // templates.. -- assume the above does the template syncing..
111         
112         $tps = DB_DataObject::factory('cms_templatestr');
113         $tps->syncLang('en'); /// this should be configured somewhere..
114         
115         
116         
117     }
118     
119 }