5 * This applies database files from
6 * a) OLD - {MODULE}/DataObjects/XXXX.{dbtype}.sql
8 * b) NEW - {MODULE}/sql/XXX.sql (SHARED or translable)
9 * and {MODULE}/{dbtype}/XXX.sql (SHARED or translable)
14 require_once 'Pman.php';
15 class Pman_Cms_UpdateDatabase extends Pman
18 static $cli_desc = "Update Database (Cms)";
20 static $cli_opts = array(
22 'desc' => 'Compile a specific template',
29 'force-content-update' => array(
30 'desc' => 'Force updating of content from templates',
38 'desc' => 'Turn on debuggin',
54 $ff = HTML_FlexyFramework::get();
55 if (!empty($ff->cli)) {
60 parent::getAuth(); // load company!
61 $au = $this->getAuthUser();
62 if (!$au || $au->company()->comptype != 'OWNER') {
63 $this->jerr("Not authenticated", array('authFailure' => true));
65 $this->authUser = $au;
69 function get($tbl, $opts= array())
71 if (!empty($opts['debug'])) {
72 DB_DataObject::debugLevel(1);
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, '');
87 $d = DB_DataObject::factory($tbl);
88 $d->initDatabase($this);
95 $enum = DB_DataObject::Factory('core_enum');
100 'name' => 'cms_page_type',
101 'display_name' => 'Cms Page Type',
105 'display_name' => 'Pages',
109 'display_name' => 'Elements',
113 'display_name' => 'Blog Entries',
117 'display_name' => 'Menu Tree',
120 'name' => 'category',
121 'display_name' => 'Category',
124 'name' => 'disabled',
125 'display_name' => 'Disabled element',
131 'name' => 'Cms.Settings',
132 'display_name' => 'Cms Settings',
139 'name' => 'cms_page_class',
140 'display_name' => 'Cms Page Class',
143 'name' => 'deep-blue',
144 'display_name' => 'Deep Blue',
147 'name' => 'deep-grey',
148 'display_name' => 'Deep Grey',
151 'name' => 'light-red',
152 'display_name' => 'Light Red',
155 'name' => 'deep-orange',
156 'display_name' => 'Deep Orange',
159 'name' => 'deep-green',
160 'display_name' => 'Deep Green',
167 $p = DB_DataObject::Factory('cms_page');
168 $p->page_type_id = 0;
169 $all = $p->fetchAll();
170 foreach($all as $t) {
173 $ff = $this->bootLoader;
174 $opts = isset($this->bootLoader->Pman_Cms) ? $this->bootLoader->Pman_Cms : array();
175 echo "Calling syncTemplateDir from Cms/UpdateDatabase\n";
178 if (empty($this->opts['force-content-update'])) {
182 echo "Template sync has been removed from here - call Cms/UpdateTemplates\n";