model = new theme_settings_model(); } function theme_activation_init() { $this->model->createTable(); } function theme_settings_add_admin_page() { add_theme_page(__('Theme Settings','amadeo-free'), __('Theme Settings','amadeo-free'), $this->user_capability, static::$plugin_id, array($this, 'theme_settings_page')); } function add_admin_scripts() { if(get_current_screen()->id == 'appearance_page_'.static::$plugin_id) { wp_enqueue_script('jquery'); wp_enqueue_media(); wp_register_style( 'ts_custom_admin_css', $this->plugin_dir_url() . '/css/admin_style.css' ); wp_enqueue_style( 'ts_custom_admin_css' ); wp_register_script( 'ts_cp_admin_js', $this->plugin_dir_url() . '/js/jqColorPicker.min.js' ); wp_enqueue_script( 'ts_cp_admin_js' ); wp_register_script( 'ts_custom_admin_js', $this->plugin_dir_url() . '/js/admin_script.js' ); wp_enqueue_script( 'ts_custom_admin_js' ); //wp_register_script( 'ts_jqueryui_admin_js', $this->plugin_dir_url() . '/js/jquery-ui.min.js' ); //wp_enqueue_script( 'ts_jqueryui_admin_js' ); } } function theme_settings_page() { $request = Request::instance(); $theme_entry = new theme_settings_entry(); $action = $request->getQuerySingleParam('action'); if($action == 'save' && $request->isMethod('POST') && isset($_POST['entry'])){ if(check_admin_referer($this->action_token)) { $theme_entry->setFields($_POST['entry']); $this->model->createTable(); $this->model->saveEntry($theme_entry); } } $this->renderView('form.php', array('entry' => $theme_entry)); } private function renderView( $view = 'form.php', array $args = array() ) { extract($args); require_once 'views/index.php'; } public function getAdminPageUrl(array $params = array()){ $admin_url = admin_url('admin.php?page='.static::$plugin_id); $admin_url = add_query_arg($params, $admin_url); return $admin_url; } function plugin_dir_url() { return strstr(content_url() , 'wp-content', TRUE) . strstr( __DIR__ , 'wp-content'. DIRECTORY_SEPARATOR ); } } $themeSettings = new ThemeSettings();