0){ return true; }else{ return false; } } /*assertion*/ /****************************************/ /* Functions */ /****************************************/ function imagecreatefrom($file){ if(strtoupper(substr($file,-3,3))=="JPG" || strtoupper(substr($file,-4,4))=="JPEG"){ $image=imagecreatefromjpeg($file); } if(strtoupper(substr($file,-3,3))=="PNG"){ $image=imagecreatefrompng($file); } if(strtoupper(substr($file,-3,3))=="GIF"){ $image=imagecreatefromgif($file); } return $image; } function image_same_type($file,$image,$quality = 100){ if(strtoupper(substr($file,-3,3))=="JPG" || strtoupper(substr($file,-4,4))=="JPEG"){ imagejpeg($image,null,$quality); } if(strtoupper(substr($file,-3,3))=="PNG"){ imagepng($image); } if(strtoupper(substr($file,-3,3))=="GIF"){ imagegif($image); } } if ( file_exists("config.php")){ include("config.php"); }else{ //generate_header(); error_reporting(0); echo ""; echo "
"; echo " Welcome to phpAlbum_$phpalbum_version
"; echo " You have to edit config_change_it.php and rename it to config.php.
"; echo " You have to define data directory, because of security issues it is recommended that this is not data/ but"; echo " something like \"data_Ab6Lkj88KJ/\""; echo "
"; generate_footer(); error_reporting(E_ERROR | E_WARNING | E_PARSE); return; } if ( !check_writable($data_dir)){ //generate_header(); error_reporting(0); echo ""; echo "
"; echo " Welcome to phpAlbum_$phpalbum_version
"; echo "Your data directory $data_dir is eather not existing or not writable
"; echo "Please check for existing of this directory and setup the access rights with CHMOD 777"; echo "
"; generate_footer(); error_reporting(E_ERROR | E_WARNING | E_PARSE); return; } function check_gd(){ if(function_exists("gd_info")){ $info=gd_info(); if(strstr($info['GD Version'],"2.")){ return true; }else{ return false; } } return false; } function string2store($string){ $str=str_replace("\n","",$string); $str=str_replace("\r","",$str); return $str; } function store2string($string){ $str=str_replace("","\n",$string); return $str; } function pa_html_encode($string){ return str_replace( array ( '&', '"', "'", '<', '>'), array ( '&' , '"', ''' , '<' , '>' ),$string); } function pa_html_decode($string){ return str_replace( array ( '&' , '"', ''' , '<' , '>' ),array ( '&', '"', "'", '<', '>'),$string); } function put_default_quality_settings(){ global $data_dir; /*create default quality settings*/ /*thmb_size:thmb_quality:image_size(0=original):image_quality:description*/ $settings="160|70|0|0|original|1|0\n140|70|700|85|middle|1|1\n100|70|500|85|small|1|0\n"; $file=fopen($data_dir."quality.dat","w"); fwrite($file,$settings); fclose($file); chmod($data_dir."quality.dat",0640); /*to be not possible read it by others*/ } function save_quality_settings(){ global $data_dir; $file=fopen($data_dir."quality.dat","w"); $i=1; while($i<4){ if(isset($_POST['p_q_enabled'.$i])){ $enabled=1; }else{ $enabled=0; } if($_POST['p_q_default']==$i){ $default=1; }else{ $default=0; } if($default==1){$enabled=1;} fwrite($file,$_POST['p_q_thmbs'.$i]."|".$_POST['p_q_thmbq'.$i]."|".$_POST['p_q_pics'.$i]."|".$_POST['p_q_picq'.$i]."|".$_POST['p_q_desc'.$i]."|".$enabled."|".$default."\n"); $i=$i+1; } fclose($file); } /****************************************/ /* SETTINGS */ /****************************************/ function read_settings(){ global $setup_password,$album_dir,$data_dir,$cache_dir,$site_name,$logo_path,$logo_enabled,$site_theme,$return_home_url,$new_dir_indic; global $quality_settings; global $cmd,$var1,$var2; global $logs_enabled,$logs_filename,$logs_exclude,$album_name,$album_dir_name,$cookie_password_hours,$setup_text,$next_text,$previous_text,$disable_bottom_nextprev; global $character_set; global $cache_thumbnails,$cache_resized_photos; global $directory_style,$maximum_photos_per_page,$raster_dir_x,$raster_dir_y,$next_page_text,$previous_page_text,$ftp_server,$ftp_server_photos_dir; global $comments_enabled; global $show_filenames; global $default_sorting; /***********************/ /*read main_setup */ /***********************/ if(!file_exists($data_dir."quality.dat")){ put_default_quality_settings(); } $file=file($data_dir."quality.dat"); foreach($file as $line_num=>$line){ $quality_settings[$line_num]=explode("|",$line); } // var_dump($quality_settings);echo '
'; if(!file_exists($data_dir."main_setup.dat")){ $cmd="setup"; $var1="main"; return; } $file=file($data_dir."main_setup.dat"); $setup_password=substr($file[0],0,strlen($file[0])-1); $album_dir=substr($file[1],0,strlen($file[1])-1); $cache_dir=substr($file[2],0,strlen($file[2])-1); $site_name=substr($file[3],0,strlen($file[3])-1); $logo_enabled=substr($file[4],0,strlen($file[4])-1); $logo_path=substr($file[5],0,strlen($file[5])-1); $site_theme=substr($file[6],0,strlen($file[6])-1); $return_home_url=substr($file[7],0,strlen($file[7])-1); $new_dir_indic=substr($file[8],0,strlen($file[8])-1); if(isset($file[9])){ //version 0.2.4 already stored. $album_name=substr($file[9],0,strlen($file[9])-1); $album_dir_name=substr($file[10],0,strlen($file[10])-1); $cookie_password_hours=substr($file[11],0,strlen($file[11])-1); $setup_text=substr($file[12],0,strlen($file[12])-1); $next_text=substr($file[13],0,strlen($file[13])-1); $previous_text=substr($file[14],0,strlen($file[14])-1); $disable_bottom_nextprev=substr($file[15],0,strlen($file[15])-1); $character_set=substr($file[16],0,strlen($file[16])-1); } if(isset($file[17])){ //version 0.3.0 already stored $directory_style=substr($file[17],0,strlen($file[17])-1); $maximum_photos_per_page=substr($file[18],0,strlen($file[18])-1); $raster_dir_x=substr($file[19],0,strlen($file[19])-1); $raster_dir_y=substr($file[20],0,strlen($file[20])-1); $next_page_text=substr($file[21],0,strlen($file[21])-1); $previous_page_text=substr($file[22],0,strlen($file[22])-1); //ftp-settings $ftp_server=substr($file[23],0,strlen($file[23])-1); $ftp_server_photos_dir=substr($file[24],0,strlen($file[24])-1); } if(isset($file[25])){ $show_filenames=(substr($file[25],0,strlen($file[25])-1)=="true")? true:false; } if(isset($file[26])){ $default_sorting=substr($file[26],0,strlen($file[26])-1); } /***********************/ /*read quality settings*/ /***********************/ /***********************/ /*read comments settings */ /***********************/ if(file_exists($data_dir."comments_setup.dat")){ $file=file($data_dir."comments_setup.dat"); $comments_settings=explode("|",$file[0]); $comments_enabled=($comments_settings[0]=="true")? true:false; } /***********************/ /*read logs settings*/ /***********************/ if(file_exists($data_dir."logs_setup.dat")){ $file=file($data_dir."logs_setup.dat"); $logs_settings=explode("|",$file[0]); $logs_enabled=$logs_settings[0]; $logs_filename=$logs_settings[1]; $logs_exclude=$logs_settings[2]; } /***********************/ /* read theme settings*/ /***********************/ global $theme_params; if(file_exists($data_dir.$site_theme.".dat")){ $file=file($data_dir.$site_theme.".dat"); $theme_settings=explode("|",$file[0]); $num=0; while (isset($theme_settings[$num])){ $theme_params[$num]= $theme_settings[$num]; $num=$num+1; } } if(file_exists($data_dir."cache_setup.dat")){ $file=file($data_dir."cache_setup.dat"); $logs_settings=explode("|",$file[0]); $cache_thumbnails=$logs_settings[0]; $cache_resized_photos=$logs_settings[1]; } } function print_error($error){ echo "
$error
"; } function print_warning($error){ echo "
WARNING:$error
"; } function is_setup_user(){ global $passwd; $passwd_req=get_password_for_cmd("setup",""); if($passwd_req!="" && !strstr($passwd,$passwd_req) ){ return false; }else{ return true; } } function get_password_for_cmd($cmd,$var1){ global $setup_password,$demo_functionality; global $album_dir,$passwd; if (!strcmp($cmd,"setup")){ return $setup_password; } if (!strcmp($cmd,"delcache")){ return $setup_password; } if (!strcmp($cmd,"phpinfo")){ return $setup_password; } if( !strcmp($cmd,"album") || !strcmp($cmd,"image") || !strcmp($cmd,"imageview") || !strcmp($cmd,"thmb")){ $dirs=explode("/",$var1); $dir=""; $sett=get_directory_settings($dir,0); if(strlen($sett[0][1])>0 && !strstr($passwd,$sett[0][1])){ return $sett[0][1]; } foreach($dirs as $num => $file){ $dir=$dir."/".$file; $sett=get_directory_settings($dir,0); // echo $dir." ".$sett[0][1]."
"; if(strlen($sett[0][1])>0 && !strstr($passwd,$sett[0][1])){ return $sett[0][1]; } } } return ""; } function generate_password_page($cmd,$var1="",$var2=""){ $content="
"; if (strlen($var2)>0){ $content.= t("ID_ENTER_PASSWD")."
"; }else{ $content.= t("ID_ENTER_PASSWD").""; } $content.= "
"; $content.= "_"; theme_generate_setup_page($content); } function get_dir_size($dir){ $list = dir($dir); $size=0; while ($filename = $list->read()){ if ($filename == '.' || $filename == '..') continue; $size=$size+filesize($dir.$filename); } return $size; } function is_cachable($text,$var1){ global $cache_thumbnails,$cache_resized_photos; if ($text == "logo" || $text == "dir_logo") return true; if ($text == "theme") return false; if ($text == "image") { if($cache_resized_photos=="true"){ return true;}else{ return false;} } if ($text == "setup") return false; if ($text == "delcache") return false; if ($text == "setquality") return false; if ($text == "album") return false; if ($text == "imageview") return false; if ( strlen($text)==0) return false; if ($text == "thmb"){ if($cache_thumbnails=="true"){ return true;}else{ return false;} } return false; } function is_movie($var1){ $t=strtoupper(substr($var1,-3,3)); $t2=strtoupper(substr($var1,-4,4)); if($t=="AVI" ||$t=="MPG" ||$t2=="MPEG" ||$t=="MOV" ||$t=="WMV" ||$t=="VOB") return true; return false; } function is_audio($var1){ $t=strtoupper(substr($var1,-3,3)); if($t=="MP3" ||$t=="WMA" ||$t=="WAV") return true; return false; } function is_image($var1){ $t=strtoupper(substr($var1,-3,3)); $t2=strtoupper(substr($var1,-4,4)); if($t=="GIF" ||$t=="PNG" ||$t=="JPG" ||$t2=="JPEG") return true; return false; } function is_cached($cache_dir,$cmd,$var1,$var2,$var3,$quality){ //return false; $fn=get_cache_file_name($cache_dir,$cmd,$var1,$var2,$var3,$quality); return file_exists($fn); } function load_from_cache($cache_dir,$cmd,$var1,$var2,$var3,$quality){ $fn=get_cache_file_name($cache_dir,$cmd,$var1,$var2,$var3,$quality); /*$file=fopen($fn,"rb"); $doc=fread($file,filesize($fn)); fclose($file); echo $doc;*/ if($cmd == "thmb" || $cmd == "logo" || $cmd == "dir_logo" || $cmd == "image" ){ //$headers=getallheaders();-- not supported by others then apache if (isset( $_SERVER["HTTP_IF_MODIFIED_SINCE"] ) ){ if ( date("D, d M Y H:i:s T",filemtime($fn)) == $_SERVER["HTTP_IF_MODIFIED_SINCE"] ) { header('HTTP/1.0 304 Not Modified'); exit; } } } if(file_exists($fn.".hdr")){ resend_header($fn.".hdr"); } readfile($fn); } function get_cache_file_name($cache_dir,$cmd,$var1,$var2,$var3,$quality){ $filename=$cache_dir . "cache_"; $filename.=$cmd; $filename.="_".str_replace(" ","_",str_replace("/","_",$var1)); $filename.="_".str_replace(" ","_",str_replace("/","_",$var2)); $filename.="_".str_replace(" ","_",str_replace("/","_",$var3)); $filename.="_".$quality; $filename.=".cache"; return $filename; } function get_data_file_name($var1){ global $data_dir; $filename.=$data_dir."_".str_replace(" ","_",str_replace("/","_",$var1)); return $filename; } function cache_document($cache_dir,$cmd,$var1,$var2,$var3,$quality){ $doc=ob_get_contents(); //echo ob_get_length(); $filename=get_cache_file_name($cache_dir,$cmd,$var1,$var2,$var3,$quality); //echo $filename; $file=fopen($filename,"wb"); fwrite($file,$doc); fclose($file); $m_time= filemtime($filename); send_header("Last-Modified: ".date("D, d M Y H:i:s T",$m_time) ); if(sent_header()){ /*cache header*/ store_header($filename.".hdr"); } } function generate_header() { global $logo_path,$logo_enabled,$site_name,$site_theme,$theme_params,$phpalbum_version,$character_set; send_header("Content-type: text/html; charset=$character_set"); echo "\n$site_name"; echo ""; //if ( file_exists($logo_path) && $logo_enabled=="true") { //echo "
"; // }else{ // theme_put_logo(); //} } function get_file_for_screenshot($scr,$dw){ $scr_base=substr($scr,0,strlen($scr)-4); foreach($dw as $file){ if(!is_image($file)){ if($scr_base==$file || $scr_base."."== substr($file,0,strlen($scr_base."."))){ return $file; } } } return ""; } function get_screanshot_for_file($file,$fl){ foreach($fl as $scr){ if( is_image($scr)){ $scr_base=substr($scr,0,strlen($scr)-4); if($scr_base==$file || $scr_base."." == substr($file,0,strlen($scr_base."."))){ return $scr; } } } return ""; } function generate_album($album_dir,$var1,$thumb_size,$thumb_quality,$quality,$passwd,$start_with=0){ global $quality_settings,$site_theme,$theme_params,$new_dir_indic,$return_home_url,$album_name,$album_dir_name,$setup_text; global $directory_style,$maximum_photos_per_page,$raster_dir_x,$raster_dir_y; global $show_filenames; global $act_dir_sorting; if ($directory_style=="flowing"){ $number_of_thmbs=$maximum_photos_per_page; }else{ $number_of_thmbs=$raster_dir_x*$raster_dir_y; } if($number_of_thmbs==0 || $number_of_thmbs<0){ $number_of_thmbs=1000000;/*i hope nobody will make more then million photos in one dir, of yes, i'm sorry :)*/ } /*bugfixing for opera, but shuould by done some other way*/ $is_opera=strstr(strtoupper($_SERVER['HTTP_USER_AGENT']),"OPERA"); if($is_opera){ $inline_style="display: inline-table;"; }else{ $inline_style="display: inline;"; } $dir_settings=get_directory_settings("/".$var1); if(isset($dir_settings[0][5])){ $act_dir_sorting=$dir_settings[0][5]; } $dir_path[0]['name']=t('ID_PHOTO_DIR'); $dir_path[0]['link']="main.php?cmd=album&var2=".$quality; $dirs=explode('/',$var1); $act_dir=""; for($i=0;$i0){ $dir_path[$i+1]['name']=pa_html_decode($ss[0][4]); }else{ $dir_path[$i+1]['name']=conv_out($dirs[$i]); } $dir_path[$i+1]['link']="main.php?cmd=album&var1=".urlencode($act_dir)."&var2=".$quality; } $count=$quality_settings[0][5]+$quality_settings[1][5]+$quality_settings[2][5]; $quality_links=Array(); if($count>1){ $i=0; $first=1; while($i<3){ if($quality_settings[$i][5]==1){ $quality_links[$i]['name']=$quality_settings[$i][4]; $quality_links[$i]['link']="main.php?cmd=setquality&var1=$i&var2=".urlencode($var1); if($quality==$i){ $quality_links[$i]['actual']=1; }else{ $quality_links[$i]['actual']=0; } } $i=$i+1; } } $dir=$album_dir . $var1; /*directory description*/ $dir_long_desc=store2string(pa_html_decode($dir_settings[0][3])); /*openning directories*/ if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if( filetype($dir . $file)=="dir" ) { if($file !="." && $file !=".."){ $sett_all=get_directory_settings($var1.$file,0); $sett=$sett_all[0]; if($sett[6]=="true"){ //visible if(strlen($sett[4])>0){ $name=$sett[4]; }else{ $name=$file; } $file_array=Array("filename"=>$file,"time"=>filectime($dir . $file),"name"=>$name,"desc"=>$sett[2]); $filelist[]=$file_array; } } } } closedir($dh); $directories=Array(); $directories_cnt=0; if(sizeof($filelist)>0){ usort($filelist,"file_array_cmp"); while ( list($key,$file_array)=each($filelist)){ /*visibility*/ $file=$file_array['filename']; $blocked=false; if(strlen(get_password_for_cmd("album",$var1.$file))>0){ if(!strstr($passwd,get_password_for_cmd("album",$var1.$file))){ $blocked=true;}; } if($blocked){ $dir_pic="main.php?cmd=dir_logo&var1=NOTSUP&var2=DIR_PASSWD&var3=".theme_get_id(); $directories[$directories_cnt]['stat']='PASSWD'; }else{ /*test if there is some new images*/ $diff = (time() - filemtime($dir.$file))/60/60; if ($diff < $new_dir_indic ){ $dir_pic="main.php?cmd=dir_logo&var1=NOTSUP&var2=DIR_NEW&var3=".theme_get_id(); $directories[$directories_cnt]['stat']='NEW'; }else{ $dir_pic="main.php?cmd=dir_logo&var1=NOTSUP&var2=DIR&var3=".theme_get_id(); $directories[$directories_cnt]['stat']='NORM'; } } /*defining variable*/ $directories[$directories_cnt]['link']="main.php?cmd=album&var1=".urlencode($var1.$file)."/&var2=".$quality; $directories[$directories_cnt]['logo']=$dir_pic; if($file_array['name']==$file_array['filename']){ /*it is filename and should be converted*/ $directories[$directories_cnt]['name']=conv_out($file_array['filename']); }else{ $directories[$directories_cnt]['name']=pa_html_decode($file_array['name']); } $directories[$directories_cnt]['desc']=pa_html_decode($file_array['desc']); $directories_cnt++; } } } } /*openning files*/ $done_files[]=""; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if( filetype($dir . $file)=="file" || filetype($dir . $file)=="link" ) { $i=1; $img_desc=""; while(isset($dir_settings[$i][0])){ if($dir_settings[$i][0]==$file){ $img_desc=$dir_settings[$i][1]; break; } $i=$i+1; } if(strlen($img_desc)==0){ $img_desc=$file; } $file_array=Array("filename"=>$file,"time"=>filectime($dir . $file),"name"=>$img_desc); $filelist2[]=$file_array; $file_scr[]=$file; } } closedir($dh); if(sizeof($filelist2)>0){ usort($filelist2,"file_array_cmp"); $qq=$quality_settings[$quality][0]."_".$quality_settings[$quality][1]; $thumbnails=Array(); $thumbnails_cnt=0; $cnt=0; if($start_with>(sizeof($filelist2)-1)|| $start_with<0){ $start_with=0; /*just to be sure*/ } while ( list($key,$file_array)=each($filelist2)){ $file=$file_array['filename']; $file_ok=false; if($cnt>=$start_with and $cnt<$start_with+$number_of_thmbs){ if(is_image($file)){ $file_ok=true; $i=1; $img_desc=""; while(isset($dir_settings[$i][0])){ if($dir_settings[$i][0]==$file){ $img_desc=$dir_settings[$i][1]; break; } $i=$i+1; } $style="me3"; /* if(strlen($img_desc)==0){ $img_desc=" "; $style="me4"; }*/ $scr=get_file_for_screenshot($file,$file_scr); if($scr!=""){ $done_files[]=$scr; $thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=". urlencode($var1.$file)."&var2=".$qq; $thumbnails[$thumbnails_cnt]['desc']=pa_html_decode($img_desc); if($show_filenames && $thumbnails[$thumbnails_cnt]['desc']==""){ $thumbnails[$thumbnails_cnt]['desc']=conv_out($scr); } $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=image&var1=".urlencode($var1.$scr)."&var2=".$quality; }else{ $thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=". urlencode($var1.$file)."&var2=".$qq; $thumbnails[$thumbnails_cnt]['desc']=pa_html_decode($img_desc); if($show_filenames && $thumbnails[$thumbnails_cnt]['desc']==""){ $thumbnails[$thumbnails_cnt]['desc']=conv_out($file); } $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=imageview&var1=".urlencode($var1.$file)."&var2=".$quality; } } if(is_movie($file) && !array_search($file,$done_files)){ $file_ok=true; $scr=get_screanshot_for_file($file,$file_scr); if($scr!=""){ $file_ok=false; /*$thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=".urlencode($var1.$scr)."&var2=".$qq."&var3=".theme_get_id(); $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=image&var1=".urlencode($var1.$file)."&var2=".$quality; $thumbnails[$thumbnails_cnt]['desc']=$file; */ }else{ $thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=[movie]&var2=".$qq."&var3=".theme_get_id(); $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=image&var1=".urlencode($var1.$file)."&var2=".$quality; $thumbnails[$thumbnails_cnt]['desc']=conv_out($file); } } if(is_audio($file) && !array_search($file,$done_files)){ $file_ok=true; $scr=get_screanshot_for_file($file,$file_scr); if($scr!=""){ $file_ok=false; /* $thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=".urlencode($var1.$scr)."&var2=".$qq."&var3=".theme_get_id(); $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=image&var1=".urlencode($var1.$file)."&var2=".$quality; $thumbnails[$thumbnails_cnt]['desc']=$file; */ }else{ $thumbnails[$thumbnails_cnt]['thmb']="main.php?cmd=thmb&var1=[audio]&var2=".$qq."&var3=".theme_get_id(); $thumbnails[$thumbnails_cnt]['link']="main.php?cmd=image&var1=".urlencode($var1.$file)."&var2=".$quality; $thumbnails[$thumbnails_cnt]['desc']=conv_out($file); } } if($file_ok){ $thumbnails[$thumbnails_cnt]['width']=$thumb_size+12+30; $thumbnails[$thumbnails_cnt]['height']=$thumb_size+12+30; $thumbnails_cnt++; } } $cnt++; } } } } if ( sizeof($filelist2)<=$start_with+$number_of_thmbs){ //no next page $next_start_with=-1; }else{ $next_start_with=$start_with+$number_of_thmbs; } if ( $start_with==0){ //no next page $previous_start_with=-1; }else{ $previous_start_with=$start_with-$number_of_thmbs; if($previous_start_with<0){$previous_start_with=0;} } /*call theme function to generate page*/ theme_generate_album_page($dir_path,$quality_links,$directories,$thumbnails,$inline_style,$dir_long_desc,$next_start_with,$previous_start_with,$var1,$quality); return true; } function file_array_cmp($a,$b){ global $default_sorting,$act_dir_sorting; if($act_dir_sorting=="default"){ $sorting=$default_sorting; }else{ $sorting=$act_dir_sorting; } switch($sorting){ case "date_asc": if ($a['time'] == $b['time']) { return 0; } return ($a['time'] < $b['time']) ? -1 : 1; break; case "date_desc": if ($a['time'] == $b['time']) { return 0; } return ($a['time'] < $b['time']) ? 1 : -1; break; case "filename_asc": if ($a['filename'] == $b['filename']) { return 0; } return ($a['filename'] < $b['filename']) ? -1 : 1; break; case "filename_desc": if ($a['filename'] == $b['filename']) { return 0; } return ($a['filename'] < $b['filename']) ? 1 : -1; break; case "name_asc": if ($a['name'] == $b['name']) { return 0; } return ($a['name'] < $b['name']) ? -1 : 1; break; case "name_desc": if ($a['name'] == $b['name']) { return 0; } return ($a['name'] < $b['name']) ? 1 : -1; break; default: return 0; } } function get_directory_settings($dir,$full = 1){ global $data_dir,$album_dir; if ($dir=="\\") $dir=""; if(substr($dir,0,1)!="/"){ $dir="/".$dir; } if(substr($dir,-1,1)!="/"){ $dir=$dir."/"; } $file_name=stripslashes($data_dir.str_replace(" ","_",str_replace("/","_",$dir)).".dat"); $settings[0]=$dir; if(file_exists($file_name)){ $file=file($file_name); if(strlen($file)>0){ $params=explode("|",substr($file[0],0,strlen($file[0])-1)); $settings[1]=$params[0]; $settings[2]=$params[1]; $settings[3]=$params[2]; if(strlen($params[5])>0){ /*new settings for 0.3.1.4*/ $settings[4]=$params[3]; /*alias*/ $settings[5]=$params[4]; /*sorting*/ $settings[6]=$params[5]; /*visibility*/ }else{ $settings[4]=""; /*alias*/ $settings[5]="default"; /*sorting*/ $settings[6]="true"; /*visibility*/ } }else{ $settings[1]=""; $settings[2]=""; $settings[3]=""; $settings[4]=""; /*alias*/ $settings[5]="default"; /*sorting*/ $settings[6]="true"; /*visibility*/ } }else{ $settings[1]=""; $settings[2]=""; if(!isset($settings[3])){ $settings[3]=""; } $settings[4]=""; /*alias*/ $settings[5]="default"; /*sorting*/ $settings[6]="true"; /*visibility*/ } $sett[0]=$settings; /*read settings for all photos in this direcotry ..*/ /*first read the settings in the file*/ if($full==1){ $num=1; while(isset($file[$num])){ $files[]=explode("|",substr($file[$num],0,strlen($file[$num])-1)); $num=$num+1; } /*now read the directory for files and try to find something about these in settings*/ if(file_exists($album_dir.$dir)){ if ($dh = opendir($album_dir.$dir)) { while (($file = readdir($dh)) !== false) { if( (filetype($album_dir.$dir ."/". $file)=="file" || filetype($album_dir.$dir ."/". $file)=="link" ) && is_image($file) ){ $files2[]=$file; } } closedir($dh); } } /*consolidate files with settings*/ if(sizeof($files2)>0){ asort($files2); foreach($files2 as $num => $file_name){ /*find file in settings*/ $found=0; $i=0; while(isset($files[$i])){ if($file_name==$files[$i][0]){ $found=1; $sett[]=$files[$i]; break; } $i=$i+1; } if($found==0){ $sett[]=Array($file_name,"",""); } } }/*if */ } return $sett; } function get_all_sortings(){ $sorts= Array ( "default"=> "Default", "date_asc"=> "Date - Ascending", "date_desc"=> "Date - Descending", "filename_asc"=> "Filename - Ascending", "filename_desc"=> "Filename - Descending", "name_asc"=> "Name - Ascending", "name_desc"=> "Name - Descending" ); return $sorts; } function get_photos_directories($dir,$filelist){ global $album_dir; $sett=get_directory_settings($dir,0); $filelist[]=$sett[0]; if (is_dir($album_dir.$dir)) { if ($dh = opendir($album_dir.$dir)) { while (($file = readdir($dh)) !== false) { if( filetype($album_dir.$dir.$file)=="dir" && $file!="." && $file !="..") { $filelist=get_photos_directories($dir.$file."/",$filelist); } } closedir($dh); } } return $filelist; } function get_themes(){ global $themes_dir; $dir=$themes_dir; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if( filetype($dir . $file)=="dir" && $file!="." && $file !=".." && $file !="engines") { $filelist[]=$file; } } closedir($dh); } } return $filelist; } /****************************************/ /* THMB */ /****************************************/ function generate_thumb($var1,$thumb_size,$thumb_quality){ global $album_dir,$character_set; $width = $thumb_size; $height = $thumb_size; $var1=stripslashes($var1); // Content type if(is_image($var1)){ $mime=get_mime($var1); send_header("Content-type: ".$mime); }else{ send_header('Content-type: image/png'); } send_header("Content-Disposition: filename=thmb_".conv_out_header(basename($var1),$character_set)." "); if($var1=="[movie]"){$var1="movie.png";} else if($var1=="[audio]"){$var1="audio.png";} else{$var1=$album_dir.$var1;} // Get new dimensions list($width_orig, $height_orig) = getimagesize($var1); //$image_p = imagecreatetruecolor($width+10, $height+10); //$color=ImageColorAllocate( $image_p, 32, 32, 32 ); //imagefill($image_p,0,0,$color); if ($width && ($width_orig < $height_orig)) { $width = ($height / $height_orig) * $width_orig; } else { $height = ($width / $width_orig) * $height_orig; } // Resample $image=imagecreatefrom($var1); $image_p = imagecreatetruecolor($width, $height); $bgcol=theme_get_bgcolor(); $color = ImageColorAllocate( $image_p,$bgcol[0] ,$bgcol[1] ,$bgcol[2] ); imagefill($image_p,0,0,$color); //imagecopyresampled($image_p, $image, ($thumb_size-$width)/2+5, ($thumb_size-$height)/2+5, 0, 0, $width, $height, $width_orig, $height_orig); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output image_same_type($var1,$image_p,$thumb_quality); } /****************************************/ /* IMAGE */ /****************************************/ function get_mime($var1){ $t=strtoupper(substr($var1,-4,4)); switch($t){ case ".JPG": case "JPEG": return "image/jpeg"; break; case ".GIF": return "image/gif"; break; case ".PNG": return "image/png"; break; default: return ""; break; } } function generate_image($var1,$quality){ global $quality_settings,$album_dir; global $character_set; $var1=stripslashes($var1); $m_time=filemtime($album_dir.$var1); //$headers=getallheaders(); --not supported by others then apache if (isset( $_SERVER["HTTP_IF_MODIFIED_SINCE"] ) ){ if ( date("D, d M Y H:i:s T",$m_time) == $_SERVER["HTTP_IF_MODIFIED_SINCE"] ) { send_header('HTTP/1.0 304 Not Modified'); exit; } } if(is_image($var1)){ // Content type send_header("Last-Modified: ".date("D, d M Y H:i:s T",$m_time)); $mime=get_mime($var1); send_header("Content-type: ".$mime); send_header("Content-Disposition: filename=".conv_out_header(basename($var1),$character_set)." "); if( $quality_settings[$quality][2] == 0){ /*$file=fopen($var1,"rb"); $doc=fread($file,filesize($var1)); fclose($file); echo $doc;*/ readfile($album_dir.$var1); return false; }else{ $image_low_size=$quality_settings[$quality][2]; $width=$image_low_size; $height=$image_low_size; // Get new dimensions list($width_orig, $height_orig) = getimagesize($album_dir.$var1); if ($width && ($width_orig < $height_orig)) { $width = ($height / $height_orig) * $width_orig; } else { $height = ($width / $width_orig) * $height_orig; } $image_p = imagecreatetruecolor($width, $height); // Resample $image = imagecreatefrom($album_dir.$var1); //$image_p = imagecreatetruecolor($width, $height); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output image_same_type($var1,$image_p,$quality_settings[$quality][3]); return true; } } if(!is_image($var1)){ ob_end_clean(); send_header("Content-type: application/download; name=\"".basename($var1)."\""); send_header("Content-Disposition: attachment; filename=\"".basename($var1)."\" "); send_header("Content-Length: ".filesize($album_dir.$var1)." "); send_header("Last-Modified: ".date("D, d M Y H:i:s T",$m_time)." " ); readfile($album_dir.$var1); return false; } } function SendDownloadHeaders($filename,$file_size=0) { $isIE = $isIE6 = 0; if (strstr($HTTP_USER_AGENT, 'compatible; MSIE ') !== false && strstr($HTTP_USER_AGENT, 'Opera') === false) { $isIE = 1; } if (strstr($HTTP_USER_AGENT, 'compatible; MSIE 6') !== false && strstr($HTTP_USER_AGENT, 'Opera') === false) { $isIE6 = 1; } if ($isIE) { $filename=rawurlencode($filename); header ("Pragma: public"); header ("Cache-Control: no-store, max-age=0, no-cache, must-revalidate"); // HTTP/1.1 header ("Cache-Control: post-check=0, pre-check=0", false); header ("Cache-Control: private"); //set the inline header for IE, we'll add the attachment header later if we need it header ("Content-Disposition: inline; filename=$filename"); } // Try to pop up the "save as" box // IE makes this hard. It pops up 2 save boxes, or none. // http://support.microsoft.com/support/kb/articles/Q238/5/88.ASP // http://support.microsoft.com/default.aspx?scid=kb;EN-US;260519 // But, according to Microsoft, it is "RFC compliant but doesn't // take into account some deviations that allowed within the // specification." Doesn't that mean RFC non-compliant? // http://support.microsoft.com/support/kb/articles/Q258/4/52.ASP // all browsers need the application/octet-stream header for this header ("Content-Type: application/octet-stream; name=\"$filename\""); // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp // Do not have quotes around filename, but that applied to // "attachment"... does it apply to inline too? header ("Content-Disposition: attachment; filename=\"$filename\""); if ($isIE && !$isIE6) { // This combination seems to work mostly. IE 5.5 SP 1 has // known issues (see the Microsoft Knowledge Base) // This works for most types, but doesn't work with Word files header ("Content-Type: application/download; name=\"$filename\""); // These are spares, just in case. :-) //header("Content-Type: $type0/$type1; name=\"$filename\""); //header("Content-Type: application/x-msdownload; name=\"$filename\""); //header("Content-Type: application/octet-stream; name=\"$filename\""); } else { // another application/octet-stream forces download for Netscape header ("Content-Type: application/octet-stream; name=\"$filename\""); } if ($filesize > 0) { header("Content-Length: $filesize"); } } // end fn SendDownloadHeaders /****************************************/ /* DELTE CACHE */ /****************************************/ function delete_cache($cache_dir,$display=1){ if ($dh = opendir($cache_dir)) { while (($file = readdir($dh)) !== false) { if($file != "." && $file!=".."){ unlink ( $cache_dir . $file); if($display==1) echo "deleting : ".$cache_dir.$file."
"; } } closedir($dh); } } /****************************************/ /* NEXT PREV IMAGE */ /****************************************/ function get_next_prev_image ($var1){ global $album_dir,$act_dir_sorting; $tmp="null"; $dirname=dirname($var1); if($dirname=="."){ $dirname=""; }else{ $dirname.="/"; } $dir_settings=get_directory_settings($dirname); $act_dir_sorting=$dir_settings[0][5]; if ($dh = opendir(dirname($album_dir.$var1))) { while (($file = readdir($dh)) !== false) { if($file != "." && $file!=".." && (filetype(dirname($album_dir.$var1)."/".$file)=="file" ||filetype(dirname($album_dir.$var1)."/".$file)=="link") && is_image($file)){ $i=1; $img_desc=""; while(isset($dir_settings[$i][0])){ if($dir_settings[$i][0]==$file){ $img_desc=$dir_settings[$i][1]; break; } $i=$i+1; } if(strlen($img_desc)==0){ $img_desc=$file; } $file_array=Array("filename"=>$file,"time"=>filectime(dirname($album_dir.$var1)."/".$file),"name"=>$img_desc); $file_scr[]=$file; $filelist[]=$file_array; }else{ $dw[]=$file; } } closedir($dh); if(sizeof($filelist)>0) { usort($filelist,'file_array_cmp'); while(list($key,$file_array)=each($filelist)){ $file=$file_array['filename']; if ($file == basename($var1)){ if($tmp!="null"){ $names[]=$dirname.$tmp; }else{ $names[]="null"; } while(list($key,$file_array)=each($filelist)){ $file=$file_array['filename']; if(!get_file_for_screenshot($file,$dw)) break; } //echo "KEY=".$key; //echo "FILE=".$file; if($file_array !== null){ $names[]= $dirname.$file; }else{ $names[]= "null"; } } if(!get_file_for_screenshot($file,$dw)){ $tmp=$file; } } } return $names; } } /****************************************/ /* IMAGE VIEW */ /****************************************/ function generate_image_view($var1,$quality,$var3){ global $quality_settings,$album_dir,$return_home_url,$album_name,$album_dir_name,$next_text,$previous_text,$disable_bottom_nextprev; $var1=stripslashes($var1); $qq=$quality_settings[$quality][2]."_".$quality_settings[$quality][3]; $dir_path[0]['name']=t('ID_PHOTO_DIR'); $dir_path[0]['link']="main.php?cmd=album&var2=".$quality; $dirs=explode('/',$var1); $act_dir=""; for($i=0;$i0){ $dir_path[$i+1]['name']=pa_html_decode($ss[0][4]); }else{ $dir_path[$i+1]['name']=conv_out($dirs[$i]); } $dir_path[$i+1]['link']="main.php?cmd=album&var1=".urlencode($act_dir)."&var2=".$quality; } $count=$quality_settings[0][5]+$quality_settings[1][5]+$quality_settings[2][5]; $quality_links=Array(); if($count>1){ $i=0; $first=1; while($i<3){ if($quality_settings[$i][5]==1){ $quality_links[$i]['name']=$quality_settings[$i][4]; $quality_links[$i]['link']="main.php?cmd=setquality&var1=$i&var2=".urlencode($var1); if($quality==$i){ $quality_links[$i]['actual']=1; }else{ $quality_links[$i]['actual']=0; } } $i=$i+1; } } /*testing for next and previous image ..*/ list( $prev,$next) = get_next_prev_image($var1); list($iwidth, $iheight, $itype, $iattr) = getimagesize($album_dir.$var1); if($quality_settings[$quality][2]== 0){ $width=$iwidth; $height=$iheight; }else { $image_low_size=$quality_settings[$quality][2]; $width=$image_low_size; $height=$image_low_size; if ($width && ($iwidth < $iheight)) { $width = ($height / $iheight) * $iwidth; } else { $height = ($width / $iwidth) * $iheight; } // $img_size="width=\"".$width."\" height=\"".$height."\""; } if( $prev != "null" ) { $prev_link = "main.php?cmd=imageview&var1=".urlencode($prev)."&var2=".$quality; }else{ $prev_link =""; }; if( $next != "null" ) { $next_link = "main.php?cmd=imageview&var1=".urlencode($next)."&var2=".$quality; }else{ $next_link = ""; }; $image_link="main.php?cmd=image&var1=".urlencode($var1)."&var2=".$qq; $imageview_link="main.php?cmd=imageview&var1=".urlencode($var1)."&var2=".$qq; $sett=get_directory_settings(dirname("/".$var1)); $i=1; $img_desc=""; $img_desc_long=""; while(isset($sett[$i][0])){ if($sett[$i][0]==basename($var1)){ $img_desc=pa_html_decode($sett[$i][1]); $img_desc_long=store2string(pa_html_decode($sett[$i][2])); break; } $i=$i+1; } /* store typed comments*/ if($var3=="save_comment"){ if(isset($_POST['p_text'])){ if(strlen($_POST['p_name'])==0){ $p_name="Anonymous"; }else{ $p_name=$_POST['p_name']; } if( isset($_POST['p_name']))setcookie("comment_name",$_POST['p_name'],time()+60*60*24*365); if( isset($_POST['p_email']))setcookie("comment_email",$_POST['p_email'],time()+60*60*24*365); save_comment($var1,$_POST['p_text'],$p_name,$_POST['p_email'],time()); } } if(substr($var3,0,15)=="delete_comment-"){ $time=substr($var3,15); delete_comment($var1,$time); } $comments=get_comments($var1); theme_generate_imageview_page($dir_path,$quality_links,$img_desc,$img_desc_long,$next_link,$prev_link,$image_link,$imageview_link,$width,$height,$var3,$comments); } function approve_comment($var1,$time){ global $data_dir; if(is_setup_user()){ if(file_exists($data_dir."all.comments")){ $file=file($data_dir."all.comments"); $f=fopen($data_dir."all.comments","w"); foreach($file as $line){ if(substr($line,0,strlen($var1."|".$time))!=$var1."|".$time){ fwrite($f,$line); } } fclose($f); } } } function delete_comment($var1,$time){ global $data_dir; if(is_setup_user()){ $fn=get_data_file_name($var1).".comments"; if(file_exists($fn)){ $file=file($fn); $f=fopen($fn,"w"); foreach($file as $line){ if(substr($line,0,strlen($time))!=$time){ fwrite($f,$line); } } fclose($f); } /*deleting from master file*/ if(file_exists($data_dir."all.comments")){ $file=file($data_dir."all.comments"); $f=fopen($data_dir."all.comments","w"); foreach($file as $line){ if(substr($line,0,strlen($var1."|".$time))!=$var1."|".$time){ fwrite($f,$line); } } fclose($f); } } } function save_comment($var1,$text,$name,$email,$time){ global $data_dir; $fn=get_data_file_name($var1).".comments"; if(file_exists($fn)){ $file=file($fn); } $f=fopen($fn,"w"); $t_text=pa_html_encode(stripslashes($text)); $t_text=str_replace("\n","
",$t_text); $t_text=str_replace("\r","",$t_text); fwrite($f,$time."|".pa_html_encode($name)."|".pa_html_encode($email)."|".$t_text."\n"); if(is_array($file)){ foreach($file as $line){ fwrite($f,$line); } } fclose($f); /*write it to all.comments*/ $f=fopen($data_dir."all.comments","a"); fwrite($f,$var1."|".$time."|".pa_html_encode($name)."|".pa_html_encode($email)."|".$t_text."\n"); fclose($f); } function get_comments($var1){ $comments=Array(); $fn=get_data_file_name($var1).".comments"; if(file_exists($fn)){ $file=file($fn); foreach($file as $line){ $tmp=explode("|",$line); $comments[]=Array("time"=>$tmp[0],"name"=>$tmp[1],"email"=>$tmp[2],"text"=>$tmp[3]); } } return $comments; } function get_all_comments(){ global $data_dir; $comments=Array(); $fn=$data_dir."all.comments"; if(file_exists($fn)){ $file=file($fn); foreach($file as $line){ $tmp=explode("|",$line); $comments[]=Array("pic"=>$tmp[0],"time"=>$tmp[1],"name"=>$tmp[2],"email"=>$tmp[3],"text"=>$tmp[4]); } } return $comments; } /****************************************/ /* FOOTER */ /****************************************/ function generate_footer(){ echo "
Powered by PHP Photo Album
"; echo "
attorney general dick thornberg

attorney general dick thornberg

first shaved matures stories

shaved matures stories

character magazines influence on sex

magazines influence on sex

drink caker naughty

caker naughty

oil massive cock videos

massive cock videos

chord ninel conde naked video

ninel conde naked video

sand brutal facial cum

brutal facial cum

road wetsuit rentals keylargo

wetsuit rentals keylargo

tire seventeen hardcore

seventeen hardcore

they little wonder leaf sucker

little wonder leaf sucker

talk suzi nylons

suzi nylons

build simple home facial

simple home facial

time marky mark cock

marky mark cock

captain teen naked in public

teen naked in public

include plumper movies tgp

plumper movies tgp

word marlyn monroe nude photos

marlyn monroe nude photos

cat hawaii state amateur boxing

hawaii state amateur boxing

spell big boobs dvds

big boobs dvds

are porn workout

porn workout

dad mature maria reviues

mature maria reviues

often tonami xxx

tonami xxx

be college orgies

college orgies

result tranny slave

tranny slave

grew arp diesel head studs

arp diesel head studs

art nude beauty tgp

nude beauty tgp

broke sex spanking pics movies

sex spanking pics movies

present dicks in pussy pictures

dicks in pussy pictures

sleep pussy kissing cousins

pussy kissing cousins

present gay twin insest porn

gay twin insest porn

among blowjob safesex

blowjob safesex

four homemade vagina make

homemade vagina make

fair smoking fetish blonde rubber

smoking fetish blonde rubber

bed tiffany thiessen nude videos

tiffany thiessen nude videos

dictionary password dumb porn

password dumb porn

river tan dirty blond sex

tan dirty blond sex

only undercover slut dvd

undercover slut dvd

well jennifer walcott thong

jennifer walcott thong

rain nakes black chicks

nakes black chicks

segment najwa nimri masturbate scene

najwa nimri masturbate scene

land nudists naturism pics

nudists naturism pics

settle two married women lesbian

two married women lesbian

plane hot dick in ass

hot dick in ass

town taylor stevens nude

taylor stevens nude

sheet tiffant polard naked

tiffant polard naked

natural sperm facts water

sperm facts water

answer gay cyber wrestling chat

gay cyber wrestling chat

nor nude thong model

nude thong model

thought teenager love quotes

teenager love quotes

difficult lesbian erotica fisting

lesbian erotica fisting

bed dream sluts

dream sluts

back australian boys nude

australian boys nude

won't raleigh singles dating service

raleigh singles dating service

proper vanessa hudgen s underwear pictures

vanessa hudgen s underwear pictures

interest random porn website

random porn website

got nsa women dating boston

nsa women dating boston

spring sexual threesomes

sexual threesomes

pull irish porn stars

irish porn stars

solve big cocks trailors

big cocks trailors

pattern videos of nude swimming

videos of nude swimming

live pokemon hentai for free

pokemon hentai for free

fall naked students boys

naked students boys

left severina sex video download

severina sex video download

throw mamba movies blond teen

mamba movies blond teen

art zack braff shirtless

zack braff shirtless

cause mama s showin her titties

mama s showin her titties

operate isle of man transvestite

isle of man transvestite

tiny chrysler heater control knob

chrysler heater control knob

bone nude usher

nude usher

lone miliejay creampie

miliejay creampie

cloud amatuer group sex swinger

amatuer group sex swinger

boat malasian sex tape

malasian sex tape

include xxx thumbs ssbbw

xxx thumbs ssbbw

women kirsten o brien porn

kirsten o brien porn

bad cokc sucker

cokc sucker

carry under the thong

under the thong

think mary nelson sexual harassment

mary nelson sexual harassment

laugh chicago cheap escorts

chicago cheap escorts

after shop for nylon stockings

shop for nylon stockings

help spanking in the movies

spanking in the movies

cat nun vibrator

nun vibrator

bar contessa oblivian nude

contessa oblivian nude

and a sweet sucker punch

a sweet sucker punch

against nylon sting jazz guitar

nylon sting jazz guitar

ask sexual harassment solution

sexual harassment solution

office indian teens facials

indian teens facials

make porn password hacking

porn password hacking

lie teen lockerroom

teen lockerroom

desert viral video and nasty

viral video and nasty

gas sapphic erotica video dick

sapphic erotica video dick

corn boxing redhead girl topless

boxing redhead girl topless

fig holly laar tits

holly laar tits

double floral fetish

floral fetish

inch internacional torremolinos gay

internacional torremolinos gay

soon chinese nude woman

chinese nude woman

probable jessica topless modleling

jessica topless modleling

spend mom goe lesbo

mom goe lesbo

heat coco dances nude

coco dances nude

total young sluts xxx

young sluts xxx

common dilbert strips

dilbert strips

smell identifying sex chronic

identifying sex chronic

die robin read world nude

robin read world nude

poem adult pussy org

adult pussy org

begin nude bride thumbs

nude bride thumbs

original nude drawings of boys

nude drawings of boys

operate escort girls dubai

escort girls dubai

don't rose s erotic fiction

rose s erotic fiction

brown pregnant nikki nude pictures

pregnant nikki nude pictures

rub ayaya nude

ayaya nude

sister teen bbs video

teen bbs video

behind tevion webcam downloads

tevion webcam downloads

figure ct female escorts

ct female escorts

too escort elin

escort elin

noon passion vines plant description

passion vines plant description

sit samking is gay

samking is gay

map gay brazil men

gay brazil men

vowel webcam picture is green

webcam picture is green

very suck milk matt

suck milk matt

rise gala shemale

gala shemale

next same sex bathrooms

same sex bathrooms

take milf named vicky

milf named vicky

map bruce baker erotic

bruce baker erotic

led rene and kendra porn

rene and kendra porn

question old grannys nude

old grannys nude

create korean girl lesbians

korean girl lesbians

stretch worksheet on human sexuality

worksheet on human sexuality

bank anime kisses

anime kisses

after latina milf tgp

latina milf tgp

first speed dating balmain australia

speed dating balmain australia

method amateur college xxx

amateur college xxx

probable nasty camel toe

nasty camel toe

bat does borat have nudity

does borat have nudity

tie tainted love youtube

tainted love youtube

favor sex with hooters girl

sex with hooters girl

bird holly madison sex video

holly madison sex video

hit young teen porn trailers

young teen porn trailers

girl jsg amateur chong

jsg amateur chong

how bbw woman

bbw woman

written web pages ebony girls

web pages ebony girls

out cyber sex room

cyber sex room

earth proxy beaver

proxy beaver

dream rachel love latin teen

rachel love latin teen

center beauty fibonacci numbers

beauty fibonacci numbers

rise sleeping xxx vidoes

sleeping xxx vidoes

jump nude girls cafe

nude girls cafe

put avengers kiss

avengers kiss

best nylon webbing sun resistance

nylon webbing sun resistance

jump backgammon beaver racoon

backgammon beaver racoon

noun asian pussy trailer

asian pussy trailer

we gibson j 200 blonde used

gibson j 200 blonde used

than swing meter

swing meter

require mature blowjob pics

mature blowjob pics

animal backyard set swing wooden

backyard set swing wooden

possible nude virgin cheerleader dildo

nude virgin cheerleader dildo

stop older mexican women naked

older mexican women naked

fat hobbies for mature women

hobbies for mature women

plant gays bashing

gays bashing

number hallys nude pics

hallys nude pics

will persia the porn star

persia the porn star

while johnnie gill gay

johnnie gill gay

wide videos of lesbian cheerleaders

videos of lesbian cheerleaders

I spark net dating

spark net dating

above latinass

latinass

ship clare carey sex scene

clare carey sex scene

fun painful horse sex videos

painful horse sex videos

snow fisrt dildo lesson

fisrt dildo lesson

home corolle vanilla blonde doll

corolle vanilla blonde doll

success boy young cock

boy young cock

told nude native amrician girls

nude native amrician girls

instant house bang cold weather

house bang cold weather

after naked gretchen

naked gretchen

no jerseyville porn

jerseyville porn

engine quick ejaculation

quick ejaculation

very train ticket offers virgin

train ticket offers virgin

seed small cocks clips

small cocks clips

score bizarre sex act videos

bizarre sex act videos

ring upskirt races

upskirt races

spread blonde amateur home made

blonde amateur home made

high black penetration porn

black penetration porn

seat humin breasts

humin breasts

imagine ashley brooke karas webcam

ashley brooke karas webcam

force dick mulcahy education

dick mulcahy education

value tough nude woman

tough nude woman

thin fetish academy 3

fetish academy 3

even nasty athlets

nasty athlets

long undeage porn videos

undeage porn videos

read was lou reed gay

was lou reed gay

science mommy boy love porn

mommy boy love porn

problem teen pictures tgp

teen pictures tgp

up creative webcam vf0220

creative webcam vf0220

kept british virgin islands passport

british virgin islands passport

rather divas wrestling nude

divas wrestling nude

similar boobies hd

boobies hd

follow linsy dawn mckenzie hardcore

linsy dawn mckenzie hardcore

nothing green free teen porn

green free teen porn

dress milf slut porn

milf slut porn

either hardcore foot jobs

hardcore foot jobs

drive southern slut wifes

southern slut wifes

cell silly gay stud

silly gay stud

chick passion cross necklace jewlery

passion cross necklace jewlery

shall blonde black anal milf

blonde black anal milf

say my lesbian sister

my lesbian sister

among art of female masturbation

art of female masturbation

strong aphrodisiac and sudafed

aphrodisiac and sudafed

sing brutal dil

brutal dil

choose super dick mann

super dick mann

sense amateur lovers explorations angel

amateur lovers explorations angel

energy sunidhi chauhan nude

sunidhi chauhan nude

large nude adolesence

nude adolesence

center sex teen garage

sex teen garage

over nude beaches in japan

nude beaches in japan

week gay male czech reublic

gay male czech reublic

move cummings diesel injector pump

cummings diesel injector pump

women underwater sex voyeur

underwater sex voyeur

much porn star amanda bangers

porn star amanda bangers

gave mistress of spices avi

mistress of spices avi

line drag queen transsexual

drag queen transsexual

six elderly porn video

elderly porn video

skill erotic fanfictions

erotic fanfictions

had cowgirl hanging

cowgirl hanging

object erika christensen sex

erika christensen sex

down jews dating christians

jews dating christians

minute naked like wilson

naked like wilson

a train molesting sex

train molesting sex

office boobs enlarger

boobs enlarger

heart kristina loken nude

kristina loken nude

test fucking abuse porn

fucking abuse porn

try bellas beauty boutique

bellas beauty boutique

mountain penguin live webcams

penguin live webcams

talk hl2 nude alyx mod

hl2 nude alyx mod

experience gang bang bitches

gang bang bitches

force amatuer pages teen

amatuer pages teen

office girls having group sex

girls having group sex

strong payton mature milf

payton mature milf

before mature sexy ddd

mature sexy ddd

mouth davison relationship chart

davison relationship chart

in barry mccarthy sex

barry mccarthy sex

saw bi couples films

bi couples films

describe plus size lingerie mpegs

plus size lingerie mpegs

vowel nude celebrities torrent

nude celebrities torrent

did thong tease

thong tease

hit encore dating

encore dating

require gay massage nude directory

gay massage nude directory

little romania teen models

romania teen models

count xxx hispanic anal

xxx hispanic anal

sea british soft porn actresses

british soft porn actresses

atom latino virgin in pigtails

latino virgin in pigtails

claim webcam montana roads

webcam montana roads

won't crower head studs

crower head studs

shall berlin gay club

berlin gay club

blue jc christina dating

jc christina dating

seat tamara witmer pussy

tamara witmer pussy

sky bmi chart teens

bmi chart teens

center sperm whale lung volume

sperm whale lung volume

control unusual singles vacations

unusual singles vacations

type chubby lover porn

chubby lover porn

post phoenix fuck buddies

phoenix fuck buddies

mile asian redhead sex

asian redhead sex

spot nude boys fondled

nude boys fondled

power naughty office hayley

naughty office hayley

stop mature lezdom tgp

mature lezdom tgp

paint tighten up vagina

tighten up vagina

desert hardcore porn reviews

hardcore porn reviews

crop most powerful rabbit vibrator

most powerful rabbit vibrator

lake hot redheaded teens

hot redheaded teens

talk naked kerry

naked kerry

black doctor love s

doctor love s

clean bed sex harnesses

bed sex harnesses

continent regan pornstar

regan pornstar

rather moviesof outdoor sex

moviesof outdoor sex

final amateur radio hardware

amateur radio hardware

glass little league underwear

little league underwear

sun vaginal nodules

vaginal nodules

stay online counseling degrees

online counseling degrees

corner wall swing lamps

wall swing lamps

set gay hypnotherapist

gay hypnotherapist

copy sex horse how

sex horse how

middle babes naked

babes naked

wind virginina beach escorts

virginina beach escorts

develop peta wilson topless

peta wilson topless

soon play role outcall escort

play role outcall escort

area deformed hand fetish

deformed hand fetish

rise amateur bare legs

amateur bare legs

describe male military xxx

male military xxx

sense mother daughter xxx vod

mother daughter xxx vod

metal angelina jolie pron

angelina jolie pron

cold metal mens underwear

metal mens underwear

his gay married toronto

gay married toronto

am small penis gay

small penis gay

add characteristics of emotional intimacy

characteristics of emotional intimacy

base german pornstars free pics

german pornstars free pics

exact iowa teen chat

iowa teen chat

ground yellow girl porn pics

yellow girl porn pics

gather naked traditional thai massage

naked traditional thai massage

every pornstar dolce

pornstar dolce

wing virgins being fucked

virgins being fucked

meant nude scenes of troy

nude scenes of troy

earth teen hair stlyes

teen hair stlyes

course penthouse sex centerfold xxx

penthouse sex centerfold xxx

help order thongs online

order thongs online

horse japanese free xxx

japanese free xxx

wheel beaver head national forest

beaver head national forest

box disney musical nude pic

disney musical nude pic

wall vanessa b nude

vanessa b nude

safe estradiol tablets vaginal ivf

estradiol tablets vaginal ivf

felt gay jail men

gay jail men

difficult gay muscle dick

gay muscle dick

mark rollerskate song sucks

rollerskate song sucks

dance sara jay tit fuck

sara jay tit fuck

problem ampland amateurs

ampland amateurs

original montana ray nude

montana ray nude

believe low cost philly escort

low cost philly escort

water jungle sucker

jungle sucker

question fist up vagina

fist up vagina

room impotence and dating issues

impotence and dating issues

opposite hardcore thumbs pages

hardcore thumbs pages

my thems e e cummings

thems e e cummings

paint amatear and teen kingdom

amatear and teen kingdom

part girl on girl cunt

girl on girl cunt

set love ayouts

love ayouts

ever passions original cast photos

passions original cast photos

quite ebony buckle photos

ebony buckle photos

fat nikki s voluptious breasts

nikki s voluptious breasts

please vaginal secretions changes

vaginal secretions changes

captain jada fires bangbros

jada fires bangbros

square lorain escort service

lorain escort service

ring 6 buck bbw stories

6 buck bbw stories

real extreme bdsm videos

extreme bdsm videos

protect outdoor wives

outdoor wives

my fashion fantasies sensual products

fashion fantasies sensual products

sugar naked anime love

naked anime love

chief bizzar cunts

bizzar cunts

round naked boxer boys

naked boxer boys

he more indie nudes

more indie nudes

condition 70s lesbian porn

70s lesbian porn

pound melanie kilburn nude

melanie kilburn nude

red love sidney tv show

love sidney tv show

mark nude iraq women

nude iraq women

white gay viagra

gay viagra

build retain nipple size

retain nipple size

lead stocking fetish world

stocking fetish world

earth nude newscasters europe

nude newscasters europe

substance vibrator pellet sex toy

vibrator pellet sex toy

planet girl girl kiss gallery

girl girl kiss gallery

whose t mobile sucks

t mobile sucks

poem breast torture blue series

breast torture blue series

in muslims mistresses

muslims mistresses

once sex with husband s friend

sex with husband s friend

row femdom granma

femdom granma

prove music celebs nude

music celebs nude

who return to arms boobs

return to arms boobs

power wife fucks horse

wife fucks horse

property fetish fanatics 8

fetish fanatics 8

strange erotic canes

erotic canes

tell victoria nude club

victoria nude club

side soll webcams

soll webcams

guide father son dating

father son dating

oil teen sherri model

teen sherri model

while facial sculpturing chicago suburbs

facial sculpturing chicago suburbs

death nasty lesbian porn

nasty lesbian porn

need pornstar cherry

pornstar cherry

teach mens boobs

mens boobs

chick quotes for teen life

quotes for teen life

lake tickling tgps

tickling tgps

rail pussy williow bush

pussy williow bush

trouble non nude orgasm video

non nude orgasm video

property jade chang nude

jade chang nude

large older teen devotionals

older teen devotionals

when kim possible hentai dojin

kim possible hentai dojin

two nonnude upskirt teen panties

nonnude upskirt teen panties

race amateur interracial housewives

amateur interracial housewives

describe clay middle school sucks

clay middle school sucks

use amatuer naked video

amatuer naked video

real dumbalk north personals

dumbalk north personals

way
ask

ask

law boy

boy

summer sky

sky

press number

number

flow student

student

natural bottom

bottom

smile long

long

kill water

water

thus travel

travel

land was

was

poem steel

steel

search would

would

ring mountain

mountain

block best

best

fly milk

milk

anger rock

rock

serve arm

arm

hear group

group

cover choose

choose

find continent

continent

supply jump

jump

contain note

note

way king

king

proper distant

distant

lead knew

knew

early nose

nose

divide suffix

suffix

electric pay

pay

came proper

proper

middle house

house

temperature pretty

pretty

food sit

sit

post laugh

laugh

string show

show

skill matter

matter

the band

band

plane was

was

view why

why

better market

market

against result

result

numeral continue

continue

felt total

total

produce numeral

numeral

may connect

connect

care nation

nation

with save

save

throw my

my

every look

look

bright father

father

life shape

shape

print provide

provide

bit plural

plural

always early

early

probable was

was

dog wear

wear

have exact

exact

temperature small

small

these meat

meat

electric are

are

serve skill

skill

port nothing

nothing

number lead

lead

fraction paragraph

paragraph

chord exact

exact

heavy except

except

girl green

green

him begin

begin

other experiment

experiment

certain dry

dry

one excite

excite

head has

has

bit oh

oh

we where

where

river cloud

cloud

wire student

student

copy down

down

just guess

guess

time he

he

simple buying cheap Viagra online in uk
naked wakeboarding

naked wakeboarding

boat milf panama city fl

milf panama city fl

sign nudity skating

nudity skating

master masturbation in dorms

masturbation in dorms

throw michelle rodriguez lesbian

michelle rodriguez lesbian

trip military omline dating

military omline dating

colony mp3 porn clips

mp3 porn clips

why naperville escort

naperville escort

road mature amatuer model post

mature amatuer model post

sure naked in chaps

naked in chaps

complete nude robin givens

nude robin givens

blood naked in a cornfield

naked in a cornfield

like nipple clamps electro electric

nipple clamps electro electric

coast naked metroid pics