public function init_options_set() { if(!is_null($this->get_options_set())) return; if( is_string($this->get_template()) and is_file($this->get_template()) ) $template = include $this->get_template(); else if(is_array($this->get_template())) $template = $this->get_template(); else throw new Exception(__( 'Invalid template supplied', 'vp_textdomain' ), 1); $parser = new VP_Option_Parser(); $set = $parser->parse_array_options($template, $this->use_auto_group_naming()); $set->set_layout($this->get_layout()); // assign set object $this->set_options_set($set); if( $this->use_util_menu() ) { // setup utility menu $util_menu = new VP_Option_Control_Group_Menu(); $util_menu->set_title(__('Utility', 'vp_textdomain')); $util_menu->set_name('menu_util'); $util_menu->set_icon('font-awesome:fa-ambulance'); // setup restore default section $restore_section = new VP_Option_Control_Group_Section(); $restore_section->set_title(__('Oneclick Installation', 'charity')); $restore_section->set_name('section_restore'); $restore_section->set_description(__('Here, You Can Import Charity Data Easily In Accordance With Requirement & Install Theme in Just One Click',"charity")); // setup restore button $restore_button = new VP_Option_Control_Field_Restore(); $restore_section->add_field($restore_button); /*??? // setup exim section $exim_section = new VP_Option_Control_Group_Section(); $exim_section->set_title(__('Export/Import', 'vp_textdomain')); $exim_section->set_name('section_exim'); // setup exim field $exim_field = new VP_Option_Control_Field_ImpExp(); $exim_section->add_field($exim_field); // add exim section //???$util_menu->add_control($exim_section); */ //==== Offline installation $offline_section = new VP_Option_Control_Group_Section(); $offline_section->set_title(__('Offline / Manual Installation', 'charity')); $offline_section->set_name('section_offline'); $offline_section->set_description(__('Here, You Can Import Charity Data Easily In Accordance With Requirement & Install Theme in Just One Click',"charity")); // setup restore button $offline_button = new VP_Option_Control_Field_Offline(); $offline_section->add_field($offline_button); $util_menu->add_control($restore_section); $util_menu->add_control($offline_section); //========================================= $set->add_menu($util_menu); } }
public function init_options_set() { if (!is_null($this->get_options_set())) { return; } if (is_string($this->get_template()) and is_file($this->get_template())) { $template = (include $this->get_template()); } else { if (is_array($this->get_template())) { $template = $this->get_template(); } else { throw new Exception(__('Invalid template supplied', 'wp-ultimate-recipe'), 1); } } $parser = new VP_Option_Parser(); $set = $parser->parse_array_options($template, $this->use_auto_group_naming()); $set->set_layout($this->get_layout()); // assign set object $this->set_options_set($set); if ($this->use_util_menu()) { // setup utility menu $util_menu = new VP_Option_Control_Group_Menu(); $util_menu->set_title(__('Utility', 'wp-ultimate-recipe')); $util_menu->set_name('menu_util'); $util_menu->set_icon('font-awesome:fa-ambulance'); // setup restore default section $restore_section = new VP_Option_Control_Group_Section(); $restore_section->set_title(__('Restore Default', 'wp-ultimate-recipe')); $restore_section->set_name('section_restore'); // setup restore button $restore_button = new VP_Option_Control_Field_Restore(); $restore_section->add_field($restore_button); // setup exim section $exim_section = new VP_Option_Control_Group_Section(); $exim_section->set_title(__('Export/Import', 'wp-ultimate-recipe')); $exim_section->set_name('section_exim'); // setup exim field $exim_field = new VP_Option_Control_Field_ImpExp(); $exim_section->add_field($exim_field); // add exim section $util_menu->add_control($exim_section); $util_menu->add_control($restore_section); $set->add_menu($util_menu); } }
public function parse_array_options($arr, $auto_group_naming) { $set = new VP_Option_Control_Set(); if (empty($arr['title'])) { $arr['title'] = 'Vafpress'; } if (empty($arr['logo'])) { $arr['logo'] = 'vp-logo.png'; } $set->set_title(isset($arr['title']) ? $arr['title'] : '')->set_logo(isset($arr['logo']) ? $arr['logo'] : ''); $auto_menu_index = 0; $auto_menu = "the_menu_"; // Loops trough all the menus if (!empty($arr['menus'])) { foreach ($arr['menus'] as $menu) { // Create menu object and add to set $vp_menu = new VP_Option_Control_Group_Menu(); if ($auto_group_naming) { if (isset($menu['name']) and !empty($menu['name'])) { $vp_menu->set_name($menu['name']); } else { $vp_menu->set_name($auto_menu . $auto_menu_index); $auto_menu_index++; } } $vp_menu->set_title(isset($menu['title']) ? $menu['title'] : '')->set_icon(isset($menu['icon']) ? $menu['icon'] : ''); $set->add_menu($vp_menu); // Loops through every submenu in each menu if (!empty($menu['menus']) and is_array($menu['menus'])) { foreach ($menu['menus'] as $submenu) { $vp_submenu = new VP_Option_Control_Group_Menu(); if ($auto_group_naming) { if (isset($submenu['name']) and !empty($submenu['name'])) { $vp_submenu->set_name($submenu['name']); } else { $vp_submenu->set_name($auto_menu . $auto_menu_index); $auto_menu_index++; } } $vp_submenu->set_title(isset($submenu['title']) ? $submenu['title'] : '')->set_icon(isset($submenu['icon']) ? $submenu['icon'] : ''); $vp_menu->add_menu($vp_submenu); // Loops through every control in each submenu if (!empty($submenu['controls'])) { foreach ($submenu['controls'] as $control) { if ($control['type'] === 'section') { $control = $this->parse_section($control); } else { $control = $this->parse_field($control); } $vp_submenu->add_control($control); } } } } else { // Loops through every control in each submenu if (!empty($menu['controls']) and is_array($menu['controls'])) { foreach ($menu['controls'] as $control) { if ($control['type'] === 'section') { $control = $this->parse_section($control); } else { $control = $this->parse_field($control); } $vp_menu->add_control($control); } } } } } return $set; }