initialize array
[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 Database (Cms)";
19  
20     static $cli_opts = array(
21         'template' => array(
22             'desc' => 'Compile a specific template',
23             'default' => '',
24             'short' => 't',
25             'min' => 1,
26             'max' => 1,
27             
28         ),
29         'force-content-update' => array(
30             'desc' => 'Force updating of content from templates',
31             'default' => '',
32             'short' => 'f',
33             'min' => 1,
34             'max' => 1,
35             
36         ),
37         'debug' => array(
38             'desc' => 'Turn on debuggin',
39             'default' => '',
40             'short' => 'd',
41             'min' => 1,
42             'max' => 1,
43             
44         )
45     );
46     
47     var $cli = false;
48     
49     var $opts;
50     
51     function getAuth() {
52         
53         
54         $ff = HTML_FlexyFramework::get();
55         if (!empty($ff->cli)) {
56             $this->cli = true;
57             return true;
58         }
59         
60         parent::getAuth(); // load company!
61         $au = $this->getAuthUser();
62         if (!$au || $au->company()->comptype != 'OWNER') {
63             $this->jerr("Not authenticated", array('authFailure' => true));
64         }
65         $this->authUser = $au;
66         return true;
67     }
68      
69     function get($tbl, $opts= array())
70     {
71         if (!empty($opts['debug'])) {
72             DB_DataObject::debugLevel(1);
73             
74         }
75         if (!empty($opts['template'])) {
76              $tp = DB_DataObject::factory('cms_template');
77              //$opts = HTML_FlexyFramework::get()->Pman_Cms;
78              $tp->syncTemplate($opts['template'], true, '');
79              die("done");
80             
81         }
82         $this->opts = $opts;
83         
84         
85         $this->updateData();
86         if (!empty($tbl)) {
87             $d = DB_DataObject::factory($tbl);
88             $d->initDatabase($this);
89         }
90         
91     }
92     
93     function updateData()
94     {
95         $enum = DB_DataObject::Factory('core_enum');
96         $enum->initEnums(
97             array(
98                 array(
99                     'etype' => '',
100                     'name' => 'cms_page_type',
101                     'display_name' =>  'Cms Page Type',
102                     'cn' => array(
103                         array(
104                             'name' => 'page',
105                             'display_name' => 'Pages',
106                         ),
107                         array(
108                             'name' => 'element',
109                             'display_name' => 'Elements',
110                         ),
111                         array(
112                             'name' => 'blog',
113                             'display_name' => 'Blog Entries',
114                         ),
115                         array(
116                             'name' => 'menu',
117                             'display_name' => 'Menu Tree',
118                         ),
119                         array(
120                             'name' => 'category',
121                             'display_name' => 'Category',
122                         ),
123                         array(
124                             'name' => 'disabled',
125                             'display_name' => 'Disabled element',
126                         ),
127                     )
128                 ),
129                 array(
130                     'etype' => '',
131                     'name' => 'Cms.Settings',
132                     'display_name' => 'Cms Settings',
133                     'cn' => array(
134                         
135                     )
136                 ),
137                 array(
138                     'etype' => '',
139                     'name' => 'cms_page_class',
140                     'display_name' =>  'Cms Page Class',
141                     'cn' => array(
142                         array(
143                             'name' => 'deep-blue',
144                             'display_name' => 'Deep Blue',
145                         ),
146                         array(
147                             'name' => 'deep-grey',
148                             'display_name' => 'Deep Grey',
149                         ),
150                         array(
151                             'name' => 'light-red',
152                             'display_name' => 'Light Red',
153                         ),
154                         array(
155                             'name' => 'deep-orange',
156                             'display_name' => 'Deep Orange',
157                         ),
158                         array(
159                             'name' => 'deep-green',
160                             'display_name' => 'Deep Green',
161                         )
162                     )
163                 ),
164             )
165         );
166         /*
167         $p = DB_DataObject::Factory('cms_page');
168         $p->page_type_id = 0;
169         $all = $p->fetchAll();
170         foreach($all as $t) {
171             $t->convertOld();
172         }
173         $ff = $this->bootLoader;
174         $opts = isset($this->bootLoader->Pman_Cms) ? $this->bootLoader->Pman_Cms  : array();
175         echo "Calling syncTemplateDir from Cms/UpdateDatabase\n";
176         
177         
178         if (empty($this->opts['force-content-update'])) {
179             return;
180         }
181         */
182         echo "Template sync has been removed from here - call   Cms/UpdateTemplates\n";
183         
184         
185        
186     }
187     
188 }