init(); } private function init() { add_action('admin_menu',array($this,'admin_menu')); load_plugin_textdomain(self::$text_domain,"/wp-content/plugins/".AXF_FOLDER."/languages/"); } public function admin_menu() { add_options_page( 'Meta Boxes', 'Meta Boxes', 8, 'meta-boxes',array($this,'options_page')); } public function options_page() { global $mb_msg; //form processing if(isset($_POST['post_action'])) { switch($_POST['post_action']) { case 'save_box': $mb_msg=__('Box successfully saved','axfields'); $id= ameta_box::save_metabox($_POST['title'],$_POST['post_types'], $_POST['position'], $_POST['priority'],$_POST['box_id']); wp_redirect('options-general.php?page=meta-boxes&tab=box&box='.$id.'&msg='.urlencode($mb_msg)); break; case 'save_field': //create field $validations=array(); if(isset($_POST['validations'])) { foreach($_POST['validations'] as $val) { switch($val) { case 'noselect': case 'maxlen': case 'minlen': case 'maxselect': case 'minselect': $validations[]=array($val,$_POST[$val.'_msg'],$_POST[$val.'_opt']); break; default://required,email,numeric $validations[]=array($val,$_POST[$val.'_msg']); break; }//switch } } $id=axfield::save_field($_POST['box'], $_POST['key'], $_POST['label'], $_POST['type'], $_POST['order'], $_POST['options'], $validations, $_POST['slug'], $_POST['field']); $mb_msg=__('Field succesfully saved!','axfields'); wp_redirect('options-general.php?page=meta-boxes&tab=field&box='.$_POST['box'].'&field='.$id.'&msg='.urlencode($mb_msg)); break; case 'tax_val': $mb_msg=__('Saved!','axfields'); ameta_box_manager::save_taxonomies_validation($_POST); wp_redirect('options-general.php?page=meta-boxes&tab=tax_val&msg='.urlencode($mb_msg)); break; }//switch } else if(isset($_GET['action']) ) { switch($_GET['action']) { case 'del': $res=ameta_box::delete_box($_GET['box']); if(is_array($res)) wp_redirect($res['redirect_url']); else { $mb_msg='Box deleted!'; wp_redirect('options-general.php?page=meta-boxes&tab=boxes&msg='.urlencode($mb_msg)); } break; case 'delf': $res= axfield::delete_field((int)$_GET['field']); if(is_array($res)) wp_redirect($res['redirect_url']); else { $mb_msg='Field successfully deleted!'; wp_redirect('options-general.php?page=meta-boxes&tab=box&box='.$_GET['box'].'&msg='.urlencode($mb_msg)); } break; } } //$meta_boxes=ameta_box_manager::get_metaboxes($this->option_name); echo '
', $_GET['msg'],'
'; echo '| '.$field->key.' | '.$field->label.' | '.$fieldtypes[$field->input_type].' | '.$field->options.' | Edit|Delete |
'.urldecode($msg).'
'; echo ''; $msg=null; } if(is_array($meta_boxes) && count($meta_boxes)>0) { ?>| '.$mb->title.' | '.$mb->fields_count.' | '.$mb->position.' | Edit|Delete | ' ; }?>