<?php
/**
 * Registering meta boxes
 *
 * In this file, I'll show you how to extend the class to add more field type (in this case, the 'taxonomy' type)
 * All the definitions of meta boxes are listed below with comments, please read them carefully.
 * Note that each validation method of the Validation Class MUST return value instead of boolean as before
 *
 * You also should read the changelog to know what has been changed
 *
 * For more information, please visit: http://www.deluxeblogtips.com/2010/04/how-to-create-meta-box-wordpress-post.html
 *
 */

/********************* BEGIN EXTENDING CLASS ***********************/

/**
 * Extend RW_Meta_Box class
 * Add field type: 'taxonomy'
 */
class RW_Meta_Box_Taxonomy extends RW_Meta_Box {
	
	function add_missed_values() {
		parent::add_missed_values();
		
		// add 'multiple' option to taxonomy field with checkbox_list type
		foreach ($this->_meta_box['fields'] as $key => $field) {
			if ('taxonomy' == $field['type'] && 'checkbox_list' == $field['options']['type']) {
				$this->_meta_box['fields'][$key]['multiple'] = true;
			}
		}
	}

// CSS

	// show taxonomy list
	function show_field_taxonomy($field, $meta) {
		global $post;
		
		if (!is_array($meta)) $meta = (array) $meta;
		
		$this->show_field_begin($field, $meta);
		
		$options = $field['options'];
		$terms = get_terms($options['taxonomy'], $options['args']);
		
		// checkbox_list
		if ('checkbox_list' == $options['type']) {
			foreach ($terms as $term) {
				echo "<input type='checkbox' name='{$field['id']}[]' value='$term->slug'" . checked(in_array($term->slug, $meta), true, false) . " /> $term->name<br/>";
			}
		}
		// select
		else {
			echo "<select name='{$field['id']}" . ($field['multiple'] ? "[]' multiple='multiple' style='height:auto'" : "'") . ">";
		
			foreach ($terms as $term) {
				echo "<option value='$term->slug'" . selected(in_array($term->slug, $meta), true, false) . ">$term->name</option>";
			}
			echo "</select>";
		}
		
		$this->show_field_end($field, $meta);
	}
}

if (is_admin()) 
{
	wp_enqueue_style('metabox_css', Lioit_URI . '/Lioit/metaboxes/metabox.css');
}

/********************* END EXTENDING CLASS ***********************/

/********************* BEGIN DEFINITION OF META BOXES ***********************/

// prefix of meta keys, optional
// use underscore (_) at the beginning to make keys hidden, for example $prefix = '_rw_';
// you also can make prefix empty to disable it
$prefix = 'Lioit_';

$meta_boxes = array();










$meta_boxes[] = array(
	'id' => 'group_video',
	'title' => 'إعدادات الفيديوهات',
	'pages' => array('serie'),
	'context' => 'normal',
	'priority' => 'high',
        

'fields' => array(
                array(
			'name' => __('المقالة تحتوي علي فيديو'),
			'id' => 'group_video_show',
			'desc' => 'إذا كانت المقالة تحتوي علي فيديو قم بتفعيل هذا الإختيار وإختيار فيديو من بنية التدوينة',
			'type' => 'checkbox',
		),

		    	array(
			'name' => __('عنوان الفيديو'),
			'id' => 'group_video_title',
			'desc' => 'عنوان الحلقة إن كان لها عنوان مخصص مثلاً " مغامرة الفضاء " او " الحلقة الأولي " إن كان من مسلسل أو برنامج معين ..',
			'type' => 'text',
		),
				array(
			'name' => __('وصف الفيديو'),
			'id' => 'group_video_info',
			'desc' => 'إكتب وصف قصير للفيديو',
			'type' => 'textarea',
		),
		
		   		array(
			'name' => __('رابط الفيديو'),
			'id' => 'group_video_url',
			'desc' => 'رابط الفيديو للمشاهدة',
			'type' => 'text',
		),
		
		
		
	));

$meta_boxes[] = array(
	'id' => 'post_image_gallery',							
	'title' => 'معرض الصور',
	'desc' => 'إذا كانت المقالة تحتوي علي صور قم بإدراجها من هنا',			
	'pages' => array('post'),	
	'context' => 'normal',						
	'priority' => 'high',						
        

'fields' => array(							
                array(
			'name' => __('ارفع الصور'),					
			'id' => 'post_image_galleryup',				
			'desc' => 'قم برفع الصور وإدراجها هنا',
			'type' => 'image',						
		),
		
		
	));


foreach ($meta_boxes as $meta_box) {
	$my_box = new RW_Meta_Box_Taxonomy($meta_box);
}

/********************* END DEFINITION OF META BOXES ***********************/

/********************* BEGIN VALIDATION ***********************/

/**
 * Validation class
 * Define ALL validation methods inside this class
 * Use the names of these methods in the definition of meta boxes (key 'validate_func' of each field)
 */
class RW_Meta_Box_Validate {
	function check_name($text) {
		if ($text == 'Anh Tran') {
			return 'He is Rilwis';
		}
		return $text;
	}
}

/********************* END VALIDATION ***********************/
?>
