Contact: thecrew@pixelpost.org Copyright © 2005 Pixelpost.org (corrected link back after comments by Connie, July 28. 2005) License: http://www.gnu.org/copyleft/gpl.html This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ error_reporting(0); ini_set('arg_separator.output', '&'); // includes require("includes/pixelpost.php"); require("includes/markdown.php"); require("includes/functions.php"); require("includes/exifer1_5/exif.php"); require("includes/no-refer-spam.php"); // Set cookie for visitor counter, re-count a person after 60 mins setcookie("lastvisit","expires in 24 hours",time() +60*60*24); // save user info if requested if(isset($_POST['vcookie'])) { $vcookiename = addslashes($_POST['name']); $vcookieurl = addslashes($_POST['url']); // modified for Email $vcookieemail = clean($_POST['email']); setcookie("visitorinfo","$vcookiename%$vcookieurl%$vcookieemail",time() +60*60*24*30); // save cookie 30 days } start_mysql(); book_visitor($pixelpost_db_prefix."visitors"); // get config if($cfgrow = sql_array("select * from ".$pixelpost_db_prefix."config")) { $upload_dir = $cfgrow['imagepath']; } else { echo "Coming Soon. Not Installed Yet."; exit; } if($mod_rewrite == "1") { $showprefix = ""; } else { $showprefix = "index.php?showimage="; } $tz = $cfgrow['timezone']; $datetime = gmdate("Y-m-d H:i:s",time()+(3600 * $tz)); // current date+time $cdate = $datetime; // for future posting, current date+time // get the language file if (file_exists("language/lang-".$cfgrow['langfile'].".php")) { require("language/lang-".$cfgrow['langfile'].".php"); } else { echo 'Error:
No language folder exists or the file "lang-' .$cfgrow['langfile'] .'.php" is missing in that folder.
Make sure that you have uploaded all necessary files with the exact same names as mentioned here.'; exit; } $pixelpost_site_title = $cfgrow['sitetitle']; // Added ability to use header and footers for templates. They are not needed but used if included in the template $header = file_get_contents("templates/".$cfgrow['template']."/header.html"); $footer = file_get_contents("templates/".$cfgrow['template']."/footer.html"); // You can now add any template you want by just adding the template and a link to it. For example, // ?x=about will load the template about_template.html // x="ref" or x="referer" is blocked due to referrer-spam if( $_GET['x'] == "ref" ) { // Maintain backwards compatibility with the referer template $_GET['x'] = "referer"; } if( file_exists( "templates/".$cfgrow['template']."/".$_GET['x']."_template.html" ) ){ $tpl = file_get_contents("templates/".$cfgrow['template']."/".$_GET['x']."_template.html"); } else { if (!file_exists("templates/".$cfgrow['template']."/image_template.html")) { echo 'Error:
No template folder exists by the name of "' .$cfgrow['template'] .'" or the file image_template.html is missing in that folder.
Make sure that you have uploaded all necessary files with the exact same names as mentioned here.'; exit; } $tpl = file_get_contents("templates/".$cfgrow['template']."/image_template.html"); } if($_GET['popup'] == "comment") { $tpl = file_get_contents("templates/".$cfgrow['template']."/comment_template.html"); } // Added ability to use header and footers for templates. They are not needed but used if included in the template $tpl = $header . $tpl . $footer; // Get visitor count $visitors = sql_array("select count(*) as count from ".$pixelpost_db_prefix."visitors"); $pixelpost_visitors = $visitors['count']; // Get number of photos in database $photonumb = sql_array("select count(*) as count from ".$pixelpost_db_prefix."pixelpost where datetime<='$datetime'"); $pixelpost_photonumb = $photonumb['count']; // images/main site if($_GET['x'] == "") { // Get Current Image. if($_GET['showimage'] == "") { $row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where datetime<='$cdate' order by datetime DESC limit 0,1"); } else { $row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where (id='".$_GET['showimage']."')"); } if(!$row['image']) { echo "Coming Soon! Nothing to show. No image to show here!"; exit; } $image_name = $row['image']; $image_title = pullout($row['headline']); $image_id = $row['id']; $image_datetime = $row['datetime']; $image_datetime_formatted = strtotime($image_datetime); $image_datetime_formatted = date($cfgrow['dateformat'],$image_datetime_formatted); $image_date = substr($row['datetime'],0,10); $image_time = substr($row['datetime'],11,5); $image_date_year_full = substr($row['datetime'],0,4); $image_date_year = substr($row['datetime'],2,2); $image_date_month = substr($row['datetime'],5,2); $image_date_day = substr($row['datetime'],8,2); $image_notes = markdown(pullout($row['body'])); $thumbnail_extra = getimagesize("thumbnails/thumb_$image_name"); $image_extra = getimagesize("images/$image_name"); $image_width = $image_extra['0']; $image_height = $image_extra['1']; $tpl = str_replace("",$image_width,$tpl); $tpl = str_replace("",$image_height,$tpl); $local_width = $thumbnail_extra['0']; $local_height = $thumbnail_extra['1']; // added by ramin to reseve ' and "s. $image_title = htmlspecialchars($image_title,ENT_QUOTES); //$image_title = htmlentities($image_title ); $image_thumbnail = "$image_title"; // thumnail no link $image_thumbnail_no_link = "$image_title"; $image_permalink = "$lang_permalink"; // permalink automated for fancy url/no fancy // get previous image id and name $previous_row = sql_array("select id,headline,image from ".$pixelpost_db_prefix."pixelpost where (datetime < '$image_datetime') and (datetime<='$cdate') order by datetime desc limit 0,1"); $image_previous_name = $previous_row['image']; $image_previous_id = $previous_row['id']; $image_previous_title = pullout($previous_row['headline']); $image_previous_link = "$lang_previous"; list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $image_previous_thumbnail = "$image_previous_title"; if($image_previous_id == "") { $image_previous_id = $image_id; $image_previous_title = "$lang_no_previous"; $image_previous_link = ""; $image_previous_thumbnail = ""; } // get next image id and name $next_row = sql_array("select id,headline,image from ".$pixelpost_db_prefix."pixelpost where (datetime > '$image_datetime') and (datetime<='$cdate') order by datetime asc limit 0,1"); $image_next_name = $next_row['image']; $image_next_id = $next_row['id']; $image_next_title = pullout($next_row['headline']); $image_next_link = "$lang_next"; list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $image_next_thumbnail = "$image_next_title"; if($image_next_id == "") { $image_next_id = $image_id; $image_next_title = "$lang_no_next"; $image_next_link = ""; $image_next_thumbnail = ""; } if(function_exists(gd_info)) { $gd_info = gd_info(); if($gd_info != "") { // check that gd is here before this $aheadnumb = sql_array("select count(*) as count from ".$pixelpost_db_prefix."pixelpost where (datetime > '$image_datetime') and (datetime<='$cdate')"); $aheadnumb = $aheadnumb['count']; $behindnumb = sql_array("select count(*) as count from ".$pixelpost_db_prefix."pixelpost where (datetime < '$image_datetime') and (datetime<='$cdate')"); $behindnumb = $behindnumb['count']; $aheadlimit = round(($cfgrow['thumbnumber']-1)/2); $behindlimit = round(($cfgrow['thumbnumber']-1)/2); if($aheadnumb <= $aheadlimit) { $behindlimit = ($cfgrow['thumbnumber']-1)-$aheadnumb; $aheadlimit = $aheadnumb; } if($behindnumb <= $behindlimit) { $aheadlimit = ($cfgrow['thumbnumber']-1)-$behindnumb; $behindlimit = $behindnumb; } $totalthumbcounter = 1; $ahead_thumbs = ""; $ahead_thumbs_reverse =""; $thumbs_ahead = mysql_query("select id,headline,image from ".$pixelpost_db_prefix."pixelpost where (datetime > '$image_datetime') and (datetime<='$cdate') order by datetime asc limit 0,$aheadlimit"); while(list($id,$headline,$image) = mysql_fetch_row($thumbs_ahead)) { $headline = pullout($headline); $headline = htmlspecialchars($headline,ENT_QUOTES); list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $ahead_thumbs .= "$headline"; $ahead_thumbs_reverse = "$headline" .$ahead_thumbs_reverse ; $totalthumbcounter++; } $behind_thumbs = ""; $behind_thumbs_reverse =""; $thumbs_behind = mysql_query("select id,headline,image from ".$pixelpost_db_prefix."pixelpost where (datetime < '$image_datetime') and (datetime<='$cdate') order by datetime desc limit 0,$behindlimit"); while(list($id,$headline,$image) = mysql_fetch_row($thumbs_behind)) { $headline = pullout($headline); $headline = htmlspecialchars($headline,ENT_QUOTES); list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $behind_thumbs = "$headline$behind_thumbs"; $behind_thumbs_reverse .= "$headline"; $totalthumbcounter++; } list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $thumbnail_row = "$behind_thumbs$image_title$ahead_thumbs"; $thumbnail_row_reverse = "$ahead_thumbs_reverse$image_title$behind_thumbs_reverse"; $tpl = str_replace("",$thumbnail_row,$tpl); $tpl = str_replace("",$thumbnail_row_reverse,$tpl); } // gd_info() } // func exist // Modified from Mark Lewin's hack for multiple categories $querystr = "select t1.cat_id,t2.name from ".$pixelpost_db_prefix."catassoc as t1 inner join ".$pixelpost_db_prefix."categories t2 on t1.cat_id = t2.id where t1.image_id = '$image_id' order by t2.name "; $query = mysql_query($querystr); $image_category_number = 0; while(list($cat_id,$name) = mysql_fetch_row($query)) { $name = pullout($name); $image_category_all .= "" .$cfgrow['catgluestart'] .$name .$cfgrow['catglueend']."  "; $image_category_all_paged .= "" .$cfgrow['catgluestart'] .$name .$cfgrow['catglueend']."  "; $image_category_number = $image_category_number +1; } if ($image_category_number >1) {$image_categoryword = "$lang_category_plural $image_category";} else {$image_categoryword = "$lang_category_singular $image_category";} $tpl = str_replace("",$pixelpost_site_title,$tpl); $tpl = str_replace("",$image_categoryword." ".$image_category_all,$tpl); // for paged_archive addon $tpl = str_replace("",$image_categoryword." ".$image_category_all_paged,$tpl); $tpl = str_replace("",$image_date_year_full,$tpl); $tpl = str_replace("",$image_date_year,$tpl); $tpl = str_replace("",$image_date_month,$tpl); $tpl = str_replace("",$image_date_day,$tpl); $tpl = str_replace("",$image_thumbnail,$tpl); // thumbnail no link $tpl = str_replace("",$image_thumbnail_no_link,$tpl); $tpl = str_replace("",$image_date,$tpl); $tpl = str_replace("",$image_time,$tpl); $tpl = str_replace("",$image_name,$tpl); $tpl = str_replace("",$image_title,$tpl); $tpl = str_replace("",$image_datetime_formatted,$tpl); $tpl = str_replace("",$image_notes,$tpl); // image notes without HTML tags $tpl = str_replace("",strip_tags($image_notes),$tpl); $tpl = str_replace("",$image_id,$tpl); $tpl = str_replace("",$image_previous_link,$tpl); $tpl = str_replace("",$image_previous_thumbnail,$tpl); $tpl = str_replace("",$image_previous_id,$tpl); $tpl = str_replace("",$image_previous_title,$tpl); $tpl = str_replace("",$image_next_id,$tpl); $tpl = str_replace("",$image_next_title,$tpl); $tpl = str_replace("",$image_next_thumbnail,$tpl); $tpl = str_replace("",$image_next_link,$tpl); // get number of comments $cnumb_row = sql_array("select count(*) as count from ".$pixelpost_db_prefix."comments where parent_id='$image_id'"); $image_comments_number = $cnumb_row['count']; // get latest comment $latest_comment = sql_array("select parent_id from ".$pixelpost_db_prefix."comments order by id desc limit 0,1"); $latest_comment = $latest_comment['parent_id']; $queryrow = sql_array("select headline from ".$pixelpost_db_prefix."pixelpost where id='$latest_comment'"); $latest_comment_name = pullout($queryrow['headline']); // EXIF STUFF, modified by Connie not to present empty TAGs when no EXIF-info at hand $curr_image = "images/$image_name"; // set empty-tag + prepare not to produce empty exif-tags in the template $empty_exif = ""; $exif_result = read_exif_data_raw($curr_image,"0"); $exposure = $exif_result['SubIFD']['ExposureTime']; // exposure time if($exposure != "") { $exposure = reduceExif($exposure); $exposure = "$exposure sec"; } $aperture = $exif_result['SubIFD']['FNumber']; // Aperture $capture_date = $exif_result['SubIFD']['DateTimeOriginal']; // Date and Time $flash = $exif_result['SubIFD']['Flash']; // flash $focal = $exif_result['SubIFD']['FocalLength']; // focal length $info_camera_manu = trim($exif_result['IFD0']['Make']); // camera maker $info_camera_model = trim($exif_result['IFD0']['Model']); // camera model $iso = pullout($exif_result['SubIFD']['ISOSpeedRatings']); // not working apparently if($flash == "No Flash") { $flash = "$lang_flash_not_fired"; } elseif ($flash) {$flash = "$lang_flash_fired";} if($exposure != "") {$tpl = ereg_replace("",$exposure,$tpl); $exposure = "$lang_exposure $exposure";} else {$exposure = "$empty_exif"; $tpl = ereg_replace("",$exposure,$tpl);} $tpl = ereg_replace("",$exposure,$tpl); if($aperture != "") {$tpl = ereg_replace("",$aperture,$tpl); $aperture = "$lang_aperture $aperture";} else {$aperture = "$empty_exif"; $tpl = ereg_replace("",$aperture,$tpl);} $tpl = ereg_replace("",$aperture,$tpl); if($capture_date != "") { $tpl = ereg_replace("",$capture_date,$tpl); $capture_date = "$lang_capture_date $capture_date";} else {$capture_date = "$empty_exif"; $tpl = ereg_replace("",$capture_date,$tpl);} $tpl = ereg_replace("",$capture_date,$tpl); if($focal != "") { $tpl = ereg_replace("",$focal,$tpl); $focal = "$lang_focal $focal";} else {$focal = "$empty_exif"; $tpl = ereg_replace("",$focal,$tpl);} $tpl = ereg_replace("",$focal,$tpl); if($info_camera_manu != "") { $tpl = ereg_replace("",$info_camera_manu,$tpl); $info_camera_manu = "$lang_camera_maker $info_camera_manu";} else { $info_camera_manu = "$empty_exif"; $tpl = ereg_replace("",$info_camera_manu,$tpl);} $tpl = ereg_replace("",$info_camera_manu,$tpl); if($info_camera_model != "") { $tpl = ereg_replace("",$info_camera_model,$tpl); $info_camera_model = "$lang_camera_model $info_camera_model";} else { $info_camera_model = "$empty_exif"; $tpl = ereg_replace("",$info_camera_model,$tpl);} $tpl = ereg_replace("",$info_camera_model,$tpl); if($iso != "") { $tpl = ereg_replace("",$iso,$tpl); $iso = "$lang_iso $iso";} else {$iso = "$empty_exif"; $tpl = ereg_replace("",$iso,$tpl);} $tpl = ereg_replace("",$iso,$tpl); if($flash != "") { $tpl = ereg_replace("",$flash,$tpl); $flash = "$lang_flash $flash";} else { $flash = "$empty_exif"; $tpl = ereg_replace("",$flash,$tpl); } $tpl = ereg_replace("",$flash,$tpl); ///////////// // build a string with all comments if(($_GET['x'] == "") or ($_GET['popup'] == "comment")) { if($_GET['comment'] == "save") { $datetime = gmdate("Y-m-d H:i:s",time()+(3600 * $cfgrow['timezone'])); // current date+time //was date("Y-m-d H:i:s"); $ip = $_SERVER['REMOTE_ADDR']; $parent_id = $_POST['parent_id']; $message = clean(nl2br($_POST['message'])); $name = clean($_POST['name']); $url = clean($_POST['url']); $parent_name = clean($_POST['parent_name']); $email = clean($_POST['email']); if($parent_id == "") { $extra_message = "$lang_message_missing_image

"; } if($message == "") { $extra_message = "$lang_message_missing_comment

"; } if(($parent_id != "") and ($message != "")) { sql_save(" insert into ".$pixelpost_db_prefix."comments(id,parent_id,datetime,ip,message,name,url,email) VALUES('NULL','$parent_id','$datetime','$ip','$message','$name','$url','$email') "); } } // visitor information in comments $vinfo_name = ""; $vinfo_url = ""; $vinfo_email = ""; if(isset($_COOKIE['visitorinfo'])) { list($vinfo_name,$vinfo_url,$vinfo_email) = split("%",$_COOKIE['visitorinfo']); } $tpl = str_replace("",$vinfo_name,$tpl); $tpl = str_replace("",$vinfo_url,$tpl); $tpl = str_replace("",$vinfo_email,$tpl); if($_GET['showimage'] == "") { $imageid = $image_id; } else { $imageid = $_GET['showimage']; } $image_comments = print_comments($imageid); $tpl = str_replace("",$image_comments,$tpl); if(($_GET['popup'] == "comment") AND ($_GET['x'] != "save_comment")) { echo $tpl; exit; } } // end if comment } // end imageprint // fix a popuplink // refererlog if($_GET['x'] == "referer") { header("Location: index.php"); exit; } // end refererlog $tpl = str_replace("",$pixelpost_site_title,$tpl); if($_GET['x'] == "browse") { $thumb_output = ""; $where = ""; if($_GET['category'] != "") { // Modified from Mark Lewin's hack for multiple categories $query = mysql_query("select 1,t2.id,headline,image,datetime from {$pixelpost_db_prefix}catassoc as t1 inner join {$pixelpost_db_prefix}pixelpost t2 on t2.id = t1.image_id where t1.cat_id = '".$_GET['category']."' AND (datetime<='$cdate') order by datetime desc"); $lookingfor = 1; } ELSE IF ($_GET['archivedate'] != "") { $where = "and (DATE_FORMAT(datetime, '%Y-%m')='".$_GET['archivedate']."')"; //DATE_FORMAT(foo, '%Y-%m-%d') $query = mysql_query("select 1,id,headline,image, datetime from ".$pixelpost_db_prefix."pixelpost where (datetime<='$cdate') $where order by datetime desc"); $lookingfor = 1; } ELSE IF (isset($_POST['category']) ) { $lookingfor = 0; $where = "("; foreach( $_POST['category'] as $cat ) { $where .= "t1.cat_id='$cat' OR "; $lookingfor++; } $where .= " 0 )"; $querystr = "SELECT COUNT(t1.id), t2.id,headline,image,datetime FROM {$pixelpost_db_prefix}catassoc AS t1 INNER JOIN {$pixelpost_db_prefix}pixelpost t2 ON t2.id = t1.image_id WHERE (datetime<='$cdate') AND $where GROUP BY t2.id ORDER BY datetime, t2.id DESC"; $query = mysql_query($querystr); } ELSE { $lookingfor = 1; $query = mysql_query("select 1,id,headline,image,datetime from ".$pixelpost_db_prefix."pixelpost where (datetime<='$cdate') order by datetime desc"); } while(list($count,$id,$title,$name,$datetime) = mysql_fetch_row($query)) { if( $count != $lookingfor ) continue; // Major hack for the browse filters. $title = pullout($title); $thumbnail = "thumbnails/thumb_$name"; $thumb_output .= "$title"; } $tpl = str_replace("",$thumb_output,$tpl); } // build browse menu $browse_select = ""; $tpl = str_replace("",$browse_select,$tpl); // build browse checkboxes $checkboxes = "

"; $query = mysql_query("select * from ".$pixelpost_db_prefix."categories order by name"); while(list($id,$name) = mysql_fetch_row($query)) { $name = pullout($name); $checkbox_checked = ""; if(in_array($id,$category)) { $checkbox_checked = "checked"; } $checkboxes .= "$name   \n"; } $checkboxes .= "
"; $tpl = str_replace("",$checkboxes,$tpl); // ##########################################################################################// // RSS 2.0 FEED // ##########################################################################################// if($_GET['x'] == "rss") { pullout($cfgrow['sitetitle']); $output = " ".$cfgrow['sitetitle']." ".$cfgrow['siteurl']." ".$cfgrow['sitetitle']." photoblog http://blogs.law.harvard.edu/tech/rss pixelpost "; $tzoner = $cfgrow['timezone']; $tprefix = '+'; $tzoner = sprintf ("%01.2f", $tzoner); if (substr($tzoner,0,1)=='-') { $tzoner = (substr($tzoner,1)); $tprefix = '-'; } if ($tzoner < 10){$tzoner = "0".$tzoner;} $hh = substr($tzoner,0,2); $mm = substr($tzoner,-2); $tzoner = $tprefix.$hh.$mm; $query = mysql_query("select id,datetime,headline,body,image from ".$pixelpost_db_prefix."pixelpost where (datetime<='$cdate') order by datetime desc limit 10"); while(list($id,$datetime,$headline,$body,$image) = mysql_fetch_row($query)) { $headline = pullout($headline); $body = pullout($body); $image = $cfgrow['siteurl']."thumbnails/thumb_$image"; $datetime = strtotime($datetime); $datetime = date("D, d M Y H:i",$datetime); $datetime .= ' ' .$tzoner; $body = stripslashes($body); $body = str_replace("\n","<br />",$body); // added to remove HTML tags $body = strip_tags( $body ); $output .= " $headline ".$cfgrow['siteurl']."?showimage=$id <img src="$image" align="right"> $body $datetime "; } $output .= " "; header("Content-type:application/xml"); echo $output; exit; } // ##########################################################################################// // ATOM FEED - re and triple check the encoding please please please // ##########################################################################################// $atom_url = "http://".$HTTP_HOST.$REQUEST_URI."&x=atom"; $tpl = str_replace("",$atom_url,$tpl); if($_GET['x'] == "atom") { header("content-type: application/atom+xml"); $tzoner = $cfgrow['timezone']; $tprefix = '+'; $tzoner = sprintf ("%01.2f", $tzoner); if (substr($tzoner,0,1)=='-') { $tzoner = (substr($tzoner,1)); $tprefix = '-'; } if ($tzoner < 10){$tzoner = "0".$tzoner;} $hh = substr($tzoner,0,2); $mm = substr($tzoner,-2); $tzoner = $tprefix.$hh.":".$mm; pullout($cfgrow['sitetitle']); pullout($cfgrow['headline']); $url = $cfgrow['siteurl']; $atom = " ".$cfgrow['sitetitle']." ".$cfgrow['sitetitle']." $url Pixelpost ".date("Y-m-d\TH:i:s$tzoner")." "; $tag_url = $_SERVER['HTTP_HOST']; $query = mysql_query("select id,datetime,headline,body,image from ".$pixelpost_db_prefix."pixelpost where (datetime <='$cdate') order by datetime desc limit 0,20"); while(list($id,$datetime,$headline,$body,$image) = mysql_fetch_row($query)) { $headline = pullout($headline); $body = pullout($body); // added to remove HTML tags $body = strip_tags( $body ); $image = $cfgrow['siteurl']."thumbnails/thumb_$image"; $tag_date = substr($datetime,0,10); $modified_date = substr($datetime,0,10); $modified_date = $modified_date."T".(substr($datetime,11,8)); $datetime = strtotime($datetime); $atom .= " $headline tag:$tag_url,$tag_date:$id
$headline
$body]]>
$tag_date $modified_date$tzoner
"; } $atom .= "
"; echo $atom; exit; } $tpl = str_replace("","ATOM feed",$tpl); $tpl = str_replace("","RSS 2.0",$tpl); // deactivated because of Referer-Spam // $tpl = str_replace("","index.php?x=ref",$tpl); $tpl = str_replace("","index.php?x=browse",$tpl); $tpl = str_replace("","index.php?x=browse&pagenum=1",$tpl); $tpl = str_replace("",$pixelpost_photonumb,$tpl); $tpl = str_replace("",$pixelpost_visitors,$tpl); $tpl = str_replace("",$image_comments_number,$tpl); $tpl = str_replace("",$latest_comment,$tpl); $tpl = str_replace("",$latest_comment_name,$tpl); $tpl = str_replace("","$lang_comment_popup",$tpl); $tpl = str_replace("",$browse_select,$tpl); // ##########################################################################################// // SAVE COMMENT // ##########################################################################################// if($_GET['x'] == "save_comment") { $datetime = gmdate("Y-m-d H:i:s",time()+(3600 * $cfgrow['timezone'])) ; $ip = $_SERVER['REMOTE_ADDR']; $parent_id = $_POST['parent_id']; $message = clean($_POST['message']); $name = clean($_POST['name']); $url = clean($_POST['url']); $email = clean($_POST['email']); $email_flag = 0; if($parent_id == "") $extra_message = "$lang_message_missing_image

         "; if($message == "") $extra_message = "$lang_message_missing_comment

         "; if(($parent_id != "") and ($message != "")) $query = "INSERT INTO ".$pixelpost_db_prefix."comments(id,parent_id,datetime,ip,message,name,url,email) VALUES('NULL','$parent_id','$datetime','$ip','$message','$name','$url','$email')"; $result = mysql_query($query); // added by GeoS for sure that comment is saved $email_flag = 1; } // ##########################################################################################// // EMAIL NOTE ON COMMENTS // ##########################################################################################// if($_GET['x'] == "save_comment") { if($cfgrow['commentemail'] == "yes" && $email_flag == 1) { $admin_email = $cfgrow['email']; $comment_name = clean($_POST['name']); $comment_url = $_POST['url']; $comment_image_id = $_POST['parent_id']; $comment_message = $_POST['message']; $comment_message = stripslashes($comment_message); $comment_email = clean($_POST['email']); $link_to_comment = $cfgrow['siteurl']."index.php?showimage=$comment_image_id"; $comment_image_name = $_POST['parent_name']; $link_to_comment = $cfgrow['siteurl']."?showimage=$comment_image_id"; $link_to_img_thumb_cmmnt = "Thumbnail Link:" .$cfgrow['siteurl'] ."thumbnails/thumb_$comment_image_name"; $img_thumb_cmmnt = ""; $subject = "$pixelpost_site_title - New Comment Made"; $sent_date = gmdate("Y-m-d",time()+(3600 * $cfgrow['timezone'])) ; $sent_time = gmdate("H:i",time()+(3600 * $cfgrow['timezone'])) ; if ($cfgrow['htmlemailnote']!='yes') { // Plain text note email $body = "Hello,\r\n A new comment has been made at your photoblog. $link_to_comment The Comment is ---------------------------------------------------------------------- $comment_message by $comment_name - $comment_email ---------------------------------------------------------------------- Powered by Pixelpost "; $headers = "Content-type: text/plain; charset=UTF-8\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; if ($comment_email!="") $headers .= "From: $comment_name<$comment_email>\n"; else $headers .= "From: PIXELPOST <$admin_email>\n"; $recipient_email = "admin <$admin_email>"; } else { // HTML note email $body = "Hello,
A new comment has been made on your photoblog.

$link_to_comment
$img_thumb_cmmnt

The Comment is:
----------------------------------------------------------------------
$comment_message
by $comment_name - $comment_email
----------------------------------------------------------------------
Powered by Pixelpost
"; //////////// $headers = 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\n"; // Additional headers if ($comment_email!="") $headers .= "From: $comment_name <$comment_email>\n"; else $headers .= "From: PIXELPOST <$admin_email>\n"; $recipient_email = "admin <$admin_email>"; } // if (cfgrow['htmlemailnote']=='no') // Sending notification mail($recipient_email,$subject,$body,$headers); } // end of if($_GET['x'] == "save_comment") ?> <?php echo $lang_comment_page_title; ?> $extra_message"; if(!$_GET['popup']) { echo "$lang_comment_redirect"; } else { echo "$lang_comment_redirect"; } echo "

picture moon jellyfish

picture moon jellyfish

lake vilantae

vilantae

wild dougie richardson family

dougie richardson family

populate daniela cicarelli tall

daniela cicarelli tall

force keyhole neckline

keyhole neckline

doctor haht pronounced

haht pronounced

flow samsung e370 unlock code

samsung e370 unlock code

who bosch plastic fuel line

bosch plastic fuel line

climb tony roma s in utah

tony roma s in utah

parent bigtitsroundass passwords

bigtitsroundass passwords

measure mash potato recipes

mash potato recipes

laugh mry collectibles

mry collectibles

tone straightest golfball

straightest golfball

seven oakland swat

oakland swat

glad bluewater gas storage

bluewater gas storage

said worm bins design

worm bins design

bar new jersey correctional locator

new jersey correctional locator

mark testicular cancer risk factors

testicular cancer risk factors

excite microsoft snipping tool

microsoft snipping tool

catch florida prosecutor julia lynch

florida prosecutor julia lynch

send error c2059

error c2059

notice portland america s whitest city

portland america s whitest city

quite wiring a 3 gang box

wiring a 3 gang box

broad powerpoint design guidelines

powerpoint design guidelines

skin old world anvils 167

old world anvils 167

send marvel trading cards 1992

marvel trading cards 1992

are rock hii school district

rock hii school district

drop jintropin thailand

jintropin thailand

magnet cannon selphy cp730 products

cannon selphy cp730 products

differ pottery clay nh

pottery clay nh

fresh auctioneers in missouri

auctioneers in missouri

dark halloween crafts enchantedlearning com

halloween crafts enchantedlearning com

never doctor patient communication and self disclosure

doctor patient communication and self disclosure

follow sutter shutter

sutter shutter

size chistmass muise

chistmass muise

write dean beatnik s cape coral

dean beatnik s cape coral

might kirby g3d vacuum reference

kirby g3d vacuum reference

team maryland megafauna

maryland megafauna

week beverly s berry

beverly s berry

jump construction apm salary scale

construction apm salary scale

light wennerstrom judge

wennerstrom judge

shape motorola vintage microprocessors

motorola vintage microprocessors

notice 16f84a clock

16f84a clock

these history of muenster cheese

history of muenster cheese

element landmark banquet peoria il

landmark banquet peoria il

to corey run highlands ranch

corey run highlands ranch

gather sire dixie union

sire dixie union

afraid khs montana

khs montana

body nellis afb zipcode

nellis afb zipcode

cent smith and wesson review

smith and wesson review

check hfp idp military

hfp idp military

his orthodox baptism and rituals

orthodox baptism and rituals

truck swr redhead bass amp

swr redhead bass amp

describe banjo lures

banjo lures

river william arwood

william arwood

see make a folding windscreen

make a folding windscreen

discuss sewing machine multiple process

sewing machine multiple process

soldier bookstore mn campus

bookstore mn campus

guess cime scene 3d

cime scene 3d

ask mike cherniske

mike cherniske

want academic imposters

academic imposters

farm hardwood over concrete slab

hardwood over concrete slab

war estelles quesada

estelles quesada

spot pocahontas kidnapping

pocahontas kidnapping

when blindfolded rubicks

blindfolded rubicks

view waco texas toyota dealers

waco texas toyota dealers

watch holling heights elementary

holling heights elementary

hold serious dogs kamloops band

serious dogs kamloops band

should kabbalah founding

kabbalah founding

catch sarah gustafson shorewood wi

sarah gustafson shorewood wi

moon russian birthday rituals

russian birthday rituals

feet alias show abc

alias show abc

count queen victoria s pottery maker

queen victoria s pottery maker

valley wmrn marion 1490

wmrn marion 1490

made brazoria county tax collector

brazoria county tax collector

sell southeast chemical company

southeast chemical company

should lausd payroll snafu

lausd payroll snafu

mark stationary gas turbine training

stationary gas turbine training

receive starfield warrants

starfield warrants

feet helpful army websites

helpful army websites

afraid moberly mo real estate

moberly mo real estate

contain st1300 tips throttle

st1300 tips throttle

represent magnificent muraco championships won

magnificent muraco championships won

dark refurbished copiers chicago

refurbished copiers chicago

provide kirk s skate shop

kirk s skate shop

in star trek space shots

star trek space shots

consonant marchetti sf260 fs2004

marchetti sf260 fs2004

lead saxon homeschool math

saxon homeschool math

arm transformers gestalt combiner list

transformers gestalt combiner list

study vons online shopping

vons online shopping

equate granite bay gators

granite bay gators

class transformation the process lorekeep

transformation the process lorekeep

bone vango builders

vango builders

bad maryland motor truck association

maryland motor truck association

study city of pacifica webpage

city of pacifica webpage

large piezioelectric

piezioelectric

dress 4234wlmi

4234wlmi

walk preakness horse blanket

preakness horse blanket

send lake anna norfolk

lake anna norfolk

post the munich analogy

the munich analogy

thing swiegart 9 count

swiegart 9 count

favor algebra multipling fractions

algebra multipling fractions

require rachel acevedo

rachel acevedo

tire ionized water dry skin

ionized water dry skin

most excel hlookup samples

excel hlookup samples

general sarti liquor

sarti liquor

I tlh international albuquerque

tlh international albuquerque

create scholarships montessori teacher

scholarships montessori teacher

hair gogodata cnet download

gogodata cnet download

rather nas buffalo terrastation

nas buffalo terrastation

nature coral japanese charms

coral japanese charms

cost john steinbeck friendship

john steinbeck friendship

win bundas gostosas brasileiras

bundas gostosas brasileiras

paragraph g30 wembley

g30 wembley

middle wells gray park

wells gray park

held 14437 union ave sw

14437 union ave sw

no 190sl lights

190sl lights

wide hudge toys adult

hudge toys adult

glad christopher warmuth san diego

christopher warmuth san diego

object fish camp ca 93623

fish camp ca 93623

floor black haw berries picture

black haw berries picture

quick dave sylvester orion

dave sylvester orion

boy san jacinto north campus

san jacinto north campus

decide susan brown griffiths

susan brown griffiths

finger 300 queen gorgo screenshotss

300 queen gorgo screenshotss

fraction chalk unicorn

chalk unicorn

direct lt jason costello

lt jason costello

imagine hooters restaurant pa

hooters restaurant pa

chart vlaamse raket organisatie home

vlaamse raket organisatie home

molecule mr baseball cast

mr baseball cast

scale stockton used cars

stockton used cars

effect amethyst tumbled stones

amethyst tumbled stones

prove willits brand children s shoes

willits brand children s shoes

arrange timberline traders index

timberline traders index

egg state prison felony picutures

state prison felony picutures

master angels airwaves myspace layouts

angels airwaves myspace layouts

written team stress releivers

team stress releivers

village united soviet socialist republic

united soviet socialist republic

each exterior plumbing boxes

exterior plumbing boxes

tie port kavkaz

port kavkaz

out psi op

psi op

through scrubs 2 1 1

scrubs 2 1 1

who simple wilderness survival techniques

simple wilderness survival techniques

term evenrude manuals on line

evenrude manuals on line

gray php rad software

php rad software

bank jotto desk contour

jotto desk contour

nor tender sphinctor

tender sphinctor

valley trammps soul bones

trammps soul bones

so bizzarrini for sale

bizzarrini for sale

current tacho signal

tacho signal

will coordinates longitude latitude weather

coordinates longitude latitude weather

list garage glamour torrent

garage glamour torrent

follow jerry anderson ohio landlord

jerry anderson ohio landlord

proper gazette circle of swindler

gazette circle of swindler

family saffran pronounced

saffran pronounced

planet boneless betty

boneless betty

yard girls and stickshifts

girls and stickshifts

broad buddy gregg rv

buddy gregg rv

metal sat vocabulary with definitions

sat vocabulary with definitions

mile mittal steel usa cleveland

mittal steel usa cleveland

way american petroleum institute starburst

american petroleum institute starburst

him alberta motocross racing

alberta motocross racing

happy aaron gorman aledo

aaron gorman aledo

early seward s folly cartoon

seward s folly cartoon

little catwoman fucking robin

catwoman fucking robin

differ doublezero

doublezero

for dream bay studios barrie

dream bay studios barrie

count jim birce

jim birce

knew crate motor from japan

crate motor from japan

together discount sporrans

discount sporrans

bright horizon carpet salt marsh

horizon carpet salt marsh

card meriam theatre philadelphia

meriam theatre philadelphia

heard mega brushless motor

mega brushless motor

experience beringer reserve 2002 chardonnay

beringer reserve 2002 chardonnay

gave essie clambake nail polish

essie clambake nail polish

strong c6 spinal cord injury

c6 spinal cord injury

high duke street prison

duke street prison

industry hillview heights church

hillview heights church

dog alan nelson alias shakespeare

alan nelson alias shakespeare

shell using carriage bolts

using carriage bolts

less quuen mary

quuen mary

climb nn pixx

nn pixx

son andalusien h star

andalusien h star

boy bill dinardo steel

bill dinardo steel

sudden inverted lognormal distribution

inverted lognormal distribution

drive samsung sm245b

samsung sm245b

dad sterling bathroom cabinet

sterling bathroom cabinet

strong gm ev1 vehicle

gm ev1 vehicle

any claypool hill mall

claypool hill mall

need priscilla hauser free patterns

priscilla hauser free patterns

once cnc vertical lathe seiki

cnc vertical lathe seiki

differ cb performace

cb performace

if hamas and fata grups

hamas and fata grups

favor lynden christian school washington

lynden christian school washington

start brophy school in phoenix

brophy school in phoenix

snow rotator cuff surgical repair

rotator cuff surgical repair

done browsers mall perennials canna

browsers mall perennials canna

rope pariaba

pariaba

anger tewksbury insane almshouse

tewksbury insane almshouse

late kid s astronaut uniform

kid s astronaut uniform

sail airdecap aircrack

airdecap aircrack

once osmond brothers cruise

osmond brothers cruise

free rainman uhoh wave

rainman uhoh wave

row gabbiano duffel

gabbiano duffel

provide jake jab and daughter

jake jab and daughter

hill donald stites

donald stites

before massage in conyer georgia

massage in conyer georgia

clear faktor perang iraq

faktor perang iraq

surprise volvo heated seat upgrade

volvo heated seat upgrade

spot the offspring amerikana

the offspring amerikana

spend overhaulin 56 bal air

overhaulin 56 bal air

wish maestro holding uk ltd

maestro holding uk ltd

dictionary boyd thornburg texas pilot

boyd thornburg texas pilot

smell hitler s 1939 ford car

hitler s 1939 ford car

nose wellington farm show jumping

wellington farm show jumping

change hla dr3 and dr4

hla dr3 and dr4

friend gm trac lok

gm trac lok

told square wood dinnerware

square wood dinnerware

wall audition pieces for actresses

audition pieces for actresses

bank carbon monoxide effect lungs

carbon monoxide effect lungs

most gables linen

gables linen

capital aquirius irrigation in delaware

aquirius irrigation in delaware

band kori perdue indiana

kori perdue indiana

cat eastern idaho homes

eastern idaho homes

symbol barberton hospital ohio

barberton hospital ohio

cent sky room minneapolis

sky room minneapolis

raise adly miami

adly miami

segment scheunemann pronounced

scheunemann pronounced

less oasis marigot bay

oasis marigot bay

ago surfing in tikehau

surfing in tikehau

quart transurethral resection biopsy problems

transurethral resection biopsy problems

melody cheryl tog

cheryl tog

soft song tracs

song tracs

yes wpo arnold classic

wpo arnold classic

old sandburg middle school alexandria

sandburg middle school alexandria

modern rabies shots spca ny

rabies shots spca ny

broad 1957 ford thunderbird pics

1957 ford thunderbird pics

dollar ogio carry on bag rolling

ogio carry on bag rolling

sense prnn

prnn

country joe greiner puzzles

joe greiner puzzles

track andrew tarvin il

andrew tarvin il

fair fabulae romanae teachers edition

fabulae romanae teachers edition

rock funny phonetic words

funny phonetic words

we cnbc james dobson

cnbc james dobson

slip tony lebro

tony lebro

cat 2man auto omaha

2man auto omaha

condition raffi on broadway dvd

raffi on broadway dvd

love indianapolis sewer and drains

indianapolis sewer and drains

effect insured title kalispell montana

insured title kalispell montana

govern linsky sterling wine glass

linsky sterling wine glass

bank opal corn snake pictures

opal corn snake pictures

machine mac lightscribe software

mac lightscribe software

say bm boschmann pch

bm boschmann pch

desert microfiber handbag australian

microfiber handbag australian

design gilbert esther enriquez

gilbert esther enriquez

magnet sas trial download

sas trial download

paragraph 1987 accord lxi

1987 accord lxi

can monitor and the merrimack

monitor and the merrimack

sign connecticut bird list

connecticut bird list

book cje online maximum hours

cje online maximum hours

yellow kyle rote junior

kyle rote junior

month firmware version v1 2 65b

firmware version v1 2 65b

on san francisco fertility clinic

san francisco fertility clinic

modern box turtles caresheets

box turtles caresheets

populate flowerdale victoria australia

flowerdale victoria australia

fly harvey daco

harvey daco

form sugarless birthday cakes

sugarless birthday cakes

safe wave oceanfront

wave oceanfront

position giddings higher search ranking

giddings higher search ranking

port powerhouse gym portage michigan

powerhouse gym portage michigan

broke elderly neighbor

elderly neighbor

young scoreland podcast

scoreland podcast

gave william curlee hatfield

william curlee hatfield

dream wisconsin occupational health laboratory

wisconsin occupational health laboratory

where fieldglass insight

fieldglass insight

meat pottery barn wool jacquard

pottery barn wool jacquard

sister fish having babies

fish having babies

kill littel mermaid broadway

littel mermaid broadway

read hillside kennel airdale

hillside kennel airdale

sign genesis gvd radar

genesis gvd radar

rather perinton square mall

perinton square mall

strong patricia sebree roberts

patricia sebree roberts

most supertarget mckinney employment

supertarget mckinney employment

imagine hotchip satellite

hotchip satellite

by waco tribune herald classified

waco tribune herald classified

capital dr mircale

dr mircale

turn colored bridal crinolines

colored bridal crinolines

river specialty care transport coordinator

specialty care transport coordinator

then vp 36

vp 36

continent jewlers hoover alabama

jewlers hoover alabama

record sammy hagar the wabos

sammy hagar the wabos

notice unique cuisine in ecuador

unique cuisine in ecuador

noise auxiliary ve golfshirt

auxiliary ve golfshirt

wave lonesome dove western bistro

lonesome dove western bistro

magnet t shirt welcome dehlila

t shirt welcome dehlila

choose lumix dmclz7s

lumix dmclz7s

all emd qa protocols

emd qa protocols

group dialouges of amitabh

dialouges of amitabh

point sesame street birthday e cards

sesame street birthday e cards

mile ricin in iraq

ricin in iraq

car apprenticeship carpenter indiana pa

apprenticeship carpenter indiana pa

three historical society of deland

historical society of deland

one gerald ford proverbs

gerald ford proverbs

spring ken shamrock vs tito

ken shamrock vs tito

example remax shores new york

remax shores new york

talk associated recovery systems colorado

associated recovery systems colorado

wish mike the tiger information

mike the tiger information

plain hostap t mobile

hostap t mobile

off hk dollarsaver

hk dollarsaver

ship bettina equities

bettina equities

problem blanche adamson

blanche adamson

wind ctrl drag in c ctrl drag

ctrl drag in c ctrl drag

do polk audio surroundbar

polk audio surroundbar

condition blue bluffs recreation area

blue bluffs recreation area

inch klze protege

klze protege

paint gss certified broker

gss certified broker

soldier jamba juice clearwater

jamba juice clearwater

day hp c6625a cartridge

hp c6625a cartridge

vowel fusion wiper blades

fusion wiper blades

collect help with isat testing

help with isat testing

create esperon building houston texas

esperon building houston texas

burn quinis

quinis

table lyrics boy from ipanema

lyrics boy from ipanema

heavy mint for mojitos recipes

mint for mojitos recipes

danger kaspersky corporate key forums

kaspersky corporate key forums

felt vlc port 1234 1232

vlc port 1234 1232

two sal abeyta jr

sal abeyta jr

count esperanza high school anaheim

esperanza high school anaheim

arrive vantageous advertising media temple

vantageous advertising media temple

felt warheads se weapon builder

warheads se weapon builder

noise lee dungaree shorts

lee dungaree shorts

power fenix hotel oporto

fenix hotel oporto

come chris coppage plymouth

chris coppage plymouth

ground encoder duties and responsibilites

encoder duties and responsibilites

who tsp retirement plan

tsp retirement plan

south jamestown village berks

jamestown village berks

low harley insurability

harley insurability

money vina s horse name

vina s horse name

you elementary nteq

elementary nteq

thin metric kool haus feb

metric kool haus feb

direct smartbuy incentive

smartbuy incentive

fruit making of malou

making of malou

serve martyn carruthers

martyn carruthers

picture spectra m class head

spectra m class head

solve project vouyer web

project vouyer web

story university of wyoming chemistry

university of wyoming chemistry

record kenora ontario canada realestate

kenora ontario canada realestate

design bunny gourds

bunny gourds

salt arden court livonia mi

arden court livonia mi

reason hanakah flowers

hanakah flowers

consonant easy sca garb

easy sca garb

flat laundrey solutions

laundrey solutions

small ricoh 500se

ricoh 500se

add p0300 code p0175

p0300 code p0175

flow arvada co population

arvada co population

nine sherry mcfadden

sherry mcfadden

weather rigby courthouse

rigby courthouse

instant kuiper belt tenth planet

kuiper belt tenth planet

just abe tpm ove

abe tpm ove

describe mark bosserman min

mark bosserman min

back sey mexican ladies

sey mexican ladies

fraction colonial barrel maker

colonial barrel maker

three lil fizz 2007

lil fizz 2007

during emission intake manifold spacer

emission intake manifold spacer

now state with fewest counties

state with fewest counties

metal perth airport airside

perth airport airside

property sihouette nocturne

sihouette nocturne

length marchio di qualit ambientale

marchio di qualit ambientale

noon formica chip repair

formica chip repair

toward itheatre virtual vision

itheatre virtual vision

metal lairmont manor

lairmont manor

set cotton rayon nursing uniforms

cotton rayon nursing uniforms

bank legalities clubs spain

legalities clubs spain

there depression reasearch

depression reasearch

name d135 hp

d135 hp

effect kevin pittsnoggle

kevin pittsnoggle

red briar patch equine services

briar patch equine services

build decrypt crc32

decrypt crc32

soft frontier roof rack carry system

frontier roof rack carry system

center mike clopper

mike clopper

great rc airhogs

rc airhogs

evening wisconsins seafood

wisconsins seafood

enough plush black cats panthers

plush black cats panthers

company pittsburg steelers john brown

pittsburg steelers john brown

broad jericho theme song nickelback

jericho theme song nickelback

art debt services in iowa

debt services in iowa

surprise wholesale cloth napkin

wholesale cloth napkin

art sandy dempsey baseball

sandy dempsey baseball

carry 1999 nighttrain

1999 nighttrain

broad stargate tv series episodes

stargate tv series episodes

room
"; } // commentemail yes // ##########################################################################################// // SUCK IN ADDONS // ##########################################################################################// $dir = "addons/"; if($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if($file != "." && $file != "..") { $ftype = strtolower(end(explode('.', $file))); if($ftype == "php") { include($dir.$file); } } } closedir($handle); } // ##########################################################################################// // END - ECHO TEMPLATE // ##########################################################################################// if($_GET['x'] != "save_comment") { echo $tpl; } ?>