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); }
/** * @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); }
/** * @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); }