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); // includes require("includes/pixelpost.php"); require("includes/markdown.php"); require("includes/functions.php"); require("includes/exifer1_5/exif.php"); // Set cookie for visitor counter, re-count a person after 60 mins setcookie("lastvisit","expires in 60 minutes",time() +60*60); // 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 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']; $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 <= "1") { $behindlimit = ($cfgrow['thumbnumber']-1)-$aheadnumb; $aheadlimit = $aheadnumb; } if($behindnumb <= "1") { $aheadlimit = ($cfgrow['thumbnumber']-1)-$behindnumb; $behindlimit = $behindnumb; } $totalthumbcounter = 0; // will count up to four no matter what $ahead_thumbs = ""; $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); list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $ahead_thumbs .= "$headline"; $totalthumbcounter++; } $behind_thumbs = ""; $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); list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $behind_thumbs = "$headline$behind_thumbs"; } list($local_width,$local_height,$type,$attr) = getimagesize("thumbnails/thumb_$image_name"); $thumbnail_row = "$behind_thumbs$image_title$ahead_thumbs"; $tpl = str_replace("",$thumbnail_row,$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'"; $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 $curr_image = "images/$image_name"; $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";} $tpl = ereg_replace("",$exposure,$tpl); if($exposure != "") { $exposure = "$lang_exposure $exposure"; $tpl = ereg_replace("",$exposure,$tpl); } $tpl = ereg_replace("",$aperture,$tpl); if($aperture != "") { $aperture = "$lang_aperture $aperture"; $tpl = ereg_replace("",$aperture,$tpl); } $tpl = ereg_replace("",$capture_date,$tpl); if($capture_date != "") { $capture_date = "$lang_capture_date $capture_date"; $tpl = ereg_replace("",$capture_date,$tpl); } $tpl = ereg_replace("",$focal,$tpl); if($focal != "") { $focal = "$lang_focal $focal"; $tpl = ereg_replace("",$focal,$tpl); } $tpl = ereg_replace("",$info_camera_manu,$tpl); if($info_camera_manu != "") { $info_camera_manu = "$lang_camera_maker $info_camera_manu"; $tpl = ereg_replace("",$info_camera_manu,$tpl); } $tpl = ereg_replace("",$info_camera_model,$tpl); if($info_camera_model != "") { $info_camera_model = "$lang_camera_model $info_camera_model"; $tpl = ereg_replace("",$info_camera_model,$tpl); } $tpl = str_replace("",$iso,$tpl); if($iso != "") { $iso = "$lang_iso $iso"; $tpl = ereg_replace("",$iso,$tpl); } $tpl = ereg_replace("",$flash,$tpl); if($flash != "") { $flash = "$lang_flash $flash"; $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($_POST['message']); $name = clean($_POST['name']); $url = clean($_POST['url']); $parent_name = $_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") { $referer_print = "

    "; // only count referers from the last seven days gmdate("Y-m-d H:i:s",time()+(3600 * $cfgrow['timezone'])); // current date+time $from_date = mktime(0,0,0,gmdate("m",time()+(3600 * $cfgrow['timezone'])) ,gmdate("d",time()+(3600 * $cfgrow['timezone'])) -7,gmdate("Y",time()+(3600 * $cfgrow['timezone'])) ); $from_date = strftime("%Y-%m-%d", $from_date); $from_date = "$from_date 00:00:00"; $referer = ""; $query = mysql_query("select distinct referer from ".$pixelpost_db_prefix."visitors where (referer!='') AND (datetime>'$from_date')"); while(list($nreferer) = mysql_fetch_row($query)) { $nreferer = htmlentities($nreferer); $referer .= "!".$nreferer; } $referer = split("!",$referer); $ref_biglist = ""; foreach($referer as $value) { if($value != "") { $row = sql_array("select count(*) as count from ".$pixelpost_db_prefix."visitors where (referer='$value') AND (datetime>'$from_date')"); $refnumb = $row['count']; $ref_biglist .= "$refnumb@$value!"; } } $ref_biglist = split("!",$ref_biglist); rsort($ref_biglist,SORT_NUMERIC); foreach($ref_biglist as $value) { list($numb,$referer) = explode("@",$value); if($numb > "0") { if($numb < "10") { $numb = "0$numb"; } $referername = $referer; $length = strlen($referername); if($length > 50) { $referername = substr($referername,0,50); $referername = "$referername..."; } $referer_print .= "
  • $numb     $referername
  • "; } } $referer_print .= "
"; $tpl = str_replace("",$referer_print,$tpl); } // 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); $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); // ##########################################################################################// // EMAIL NOTE ON COMMENTS // ##########################################################################################// if($cfgrow['commentemail'] == "yes") { if($_GET['x'] == "save_comment") { $admin_email = $cfgrow['email']; $comment_name = clean($_POST['name']); $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 - 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 ---------------------------------------------------------------------- Email Sent by pixelpost "; $headers = "Content-type: text/plain; charset=UTF-8\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; $headers .= "From: PIXELPOST <$admin_email>\n"; $recipient_email = "admin <$admin_email>"; mail($recipient_email,$subject,$body,$headers); } else { // HTML note email $body = "Hello,
A new comment has been made at your photoblog.

$link_to_comment
$img_thumb_cmmnt

The Comment is:
----------------------------------------------------------------------
$comment_message
by $comment_name - $comment_email
----------------------------------------------------------------------
Email Sent by pixelpost
"; //////////// $headers = 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\n"; // Additional headers $headers .= "From: PIXELPOST <$admin_email>\n"; $recipient_email = "admin <$admin_email>"; mail($recipient_email,$subject,$body,$headers); } // if (cfgrow['htmlemailnote']=='no') } //if($_GET['x'] == "save_comment") { } // commentemail yes // ##########################################################################################// // 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']); 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); } ?> <?php echo $lang_comment_page_title; ?> $extra_message"; if(!$_GET['popup']) { echo "$lang_comment_redirect"; } else { echo "$lang_comment_redirect"; } echo "

teen not growing up

teen not growing up

then imogen thomas vibrator

imogen thomas vibrator

straight bukkake asians

bukkake asians

low tims movies porn

tims movies porn

buy fantasy bdsm

fantasy bdsm

skill danish high school striptease

danish high school striptease

who ellie fuck tampa

ellie fuck tampa

plant lazar strip thickness instrument

lazar strip thickness instrument

sound sonic the hegehog xxx

sonic the hegehog xxx

brother nasty things people eat

nasty things people eat

operate sex change magick

sex change magick

tube no tits teens

no tits teens

happy youtube hairy recruitment gay

youtube hairy recruitment gay

or drinking dog sperm

drinking dog sperm

first contos teen

contos teen

fire nude hung college guys

nude hung college guys

took gaberille union nude

gaberille union nude

bird sucking my freinds cock

sucking my freinds cock

spring relationship counceling

relationship counceling

current cruise ships for singles

cruise ships for singles

experiment dick clark and stroke

dick clark and stroke

think marketa porn star

marketa porn star

least boots amp bondage

boots amp bondage

tall hunter escort

hunter escort

base avena fucks

avena fucks

planet buenos aires strip clubs

buenos aires strip clubs

spread dick lam

dick lam

lone smell dick

smell dick

think latin sexy woman nude

latin sexy woman nude

door griffin drew hardcore

griffin drew hardcore

mount naked teen male

naked teen male

type oa gay

oa gay

substance handle disrespectful teen

handle disrespectful teen

all japanese schoolgirls post

japanese schoolgirls post

matter crazy asian sex

crazy asian sex

thick teabag and sluts

teabag and sluts

camp musclular nude

musclular nude

five dum blonde games

dum blonde games

front anal sex gaping hole

anal sex gaping hole

snow porn password forum

porn password forum

paper medical insurance for teens

medical insurance for teens

pick other ways to masturbate

other ways to masturbate

anger seattle sperm banks

seattle sperm banks

settle big beautiful titties

big beautiful titties

second sexy nude brunets

sexy nude brunets

test gay cowboy galleries

gay cowboy galleries

burn bored uk housewifes

bored uk housewifes

distant plastic knobs for amplifiers

plastic knobs for amplifiers

much unique masturbation techniques

unique masturbation techniques

probable naked images zac efron

naked images zac efron

consonant cute chubby vids

cute chubby vids

human teacher masturbates teen boy

teacher masturbates teen boy

exact undercover condoms

undercover condoms

piece kathy love graham nc

kathy love graham nc

hold dead porn stars wonderland

dead porn stars wonderland

more is sex really necessary

is sex really necessary

as group sex fucking trailers

group sex fucking trailers

him sperm universe dvd

sperm universe dvd

lake drunk girl nipples

drunk girl nipples

soon chubby male

chubby male

thick bidet masturbate

bidet masturbate

house tony s amateur s cameron

tony s amateur s cameron

does bahama island pussy

bahama island pussy

strong perline facial treatment

perline facial treatment

log hairy pussy video

hairy pussy video

some the little girl s asshole

the little girl s asshole

world mom teach teen sex

mom teach teen sex

feet amateur radio antenna designs

amateur radio antenna designs

slow booty popn

booty popn

bell lesbian mom daughter

lesbian mom daughter

learn i95 asshole song wav

i95 asshole song wav

cotton circle wedding ring love

circle wedding ring love

reason bob cummings aerocar

bob cummings aerocar

shout gay persian men

gay persian men

protect bio mpg emission improver

bio mpg emission improver

radio black college lesbians

black college lesbians

very naked amateurs vide

naked amateurs vide

less breast augmentation redo

breast augmentation redo

bring teen spanking fantasies

teen spanking fantasies

great teens brest

teens brest

ground nude earth angels

nude earth angels

step shemales top 100

shemales top 100

kept black pornstar heather hunter

black pornstar heather hunter

sent sucking breasts pictures free

sucking breasts pictures free

gentle naked female runners

naked female runners

follow masturbation and testosterone

masturbation and testosterone

men outspoken housewife

outspoken housewife

segment wiki vagina

wiki vagina

listen big buts get fucked

big buts get fucked

season bonnie bedelia nude free

bonnie bedelia nude free

stream bolivia samsonite nude

bolivia samsonite nude

air amy lee topless

amy lee topless

group mindblowing orgasms

mindblowing orgasms

moment korean escorts san francisco

korean escorts san francisco

rather 20 inches dick

20 inches dick

real jenna lesbian in bathroom

jenna lesbian in bathroom

always nude lake gallery

nude lake gallery

great gay jocks wrestling nude

gay jocks wrestling nude

held safe sex menstral cycle

safe sex menstral cycle

top my friends first dildo

my friends first dildo

body chatroom profile jacqueline

chatroom profile jacqueline

many i fucked my doctor

i fucked my doctor

quotient abusers and counseling

abusers and counseling

it amateur female bound gagged

amateur female bound gagged

difficult nude video homemade girl

nude video homemade girl

sky crossdressing escorts uk

crossdressing escorts uk

type hotel elevator naked

hotel elevator naked

bring nude female thighs

nude female thighs

listen miranda cosgrove boobs

miranda cosgrove boobs

guess nake nude muscleman

nake nude muscleman

pick orgy gallery sex

orgy gallery sex

smell topless in atlanta

topless in atlanta

small naughty nursery rymes

naughty nursery rymes

view naked x rated porno

naked x rated porno

also porn emailed

porn emailed

line erotic wife story

erotic wife story

always dirty naked gal

dirty naked gal

on linsay louhan nude pics

linsay louhan nude pics

look faerie elf sex erotica

faerie elf sex erotica

vary water jet masturbation

water jet masturbation

west smallbreast teens

smallbreast teens

though shemales looking 4 sex

shemales looking 4 sex

period bdsm for guys

bdsm for guys

story hot free mature indian

hot free mature indian

car martin s pediatrics counseling

martin s pediatrics counseling

please cody hanford nudity

cody hanford nudity

to moche sex pots

moche sex pots

vary hair styles teen boys

hair styles teen boys

science hard nipple play movies

hard nipple play movies

usual teen hairstyles cute

teen hairstyles cute

say fucking amazing cunt

fucking amazing cunt

rule hq blowjob

hq blowjob

chair lucky stars romance

lucky stars romance

human todays tweens

todays tweens

bar dick s hi tech auto

dick s hi tech auto

name angelina naked

angelina naked

them nude girls big legs

nude girls big legs

is hustler s beaver hunt

hustler s beaver hunt

gas raleigh male strip bar

raleigh male strip bar

gray tits and ass magazine

tits and ass magazine

color nude little gay babies

nude little gay babies

million mad tv girls naked

mad tv girls naked

beat full screen porn

full screen porn

here marble colored dildos

marble colored dildos

heat female vagina photographs

female vagina photographs

cold naked woman area rugs

naked woman area rugs

score kacey gangbang

kacey gangbang

east peter sarsgaard naked

peter sarsgaard naked

hold katie holmes nude pics

katie holmes nude pics

sell girl licking blood

girl licking blood

moment busty brizilians

busty brizilians

bread sex lesbian toon

sex lesbian toon

leave hugh pussy lips

hugh pussy lips

does love promise poems

love promise poems

miss love cursed

love cursed

moon tender teens

tender teens

round dreamgirl stripclub

dreamgirl stripclub

matter transgender home

transgender home

paper declaration of beauty

declaration of beauty

them n elderly male sex

n elderly male sex

free twink orgasms videos

twink orgasms videos

sudden swollen elecrode nipples smut

swollen elecrode nipples smut

old tbd escort review

tbd escort review

single nude corvette girls

nude corvette girls

value dating mature russian

dating mature russian

fill nude girls musel cars

nude girls musel cars

song beaver county house assessments

beaver county house assessments

men the masturbation page

the masturbation page

mean big dick gay porno

big dick gay porno

molecule about nudism

about nudism

corn toronto escort strap on

toronto escort strap on

separate donkey kong sex

donkey kong sex

glass mirco innovations webcam

mirco innovations webcam

danger emoticons sex porn

emoticons sex porn

list spanking onelook dictionary search

spanking onelook dictionary search

chick ladies undressing photos

ladies undressing photos

their gat fetish

gat fetish

I my porn stop topless

my porn stop topless

hear cop fucks

cop fucks

am baytown gays

baytown gays

paper kautz porn

kautz porn

think fist in her pussy

fist in her pussy

sand nude jetsons cartoon

nude jetsons cartoon

special lesbian boston area housing

lesbian boston area housing

bit naughty hentai

naughty hentai

except brown tain sex

brown tain sex

plural sue simmons lesbian

sue simmons lesbian

deal sex her stimulate

sex her stimulate

stick public sex in oklahoma

public sex in oklahoma

cause cumming inside by accident

cumming inside by accident

walk underwater lesbian pics

underwater lesbian pics

told big mature ladies

big mature ladies

subject sex crime penalties maryland

sex crime penalties maryland

favor health oversize vagina size

health oversize vagina size

require dove beauty vitalizer

dove beauty vitalizer

decimal hot blonde nude videos

hot blonde nude videos

roll movie review on dreamgirls

movie review on dreamgirls

card naked wyoming woman

naked wyoming woman

corner dress up game naked

dress up game naked

shop tri fit long underwear

tri fit long underwear

baby peter pan erotic stories

peter pan erotic stories

men senual strip tease video

senual strip tease video

come caribbean dating sites

caribbean dating sites

possible strap on mpgs

strap on mpgs

four gratuitious nudity

gratuitious nudity

make monika milf next door

monika milf next door

west nude fibby

nude fibby

remember elite black escorts

elite black escorts

yes licking county bike trails

licking county bike trails

valley plus size teen coat

plus size teen coat

side pandora silicone vibrator review

pandora silicone vibrator review

red bald pussy tgp index

bald pussy tgp index

miss briana banks tgp

briana banks tgp

every transsexual reno

transsexual reno

coast gay marriage and providence

gay marriage and providence

wing lesbian conception sperm banks

lesbian conception sperm banks

yellow pantyhose facts

pantyhose facts

say hollywood nude movies details

hollywood nude movies details

lie stories about fat chicks

stories about fat chicks

neighbor love my skins sidekick

love my skins sidekick

general star nude photo s

star nude photo s

cross mommy cum lesbians

mommy cum lesbians

force kinky twist designs

kinky twist designs

egg masturbation w condoms

masturbation w condoms

soldier biesexual sex pics men

biesexual sex pics men

cell men in cock cages

men in cock cages

desert was james cleveland gay

was james cleveland gay

should nude admixture women

nude admixture women

process virgin coconut oil pdf

virgin coconut oil pdf

these virgin sex 70

virgin sex 70

camp shemale psp download

shemale psp download

no mpg of volcano

mpg of volcano

death bondage shopping in philadelphia

bondage shopping in philadelphia

horse tall female escorts kettering

tall female escorts kettering

time busty momma

busty momma

mother kim possable porn game

kim possable porn game

receive in home facials tucson

in home facials tucson

sudden rate resl nude moms

rate resl nude moms

century mandy lynn sex porn

mandy lynn sex porn

duck futuramas leela naked

futuramas leela naked

told lesbian feet lickers

lesbian feet lickers

to kristen bell fake nude

kristen bell fake nude

his pier 1 teens

pier 1 teens

solve lesbian outing website

lesbian outing website

table naughty easter cards

naughty easter cards

town erotic witchcraft

erotic witchcraft

proper foreign tv nudity

foreign tv nudity

must nurseing with big breasts

nurseing with big breasts

gas roses of porn

roses of porn

thought cum swaping teens

cum swaping teens

favor miss puerto rico nude

miss puerto rico nude

protect romance novels and depression

romance novels and depression

show gas oven top knobs

gas oven top knobs

truck movies to jerk by

movies to jerk by

planet men s underwear news

men s underwear news

chance nudist clubs and virginia

nudist clubs and virginia

enter masturbation islam islamic

masturbation islam islamic

agree drill sergeant nude photos

drill sergeant nude photos

always avery adams pornstar

avery adams pornstar

indicate young girls dad sex

young girls dad sex

answer live amateur sluts

live amateur sluts

century bondage strap on butterfly cli

bondage strap on butterfly cli

song nice and wet porn

nice and wet porn

other night shift nurse hentai

night shift nurse hentai

oh gay niftey stories

gay niftey stories

I fire crotch sex pics

fire crotch sex pics

capital highland romance victoria s secret

highland romance victoria s secret

speed bb imogen naked pics

bb imogen naked pics

hit hongkong celeb porn

hongkong celeb porn

board christian marriage counseling orlando

christian marriage counseling orlando

search dating ladies who smok

dating ladies who smok

region hooter girl pantyhose

hooter girl pantyhose

large play cartoon porn

play cartoon porn

what inferno mistress myspace

inferno mistress myspace

ground beauty salon sink

beauty salon sink

could pictures of nude sunbathing

pictures of nude sunbathing

half escorts in shropshire

escorts in shropshire

master busty teen cute pics

busty teen cute pics

gray daniel j cummings

daniel j cummings

art atmosphere god loves ugly

atmosphere god loves ugly

suffix bigtit pornstars

bigtit pornstars

picture secratary sucks cock

secratary sucks cock

slave sexy british sluts

sexy british sluts

spread duty before booty

duty before booty

list marijuana anal sex

marijuana anal sex

block pussy snuff video

pussy snuff video

back men caught wearing pantyhose

men caught wearing pantyhose

jump twink orgasms videos

twink orgasms videos

very innocent teen

innocent teen

throw teen rescue

teen rescue

heard poor liza love

poor liza love

seed 3 d virtual sex

3 d virtual sex

throw jordon video porn

jordon video porn

vowel lesbian phone sex numbers

lesbian phone sex numbers

state rosario dawson naked alexander

rosario dawson naked alexander

shell cheshire sex

cheshire sex

also lilly thai squirts

lilly thai squirts

temperature bbw vegas gathering

bbw vegas gathering

have holland lakes nude

holland lakes nude

horse gay fetish art

gay fetish art

unit girls pron

girls pron

call fucked moms blonde pussy

fucked moms blonde pussy

rule sex with aunties

sex with aunties

tell gay clubs nashville tenn

gay clubs nashville tenn

fact p4 nude woman

p4 nude woman

ever famous black boobs

famous black boobs

brown aimee lee transexual

aimee lee transexual

joy porn videos no membership

porn videos no membership

blue youngest free pussie

youngest free pussie

together roni housewife

roni housewife

twenty cripple legbraces girl beauty

cripple legbraces girl beauty

in sex survivor 2000

sex survivor 2000

vowel teen master cards

teen master cards

bad nia long nude

nia long nude

no stories for masturbation

stories for masturbation

with black booty ghetto

black booty ghetto

master paige turner nude 2007

paige turner nude 2007

hunt nipple pinched

nipple pinched

us independent escorts in tampa

independent escorts in tampa

red falco breasts

falco breasts

develop pussy and boobs videos

pussy and boobs videos

enemy black tights tgp

black tights tgp

cell voyeuristic housewifes

voyeuristic housewifes

final massive gigantic cocks

massive gigantic cocks

land trussville alabama sluts

trussville alabama sluts

collect women getting fucked videos

women getting fucked videos

main ms teen ny

ms teen ny

least deviant erotic art

deviant erotic art

space naked professional male athletes

naked professional male athletes

tiny virginia beach amateur golf

virginia beach amateur golf

bottom voyager personals

voyager personals

electric anna nicole sex pictures

anna nicole sex pictures

knew natural breast enlargmen

natural breast enlargmen

radio snake sex galleries

snake sex galleries

gave key west gay

key west gay

every valintines love poems

valintines love poems

hole save porn castle

save porn castle

near busty secretary s

busty secretary s

day cosplay schoolgirl game

cosplay schoolgirl game

hair punk chick backgrounds

punk chick backgrounds

hurry celeb fuck tapes

celeb fuck tapes

if anal pain after sitting

anal pain after sitting

remember buying cheap Viagra online in uk
"; } // ##########################################################################################// // 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; } ?>