<?php
/*
Plugin Name: FreshPost
Plugin URI: http://freshout.us/goodies
Description: Turn WordPress into a CMS.
Author: Freshout
Version: .13
Author URI: http://freshout.us/
*/
global $wpdb;
global $post;



if (is_admin())
{
	include_once('RCCWP_Constant.php');
	include_once('RCCWP_Application.php');
	
	register_activation_hook(dirname(__FILE__) . '/Main.php', array('RCCWP_Application', 'Install'));

	if (get_option(RC_CWP_OPTION_KEY) !== false)
	{
		include_once('RCCWP_Menu.php');

		//register_deactivation_hook(dirname(__FILE__) . '/Main.php', array('RCCWP_Application', 'Uninstall'));


		add_action('admin_menu', array('RCCWP_Post', 'save_files') );

		add_action('admin_menu', array('RCCWP_Menu', 'AttachCustomWritePanelMenuItems'));
		add_action('admin_menu', array('RCCWP_Menu', 'DetachWpWritePanelMenuItems'));

		include_once('RCCWP_Processor.php');
		add_action('init', array('RCCWP_Processor', 'Main'));
		add_action('admin_menu', array('RCCWP_Menu', 'AttachManagementMenuItem'));
		add_action('admin_menu', array('RCCWP_Menu', 'AttachOptionsMenuItem'));
		add_filter('posts_where', array('RCCWP_Menu', 'FilterPostsPagesList'));
		add_action('admin_head', array('RCCWP_Menu', 'HighlightCustomPanel'));


		//add_filter('the_posts', array('RCCWP_Menu', 'FilterPostsPagesList'));
		//add_filter('get_pages', array('RCCWP_Menu', 'FilterPostsPagesList'));

		include_once('RCCWP_Post.php');	
		add_action('edit_post', array('RCCWP_Post', 'SetCustomWritePanel'));
		add_action('save_post', array('RCCWP_Post', 'SetCustomWritePanel'));
		add_action('publish_post', array('RCCWP_Post', 'SetCustomWritePanel'));

		add_action('edit_post', array('RCCWP_Post', 'SetMetaValue'));
		add_action('save_post', array('RCCWP_Post', 'SetMetaValue'));
		add_action('publish_post', array('RCCWP_Post', 'SetMetaValue'));

		add_filter('wp_redirect', array('RCCWP_Processor', 'Redirect'));

		add_action('shutdown', array('RCCWP_Processor', 'FlushAllOutputBuffer')); 
	}
}

require_once 'get-custom.php';

function cwp_add_type_identifier(){ 
	global $wpdb;
	global $post;
	
	if( isset($_GET['custom-write-panel-id']) && !empty($_GET['custom-write-panel-id']))
	{
		$getPostID = $wpdb->get_results("SELECT id, type FROM". RC_CWP_TABLE_WRITE_PANELS ." WHERE id='".$_GET['custom-write-panel-id']."'");
		echo "<input type=\"hidden\" id=\"post_type\" name=\"post_type\" value=\"". $getPostID[0]->type ."\" />";

	}
	else{
		if($post->post_type == 'page') { 
			echo "<input type=\"hidden\" id=\"post_type\" name=\"post_type\" value=\"page\" />";
 		} else {
			echo "<input type=\"hidden\" id=\"post_type\" name=\"post_type\" value=\"post\" />";
 		}

 	}
} 

function cwp_add_pages_identifiers(){
	global $post;
	global $wpdb;

	$key = wp_create_nonce('rc-custom-write-panel');
	$id = "";
	$result = $wpdb->get_results( " SELECT meta_value
					FROM $wpdb->postmeta
					WHERE post_id = '$post->ID' and meta_key = '_rc_cwp_write_panel_id'", ARRAY_A );
	
	if (count($result) > 0)
		$id = $result[0]['meta_value'];
	echo 
<<<EOF
		<input type="hidden" name="rc-custom-write-panel-verify-key" id="rc-custom-write-panel-verify-key" value="$key" />
		<input type="hidden" name="rc-cwp-custom-write-panel-id" value="$id" />
EOF;
}

add_action('edit_page_form','cwp_add_pages_identifiers');
add_action('edit_form_advanced','cwp_add_type_identifier');
?>
