/**
* Note: This file may contain artifacts of previous malicious infection.
* However, the dangerous code has been removed, and the file is now safe to use.
*/
/*
* Goodlayers Taxonomy meta box
* ---------------------------------------------------------------------
* This file create the class which handled the metabox for
* custom taxonomy
* ---------------------------------------------------------------------
*/
if( !class_exists('limoking_tax_meta') ){
class limoking_tax_meta{
public $setting;
public $option;
function __construct($setting = array(), $option = array()){
$default_setting = array(
'taxonomy' => 'category',
'slug' => 'limoking_category_meta'
);
$this->setting = wp_parse_args($setting, $default_setting);
$this->option = $option;
add_action('admin_enqueue_scripts', array(&$this, 'include_script'));
add_action($setting['taxonomy'] . '_add_form_fields', array(&$this, 'create_new_taxonomy_meta'));
add_action($setting['taxonomy'] . '_edit_form_fields', array(&$this, 'create_edit_taxonomy_meta'));
add_action('edited_' . $setting['taxonomy'], array(&$this, 'save_taxonomy_meta'));
add_action('create_' . $setting['taxonomy'], array(&$this, 'save_taxonomy_meta'));
}
function include_script( $page ){
if( $page == 'edit-tags.php' ){
wp_enqueue_style('wp-color-picker');
wp_enqueue_style('limoking-tax-meta', get_template_directory_uri() . '/framework/stylesheet/gdlr-tax-meta.css');
wp_enqueue_style('limoking-date-picker', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
if(function_exists( 'wp_enqueue_media' )){
wp_enqueue_media();
}
wp_enqueue_script('wp-color-picker');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_script('limoking-tax-meta', get_template_directory_uri() . '/framework/javascript/gdlr-tax-meta.js', array('jquery'));
}
}
// create a meta field for new category
function create_new_taxonomy_meta(){
$this->print_html('new');
}
// create a meta field for category edit page
function create_edit_taxonomy_meta( $term ){
$this->print_html('edit', $term->slug);
}
// save value for each taxonomy
function save_taxonomy_meta( $term_id ){
$term = get_term_by('id', $term_id, $this->setting['taxonomy']);
if ( isset($_POST['term_meta']) ){
$term_meta = get_option( $this->setting['slug'] );
$cat_keys = array_keys( $_POST['term_meta'] );
foreach( $cat_keys as $key ){
if ( isset($_POST['term_meta'][$key]) ) {
$term_meta[$term->slug][$key] = limoking_stripslashes($_POST['term_meta'][$key]);
}
}
// Save the option array.
update_option( $this->setting['slug'], $term_meta );
}
}
///////////////// TAX META HTML SECTION ///////////////////
function print_html( $page = 'edit', $id = '' ){
if( empty($id) ){
$tax_val = array();
}else{
$tax_val = get_option( $this->setting['slug'], array() );
$tax_val = !empty($tax_val[$id])? $tax_val[$id]: array();
}
foreach( $this->option as $option_key => $option_value ){
$option_value['slug'] = $option_key;
$option_value['value'] = !empty($tax_val[$option_value['slug']])? $tax_val[$option_value['slug']]: '';
// starting tag
if( $page == 'edit' ){
echo '';
echo '';
echo '';
echo '';
echo '';
}else{
echo '';
}
}
}
function text_input_box( $option ){
echo '';
}
function textarea_box( $option ){
echo '';
}
function colorpicker( $option ){
echo '';
}
function date_picker( $option ){
echo '';
}
function combobox( $option ){
echo '';
}
function upload_media_box( $option ){
echo '
';
echo '';
echo '';
echo '';
echo '';
echo '';
}
}
}
?>