Exemple #1
0
<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);
 }
Exemple #5
0
 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);
 }
Exemple #6
0
 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);
 }
Exemple #9
0
 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);
 }
Exemple #10
0
 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);
 }