<style type="text/css"> .hidden { display: none!important; visibility: hidden; } </style> <?php $asset = new Cms_asset(); foreach($css_files as $file){ $asset->add_css($file); } echo $asset->compile_css(); foreach($js_files as $file){ $asset->add_js($file); } // also add adjust.js which contain of field adjustment function $asset->add_module_js('scripts/adjust.js', $module_path); echo $asset->compile_js(); echo '<h4>Project</h4>'; echo '<div style="padding-bottom: 10px;">'; if($state != 'list'){ echo '<p class="alert-warning alert"> Import database only works for MySQL. </p>'; echo anchor(site_url('{{ module_path }}/data/nds/project/'),'All Projects','class="btn btn-primary"'); } echo '</div>'; echo $output; ?>
<head> <meta charset="utf-8"> <title><?php echo $template['title']; ?> </title> <?php echo $template['metadata']; ?> <link rel="icon" href="{{ site_favicon }}"> <!-- Le styles --> <?php echo $template['css']; $asset = new Cms_asset(); if ($__is_bootstrap_cdn_connected) { $asset->add_css('//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'); } else { $asset->add_cms_css('bootstrap/css/bootstrap.min.css'); } $asset->add_themes_css('bootstrap.min.css', '{{ used_theme }}', 'default'); $asset->add_themes_css('style.css', '{{ used_theme }}', 'default'); echo $asset->compile_css(); ?> <!-- Le fav and touch icons --> <link rel="shortcut icon" href="{{ site_favicon }}"> <style type="text/css">{{ widget_name:section_custom_style }}</style> </head> <body> <?php echo $template['js']; if ($__is_bootstrap_cdn_connected) {
public function index() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // initialize groceryCRUD ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud = $this->new_crud(); // this is just for code completion if (FALSE) { $crud = new Extended_Grocery_CRUD(); } // check state & get primary_key $state = $crud->getState(); $state = $crud->getState(); $state_info = $crud->getStateInfo(); $primary_key = isset($state_info->primary_key) ? $state_info->primary_key : NULL; switch ($state) { case 'unknown': break; case 'list': break; case 'add': break; case 'edit': break; case 'delete': break; case 'insert': break; case 'update': break; case 'ajax_list': break; case 'ajax_list_info': break; case 'insert_validation': break; case 'update_validation': break; case 'upload_file': break; case 'delete_file': break; case 'ajax_relation': break; case 'ajax_relation_n_n': break; case 'success': break; case 'export': break; case 'print': break; } // unset things $crud->unset_jquery(); $crud->unset_read(); // $crud->unset_add(); // $crud->unset_edit(); // $crud->unset_list(); // $crud->unset_back_to_list(); // $crud->unset_print(); // $crud->unset_export(); // set model // $crud->set_model($this->cms_module_path().'/grocerycrud_main_language_model'); // adjust groceryCRUD's language to No-CMS's language $crud->set_language($this->cms_language()); // table name $crud->set_table(cms_table_name('main_language')); // set subject $crud->set_subject('Language'); // displayed columns on list $crud->columns('name', 'code', 'iso_code', 'translations'); // displayed columns on edit operation $crud->edit_fields('name', 'code', 'iso_code', 'translations'); // displayed columns on add operation $crud->add_fields('name', 'code', 'iso_code', 'translations'); // caption of each columns $crud->display_as('name', 'Name'); $crud->display_as('iso_code', 'ISO Code'); $crud->display_as('translations', 'Translations'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put required field validation codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/required_fields) // eg: // $crud->required_fields( $field1, $field2, $field3, ... ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->required_fields('name', 'code'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put required field validation codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/unique_fields) // eg: // $crud->unique_fields( $field1, $field2, $field3, ... ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->unique_fields('name', 'code', 'iso_code'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put field validation codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_rules) // eg: // $crud->set_rules( $field_name , $caption, $filter ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation (lookup) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation) // eg: // $crud->set_relation( $field_name , $related_table, $related_title_field , $where , $order_by ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation_n_n (detail many to many) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation_n_n) // eg: // $crud->set_relation_n_n( $field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table, // $primary_key_alias_to_selection_table , $title_field_selection_table, $priority_field_relation ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put custom field type here // (documentation: http://www.grocerycrud.com/documentation/options_functions/field_type) // eg: // $crud->field_type( $field_name , $field_type, $value ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->unset_texteditor('code'); $crud->unset_texteditor('iso_code'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put callback here // (documentation: httm://www.grocerycrud.com/documentation/options_functions) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->callback_before_insert(array($this, '_before_insert')); $crud->callback_before_update(array($this, '_before_update')); $crud->callback_before_delete(array($this, '_before_delete')); $crud->callback_after_insert(array($this, '_after_insert')); $crud->callback_after_update(array($this, '_after_update')); $crud->callback_after_delete(array($this, '_after_delete')); $crud->callback_column('translations', array($this, '_callback_column_translations')); $crud->callback_field('translations', array($this, '_callback_field_translations')); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put custom error message here // (documentation: httm://www.grocerycrud.com/documentation/set_lang_string) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // $crud->set_lang_string('delete_error_message', 'Cannot delete the record'); // $crud->set_lang_string('update_error', 'Cannot edit the record' ); // $crud->set_lang_string('insert_error', 'Cannot add the record' ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // render ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view($this->cms_module_path() . '/language/manage_main_language_view', $output, $this->n('main_language_management'), $config); }
protected function render_crud($crud = NULL) { if ($crud == NULL) { $crud = $this->CRUD; } $output = $crud->render(); // prepare css and js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); $output->output = preg_replace_callback('/(<option[^<>]*>)(.*?)(<\\/option>)/si', array($this, '_ommit_nbsp'), $output->output); return array('output' => $output, 'config' => $config); }
public function route() { $this->cms_guard_page('main_route_management'); $crud = $this->new_crud(); $crud->unset_jquery(); $crud->set_table(cms_table_name('main_route')); $crud->set_subject('Route'); $crud->required_fields('key', 'value'); $crud->unique_fields('key'); $crud->unset_read(); $crud->columns('key', 'value', 'description'); $crud->edit_fields('key', 'value', 'description'); $crud->add_fields('key', 'value', 'description'); $crud->display_as('key', 'Key')->display_as('value', 'Value')->display_as('description', 'Description'); $crud->unset_texteditor('key'); $crud->unset_texteditor('value'); $crud->unset_texteditor('description'); $crud->callback_after_insert(array($this, '_after_insert_route')); $crud->callback_after_delete(array($this, '_after_delete_route')); $crud->callback_after_update(array($this, '_after_update_route')); $crud->set_language($this->cms_language()); $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view('main/main_route', $output, 'main_route_management', $config); }
public function index() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // initialize groceryCRUD ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud = $this->new_crud(); $crud->unset_jquery(); // set model // $crud->set_model($this->cms_module_path().'/grocerycrud_category_model'); // adjust groceryCRUD's language to No-CMS's language $crud->set_language($this->cms_language()); // table name $crud->set_table($this->t('template')); // set subject $crud->set_subject('template'); // displayed columns on list $crud->columns('name', 'icon', 'description'); // displayed columns on edit operation $crud->edit_fields('name', 'icon', 'description', 'homepage', 'configuration', 'modules'); // displayed columns on add operation $crud->add_fields('name', 'icon', 'description', 'homepage', 'configuration', 'modules'); // required field $crud->required_fields('name'); $crud->unique_fields('name'); $crud->unset_read(); // caption of each columns $crud->display_as('name', 'Name'); $crud->display_as('icon', 'Icon'); $crud->display_as('description', 'Description'); $crud->display_as('homepage', 'Homepage (HTML)'); $crud->display_as('configuration', 'Configuration (JSON)'); $crud->display_as('modules', 'Modules (Comma Separated)'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation (lookup) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation) // eg: // $crud->set_relation( $field_name , $related_table, $related_title_field , $where , $order_by ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation_n_n (detail many to many) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation_n_n) // eg: // $crud->set_relation_n_n( $field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table, // $primary_key_alias_to_selection_table , $title_field_selection_table, $priority_field_relation ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put custom field type here // (documentation: http://www.grocerycrud.com/documentation/options_functions/field_type) // eg: // $crud->field_type( $field_name , $field_type, $value ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->unset_texteditor('description'); $crud->unset_texteditor('homepage'); $crud->unset_texteditor('configuration'); $crud->unset_texteditor('modules'); $crud->set_field_upload('icon', 'modules/' . $this->cms_module_path() . '/assets/uploads'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put callback here // (documentation: httm://www.grocerycrud.com/documentation/options_functions) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->callback_before_insert(array($this, 'before_insert')); $crud->callback_before_update(array($this, 'before_update')); $crud->callback_before_delete(array($this, 'before_delete')); $crud->callback_after_insert(array($this, 'after_insert')); $crud->callback_after_update(array($this, 'after_update')); $crud->callback_after_delete(array($this, 'after_delete')); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // render ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view($this->cms_module_path() . '/manage_template_view', $output, $this->n('manage_template'), $config); }
public function index() { $crud = $this->make_crud(); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // render ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $output = $crud->render(); // prepare css and js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view($this->cms_module_path() . '/Manage_tourism_view', $output, $this->cms_complete_navigation_name('manage_tourism'), $config); }
public function index() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // initialize groceryCRUD ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud = $this->new_crud(); $crud->unset_jquery(); $group_name_list = $this->cms_user_group(); $group_id_list = $this->cms_user_group_id(); // check state $state = $crud->getState(); $state_info = $crud->getStateInfo(); $primary_key = isset($state_info->primary_key) ? $state_info->primary_key : NULL; $allow_continue = TRUE; if ($this->cms_user_id() != 1 && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list) && isset($primary_key) && $primary_key !== NULL) { $query = $this->db->select('author_user_id')->from($this->cms_complete_table_name('article'))->where(array('article_id' => $primary_key, 'author_user_id' => $this->cms_user_id()))->get(); if ($query->num_rows() == 0) { $allow_continue = FALSE; } } switch ($state) { case 'unknown': break; case 'list': break; case 'add': break; case 'edit': $this->redirect(!$allow_continue); break; case 'delete': $this->redirect(!$allow_continue); break; case 'insert': $this->redirect(!$allow_continue); break; case 'update': break; case 'ajax_list': break; case 'ajax_list_info': break; case 'insert_validation': break; case 'update_validation': break; case 'upload_file': break; case 'delete_file': break; case 'ajax_relation': break; case 'ajax_relation_n_n': break; case 'success': break; case 'export': break; case 'print': break; } // set model //$crud->set_model($this->cms_module_path().'/grocerycrud_article_model'); // adjust groceryCRUD's language to No-CMS's language $crud->set_language($this->cms_language()); // table name $crud->set_table($this->cms_complete_table_name('article')); // only super admin or blog editor able to edit other's article if ($this->cms_user_id() != 1 && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list)) { $crud->where('author_user_id', $this->cms_user_id()); } // set subject $crud->set_subject('Article'); // displayed columns on list $crud->columns('article_title', 'author_user_id', 'status', 'publish_date', 'featured', 'allow_comment', 'categories', 'comments'); // displayed columns on edit operation $crud->edit_fields('article_title', 'article_url', 'date', 'status', 'publish_date', 'author_user_id', 'content', 'keyword', 'description', 'featured', 'allow_comment', 'categories', 'photos', 'comments'); // displayed columns on add operation $crud->add_fields('article_title', 'article_url', 'date', 'status', 'publish_date', 'author_user_id', 'content', 'keyword', 'description', 'featured', 'allow_comment', 'categories', 'photos', 'comments'); $crud->required_fields('article_title', 'status'); $crud->unique_fields('article_title', 'article_url'); $crud->unset_read(); // caption of each columns $crud->display_as('article_title', 'Article Title'); $crud->display_as('article_url', 'Permalink (Left blank for default)'); $crud->display_as('date', 'Created Date'); $crud->display_as('author_user_id', 'Author'); $crud->display_as('content', 'Content'); $crud->display_as('keyword', 'Keyword metadata (comma separated)'); $crud->display_as('description', 'Description metadata'); $crud->display_as('featured', 'Featured'); $crud->display_as('allow_comment', 'Allow Comment'); $crud->display_as('categories', 'Categories'); $crud->display_as('photos', 'Photos'); $crud->display_as('comments', 'Comments'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation (lookup) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation) // eg: // $crud->set_relation( $field_name , $related_table, $related_title_field , $where , $order_by ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($state == 'list' || $state == 'ajax_list' || $state == 'export' || $state == 'print' || $state == 'success') { $crud->set_relation('author_user_id', cms_table_name('main_user'), 'user_name'); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation_n_n (detail many to many) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation_n_n) // eg: // $crud->set_relation_n_n( $field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table, // $primary_key_alias_to_selection_table , $title_field_selection_table, $priority_field_relation ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->set_relation_n_n('categories', $this->cms_complete_table_name('category_article'), $this->cms_complete_table_name('category'), 'article_id', 'category_id', 'category_name', NULL); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put custom field type here // (documentation: http://www.grocerycrud.com/documentation/options_functions/field_type) // eg: // $crud->field_type( $field_name , $field_type, $value ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($state != 'list' && $state != 'ajax_list' && $state != 'print' && $state != 'export') { $crud->field_type('author_user_id', 'hidden'); } $crud->field_type('date', 'hidden'); $crud->field_type('allow_comment', 'true_false'); $crud->field_type('featured', 'true_false'); $crud->unset_texteditor('article_title'); $crud->unset_texteditor('article_url'); $crud->unset_texteditor('keyword'); $crud->unset_texteditor('description'); if ($this->cms_user_id() != 1 && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list) && !in_array('Blog Author', $group_name_list)) { $crud->field_type('status', 'hidden', 'draft'); $crud->field_type('publish_date', 'hidden'); } else { $crud->field_type('status', 'enum', array('draft', 'published', 'scheduled')); $crud->field_type('publish_date', 'datetime'); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put callback here // (documentation: httm://www.grocerycrud.com/documentation/options_functions) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->callback_before_insert(array($this, 'before_insert')); $crud->callback_before_update(array($this, 'before_update')); $crud->callback_before_delete(array($this, 'before_delete')); $crud->callback_after_insert(array($this, 'after_insert')); $crud->callback_after_update(array($this, 'after_update')); $crud->callback_after_delete(array($this, 'after_delete')); $crud->callback_column('photos', array($this, 'callback_column_photos')); $crud->callback_field('photos', array($this, 'callback_field_photos')); $crud->callback_column('comments', array($this, 'callback_column_comments')); $crud->callback_field('comments', array($this, 'callback_field_comments')); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // render ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view($this->cms_module_path() . '/manage_article_view', $output, $this->cms_complete_navigation_name('manage_article'), $config); }
public function index() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // initialize groceryCRUD ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud = $this->new_crud(); $crud->unset_jquery(); $group_name_list = $this->cms_user_group(); $group_id_list = $this->cms_user_group_id(); // check state $state = $crud->getState(); $state_info = $crud->getStateInfo(); $primary_key = isset($state_info->primary_key) ? $state_info->primary_key : NULL; $super_admin_user_id = array(1); if (CMS_SUBSITE != '') { // GET MAIN TABLE PREFIX $main_config_file = APPPATH . 'config/main/cms_config.php'; if (file_exists($main_config_file)) { include $main_config_file; $main_table_prefix = $config['__cms_table_prefix']; $main_table_prefix = $main_table_prefix == '' ? '' : $main_table_prefix . '_'; // GET MODULE TABLE PREFIX $query = $this->db->select('module_path')->from($main_table_prefix . 'main_module')->where('module_name', 'gofrendi.noCMS.module')->get(); if ($query->num_rows() > 0) { $row = $query->row; $module_path = $row->module_path; $module_config_file = FCPATH . 'modules/' . $module_path . '/config/module_config.php'; if (!file_exists($module_config_file)) { // get module table prefix include $module_config_file; $module_table_prefix = $config['module_table_prefix']; $module_table_prefix = $module_table_prefix == '' ? '' : $module_table_prefix . '_'; $subsite_table_ = $main_table_prefix . $module_table_prefix . 'subsite'; $query = $this->db->select('user_id')->from($subsite_table)->where('name', CMS_SUBSITE)->get(); if ($query->num_rows() > 0) { $row = $query->row(); $super_admin_user_id[] = $row->user_id; } } } } } $allow_continue = TRUE; if (!in_array($this->cms_user_id(), $super_admin_user_id) && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list) && isset($primary_key) && $primary_key !== NULL) { $query = $this->db->select('author_user_id')->from($this->t('article'))->where(array('article_id' => $primary_key, 'author_user_id' => $this->cms_user_id()))->get(); if ($query->num_rows() == 0) { $allow_continue = FALSE; } } switch ($state) { case 'unknown': break; case 'list': break; case 'add': break; case 'edit': $this->redirect(!$allow_continue); break; case 'delete': $this->redirect(!$allow_continue); break; case 'insert': $this->redirect(!$allow_continue); break; case 'update': break; case 'ajax_list': break; case 'ajax_list_info': break; case 'insert_validation': break; case 'update_validation': break; case 'upload_file': break; case 'delete_file': break; case 'ajax_relation': break; case 'ajax_relation_n_n': break; case 'success': break; case 'export': break; case 'print': break; } // set model //$crud->set_model($this->cms_module_path().'/grocerycrud_article_model'); // adjust groceryCRUD's language to No-CMS's language $crud->set_language($this->cms_language()); // table name $crud->set_table($this->t('article')); // only super admin or blog editor able to edit other's article if (!in_array($this->cms_user_id(), $super_admin_user_id) && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list)) { $crud->where('author_user_id', $this->cms_user_id()); } // set subject $crud->set_subject('Article'); // displayed columns on list $crud->columns('article_title', 'author_user_id', 'status', 'publish_date', 'featured', 'allow_comment', 'categories', 'comments'); // displayed columns on edit operation $crud->edit_fields('article_title', 'article_url', 'date', 'status', 'publish_date', 'author_user_id', 'content', 'categories', 'keyword', 'description', 'featured', 'allow_comment', 'photos', 'comments'); // displayed columns on add operation $crud->add_fields('article_title', 'article_url', 'date', 'status', 'publish_date', 'author_user_id', 'content', 'categories', 'keyword', 'description', 'featured', 'allow_comment', 'photos', 'comments'); $crud->required_fields('article_title', 'status'); $crud->unique_fields('article_title', 'article_url'); $crud->unset_read(); // caption of each columns $crud->display_as('article_title', 'Article Title'); $crud->display_as('status', 'Publication Status'); $crud->display_as('article_url', 'Permalink (Left blank for default)'); $crud->display_as('date', 'Created Date'); $crud->display_as('author_user_id', 'Author'); $crud->display_as('content', 'Content'); $crud->display_as('keyword', 'Keyword metadata (comma separated)'); $crud->display_as('description', 'Description metadata'); $crud->display_as('featured', 'Featured'); $crud->display_as('allow_comment', 'Allow Comment'); $crud->display_as('categories', 'Categories'); $crud->display_as('photos', 'Photos'); $crud->display_as('comments', 'Comments'); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation (lookup) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation) // eg: // $crud->set_relation( $field_name , $related_table, $related_title_field , $where , $order_by ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($state == 'list' || $state == 'ajax_list' || $state == 'export' || $state == 'print' || $state == 'success') { $crud->set_relation('author_user_id', $this->cms_user_table_name(), 'user_name'); } if (in_array($this->cms_user_id(), $super_admin_user_id) || in_array(1, $group_id_list) || in_array('Blog Editor', $group_name_list) || in_array('Blog Author', $group_name_list)) { $crud->set_relation('status', $this->t('publication_status'), 'status'); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put set relation_n_n (detail many to many) codes here // (documentation: http://www.grocerycrud.com/documentation/options_functions/set_relation_n_n) // eg: // $crud->set_relation_n_n( $field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table, // $primary_key_alias_to_selection_table , $title_field_selection_table, $priority_field_relation ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->set_relation_n_n('categories', $this->t('category_article'), $this->t('category'), 'article_id', 'category_id', 'category_name', NULL); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put custom field type here // (documentation: http://www.grocerycrud.com/documentation/options_functions/field_type) // eg: // $crud->field_type( $field_name , $field_type, $value ); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($state != 'list' && $state != 'ajax_list' && $state != 'print' && $state != 'export') { $crud->field_type('author_user_id', 'hidden'); } $crud->field_type('date', 'hidden'); $crud->field_type('allow_comment', 'true_false'); $crud->field_type('featured', 'true_false'); $crud->unset_texteditor('article_title'); $crud->unset_texteditor('article_url'); $crud->unset_texteditor('keyword'); $crud->unset_texteditor('description'); $crud->set_outside_tab(6); $crud->set_tabs(array('Setting' => 4, 'Photos' => 1, 'Comments' => 1)); $crud->set_tab_glyphicons(array('Setting' => 'glyphicon-th-list', 'Photos' => 'glyphicon-picture', 'Comments' => 'glyphicon-comment')); if (!in_array($this->cms_user_id(), $super_admin_user_id) && !in_array(1, $group_id_list) && !in_array('Blog Editor', $group_name_list) && !in_array('Blog Author', $group_name_list)) { $crud->field_type('status', 'hidden', 'draft'); $crud->field_type('publish_date', 'hidden'); } else { $crud->field_type('publish_date', 'datetime'); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HINT: Put callback here // (documentation: httm://www.grocerycrud.com/documentation/options_functions) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $crud->callback_before_insert(array($this, 'before_insert')); $crud->callback_before_update(array($this, 'before_update')); $crud->callback_before_delete(array($this, 'before_delete')); $crud->callback_after_insert(array($this, 'after_insert')); $crud->callback_after_update(array($this, 'after_update')); $crud->callback_after_delete(array($this, 'after_delete')); $crud->callback_column('photos', array($this, 'callback_column_photos')); $crud->callback_field('photos', array($this, 'callback_field_photos')); $crud->callback_column('comments', array($this, 'callback_column_comments')); $crud->callback_field('comments', array($this, 'callback_field_comments')); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // render ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // add values from post $this->load->model('blog/article_model'); $output->title = $this->input->post('title'); $output->content = $this->article_model->build_content($this->input->post('content')); $output->status = $this->input->post('status'); // show the view $this->view($this->cms_module_path() . '/manage_article_view', $output, $this->n('manage_article'), $config); }
public function config() { $this->cms_guard_page('main_config_management'); $crud = $this->new_crud(); $crud->unset_jquery(); $crud->set_table(cms_table_name('main_config')); $crud->set_subject($this->cms_lang('Configuration')); $crud->unique_fields('config_name'); $crud->unset_read(); $crud->unset_delete(); $crud->columns('config_name', 'value'); $crud->edit_fields('config_name', 'value', 'description'); $crud->add_fields('config_name', 'value', 'description'); $crud->display_as('config_name', 'Configuration Key')->display_as('value', 'Configuration Value')->display_as('description', 'Description'); $crud->unset_texteditor('description'); $crud->unset_texteditor('value'); $operation = $crud->getState(); if ($operation == 'edit' || $operation == 'update' || $operation == 'update_validation') { $crud->field_type('config_name', 'readonly'); $crud->field_type('description', 'readonly'); } else { if ($operation == 'add' || $operation == 'insert' || $operation == 'insert_validation') { //$crud->set_rules('config_name', 'Configuration Key', 'required'); $crud->required_fields('config_name'); } } $crud->callback_after_insert(array($this, '_after_insert_config')); $crud->callback_after_update(array($this, '_after_update_config')); $crud->callback_before_delete(array($this, '_before_delete_config')); $crud->set_language($this->cms_language()); $output = $crud->render(); // prepare css & js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); // show the view $this->view('main/main_config', $output, 'main_config_management', $config); }
protected function render_crud($crud = NULL) { if ($crud == NULL) { $crud = $this->CRUD; } $output = $crud->render(); // prepare css and js, add them to config $config = array(); $asset = new Cms_asset(); foreach ($output->css_files as $file) { $asset->add_css($file); } $config['css'] = $asset->compile_css(); foreach ($output->js_files as $file) { $asset->add_js($file); } $config['js'] = $asset->compile_js(); return array('output' => $output, 'config' => $config); }