pagehook = add_menu_page('Accordeon Menu CK', 'Accordeon Menu CK', 'administrator', 'accordeonmenuck_general', array($this, 'render_styles'), ACCORDEONMENUCK_MEDIA_URL . '/images/admin_menu.png'); add_submenu_page('accordeonmenuck_general', __('Accordeon Menu CK'), __('All Styles', 'accordeon-menu-ck'), 'administrator', 'accordeonmenuck_general', array($this, 'render_styles')); add_submenu_page('accordeonmenuck_general', __('Edit'), __('Add New', 'accordeon-menu-ck'), 'administrator', 'accordeonmenuck_edit_style', array($this, 'render_edit_style')); } /** * Set some styles for the admin menu icon */ function set_admin_menu_image_position() { ?> callHelpers(); $this->input = new CKInput(); $tasks = $this->input->get('task', '', 'cmd'); if ($tasks) { $tasks = explode('.', $tasks); if (count($tasks) == 2) { $controllerName = $tasks[0]; $controllerClassName = '\Accordeonmenuck\CKController' . ucfirst($tasks[0]); $task = $tasks[1]; require_once ACCORDEONMENUCK_PATH . '/controllers/' . $controllerName . '.php'; $controller = new $controllerClassName(); $controller->$task(); } else { $task = $tasks[0]; $controller = new CKController(); $controller->$task(); } } // load the view $layout = $this->input->get('layout', $layout, 'cmd'); $view = $this->input->get('view', $view, 'cmd'); require_once ACCORDEONMENUCK_PATH . '/helpers/ckview.php'; require_once ACCORDEONMENUCK_PATH . '/views/' . $view . '/view.html.php'; $className = '\Accordeonmenuck\CKView' . ucfirst($view); $classInstance = new $className(); $classInstance->display($layout); } function render_styles() { $this->render_page('styles'); } function render_edit_style() { $this->render_page('style', 'edit'); } function render_help() { $this->render_page('help'); } function render_about() { $this->render_page('about'); } function render_edit_menu() { $this->render_page('menu', 'edit'); } } // if we go into the edition interface, we redirect and kill if ( isset($_REQUEST['page']) && $_REQUEST['page'] === 'accordeonmenuck_edit_style' && isset($_REQUEST['task']) && substr($_REQUEST['task'], 0, 10) === 'style.ajax' ) { add_action('admin_init', '\Accordeonmenuck\accordeonmenuck_edition_init', 20); } function accordeonmenuck_edition_init() { // get the template creator class $Accordeonmenuck = Accordeonmenuck::getInstance(); $Accordeonmenuck->render_page('style'); die(); } // load the process $Accordeonmenuck = Accordeonmenuck::getInstance(); $Accordeonmenuck->init(); // to create and manage the database require_once( WP_PLUGIN_DIR . '/accordeon-menu-ck/helpers/sql.php' ); register_activation_hook( __FILE__, 'accordeonmenuck_sql_install' ); register_activation_hook( __FILE__, 'accordeonmenuck_sql_install_data' );