web/wp-content/themes/selecta/ocmx/ocmx-functions.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
// The OCMX custom options form
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
function ocmx_header(){
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
?>   
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
		<script src="<?php bloginfo('template_directory'); ?>/ocmx/scripts/jquery.js"></script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
    	<script src="<?php bloginfo('template_directory'); ?>/ocmx/scripts/ocmx_jquery.js"></script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
        <script src="<?php bloginfo('template_directory'); ?>/ocmx/scripts/multifile.js"></script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
	    <link href="<?php bloginfo('template_directory'); ?>/ocmx/ocmx_styles.css" rel="stylesheet" type="text/css" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
		<div id="template-directory" style="display: none;"><?php bloginfo("template_directory"); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
		<div id="wp-url" style="display: none;"><?php bloginfo("wpurl"); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
global $themename, $options;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
if($_POST["save_options"]) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
		//Clear our preset options, because we're gonna add news ones.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
		wp_cache_flush(); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
		if($_POST["general_options"]) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
			if(isset($_COOKIE["ocmx_theme_style"])){setcookie ("ocmx_theme_style", "", time() - 3600, COOKIEPATH, COOKIE_DOMAIN);}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
			echo $_COOKIE["ocmx_theme_style"];	
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
			$clear_menu = $wpdb->query("DELETE FROM $wpdb->options
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
			WHERE `option_name` LIKE 'ocmx_main_%'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
			OR `option_name` LIKE 'ocmx_maincategory_%'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
			OR `option_name` LIKE 'ocmx_menu_page%'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
			OR `option_name` LIKE 'ocmx_subpage_%'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
			OR `option_name` = 'ocmx_gallery_page'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
			OR `option_name` = 'ocmx_archives_page'");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
		endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
		while (list($key,$value) = each($_POST)){
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
			if (substr($key, 0, 4) == "ocmx") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
				wp_cache_flush(); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
				$clear_options = $wpdb->query("DELETE FROM $wpdb->options WHERE `option_name` = '".$key."'");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
				if(!get_option($key)):					
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
					add_option($key, $value);						
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
				else :						
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
					update_option($key, $value);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
				endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
				
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
			endif;					
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
		update_option("posts_per_page", get_option("ocmx_home_page_posts"));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
		if(!$_POST["ocmx_gallery_update"]) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
			while (list($key,$value) = each($_FILES)){
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
				$image_name = strtolower($_FILES[$key]["name"]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
				if($image_name !== "") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
					$final_upload = ABSPATH."wp-content/uploads/".$image_name;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
					if(move_uploaded_file($_FILES[$key]["tmp_name"], $final_upload) === true) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
						$test = move_uploaded_file($_FILES[$key]["tmp_name"], $final_upload);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
					else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
						$test = "0";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
					endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
					if($test !== "0") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
						if(!get_option($key)):
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
							add_option($key, $image_name);						
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
						else :						
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
							update_option($key, $image_name);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
						endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
					endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
				endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
	endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
function ocmx_save_resample($upload_image, $new_image, $mime_type, $resize_type, $resize_height, $resize_width, $resize_percent, $image_width, $image_height)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
		global $upload_image, $new_image, $mime_type, $resize_type, $resize_height, $resize_width, $resize_percent, $image_width, $image_height;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
		if($resize_type == "w" && ($resize_width < $image_width)) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
			if($resize_width !== "0") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
				$new_width = $resize_width;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
			else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
				$new_width = $resize_height;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
			endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
			$new_height = ($image_height*($resize_width/$image_width));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
		elseif($resize_type == "h" && ($resize_height < $image_height)) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
			if($resize_height !== "0") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
				$new_height = $resize_height;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
			else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
				$new_height = $resize_width;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
			endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
			$new_width = ($image_width*($resize_height/$image_height));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
		elseif($resize_type == "p") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
			/*  Set Resize Percentage */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
			$resize_percent = ($resize_percent);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
			$new_width = ($image_width*$resize_percent);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
			$new_height = ($image_height*$resize_percent);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
		else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
			$new_width = ($image_width);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
			$new_height = ($image_height);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
		endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
		// Creat Canvas
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
		$canvas = imagecreatetruecolor($new_width, $new_height);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
		// Resample
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
		if(imagecopyresampled($canvas, $new_image, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height) === true) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
				// Save		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
			if($mime_type == "gif") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
				imagegif($canvas, $upload_image, 100);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
			elseif($mime_type == "jpg") :	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
				imagejpeg($canvas, $upload_image, 100);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
			elseif($mime_type == "png") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
				imagepng($canvas, $upload_image);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
			endif;				
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
		endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
function ocmx_commentmeta_update($cid)//, $comment_twitter, $comment_subscribe, $comment_author_email
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
		$commentId = (int) $cid;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
		$comment_table = $wpdb->prefix . "ocmx_comment_meta";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
		if($_POST['twitter'] == "undefined" && $_POST['twitter'] == "Twitter Name") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
			$use_twitter = "";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
		else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
			$use_twitter = $_POST['twitter'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
		endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
		if($_POST['email_subscribe'] == "true") :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
			$subscribe_me = 1;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
		else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
			$subscribe_me = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
		endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
		$meta_update = $wpdb->query
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
			($wpdb->prepare
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
				("INSERT INTO $comment_table
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
					(commentId, twitter, email_subscribe)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
				VALUES
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
					(%d, %s, %s);", 
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
        		$cid, $use_twitter, $subscribe_me)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
		ocmx_comment_email($cid);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
	}	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
function ocmx_comment_email($cid)//, $comment_twitter, $comment_subscribe, $comment_author_email
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
		$commentId = (int) $cid;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
		$comment_table = $wpdb->prefix . "ocmx_comment_meta";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
		$comment = $wpdb->get_row("SELECT $wpdb->comments.*,  $comment_table.* FROM $wpdb->comments INNER JOIN $comment_table ON $wpdb->comments.comment_ID = $comment_table.commentId WHERE $wpdb->comments.comment_ID='".$cid."'");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
		$post_details = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID='".$comment->comment_post_ID."' LIMIT 1");		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
		$fetch_subscribers = $wpdb->get_results("SELECT $wpdb->comments.*,  $comment_table.*
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
		FROM $wpdb->comments INNER JOIN $comment_table
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
		ON $wpdb->comments.comment_ID = $comment_table.commentId
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
		WHERE $wpdb->comments.comment_post_ID = '".$comment->comment_post_ID."'
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
		AND $comment_table.email_subscribe = '1'
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
		GROUP BY $wpdb->comments.comment_author_email");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
		foreach($fetch_subscribers as $subscriber) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
			$to = $subscriber->comment_author_email;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   153
			$headers  = "From: \"".get_bloginfo("name")."\" Comments";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   154
			$headers .= "MIME-Version: 1.0\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   155
			$headers .= "Content-type: text/html; charset=iso-8859-1 \r\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   156
			$body = "<style>body{margin: 20px;font-size: 9pt;font-family: Arial, Helvetica, sans-serif;color: ##333333;background-color: ##ffffff;}.articles_item{padding-bottom: 10px; border-bottom: 1px solid black; margin-bottom: 10px;}</style>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   157
			$body .=  "<h4>".$post->post_title."</h4>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   158
			$body .=  "<p><strong>".$comment->comment_author."</strong> has commented on <strong>". $post_details->post_title."</strong></p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   159
			$body .=  "<p><strong>Link:</strong> <a href=\"".$comment->comment_author."\">".$comment->comment_author_url."</a></p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   160
			$body .=  "<p><strong>Twitter Name:</strong> <a href=\"http://twitter.com/".$comment->twitter."\">".$comment->twitter."</a></p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   161
			$body .=  "<p><strong>Comment:</strong></p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   162
			$body .=  "<div class=\"articles_item\">";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   163
			$body .=  "<p>".$comment->comment_content."</p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   164
			$body .=  "</div>";  
0d28b7c10758 First commit
ymh
parents:
diff changeset
   165
			$body .=  "<p>Go go straight to the post <a href=\"".get_permalink($comment->comment_post_ID)."#comments\">".get_permalink($comment->comment_post_ID)."</a>.</p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   166
			$body .=  "<p>Unsubscribe from this comment feed <a href=\"".get_option("template_directory")."/unsubscribe.php?comment=".$cid."\">".get_permalink($comment->comment_post_ID)."</a>.</p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   167
			wp_mail($to, $subject, $body, $headers);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   168
		endforeach;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   169
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   170
function ocmx_unsubscribe($comment_id)//, $comment_twitter, $comment_subscribe, $comment_author_email
0d28b7c10758 First commit
ymh
parents:
diff changeset
   171
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   172
		global $wpdb, $comment_id, $the_post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   173
		$comment_id = $_GET["comment"];	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   174
		$comment_table = $wpdb->prefix . "ocmx_comment_meta";	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   175
		$the_comment = get_comment($comment_id);	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   176
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   177
		$subscriber_email = $the_comment->comment_author_email;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   178
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   179
		$post_id = $the_comment->comment_post_ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   180
		$the_post = get_post($the_comment->comment_post_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   181
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   182
		$comment_args = array("post_id" => $post_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   183
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   184
		$post_comments = get_comments($comment_args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   185
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   186
		foreach($post_comments as $this_comment) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   187
			if($subscriber_email == $this_comment->comment_author_email)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   188
			$wpdb->update($comment_table , array( 'email_subscribe' => '0'), array( 'commentId' => $this_comment->comment_ID ), array( '%d' ), array( '%d' ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   189
		endforeach;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   190
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   191
0d28b7c10758 First commit
ymh
parents:
diff changeset
   192
?>