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 "

hot mature clip

hot mature clip

year xxx video blind date

xxx video blind date

method tiny wet nubile pussys

tiny wet nubile pussys

from leela fucked

leela fucked

fraction leah remini nude nude

leah remini nude nude

who leonie porn pics

leonie porn pics

carry huge dildo clip

huge dildo clip

position frtee mpeg sluts

frtee mpeg sluts

close gay caribbean men

gay caribbean men

chord enema self bondage

enema self bondage

stood ebony girls pissing

ebony girls pissing

slip kelly rowan naked gallery

kelly rowan naked gallery

suit chick getting doggystyle free

chick getting doggystyle free

body sybian orgasm videos free

sybian orgasm videos free

hour idols jp tgp

idols jp tgp

time titty lickers

titty lickers

some pick a blowjob

pick a blowjob

science sexy mature slappers

sexy mature slappers

new hot sexy porn videos

hot sexy porn videos

full gay nudists clubs

gay nudists clubs

danger xxx futurama pic

xxx futurama pic

forward hardcore pic sharing

hardcore pic sharing

no mature old maids

mature old maids

before horse cock movie

horse cock movie

law breast feeding breast pumps

breast feeding breast pumps

four nude amateur contest

nude amateur contest

job sex tied up dreambook

sex tied up dreambook

east paris tail porn

paris tail porn

create brush spanking

brush spanking

break vintage pinup pictures

vintage pinup pictures

began booty call 32 jake

booty call 32 jake

lie couples therapy uci

couples therapy uci

phrase naughty natie

naughty natie

market lesbian sauna sex

lesbian sauna sex

key vanessa ann hudgens nude

vanessa ann hudgens nude

segment beach blonde sex

beach blonde sex

send london fetish parties

london fetish parties

help clips of anal porn

clips of anal porn

consider breast enhancement cream dallas

breast enhancement cream dallas

paint melody thornton naked

melody thornton naked

behind we love covk

we love covk

or fucking cheating lying sluts

fucking cheating lying sluts

wing movies first interracial kiss

movies first interracial kiss

shore ticking during sex

ticking during sex

earth kota kinabalu sex guide

kota kinabalu sex guide

track silicone fake boobs

silicone fake boobs

mark girl dogs gangbang stories

girl dogs gangbang stories

cent pussy closeups xxx

pussy closeups xxx

suit yoga for teens

yoga for teens

kept gay dorm cam

gay dorm cam

have domination sex movies

domination sex movies

rise lesbian romances date

lesbian romances date

two milf lessons jaguar

milf lessons jaguar

tire female midget sluts

female midget sluts

enter play rated xxx games

play rated xxx games

the boot fetish story

boot fetish story

need 80s pornstars free video

80s pornstars free video

excite man fondling tits

man fondling tits

reach muscle men porn videos

muscle men porn videos

but teen girl model pictures

teen girl model pictures

front getto pussy

getto pussy

notice big butt amateurs promo

big butt amateurs promo

bear bbs tits

bbs tits

person hot dorm sex stories

hot dorm sex stories

never keep slaves nipples sore

keep slaves nipples sore

spoke revlon eyebrow powder blonde

revlon eyebrow powder blonde

strange transgender adult baby stories

transgender adult baby stories

sure yahoo amateur wives

yahoo amateur wives

ago indian free sex thumbnails

indian free sex thumbnails

record guadalajara mexico tantric massage

guadalajara mexico tantric massage

born dixie chicks breaking up

dixie chicks breaking up

final girls sleepwalking naked

girls sleepwalking naked

radio arguing among couples

arguing among couples

early cockolds wives

cockolds wives

spend peeing polls

peeing polls

lady actress jolene blalock nude

actress jolene blalock nude

invent sex tour packages amsterdam

sex tour packages amsterdam

does philipines sex culture

philipines sex culture

suffix spanking clips girl free

spanking clips girl free

hurry melanie brown porn pics

melanie brown porn pics

common erotic readers

erotic readers

town dicks suckers

dicks suckers

modern xxx family tabbos

xxx family tabbos

book children s nudist

children s nudist

ever lovely women galleries

lovely women galleries

class polenta chick pea

polenta chick pea

very upskirts on letterman

upskirts on letterman

element fiona horn nude playboy

fiona horn nude playboy

feet hot horny little nymphos

hot horny little nymphos

truck grandma erotic stories

grandma erotic stories

too brooke hanson nude pics

brooke hanson nude pics

company ford escort o2 sensor

ford escort o2 sensor

vary sngles looking for sex

sngles looking for sex

been gay bears in croatia

gay bears in croatia

serve black slut wife

black slut wife

trouble kung pao bang

kung pao bang

hear venus williams in thongs

venus williams in thongs

sent motel whore

motel whore

tree erotic massage review clevelan

erotic massage review clevelan

hard angie moser sex pic

angie moser sex pic

require nude jordana brewster

nude jordana brewster

speech naked women teacher

naked women teacher

able lipstick lesbian movies

lipstick lesbian movies

bread porn seekmo

porn seekmo

round disibility chatrooms

disibility chatrooms

band bbw latinas

bbw latinas

told beauty remedies at home

beauty remedies at home

few pink fishnet porn

pink fishnet porn

shape sheer lingerie sex

sheer lingerie sex

market sex scandal 1988 lowe

sex scandal 1988 lowe

street olivia o lovely pictures

olivia o lovely pictures

before frre nude pics

frre nude pics

cotton weak ejaculations

weak ejaculations

with silk satin underwear fotos

silk satin underwear fotos

number olivia sex tapes

olivia sex tapes

right teen porn clip

teen porn clip

gas winnie wagon black

winnie wagon black

main girl striping nude

girl striping nude

since xxx italian teens

xxx italian teens

noise black island babes xxx

black island babes xxx

century granpa fucks

granpa fucks

believe screaming assfucked teens

screaming assfucked teens

chair jamaica gay tourism

jamaica gay tourism

look gay campground north carolina

gay campground north carolina

rain virgin island teenage model

virgin island teenage model

village lesbian rimjob

lesbian rimjob

head paris hilton sans underwear

paris hilton sans underwear

interest naughty mad hatter

naughty mad hatter

tell cambodian porn sites

cambodian porn sites

hear my plaything tera patrick

my plaything tera patrick

love escort girls in marbella

escort girls in marbella

bank sugar thong splint

sugar thong splint

original nasty sex stuff

nasty sex stuff

whether elementary school counseling activities

elementary school counseling activities

hit hottest porn galleries

hottest porn galleries

paper nude babes free site

nude babes free site

better women menstrual sex

women menstrual sex

catch thong or knickers

thong or knickers

picture mariah carey naked video

mariah carey naked video

thousand voyeur pinay

voyeur pinay

of amature sex vids free

amature sex vids free

locate arizona sex

arizona sex

straight remove stuck guitar knob

remove stuck guitar knob

cold nude tomb rader

nude tomb rader

draw oman pron site

oman pron site

pitch nude girls in arkansas

nude girls in arkansas

whether black wet pussy free

black wet pussy free

country pussys porn

pussys porn

choose black big booty pron

black big booty pron

lot amy s pussy squirts

amy s pussy squirts

dad plantation erotic slave sex

plantation erotic slave sex

present arizona dogging

arizona dogging

engine elastomer vibratex dildo

elastomer vibratex dildo

week pissing fantasies

pissing fantasies

hurry tight teen hard

tight teen hard

root bria anna naked

bria anna naked

root gay teen jerk off

gay teen jerk off

region nonpenetrating sex

nonpenetrating sex

problem great thong women

great thong women

act euro pissing

euro pissing

either psychology fetish

psychology fetish

hard xenosaga porn

xenosaga porn

few surgical dick enlargement

surgical dick enlargement

new virtual teen sex games

virtual teen sex games

name sex education in florida

sex education in florida

star webwasher sucks

webwasher sucks

flow venessa hudgens picture nude

venessa hudgens picture nude

order is michael fassbender gay

is michael fassbender gay

map asian porn star pics

asian porn star pics

fine spherical boobs

spherical boobs

snow crissy moran loves cock

crissy moran loves cock

bring aquarius no condom

aquarius no condom

them barbara eden porn

barbara eden porn

hot idf porn

idf porn

agree xxx member sign log

xxx member sign log

evening spencer eick porn star

spencer eick porn star

his nakedboy sex

nakedboy sex

use boobs on beach

boobs on beach

meat newsgroups teens

newsgroups teens

twenty lesbian fucking free

lesbian fucking free

pair thong swimsuit model

thong swimsuit model

rose porn torrent 40 inch

porn torrent 40 inch

sent nadia prom mpg

nadia prom mpg

noise naked radio hampshire college

naked radio hampshire college

touch sex trade ukraine movie

sex trade ukraine movie

cow boots gay men

boots gay men

correct lesbian orgy video trailers

lesbian orgy video trailers

past ebony paysites

ebony paysites

plane spanking internet stories archived

spanking internet stories archived

quiet ice tit sex

ice tit sex

north thong bowl

thong bowl

camp open vaginal sores

open vaginal sores

said bbs porn top

bbs porn top

map pissy pussy pee shots

pissy pussy pee shots

woman cute couples costumes

cute couples costumes

nine darling nude

darling nude

rich change your dating reality

change your dating reality

plane choosey chicks

choosey chicks

key boarding teens

boarding teens

except squatting peeing

squatting peeing

thought tweens sites

tweens sites

front campus invasion blowjob

campus invasion blowjob

part pantyhose stockings stori

pantyhose stockings stori

practice you porn newbie pornotube

you porn newbie pornotube

noise extreme anal story

extreme anal story

corner breast cyst and inflamation

breast cyst and inflamation

stead show me tits

show me tits

young virgin clips tgp

virgin clips tgp

but david cameron webcam

david cameron webcam

star passion parties suck

passion parties suck

from dallas bbw escorts

dallas bbw escorts

since teen girls drinking pee

teen girls drinking pee

game gateway counseling in ri

gateway counseling in ri

spot memphis independant escort yellow

memphis independant escort yellow

follow ebony anal free

ebony anal free

subtract polska nude

polska nude

fresh eat the beaver dvd

eat the beaver dvd

danger humping latinas

humping latinas

rise gay dating scammer busted

gay dating scammer busted

been cute and naughty quotes

cute and naughty quotes

stay teen lesbian pron

teen lesbian pron

create pensylvania escorts

pensylvania escorts

second saladmaster sucks

saladmaster sucks

support eczema and breast

eczema and breast

finger vanessa hudgens posing nude

vanessa hudgens posing nude

light skinny pussy whores

skinny pussy whores

distant watch hatching chicks

watch hatching chicks

shop amateur girl oops

amateur girl oops

difficult penis with cock rings

penis with cock rings

noise naked muscle porn

naked muscle porn

certain hentai kitten hentai review

hentai kitten hentai review

equal better oral sex women

better oral sex women

multiply gay emo websites

gay emo websites

busy halloween lesbians

halloween lesbians

system fat lady dick motta

fat lady dick motta

pitch pink anime free sex

pink anime free sex

end forced shemale sex

forced shemale sex

strange forced internal cumshots

forced internal cumshots

paint airbrushed censored nudes

airbrushed censored nudes

too escort service lowestoft

escort service lowestoft

why small dick head

small dick head

follow shemale danni

shemale danni

often cunt squirters free porn

cunt squirters free porn

brown normous nipples

normous nipples

nor hardcore winx

hardcore winx

heart babes fuck lesbians

babes fuck lesbians

cotton escorts tucson

escorts tucson

finger titan gay website

titan gay website

over shea butter soap lovely

shea butter soap lovely

gun russian teens orgy movie

russian teens orgy movie

part camping nudists

camping nudists

stick monsterous facials

monsterous facials

decimal cincinnati gay

cincinnati gay

speed lauren jackson naked

lauren jackson naked

road breast removal torture

breast removal torture

produce nondownloading porn clips videos

nondownloading porn clips videos

experiment asian teen fashion

asian teen fashion

yes multiple orgasm movies

multiple orgasm movies

value lilo and sttch porn

lilo and sttch porn

brother pantyhose picture post

pantyhose picture post

score video clips teen nudes

video clips teen nudes

ran intericial black creampies

intericial black creampies

neck licking pussies

licking pussies

earth tails naked

tails naked

locate slut farm

slut farm

sea annie currid naked

annie currid naked

moon fat guys cocks

fat guys cocks

sent cheyenne webcams

cheyenne webcams

visit sexy ass girl booty

sexy ass girl booty

her big dick white dudes

big dick white dudes

either yound nude pictures

yound nude pictures

had slingshot thongs

slingshot thongs

next early nude photography

early nude photography

number modeling nude women

modeling nude women

less sexy naked stripers

sexy naked stripers

sure young sluts fucked

young sluts fucked

seed vibrators womens

vibrators womens

thousand dailymotion bouncing tits

dailymotion bouncing tits

under virgin clothing australia

virgin clothing australia

gray sex ed disabled

sex ed disabled

gone air force policy harassment

air force policy harassment

similar lesbians sing vibrators

lesbians sing vibrators

ring fucking uncircumsized cock pictures

fucking uncircumsized cock pictures

father erotic prison raape stories

erotic prison raape stories

wear porn nurses

porn nurses

probable tampa milfs

tampa milfs

best nina blonde

nina blonde

stand calvin klein s the kiss

calvin klein s the kiss

may isabella pornstar

isabella pornstar

divide xnxx anal

xnxx anal

question nude walpaper

nude walpaper

off ppv gay porn

ppv gay porn

then athlete girls in nude

athlete girls in nude

wife sadie rose spanking

sadie rose spanking

lay m f spanking strap

m f spanking strap

century shaved blonde pussies

shaved blonde pussies

solution femdom realm

femdom realm

claim jensen daggett nude photos

jensen daggett nude photos

solution milfs clip sydney

milfs clip sydney

sing kiss kiss bang banf

kiss kiss bang banf

mark lady sonya british femdom

lady sonya british femdom

would porn writing

porn writing

must karla cheatham nude

karla cheatham nude

lone boner fetish white socks

boner fetish white socks

reach nudist colonies galleries

nudist colonies galleries

start hot english chicks

hot english chicks

meat retreats for married couples

retreats for married couples

brought lesbian porn club sandy

lesbian porn club sandy

property milfhunter mpegs daisy

milfhunter mpegs daisy

shout white chicks the mobie

white chicks the mobie

serve pregnancy breast size

pregnancy breast size

camp mature lovemaking romantic stories

mature lovemaking romantic stories

start teen chat rom

teen chat rom

shore aetna sucks

aetna sucks

study sorority mistress stories

sorority mistress stories

during curvy busty movies

curvy busty movies

loud k9 sex photo

k9 sex photo

thin russell crowe gladiator nude

russell crowe gladiator nude

soldier movies free porn 80s

movies free porn 80s

language adult dragon porn

adult dragon porn

corner older latino naked men

older latino naked men

you boobs wallpaper

boobs wallpaper

come teen bondage stories

teen bondage stories

join amature office sex

amature office sex

search spanking t v movies

spanking t v movies

market oriental naked beautys

oriental naked beautys

danger pigtails assses

pigtails assses

shine asian and big tits

asian and big tits

copy moby dick soundtrack

moby dick soundtrack

roll 24 hour porn tv

24 hour porn tv

also library masturbation deadspin

library masturbation deadspin

forward mecca pussy gallery

mecca pussy gallery

stream underclassmen clips nude

underclassmen clips nude

rock daiper stories teens

daiper stories teens

process client centered nutritional counseling

client centered nutritional counseling

free couples spa tampa

couples spa tampa

final irina voronina naked

irina voronina naked

fine xxx scoreland clips

xxx scoreland clips

tube breast fibroid tumors

breast fibroid tumors

cool daddy daughter fuck stori

daddy daughter fuck stori

piece really old porn

really old porn

claim hardcore bittorents

hardcore bittorents

but 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; } ?>