Exemplo n.º 1
0
 public static function create($title)
 {
     $group = new __cms_group();
     $group->do_retrieve(['title'], ['where_equals' => ['title' => $title]]);
     if (!$group->get_primary_key()) {
         $group->title = $title;
         $group->do_save();
     }
     return $group;
 }
Exemplo n.º 2
0
 public static function create_from_structure($database)
 {
     $json = module::create($database);
     db::create_table_json($json);
     foreach ($json->dependencies as $dependant) {
         if (!db::table_exists($dependant)) {
             static::create_from_structure($dependant);
         }
     }
     $_group_id = _cms_group::create($json->group)->get_primary_key();
     $module_id = _cms_module::create($json->title, $json->tablename, $json->primary_key, $_group_id, $json->namespace)->get_primary_key();
     $cnt = 0;
     foreach ($json->fieldset as $field => $structure) {
         if (!$structure->is_default) {
             $cnt++;
             _cms_field::create($field, $structure, $module_id);
         }
     }
     foreach ($json->fieldset as $field => $structure) {
         if ($structure->module && $structure->field) {
             $cms_field = new _cms_field();
             $cms_field->do_retrieve([], ['where' => '(mid = :mid OR mid = 0) AND field_name = :field_name', 'parameters' => ['mid' => $module_id, 'field_name' => $field]]);
             if ($structure->type == 'mlink') {
                 if (!db::table_exists($database . '_link_' . $structure->module)) {
                     db::create_table_join($database, $structure->module);
                 }
             }
             static::modify_link_field($cms_field, $structure->module, $structure->field);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * @return string
  */
 function get_main_nav()
 {
     $groups = object\_cms_group::get_all([]);
     $html = node::create('nav#nav.navbar.navbar-default', ['role' => 'navigation'], node::create('div.container-fluid', [], node::create('ul.nav.navbar-nav', [], node::create('li a.navbar-brand', ['href' => '/cms'], 'CMS') . $groups->iterate_return(function (object\_cms_group $row) {
         $modules = object\_cms_module::get_all([], ['where_equals' => ['gid' => $row->gid, 'parent_mid' => 0]]);
         return node::create('li', [], node::create('a.dropdown-toggle', ['data-toggle' => 'dropdown'], $row->title . node::create('span.caret', [], '')) . node::create('ul.dropdown-menu', ['role' => 'menu'], $modules->iterate_return(function (object\_cms_module $srow) {
             return node::create('li a', ['href' => '/cms/module/' . $srow->mid], $srow->title);
         })));
     })) . node::create('ul.nav.navbar-nav.navbar-right', [], $this->get_right_nav())));
     return $html;
 }