protected function load_settings() { $settings_names = array(); foreach ($this->plugin_app_paths as $plugin_app_path) { $settings_filenames = $this->file_includer->require_php_files_in_directory($plugin_app_path . 'settings/'); foreach ($settings_filenames as $filename) { $settings_names[] = MvcInflector::class_name_from_filename($filename); } } $this->settings_names = $settings_names; }
public function init_settings_defaults($file_path) { $app_directory = dirname($file_path) . '/app/'; $settings_directory = $app_directory . 'settings/'; $settings_files = $this->file_includer->require_php_files_in_directory($settings_directory); if (!empty($settings_files)) { foreach ($settings_files as $file_path) { $settings_class = MvcInflector::class_name_from_filename(basename($file_path)); $settings = new $settings_class(); $existing_values = get_option($settings->key); if (!$existing_values) { $values = array(); foreach ($settings->settings as $key => $setting) { $value = null; if (!empty($setting['default'])) { $value = $setting['default']; } else { if (!empty($setting['default_method'])) { $value = $this->{$setting['default_method']}(); } } $values[$key] = $value; } update_option($settings->key, $values); } } } }
private function load_models() { $models = array(); foreach ($this->plugin_app_paths as $plugin_app_path) { $model_filenames = $this->file_includer->require_php_files_in_directory($plugin_app_path . 'models/'); foreach ($model_filenames as $filename) { $models[] = MvcInflector::class_name_from_filename($filename); } } $this->model_names = array(); foreach ($models as $model) { $this->model_names[] = $model; $model_class = MvcInflector::camelize($model); $model_instance = new $model_class(); MvcModelRegistry::add_model($model, &$model_instance); } }