示例#1
0
 public function edit($site_name)
 {
     $this->cms_guard_page($this->cms_complete_navigation_name('index'), 'modify_subsite');
     $this->load->model($this->cms_module_path() . '/subsite_model');
     $is_super_admin = in_array($this->cms_user_id(), $this->cms_user_group_id());
     // get module and theme list
     $module_list = $this->subsite_model->module_list();
     $theme_list = $this->subsite_model->theme_list();
     // if btn_save clicked
     $save = false;
     if ($this->input->post('btn_save')) {
         $description = $this->input->post('description');
         $name = $this->input->post('name');
         $use_subdomain = $this->input->post('use_subdomain') == 'True' ? 1 : 0;
         // upload the logo
         $upload_path = FCPATH . 'modules/' . $this->cms_module_path() . '/assets/uploads/';
         $file_name = NULL;
         if (isset($_FILES['logo']) && isset($_FILES['logo']['name']) && $_FILES['logo']['name'] != '') {
             $tmp_name = $_FILES['logo']['tmp_name'];
             $file_name = $_FILES['logo']['name'];
             $file_name = $this->randomize_string($file_name) . $file_name;
             move_uploaded_file($tmp_name, $upload_path . $file_name);
             $new_logo_file = FCPATH . 'assets/nocms/images/custom_logo/' . $site_name . $_FILES['logo']['name'];
             $new_logo_config = '{{ base_url }}assets/nocms/images/custom_logo/' . $site_name . $_FILES['logo']['name'];
             $this->load->library('image_moo');
             $this->image_moo->load($upload_path . $file_name)->resize(800, 125)->save($new_logo_file, true);
             $this->db->update($this->subsite_model->get_subsite_config_table_name($site_name), array('value' => $new_logo_config), array('config_name' => 'site_logo'));
             // update cms_config
             __cms_config('site_logo', $new_logo_config, FALSE, APPPATH . 'config/site-' . $site_name . '/cms_config.php', 'cms_config');
         }
         $logo = $file_name;
         $data = array('description' => $description, 'use_subdomain' => $use_subdomain);
         if ($logo !== NULL) {
             $data['logo'] = $logo;
         }
         if ($is_super_admin) {
             $activated_module_list = $this->input->post('modules');
             $activated_theme_list = $this->input->post('themes');
             $aliases = $this->input->post('aliases');
             $activated_module_list = $activated_module_list === NULL ? array() : $activated_module_list;
             $activated_theme_list = $activated_theme_list === NULL ? array() : $activated_theme_list;
             $modules = $activated_module_list == NULL ? '' : implode(',', $activated_module_list);
             $themes = $activated_theme_list == NULL ? '' : implode(',', $activated_theme_list);
             $active = $this->input->post('active') == 'True' ? 1 : 0;
             $data['modules'] = $modules;
             $data['themes'] = $themes;
             $data['aliases'] = $aliases;
             $data['active'] = $active;
         }
         $this->db->update($this->cms_complete_table_name('subsite'), $data, array('name' => $site_name));
         $this->subsite_model->update_configs();
         $save = true;
     }
     // get data
     $subsite = $this->subsite_model->get_one_data($site_name);
     $data = array('edit_url' => $this->cms_module_path() == 'multisite' ? site_url($this->cms_module_path() . '/edit/' . $site_name) : site_url($this->cms_module_path() . '/multisite/edit/' . $site_name), 'description' => $subsite->description, 'name' => $subsite->name, 'logo' => $subsite->logo, 'use_subdomain' => $subsite->use_subdomain, 'modules' => $subsite->modules, 'themes' => $subsite->themes, 'aliases' => $subsite->aliases, 'module_list' => $this->make_associative_array($module_list), 'theme_list' => $this->make_associative_array($theme_list), 'is_super_admin' => $is_super_admin, 'save' => $save, 'active' => $subsite->active);
     // show
     $config = array('privileges' => array('modify_subsite'));
     $this->view($this->cms_module_path() . '/multisite_edit', $data, $this->cms_complete_navigation_name('index'), $config);
 }
示例#2
0
/**
 * @author goFrendiAsgard
 * @param string $key
 * @param string $value
 * @param bool $delete
 * @desc get/set module configuration value. if delete == TRUE, then the key will be deleted
 */
function cms_module_config($module_directory, $key, $value = NULL, $delete = FALSE)
{
    $main_config_file_name = FCPATH . 'modules/' . $module_directory . '/config/module_config.php';
    if (!file_exists($main_config_file_name)) {
        $content = "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');" . PHP_EOL . PHP_EOL;
        $content .= '$config[\'module_table_prefix\']  = \'\';' . PHP_EOL;
        $content .= '$config[\'module_prefix\']        = \'\';' . PHP_EOL;
        file_put_contents($main_config_file_name, $content);
    }
    if (defined('CMS_SUBSITE') && CMS_SUBSITE != '') {
        $file_name = FCPATH . 'modules/' . $module_directory . '/config/module_config_' . CMS_SUBSITE . '.php';
        if (!file_exists($file_name)) {
            copy($main_config_file_name, $file_name);
        }
    } else {
        if (!defined('CMS_RESET_OVERRIDDEN_SUBSITE') && defined('CMS_OVERRIDDEN_SUBSITE') && CMS_OVERRIDDEN_SUBSITE != '') {
            $file_name = FCPATH . 'modules/' . $module_directory . '/config/module_config_' . CMS_OVERRIDDEN_SUBSITE . '.php';
            if (!file_exists($file_name)) {
                copy($main_config_file_name, $file_name);
            }
        } else {
            $file_name = $main_config_file_name;
        }
    }
    $config_load_alias = $module_directory . '/module_config';
    return __cms_config($key, $value, $delete, $file_name, $config_load_alias);
}
示例#3
0
/**
 * @author goFrendiAsgard
 * @param string $key
 * @param string $value
 * @param bool $delete
 * @desc get/set module configuration value. if delete == TRUE, then the key will be deleted
 */
function cms_module_config($module_directory, $key, $value = NULL, $delete = FALSE)
{
    $file_name = BASEPATH . '../modules/' . $module_directory . '/config/module_config.php';
    $config_load_alias = $module_directory . '/module_config';
    return __cms_config($key, $value, $delete, $file_name, $config_load_alias);
}