wp/wp-content/themes/IN-MOTION-package-u1/in-motion/functions/custom-post.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
permissions -rwxr-xr-x
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
//post editing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	add_action( 'admin_menu', 'hybrid_create_meta_box' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
   add_action( 'save_post', 'hybrid_save_meta_data' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
function hybrid_create_meta_box() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	global $theme_name;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	add_meta_box( 'post-meta-boxes', __('General post options','pego_tr'), 'post_meta_boxes', 'post', 'normal', 'high' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
function hybrid_post_meta_boxes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
	/* Array of the meta box options. */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	$meta_boxes = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
			'post_type_selected' => array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
							'name' => 'post_type_selected', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
							'title' => __(' Post type:', 'pego_tr'), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
							'description' => __('Choose the type of the post.','pego_tr'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
							'type' => "select", 'std' => 'Image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
							'options' => array('Image', 'Slideshow', 'Video', 'News')),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			'post_video_url' => array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
							'name' => 'post_video_url',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
							'title' => __('Video URL:', 'pego_tr'), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
							'description' => __('Enter the embedded code of the post.','pego_tr'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
							'type' => 'textarea' )	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	return apply_filters( 'hybrid_post_meta_boxes', $meta_boxes );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
function post_meta_boxes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	$meta_boxes = hybrid_post_meta_boxes(); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	<table class="form-table">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	<?php foreach ( $meta_boxes as $meta ) :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
		$value = get_post_meta( $post->ID, $meta['name'], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
		if ( $meta['type'] == 'text' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
			get_meta_text_input( $meta, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		elseif ( $meta['type'] == 'textarea' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
			get_meta_textarea( $meta, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		elseif ( $meta['type'] == 'select' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			get_meta_select( $meta, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
	endforeach; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
	</table>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
function get_meta_text_input( $args = array(), $value = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	extract( $args ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
		<th style="width:30%;">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			<label for="<?php echo $name; ?>"><b><?php echo $title; ?></b><br/><span  style="color:#777777;"><?php echo $description; ?></span></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		</th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			<input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_html( $value ); ?>" size="30" tabindex="30" style="width: 97%;" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
			<input type="hidden" name="<?php echo $name; ?>_noncename" id="<?php echo $name; ?>_noncename" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
	</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
	<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
function get_meta_select( $args = array(), $value = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	extract( $args ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
		<th style="width:30%;">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
			<label for="<?php echo $name; ?>"><b><?php echo $title; ?></b><br/><span  style="color:#777777;"><?php echo $description; ?></span></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
		</th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			<select style="width:100px;" name="<?php echo $name; ?>" id="<?php echo $name; ?>">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			<?php foreach ( $options as $option ) : ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
				<option <?php if ( htmlentities( $value, ENT_QUOTES ) == $option ) echo ' selected="selected"'; ?>>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
					<?php echo $option; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
				</option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			<?php endforeach; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
			</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
			<input type="hidden" name="<?php echo $name; ?>_noncename" id="<?php echo $name; ?>_noncename" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
	<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
function get_meta_textarea( $args = array(), $value = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	extract( $args ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
	<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		<th style="width:30%;">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
			<label for="<?php echo $name; ?>"><b><?php echo $title; ?></b><br/><span  style="color:#777777;"><?php echo $description; ?></span></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
		</th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
		<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
			<textarea name="<?php echo $name; ?>" id="<?php echo $name; ?>" cols="60" rows="4" tabindex="30" style="width: 97%;"><?php echo esc_html( $value ); ?></textarea>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
			<input type="hidden" name="<?php echo $name; ?>_noncename" id="<?php echo $name; ?>_noncename" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
	</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
	<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
function get_meta_color( $args = array(), $value = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
	extract( $args ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
	<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		<th style="width:30%;">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
			<label for="<?php echo $name; ?>"><b><?php echo $title; ?></b><br/><span style="color:#777777;" ><?php echo $description; ?></span></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
		</th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
		<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
			<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/functions/css/colorpicker.css" type="text/css" media="screen" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
			<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/functions/js/jquery.js"></script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
			<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/functions/js/colorpicker.js"></script>	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
			<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/functions/js/eye.js"></script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
			<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/functions/js/layout.js?ver=1.0.2"></script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		   #<input type="text" maxlength="6" size="6" name="<?php echo $name; ?>"  id="colorpickerField1" value="<?php echo esc_html( $value ); ?>"  />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
			<input type="hidden" name="<?php echo $name; ?>_noncename" id="<?php echo $name; ?>_noncename" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
	</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
	<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
function hybrid_save_meta_data( $post_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
		$meta_boxes = array_merge( hybrid_post_meta_boxes() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
	foreach ( $meta_boxes as $meta_box ) :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
		if ( !wp_verify_nonce( $_POST[$meta_box['name'] . '_noncename'], plugin_basename( __FILE__ ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
			return $post_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
		if ( 'page' == $_POST['post_type'] && !current_user_can( 'edit_page', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
			return $post_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
		elseif ( 'post' == $_POST['post_type'] && !current_user_can( 'edit_post', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
			return $post_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		$data = stripslashes( $_POST[$meta_box['name']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
		if ( get_post_meta( $post_id, $meta_box['name'] ) == '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
			add_post_meta( $post_id, $meta_box['name'], $data, true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
		elseif ( $data != get_post_meta( $post_id, $meta_box['name'], true ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
			update_post_meta( $post_id, $meta_box['name'], $data );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
		elseif ( $data == '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
			delete_post_meta( $post_id, $meta_box['name'], get_post_meta( $post_id, $meta_box['name'], true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
	endforeach;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
?>