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 "
sexy porn ga es

sexy porn ga es

had planet slut wife

planet slut wife

stand debbie nude pic

debbie nude pic

paint jockies thongs

jockies thongs

main first gay sex wanted

first gay sex wanted

summer nicolas bearde love

nicolas bearde love

gave razo shift knob

razo shift knob

where naked gay gallery

naked gay gallery

anger ebony girls ranch

ebony girls ranch

second sex right after menstruation

sex right after menstruation

got mature amteur facials

mature amteur facials

sat hershey kiss candle

hershey kiss candle

late condom x

condom x

station city view strip mall

city view strip mall

left masturbation wrong

masturbation wrong

side porn mega site

porn mega site

less marc nashville thong

marc nashville thong

black porn star alexis amore

porn star alexis amore

sea restaurant cocks hooters

restaurant cocks hooters

tiny porn star hudson

porn star hudson

spring chinese dating practices

chinese dating practices

dictionary hq hardcore xxx

hq hardcore xxx

parent hot sexy lesbian nurses

hot sexy lesbian nurses

apple lesbian movies free stream

lesbian movies free stream

there 3danime sex

3danime sex

ocean bbw corsets

bbw corsets

general rollins college gay

rollins college gay

correct federal stipend counseling

federal stipend counseling

section teens still spanked

teens still spanked

think jessica big brother nipple

jessica big brother nipple

law young dripping pussy

young dripping pussy

fruit robby vinson is gay

robby vinson is gay

move texas nude beach cams

texas nude beach cams

length 6 cocks 1pussy

6 cocks 1pussy

chord toronto gay bars

toronto gay bars

cold emjoi intimate review opinions

emjoi intimate review opinions

leave soul caliber ivy hentai

soul caliber ivy hentai

lone australian porn actresses

australian porn actresses

should jasmine cartoon hentai

jasmine cartoon hentai

write home videos blowjob

home videos blowjob

week excuse me porn

excuse me porn

week ricky ullman underwear

ricky ullman underwear

try beaver dam aquifer

beaver dam aquifer

hour cheerleader lesbian porn

cheerleader lesbian porn

dollar anime hentia

anime hentia

tool dental amalgam mood swings

dental amalgam mood swings

fair flexible girls fuck

flexible girls fuck

color super hot cock sauce

super hot cock sauce

run bang olufsen yacht

bang olufsen yacht

wrong lesbian radio stations

lesbian radio stations

half busty she male

busty she male

run fuck you foamy finger

fuck you foamy finger

send antique shirt studs

antique shirt studs

enemy nose piggy fetish

nose piggy fetish

indicate hose vagina pics

hose vagina pics

house mpg for chevy silverado

mpg for chevy silverado

bear milf 30 40

milf 30 40

busy guys blowjobs nude

guys blowjobs nude

water rack jerk videos

rack jerk videos

perhaps army wives support groups

army wives support groups

populate cute girls big boobs

cute girls big boobs

bird jerk off mature

jerk off mature

could lovely mama llc

lovely mama llc

prove hentai dressup

hentai dressup

charge independent paducah escorts

independent paducah escorts

machine downloadable porn movies

downloadable porn movies

father jennilee harrison nude free

jennilee harrison nude free

inch lust feels like love

lust feels like love

tall gay dutch

gay dutch

white leslie howard s mistress

leslie howard s mistress

set teen kirsten video

teen kirsten video

spot bebe rock of love

bebe rock of love

wind reef striped flip flops

reef striped flip flops

size corn fed beauties

corn fed beauties

protect teen mod

teen mod

tie porn pictures of beyonce

porn pictures of beyonce

song hegre erotic video

hegre erotic video

evening sex guide london

sex guide london

here silkies nylons

silkies nylons

ease lois elizabeth butts

lois elizabeth butts

ran shots beaver

shots beaver

flower demi mor nude

demi mor nude

insect naughty secertaries

naughty secertaries

gold pinky porn site

pinky porn site

any energy powerful sex

energy powerful sex

modern painful bizarre video clip

painful bizarre video clip

box black pussy geting fucked

black pussy geting fucked

band culotte en plastique bondage

culotte en plastique bondage

note tina rigdon nudes

tina rigdon nudes

were creampie teens

creampie teens

agree impossible love quotes

impossible love quotes

broke hentai yugioh gx

hentai yugioh gx

pass dakota james gay

dakota james gay

little montreal gay chat

montreal gay chat

bought palm beach outcall escorts

palm beach outcall escorts

swim mercedes escorts prague

mercedes escorts prague

horse rexx strip

rexx strip

an gay raw fucking

gay raw fucking

bell holy love ministries

holy love ministries

root japanese hidden cam nude

japanese hidden cam nude

that jimmy love s san diego

jimmy love s san diego

step interpersonal relationship thesis statements

interpersonal relationship thesis statements

condition webcam vivo gratis

webcam vivo gratis

pound big beautiful singles

big beautiful singles

silver amatures home page

amatures home page

face futurama xxx cartoons

futurama xxx cartoons

spring guys average nipple size

guys average nipple size

old panyhose sluts

panyhose sluts

wrong very hairy asshole

very hairy asshole

turn erotic blonds

erotic blonds

anger femina italian love song

femina italian love song

straight skinny naked lad y

skinny naked lad y

bar niggaz havin sex

niggaz havin sex

think famous women having orgasms

famous women having orgasms

gentle hentai mothers

hentai mothers

whose homemade facial waxing

homemade facial waxing

party rat titty

rat titty

tiny kelsey xxx free

kelsey xxx free

region extreming hot teens

extreming hot teens

just sex family stories

sex family stories

ready nudist resort in texas

nudist resort in texas

experience pleasure club maryland

pleasure club maryland

since sexy big tits girls

sexy big tits girls

bear heathrow escorts offering anal

heathrow escorts offering anal

area cheerleaders getting naked

cheerleaders getting naked

together mr chew s asian beavers

mr chew s asian beavers

yellow male thongs sex toys

male thongs sex toys

morning helen merin nude

helen merin nude

white phillip silva sex offender

phillip silva sex offender

magnet swimming boys underwear

swimming boys underwear

desert perfect naked black body

perfect naked black body

section onion booty trailer

onion booty trailer

less naked cheerleader

naked cheerleader

snow crossdressed stories

crossdressed stories

pattern webmasters exotics world advertising

webmasters exotics world advertising

join dick whittington 3 10

dick whittington 3 10

mouth crush teen photography

crush teen photography

month blood sucker

blood sucker

only online sex toys catalog

online sex toys catalog

depend teen black nudes

teen black nudes

band males fucked by women

males fucked by women

horse alena seredova nude

alena seredova nude

turn spanish reality porn

spanish reality porn

success intimate sex on tape

intimate sex on tape

was no popup porn

no popup porn

rose porn dvd starring friday

porn dvd starring friday

south ernest motley counseling

ernest motley counseling

look harassment by text messaging

harassment by text messaging

compare cyber girls webcam

cyber girls webcam

during handjob hetro

handjob hetro

fast steri strip remova

steri strip remova

north hot hockey lesbians

hot hockey lesbians

spoke forced sex videos asian

forced sex videos asian

station wetsuit ohio

wetsuit ohio

notice charlie roff erotic journey

charlie roff erotic journey

sight puma swede cock suck

puma swede cock suck

serve male sex pumps

male sex pumps

forest licking the vagina

licking the vagina

pretty lesbian cheerleaders movie

lesbian cheerleaders movie

name futuristic time travel romance

futuristic time travel romance

search black gangbanging porn

black gangbanging porn

name angie savage pussy

angie savage pussy

second mommie boobs

mommie boobs

copy xxx blackberry wallpapers

xxx blackberry wallpapers

stick shaving style for vagina

shaving style for vagina

she virtual teen zone

virtual teen zone

score kiss kiss instrumental

kiss kiss instrumental

match porn animal free

porn animal free

kind cambodian chicks

cambodian chicks

space military officer dating tangowire

military officer dating tangowire

cat porn star shaving

porn star shaving

know japanese photography schoolgirl

japanese photography schoolgirl

low mature amateur tits

mature amateur tits

represent increasing swing speed golf

increasing swing speed golf

element top free adult personals

top free adult personals

danger youteen tgp

youteen tgp

near cum sandwich shemale

cum sandwich shemale

hot ashley playboy nipples

ashley playboy nipples

such calendar hot nudes

calendar hot nudes

whose nude upstate ny

nude upstate ny

old eat pussy archive

eat pussy archive

huge my wive s hot pussy

my wive s hot pussy

course waxing and facial hair

waxing and facial hair

party porn star lord

porn star lord

operate hardcore sex grannys

hardcore sex grannys

bear nasty ass matures

nasty ass matures

black sweetheart picture nude

sweetheart picture nude

port ugliest sweater breast

ugliest sweater breast

master mature home amateur

mature home amateur

fun ebony eve pelicans

ebony eve pelicans

dollar women s one piece thong

women s one piece thong

done asian twinks free

asian twinks free

war kandinsky small pleasures

kandinsky small pleasures

bar top 25 naked pics

top 25 naked pics

evening hotrod pinup layout

hotrod pinup layout

general kiss harddiskrecorder

kiss harddiskrecorder

go walsall escort

walsall escort

imagine tits cum covered

tits cum covered

radio facials in eugene or

facials in eugene or

fell iclu and sex offenders

iclu and sex offenders

period window filler strip

window filler strip

few lesbians threesomes

lesbians threesomes

in underground pussy

underground pussy

hunt fetish ball in boston

fetish ball in boston

fear porn sex deepthroat videos

porn sex deepthroat videos

perhaps blond housewife

blond housewife

meant hoes getting gangbanged

hoes getting gangbanged

flower dressed women naked man

dressed women naked man

rise etiqutte lessons for teens

etiqutte lessons for teens

I recurrant breast cysts

recurrant breast cysts

silent landscaping mature trees

landscaping mature trees

hard buy condoms at school

buy condoms at school

trip familt guy porn lois

familt guy porn lois

car breast muscle in womem

breast muscle in womem

area asian sex websites

asian sex websites

branch nasty adult dressup games

nasty adult dressup games

paper tweet naked

tweet naked

see nude digital camara pics

nude digital camara pics

subject women going pantyless

women going pantyless

basic amateur teen pics

amateur teen pics

tree babe andrea webcam chick

babe andrea webcam chick

skill manchester nh gay bars

manchester nh gay bars

now nextel location cumming

nextel location cumming

held jessica alba free porn

jessica alba free porn

neighbor explosive anal sex

explosive anal sex

single horny mexican milfs

horny mexican milfs

teeth rhine stone thong

rhine stone thong

represent muscle men jerk off

muscle men jerk off

loud teacher puckering teen sluts

teacher puckering teen sluts

brother giant squirting tits

giant squirting tits

read vibrating seat sex toy

vibrating seat sex toy

plant ass to mouth wives

ass to mouth wives

age kissimmee nudist

kissimmee nudist

don't orange county counseling

orange county counseling

no milf hunter alberta canada

milf hunter alberta canada

wheel private escorts manchester

private escorts manchester

story hardcore anal pain

hardcore anal pain

interest unrequited love friend

unrequited love friend

went arab hairy cocks

arab hairy cocks

cause ngatata love

ngatata love

finger gay chub porn

gay chub porn

may young drawn porn

young drawn porn

depend playboy pussy photos

playboy pussy photos

when homemade teen sex photos

homemade teen sex photos

science triccoci beauty

triccoci beauty

broad ms project sucks

ms project sucks

bright elle macpherson naked

elle macpherson naked

steel anaerobic infection nipple discharge

anaerobic infection nipple discharge

numeral hairy young pussy pictures

hairy young pussy pictures

was pussy show on youtube

pussy show on youtube

caught homemade sex lube recipe

homemade sex lube recipe

earth woman and horse xxx

woman and horse xxx

did mature men boys

mature men boys

sure feminized sissy cuckold

feminized sissy cuckold

soldier netspend sucks

netspend sucks

kind pregnancy fetish

pregnancy fetish

at chicanas love black cock

chicanas love black cock

build booty bounce dj funk

booty bounce dj funk

window hypnotized girls fetish

hypnotized girls fetish

choose brenda titties

brenda titties

trouble stinky teens

stinky teens

cloud ukrainian teen

ukrainian teen

fast gay president buchanan

gay president buchanan

list three girl blowjobs

three girl blowjobs

water photograph of vaginal herpes

photograph of vaginal herpes

paragraph teen fey model

teen fey model

kill nude german women pictures

nude german women pictures

fact sexual masquerade orgy

sexual masquerade orgy

end mature womes

mature womes

neighbor bedwetting boys

bedwetting boys

type secretary spanked her tits

secretary spanked her tits

those mature escorts massachusetts

mature escorts massachusetts

egg porn red tube

porn red tube

hair klais webcam

klais webcam

term broadcast videos free boobs

broadcast videos free boobs

invent tera patrick anal scenes

tera patrick anal scenes

be wife who masturbates

wife who masturbates

fill lovely petunia

lovely petunia

danger heart shaped tattoo pussy

heart shaped tattoo pussy

rich erection specialist

erection specialist

equate sex in unusual place

sex in unusual place

jump asan porn sites

asan porn sites

corner slut bred by dogs

slut bred by dogs

love girl sex horse

girl sex horse

energy love huna

love huna

month hair fetish indian montclair

hair fetish indian montclair

red ohio nude pictures

ohio nude pictures

nation artificial vagina

artificial vagina

one what are breast keloids

what are breast keloids

form english sex stories liter

english sex stories liter

colony amateur cam horny

amateur cam horny

afraid teens in the 1800s

teens in the 1800s

size chicago breast enhancement procedure

chicago breast enhancement procedure

sand drunk gays fucking

drunk gays fucking

separate warm breast

warm breast

through tantric massage denver

tantric massage denver

form speed dating and perth

speed dating and perth

one escort s2 reviews

escort s2 reviews

also you cunt

you cunt

continent big beautiful naked women

big beautiful naked women

island youtube big butts

youtube big butts

bird lesbian videos flashplayer

lesbian videos flashplayer

vary presidential wives scandals

presidential wives scandals

which nude tv news females

nude tv news females

plant adilia mpegs

adilia mpegs

solution cafeteria for teens

cafeteria for teens

line dick chaney attempted assaination

dick chaney attempted assaination

shine dissolving condoms

dissolving condoms

triangle dsi boobs

dsi boobs

must creampie whore

creampie whore

mass chicken chicks

chicken chicks

egg fuck latina ass

fuck latina ass

metal uncontrolable masturbation videos

uncontrolable masturbation videos

would sucking my cock

sucking my cock

line sex vacation ontario

sex vacation ontario

give gay male medical fetish

gay male medical fetish

force jassie bdsm

jassie bdsm

energy handjob clips samples

handjob clips samples

moment wwe divas lita boobs

wwe divas lita boobs

discuss family nudes mohr

family nudes mohr

light frot videon sex

frot videon sex

hit school of bondage 1

school of bondage 1

force custome pantyhose

custome pantyhose

did breast lift conscious sedation

breast lift conscious sedation

speak pics free sex xxx

pics free sex xxx

few illwillpress naked germaine

illwillpress naked germaine

happy big breated whores

big breated whores

nature erotic male art paintings

erotic male art paintings

low milf cruisier

milf cruisier

some jelena abbou nude

jelena abbou nude

energy webcam brugge

webcam brugge

hill hentai succubus

hentai succubus

populate honda 400ex swing arm

honda 400ex swing arm

six i m horny phat mix

i m horny phat mix

tiny naked vegetarians

naked vegetarians

milk dildo training free galleries

dildo training free galleries

straight teen camp sex

teen camp sex

it bollywood actress nude

bollywood actress nude

please lady gallery escort

lady gallery escort

is naked doctors and nurses

naked doctors and nurses

door secretaries tits thongs

secretaries tits thongs

contain the prettiest nudes

the prettiest nudes

lake
"; } function check_writable($dir){ error_reporting(0); $file=fopen($dir."writablity_test","w"); fclose($file); unlink($dir."writablity_test"); error_reporting(E_ERROR | E_WARNING | E_PARSE); return $file; } /****************************************/ /* SETUP COMMAND */ /****************************************/ function generate_setup_page(){ global $var1; global $var2; global $var3; global $var4; global $album_dir; global $cache_dir; global $data_dir; global $setup_password; global $logo_path,$logo_enabled,$site_name,$site_theme,$site_engine,$themes_dir,$theme_params,$return_home_url,$new_dir_indic; global $logs_enabled,$logs_filename,$logs_exclude,$quality_settings,$quality; global $album_name,$album_dir_name,$cookie_password_hours,$setup_text,$next_text,$previous_text,$disable_bottom_nextprev,$character_set; global $cache_thumbnails,$cache_resized_photos,$phpalbum_version; 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 $character_set; global $pa_texts,$pa_translated_texts; global $default_sorting; if($var1=="") { ob_start();require("setup.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="main"){ if($var2=="save"){ $p_p=$_POST['p_p']; $p_pd=$_POST['p_pd']; $p_dd=$_POST['p_dd']; $p_cd=$_POST['p_cd']; if(substr($p_cd,-1,1)!="/"){ $p_cd=$p_cd."/"; } if(substr($p_pd,-1,1)!="/"){ $p_pd=$p_pd."/"; } $p_name=stripslashes($_POST['p_name']); $p_logo_enabled=$_POST['p_logo_enabled']; $p_logo_path=$_POST['p_logo_path']; $p_theme=$_POST['p_theme']; $p_return_home_url=$_POST['p_return_home_url']; $p_new_dir_indic=$_POST['p_new_dir_indic']; $p_album_name=stripslashes($_POST['p_album_name']); $p_album_dir_name=stripslashes($_POST['p_album_dir_name']); $p_setup_text=stripslashes($_POST['p_setup_text']); $p_next_text=stripslashes($_POST['p_next_text']); $p_previous_text=stripslashes($_POST['p_previous_text']); $p_character_set=$_POST['p_character_set']; if(isset($_POST['p_disable_bottom_nextprev'] )){$p_disable_bottom_nextprev="true";}else{$p_disable_bottom_nextprev="false";} $p_cookie_password_hours=$_POST['p_cookie_password_hours']; $file=fopen($data_dir."main_setup.dat","w"); if(isset($p_logo_enabled)){$p_logo_enabled="true";}else{$p_logo_enabled="false";} //0.3.0 $p_directory_style=$_POST['p_directory_style']; $p_maximum_photos_per_page=$_POST['p_maximum_photos_per_page']; $p_raster_dir_x=$_POST['p_raster_dir_x']; $p_raster_dir_y=$_POST['p_raster_dir_y']; $p_next_page_text=stripslashes($_POST['p_next_page_text']); $p_previous_page_text=stripslashes($_POST['p_previous_page_text']); //ftp-settings $p_ftp_server=$_POST['p_ftp_server']; $p_ftp_server_photos_dir=$_POST['p_ftp_server_photos_dir']; if(isset($_POST['p_show_filenames'] )){$p_show_filenames="true";}else{$p_show_filenames="false";} $p_default_sorting=$_POST['p_default_sorting']; fwrite($file,"$p_p\n$p_pd\n$p_cd\n$p_name\n$p_logo_enabled\n$p_logo_path\n$p_theme\n$p_return_home_url\n$p_new_dir_indic\n"); fwrite($file,"$p_album_name\n$p_album_dir_name\n$p_cookie_password_hours\n$p_setup_text\n$p_next_text\n$p_previous_text\n$p_disable_bottom_nextprev\n$p_character_set\n"); //writig 0.3.0 new params fwrite($file,"$p_directory_style\n$p_maximum_photos_per_page\n$p_raster_dir_x\n$p_raster_dir_y\n$p_next_page_text\n$p_previous_page_text\n$p_ftp_server\n$p_ftp_server_photos_dir\n$p_show_filenames\n$p_default_sorting\n"); fclose($file); /*write theme settings*/ if($site_theme == $p_theme){ $file=fopen($data_dir.$site_theme.".dat","w"); $num=0; while(isset($theme_params[$num]) || isset($_POST["p_theme_".$num])){ if($num>0){ fwrite($file,"|"); } if(isset($_POST["p_theme_".$num])){ fwrite($file,stripslashes($_POST["p_theme_".$num])); }else{ fwrite($file,$theme_params[$num]); } $num=$num+1; } fclose($file); } save_quality_settings(); read_settings(); theme_initialize(); } ob_start();require("setup_main.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="logs"){ if($var2=="save"){ $p_enabled=$_POST['p_enabled']; $p_filename=$_POST['p_filename']; $p_exclude=$_POST['p_exclude']; $file=fopen($data_dir."logs_setup.dat","w"); if(isset($p_enabled)){ fwrite($file,"true|$p_filename|$p_exclude"); }else{ fwrite($file,"false|$p_filename|$p_exclude"); } fclose($file); read_settings(); } if($var2=="view"){ ob_start();require("setup_logs.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); if(file_exists($cache_dir.$logs_filename)){ $file=file($cache_dir.$logs_filename); echo ""; foreach($file as $line_num=>$line){ $strings=explode("|",$line); echo ""; foreach($strings as $num=>$string){ echo ""; } echo ""; echo ""; } echo "
".$string."view
"; }else{ echo "Log file not found !!";} return; } if($var2=="del"){ ob_start();require("setup_logs.inc"); if(file_exists($cache_dir.$logs_filename)){ unlink($cache_dir.$logs_filename); echo "File deleted"; }else{ echo "File not found!"; } $contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } ob_start();require("setup_logs.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="dirs"){ if($var2=="save"){ $num=0; while(isset($_POST["p_dir_".$num])){ $f_name=stripslashes($data_dir.str_replace(" ","_",str_replace("/","_",conv_in($_POST["p_dir_".$num]))).".dat"); if(file_exists($f_name)){ $old_file=file($f_name); } $file=fopen($f_name,"w"); fwrite($file,$_POST["p_pass_".$num]."|".pa_html_encode(stripslashes($_POST["p_desc_".$num]))."|".pa_html_encode(stripslashes($_POST["p_desc_long_".$num]))."|".pa_html_encode(stripslashes($_POST["p_alias_".$num]))."|".$_POST["p_sorting_".$num]."|".((isset($_POST["p_visible_".$num])?"true":"false"))."\n"); $num=$num+1; $i=1; while(isset($old_file[$i])){ fwrite($file,$old_file[$i]); $i=$i+1; } fclose($file); } } if($var2=="save2"){ /*saving advanced dir settings*/ $f_name=stripslashes($data_dir.str_replace(" ","_",str_replace("/","_",conv_in($_POST["p_dir"]))).".dat"); $file=fopen($f_name,"w"); /*writing dir settings*/ fwrite($file,$_POST["p_pass"]."|".pa_html_encode(stripslashes($_POST["p_desc"]))."|".pa_html_encode(string2store(stripslashes($_POST["p_desc_long".$num])))."|".pa_html_encode(stripslashes($_POST["p_alias"]))."|".$_POST["p_sorting"]."|".((isset($_POST["p_visible"])?"true":"false"))."\n"); $num=1; while(isset($_POST["p_file_".$num])){ fwrite($file,stripslashes(conv_in($_POST["p_file_".$num]))."|".pa_html_encode(stripslashes($_POST["p_file_sd_".$num]))."|".pa_html_encode(string2store(stripslashes($_POST["p_file_ld_".$num])))."\n"); $num=$num+1; } fclose($file); } if(strlen($var3)>0){ $sett=get_directory_settings(conv_in($var3)); ob_start();require("setup_dir_advanced.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); }else{ $dirs=get_photos_directories("/",$dirs); ob_start();require("setup_dirs.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); } return; } if($var1=="comments"){ if($var2=="delete"){ if($var3 && $var4){ delete_comment($var3,$var4); } } if($var2=="approve"){ if($var3 && $var4){ approve_comment($var3,$var4); } } if($var2=="save"){ if(isset($_POST['p_comments_enabled'] )){$p_comments_enabled="true";}else{$p_comments_enabled="false";} $file=fopen($data_dir."comments_setup.dat","w"); fwrite($file,"$p_comments_enabled"); fclose($file); read_settings(); } ob_start();require("setup_comments.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="cache"){ if($var2=="delete"){ delete_cache($cache_dir,0); } if($var2=="save"){ if(isset($_POST['p_cache_thumbnails'] )){$p_cache_thumbnails="true";}else{$p_cache_thumbnails="false";} if(isset($_POST['p_cache_resized_photos'] )){$p_cache_resized_photos="true";}else{$p_cache_resized_photos="false";} $file=fopen($data_dir."cache_setup.dat","w"); fwrite($file,"$p_cache_thumbnails|$p_cache_resized_photos"); fclose($file); read_settings(); } ob_start();require("setup_cache.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="texts"){ if($var2=="save"){ if(file_exists($data_dir."translation.dat")){ /*delete*/ unlink($data_dir."translation.dat"); } $first=true; foreach($_POST as $key => $text){ if(substr($key,0,3)=="ID_" && strlen($text)>0){ $text=str_replace(Array('\\','"'),Array('\\\\','\"'),stripslashes($text)); /*this is an id translation*/ if($first){ $file=fopen($data_dir."translation.dat","w"); $first=false; fwrite($file," \"$text\"\n"); }else{ fwrite($file,",\"$key\" => \"$text\"\n"); } } } if(!$first){ fwrite($file,");\n?>\n"); fclose($file); } if(file_exists($data_dir."translation.dat")){ include($data_dir."translation.dat"); }else{ unset($pa_translated_texts); } } ob_start();require("setup_texts.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var1=="admin"){ error_reporting(0); if(isset($_COOKIE['p_pass'])){ $p_pass=$_COOKIE['p_pass']; } if(isset($_COOKIE['p_user'])){ $p_user=$_COOKIE['p_user']; } if(isset($_COOKIE['p_actdir'])){ $p_actdir=$_COOKIE['p_actdir']; } if(isset($_POST['p_user'])){ $p_user=$_POST['p_user']; } if(isset($_POST['p_pass'])){ $p_pass=$_POST['p_pass']; } if(isset($_POST['p_dir'])){ $p_dir=conv_in($_POST['p_dir']); } if(isset($_GET['p_dir'])){ $p_dir=conv_in($_GET['p_dir']); } if(isset($_POST['p_file_name'])){ $p_file_name=conv_in($_POST['p_file_name']); } if(isset($_GET['p_file_name'])){ $p_file_name=conv_in($_GET['p_file_name']); } if($var2=="login"){ if( !($ftp_error=ftp_check_login($p_user,$p_pass)) ){ /*set cookie*/ setcookie("p_user",$p_user); setcookie("p_pass",$p_pass); setcookie("p_actdir",""); $p_actdir=""; ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; }else{ ob_start();require("setup.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } } if($var2=="chdir"){ $p_actdir=$p_dir; setcookie("p_actdir",$p_actdir); ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var2=="mkdir"){ $ftp_error=ftp_setup_mkdir($p_user,$p_pass,$p_actdir,$p_dir); ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var2=="rmdir"){ $ftp_error=ftp_setup_rmdir($p_user,$p_pass,$p_actdir,$p_dir); ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var2=="delete"){ $ftp_error=ftp_setup_delete($p_user,$p_pass,$p_actdir,$p_file_name); ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var2=="upload"){ $uploaddir = $cache_dir; if (move_uploaded_file($_FILES['p_file']['tmp_name'], $uploaddir . conv_in($_FILES['p_file']['name']))) { $ftp_error=ftp_setup_put_file($p_user,$p_pass,$p_actdir,$uploaddir . conv_in($_FILES['p_file']['name']),conv_in($_FILES['p_file']['name'])); /*deleted from cache*/ unlink($uploaddir . $_FILES['p_file']['name']); } else { $ftp_error="Possible file upload attack!"; } ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } if($var2=="uploadzip"){ $uploaddir = $cache_dir; if (move_uploaded_file($_FILES['p_file']['tmp_name'], $uploaddir . conv_in($_FILES['p_file']['name']))) { $ftp_error=ftp_setup_put_zip_file($p_user,$p_pass,$p_actdir,$uploaddir . conv_in($_FILES['p_file']['name']),conv_in($_FILES['p_file']['name'])); /*deleted from cache*/ unlink($uploaddir . $_FILES['p_file']['name']); } else { $ftp_error="Possible file upload attack!"; } ob_start();require("setup_admin.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); return; } } ob_start();require("setup.inc");$contents = ob_get_contents();ob_end_clean();theme_generate_setup_page($contents); } /**********************************************************/ /****************** FTP Functions *************************/ /**********************************************************/ function create_dir($conn,$remote_directory){ $dir=split("/", $remote_directory); $path=""; $result = true; error_reporting(0); for ($i=1;$i