|  | @@ -0,0 +1,282 @@
 | 
	
		
			
				|  |  | +<?php 
 | 
	
		
			
				|  |  | +function ph_films() {
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +	$labels = array(
 | 
	
		
			
				|  |  | +		'name' => _x('Films', 'post type general name'),
 | 
	
		
			
				|  |  | +		'singular_name' => _x('Film', 'post type singular name'),
 | 
	
		
			
				|  |  | +		'add_new' => _x('Add New Film', 'Film item'),
 | 
	
		
			
				|  |  | +		'add_new_item' => __('Add New Film'),
 | 
	
		
			
				|  |  | +		'edit_item' => __('Edit Film'),
 | 
	
		
			
				|  |  | +		'new_item' => __('New Film'),
 | 
	
		
			
				|  |  | +		'view_item' => __('View Film'),
 | 
	
		
			
				|  |  | +		'search_items' => __('Search Films'),
 | 
	
		
			
				|  |  | +		'not_found' =>  __('No Films found'),
 | 
	
		
			
				|  |  | +		'not_found_in_trash' => __('No Films found in Trash'),
 | 
	
		
			
				|  |  | +		'parent_item_colon' => ''
 | 
	
		
			
				|  |  | +	);
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +	$args = array(
 | 
	
		
			
				|  |  | +		'labels' => $labels,
 | 
	
		
			
				|  |  | +		'public' => true,
 | 
	
		
			
				|  |  | +		'publicly_queryable' => true,
 | 
	
		
			
				|  |  | +		'show_ui' => true,
 | 
	
		
			
				|  |  | +		'query_var' => true,
 | 
	
		
			
				|  |  | +		'capability_type' => 'post',
 | 
	
		
			
				|  |  | +		'hierarchical' => false,
 | 
	
		
			
				|  |  | +		'rewrite' => array("slug" => "films"),
 | 
	
		
			
				|  |  | +		'menu_position' => 3,
 | 
	
		
			
				|  |  | +		'supports' => array('title','editor','thumbnail','excerpt'),
 | 
	
		
			
				|  |  | +		'menu_icon' => get_stylesheet_directory_uri() . '/img/film-icon.jpg',
 | 
	
		
			
				|  |  | +	  ); 
 | 
	
		
			
				|  |  | + 	
 | 
	
		
			
				|  |  | +	if (class_exists('MultiPostThumbnails')) {
 | 
	
		
			
				|  |  | +	        new MultiPostThumbnails(array(
 | 
	
		
			
				|  |  | +	        'label' => 'Cover',
 | 
	
		
			
				|  |  | +	        'id' => 'secondary-image',
 | 
	
		
			
				|  |  | +	        'post_type' => 'film'
 | 
	
		
			
				|  |  | +	        )
 | 
	
		
			
				|  |  | +	    );
 | 
	
		
			
				|  |  | +	        new MultiPostThumbnails(array(
 | 
	
		
			
				|  |  | +	        'label' => 'Films Page Image',
 | 
	
		
			
				|  |  | +	        'id' => 'secondary-image-2',
 | 
	
		
			
				|  |  | +	        'post_type' => 'film'
 | 
	
		
			
				|  |  | +	        )
 | 
	
		
			
				|  |  | +	    );
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	register_post_type( 'Film' , $args );
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +add_action('init', 'ph_films');
 | 
	
		
			
				|  |  | +register_taxonomy("type", array("film"), array("hierarchical" => true, "label" => "Types", "singular_label" => "Type", "rewrite" => true));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action("admin_init", "phf_meta_init");
 | 
	
		
			
				|  |  | +function phf_meta_init(){
 | 
	
		
			
				|  |  | +  	add_meta_box("phf_year", "Year", "phf_year", "Film", "side", "high");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_video", "Videos", "phf_video", "Film", "side", "low");	
 | 
	
		
			
				|  |  | +  	add_meta_box("phf_credits", "Credits", "phf_credits", "Film", "advanced", "low");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_publicity", "Publicity", "phf_publicity", "Film", "advanced", "low");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_reviews", "Reviews", "phf_reviews", "Film", "advanced", "low");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_featuring", "Featuring", "phf_featuring", "Film", "advanced", "low");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_color", "Colors", "phf_color", "Film", "side", "low");
 | 
	
		
			
				|  |  | +	add_meta_box("phf_price", "Purchase Options", "phf_price", "Film", "side", "low");
 | 
	
		
			
				|  |  | +	//echo '<input type="hidden" name="ph_nonce" value="' . wp_create_nonce(__FILE__) . '" />';
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_year(){
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$ph_year = $custom["ph_year"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<label>Year</label>
 | 
	
		
			
				|  |  | +	<input name="ph_year" value="<?php echo $ph_year; ?>" />
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_video() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$video = $custom["video"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<label>URL:</label>
 | 
	
		
			
				|  |  | +	<input name="video" value="<?php echo $video; ?>" />
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_credits() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$credits = $custom["credits"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<div class="customEditor"><label>Credits:</label><br />
 | 
	
		
			
				|  |  | +	<textarea cols="70" rows="5" name="credits"><?php echo $credits; ?></textarea></div>
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +function phf_publicity() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$publicity = $custom["publicity"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<div class="customEditor"><label>Publicity:</label><br />
 | 
	
		
			
				|  |  | +	<textarea cols="70" rows="5" name="publicity"><?php echo $publicity; ?></textarea></div>
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_reviews() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$reviews = $custom["reviews"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<p><label>Reviews:</label><br />
 | 
	
		
			
				|  |  | +	<textarea cols="70" rows="5" name="reviews"><?php echo $reviews; ?></textarea></p>
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_featuring() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$featuring = $custom["featuring"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<p><label>Featuring:</label><br />
 | 
	
		
			
				|  |  | +	<textarea cols="70" rows="5" name="featuring"><?php echo $featuring; ?></textarea></p>
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function phf_color() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$custom2 = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$custom3 = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$color = $custom["color"][0];
 | 
	
		
			
				|  |  | +	$color2 = $custom2["color2"][0];
 | 
	
		
			
				|  |  | +	$color3 = $custom3["color3"][0];
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<label>HEX:</label><input name="color" value="<?php echo $color; ?>" /><br />
 | 
	
		
			
				|  |  | +	<label>HEX:</label><input name="color2" value="<?php echo $color2; ?>" /><br />
 | 
	
		
			
				|  |  | +	<label>HEX:</label><input name="color3" value="<?php echo $color3; ?>" />
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +function phf_price() {
 | 
	
		
			
				|  |  | +  global $post;
 | 
	
		
			
				|  |  | +	$custom = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$custom2 = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$custom3 = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +	$custom4 = get_post_custom($post->ID);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	$price = $custom["price"][0];
 | 
	
		
			
				|  |  | +	$price2 = $custom2["price2"][0];
 | 
	
		
			
				|  |  | +	$price3 = $custom3["price3"][0];
 | 
	
		
			
				|  |  | +	$price4 = $custom4["price4"][0];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	?>
 | 
	
		
			
				|  |  | +	<p>Price:  (no dollar sign)</p>
 | 
	
		
			
				|  |  | +	<label>Personal:</label><input name="price" value="<?php echo $price; ?>" /><br />
 | 
	
		
			
				|  |  | +	<label>Library:</label><input name="price2" value="<?php echo $price2; ?>" /><br />
 | 
	
		
			
				|  |  | +	<label>University:</label><input name="price3" value="<?php echo $price3; ?>" /><br />
 | 
	
		
			
				|  |  | +	<p>Vendor/Distributor</p>
 | 
	
		
			
				|  |  | +	<label>URL:</label><input name="price4" value="<?php echo $price4; ?>" /><br />
 | 
	
		
			
				|  |  | +	<?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action('save_post', 'phf_meta_save');
 | 
	
		
			
				|  |  | +function phf_meta_save(){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	global $post;
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	//if (!wp_verify_nonce($_POST['ph_nonce'],__FILE__)) return $post_id;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	if ( !current_user_can( 'edit_post', $post->ID ))
 | 
	
		
			
				|  |  | +	    return $post->ID;
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
 | 
	
		
			
				|  |  | +	    return $post->ID;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +  	if( $post->post_type == 'film' )  {
 | 
	
		
			
				|  |  | +	if (isset( $_POST ) ) {
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "ph_year", $_POST["ph_year"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "video", $_POST["video"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "credits", $_POST["credits"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "publicity", $_POST["publicity"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "featuring", $_POST["featuring"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "reviews", $_POST["reviews"]);	
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "color", $_POST["color"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "color2", $_POST["color2"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "color3", $_POST["color3"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "price", $_POST["price"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "price2", $_POST["price2"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "price3", $_POST["price3"]);
 | 
	
		
			
				|  |  | +		update_post_meta($post->ID, "price4", $_POST["price4"]);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action('manage_film_posts_custom_column', 'manage_film_columns', 10, 2);
 | 
	
		
			
				|  |  | +function manage_film_columns($column_name, $id) {
 | 
	
		
			
				|  |  | +	global $wpdb;
 | 
	
		
			
				|  |  | +	switch ($column_name) {
 | 
	
		
			
				|  |  | +	case 'id':
 | 
	
		
			
				|  |  | +		echo $id;
 | 
	
		
			
				|  |  | +	        break;
 | 
	
		
			
				|  |  | +	case "thumbnail":
 | 
	
		
			
				|  |  | +		echo the_post_thumbnail('small');
 | 
	
		
			
				|  |  | +			break;
 | 
	
		
			
				|  |  | +	case "cover":
 | 
	
		
			
				|  |  | +		echo MultiPostThumbnails::the_post_thumbnail_thumb('film', 'secondary-image'); 
 | 
	
		
			
				|  |  | +			break;
 | 
	
		
			
				|  |  | +	case 'images':
 | 
	
		
			
				|  |  | +		$num_images = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts WHERE post_parent = %d", $id ));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		echo $num_images; 
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	default:
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	} 
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +add_filter('manage_edit-film_columns', 'add_new_film_columns');
 | 
	
		
			
				|  |  | +function add_new_film_columns($film_columns) {
 | 
	
		
			
				|  |  | +	$new_columns['cb'] = '<input type="checkbox" />';
 | 
	
		
			
				|  |  | +	$new_columns['title'] = __('Film Name', 'column name');
 | 
	
		
			
				|  |  | +	$new_columns['images'] = __('Images');
 | 
	
		
			
				|  |  | +	$new_columns['thumbnail'] = __('thumbnail');
 | 
	
		
			
				|  |  | +	$new_columns['cover'] = __('cover');
 | 
	
		
			
				|  |  | +	$new_columns['date'] = __('Date', 'column name');
 | 
	
		
			
				|  |  | +	return $new_columns;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action( 'admin_head', 'phf_icons' );
 | 
	
		
			
				|  |  | +function phf_icons() { ?>
 | 
	
		
			
				|  |  | +    <style type="text/css" media="screen">
 | 
	
		
			
				|  |  | +    #icon-edit.icon32-posts-film {background: url(<?php bloginfo('template_url') ?>/img/film-icon.png) no-repeat;}
 | 
	
		
			
				|  |  | +    </style>
 | 
	
		
			
				|  |  | +<?php }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action('admin_print_footer_scripts','my_admin_print_footer_scripts',99);
 | 
	
		
			
				|  |  | +function my_admin_print_footer_scripts()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    ?><script type="text/javascript">/* <![CDATA[ */
 | 
	
		
			
				|  |  | +        jQuery(function($)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var i=1;
 | 
	
		
			
				|  |  | +            $('.customEditor textarea').each(function(e)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                var id = $(this).attr('id');
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +                if (!id)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    id = 'customEditor-' + i++;
 | 
	
		
			
				|  |  | +                    $(this).attr('id',id);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +                tinyMCE.execCommand('mceAddControl', false, id);
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    /* ]]> */</script><?php
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +add_action("template_redirect", 'ph_redirect');
 | 
	
		
			
				|  |  | +function ph_redirect(){
 | 
	
		
			
				|  |  | +	global $wp;
 | 
	
		
			
				|  |  | +	global $wp_query;
 | 
	
		
			
				|  |  | +	global $post;	
 | 
	
		
			
				|  |  | +	if (isset($wp->query_vars["post_type"]) && $wp->query_vars["post_type"] != 'post' && $wp->query_vars["post_type"] != 'page') :
 | 
	
		
			
				|  |  | +		if ( file_exists(TEMPLATEPATH . '/' . $wp->query_vars["post_type"] . '.php') ) :
 | 
	
		
			
				|  |  | +			$ph_template = TEMPLATEPATH . '/' . $wp->query_vars["post_type"] . '.php';
 | 
	
		
			
				|  |  | +		elseif 	( file_exists(TEMPLATEPATH . '/t_' . $wp->query_vars["post_type"] . '.php') ) :
 | 
	
		
			
				|  |  | +			$ph_template = TEMPLATEPATH . '/t_' . $wp->query_vars["post_type"] . '.php';
 | 
	
		
			
				|  |  | +		endif;
 | 
	
		
			
				|  |  | +		if(isset($ph_template)) :
 | 
	
		
			
				|  |  | +			if (have_posts()) :
 | 
	
		
			
				|  |  | +				include($ph_template);
 | 
	
		
			
				|  |  | +				die();
 | 
	
		
			
				|  |  | +			else :
 | 
	
		
			
				|  |  | +				$wp_query->is_404 = true;
 | 
	
		
			
				|  |  | +			endif;
 | 
	
		
			
				|  |  | +		endif;
 | 
	
		
			
				|  |  | +	endif;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +?>
 |