";
}
function check_writable($dir){
$file=fopen($dir."writablity_test","w");
fclose($file);
// unlink($dir."writablity_test");
return $file;
}
function write_log(){
global $pa_setup,$cmd,$var1,$passwd,$pa_user;
if($pa_setup["logs_enabled"]=="true"){
$strings=explode(";",$pa_setup["logs_exclude"]);
$found="false";
$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);
foreach($strings as $num=>$string){
if(strlen($string)>0)
if(strstr($host,$string))$found="true";
}
if($found=="false"){
$file_log=fopen($pa_setup["cache_dir"].$pa_setup["logs_filename"],"a");
fwrite($file_log,date("D.M.j G:i:s")."|".$cmd."|".$var1."|".$pa_user["name"]."|".$host."|\n");
fclose($file_log);
}
}
}
function generate_theme($var1){
if($var1=="style_css"){
theme_get_style_css();
return;
}
}
function install_database(){
global $data_dir,$phpalbum_version,$init_album_dir,$init_cache_dir,$init_ftp_server,$init_ftp_photos_dir;
require("install_db.php");
}
/****************************************/
/* Start Program v0. */
/****************************************/
/*
foreach($_POST as $key=>$value){
$_POST[$key]=stripslashes($value);
}
*/
if(isset($_GET['cmd'])){
$cmd=$_GET['cmd'];
}
if(isset($_GET['keyword'])){
$pa_keywords=explode(" ",$_GET['keyword']);
foreach($pa_keywords as $key=>$value){
if(strlen(trim($value))==0){
unset($pa_keywords[$key]);
}
}
$pa_original_keywords=$_GET['keyword'];
$pa_keywords_unsorted=$pa_keywords;
}
if(isset($_GET['var1'])){
$var1=stripslashes($_GET['var1']);
}
if(isset($_GET['var2'])){
$var2=stripslashes($_GET['var2']);
}
if(isset($_GET['var3'])){
$var3=stripslashes($_GET['var3']);
}
if(isset($_GET['var4'])){
$var4=stripslashes($_GET['var4']);
}
if(isset($_POST['cmd'])){
$cmd=$_POST['cmd'];
}
if(isset($_POST['keyword'])){
$pa_keywords=explode(" ",$_POST['keyword']);
}
if(isset($_POST['var1'])){
$var1=$_POST['var1'];
}
if(isset($_POST['var2'])){
$var2=$_POST['var2'];
}
if(isset($_POST['var3'])){
$var3=$_POST['var3'];
}
if(isset($_POST['var4'])){
$var4=$_POST['var4'];
}
if($cmd!="album" &&
$cmd!="albumnew" &&
$cmd!="phpinfo" &&
$cmd!="thmb" &&
$cmd!="imageorig" &&
$cmd!="image" &&
$cmd!="imageview" &&
$cmd!="ecardview" &&
$cmd!="imageviewnew" &&
$cmd!="setup" &&
$cmd!="delcache" &&
$cmd!="logo" &&
$cmd!="theme" &&
$cmd!="themeimage" &&
$cmd!="antispampic" &&
//$cmd!="system_check" &&
$cmd!="setquality"){
$cmd="album";
}
require("phpdatabase.php");
/*if(!db_startup_database("album",$data_dir)){
install_database();
}*/
if(!db_startup_database("album",$data_dir)){
db_create_database("album",$data_dir);
install_database();
}
db_set_auto_commit(false);
$pa_db_version=db_select_all("phpalbum_version");
if(!isset($pa_db_version[0]) || $pa_db_version[0]["version"]!=$phpalbum_version){
include "upgrade_db.php";
}
read_settings();
require($themes_dir."engines/".$site_engine."/engine.php");
require("language.php");
if($cmd=="setquality"){
if(!($rec=db_select_all("quality","id=='$var1'"))){
//setted quality not found
$rec=db_select_all("quality","default=='true'");
}
$pa_quality=$rec[0];
setcookie("phpAlbum_quality",$pa_quality["id"],time()+60*60*24*365);
$cmd=$var2;$var1=$var3;$var2="";$var3="";
if(isset($var3)){ $var2=$var3;}
if(isset($var4)){ $var3=$var4;}
}else{
if(isset($_COOKIE["phpAlbum_quality"])){
if(!($rec=db_select_all("quality","id=='".$_COOKIE["phpAlbum_quality"]."'"))){
//setted quality not found
$rec=db_select_all("quality","default=='true'");
}
}else{
$rec=db_select_all("quality","default=='true'");
}
$pa_quality=$rec[0];
}
if(strstr($var1,"..")){
$var1="";
}
if(isset($_GET["logout"])){
setcookie("userid","",time()-60*60*24*365);
setcookie("userpassword","",time()-60*60*24*365);
}else{
if(isset($_COOKIE['userid'])){
$userid=$_COOKIE['userid'];
}
if(isset($_COOKIE['userpassword'])){
$userpassword=$_COOKIE['userpassword'];
}
}
if(isset($_POST["p_username"])){
$username=$_POST["p_username"];
$userpassword=md5($_POST["p_userpassword"]);
$rec=db_select_all("user","name=='".$username."' && password=='".$userpassword."'");
if(isset($rec[0])){
$pa_user=$rec[0];
if(!isset($_POST["p_storepassword"])){
setcookie("userid",$pa_user["id"]);
setcookie("userpassword",$userpassword);
}else{
setcookie("userid",$pa_user["id"],time()+60*60*24*365);
setcookie("userpassword",$userpassword,time()+60*60*24*365);
}
}else{
$pa_user=Array("name"=>"guest","groups"=>Array("guest"=>"1"));
}
}else{
$rec=db_select_all("user","id=='".$userid."' && password=='".$userpassword."'");
if(isset($rec[0])){
$pa_user=$rec[0];
$comment_name=$pa_user["name"];
$comment_email=$pa_user["email"];
}else{
$pa_user=Array("name"=>"guest","groups"=>Array("guest"=>"1"));
$comment_name=$_COOKIE["comment_name"];
$comment_email=$_COOKIE["comment_email"];
}
}
//take all groups where the user is a member
//and merge the grants to be easy to check it later if needed
$where="";
foreach($pa_user["groups"] as $key => $value){
if($where ==""){
$where = $where . "name=='".$key."'";
}else{
$where = $where . " || name=='".$key."'";
}
}
$rec=db_select_all("group",$where);
$pa_grants=Array();
if(is_array($rec)){
foreach($rec as $record){
if(is_array($record["grants"])){
$pa_grants =array_merge($pa_grants,$record["grants"]);
}
}
}
/*security check, either if it is disabled for actual user or it is not visible.*/
/*if accessed trough direct link it will be redirected to show the root directory*/
if($cmd=="album"){
$pa_dir_settings = get_directory_settings($var1,0);
if(!check_access_to_dir($var1) || $pa_dir_settings[0]["visibility"]=="false"){
$var1=""; // show the root directory.
$var2="";
$var3="";
$cmd="album";
}
}else if($cmd=="imageview" || $cmd=="thmb" || $cmd=="image"){
$pa_dir_settings = get_directory_settings(dirname($var1),0);
if(!check_access_to_dir(dirname($var1)) || $pa_dir_settings[0]["visibility"]=="false"){
$var1=""; // show the root directory.
$var2="";
$var3="";
$cmd="album";
}
}
$this_is_cachable=false;
if(is_cachable($cmd,$var1)) {
$this_is_cachable=true;
if(is_cached($cmd,$var1,$var2,$var3,$quality)) {
load_from_cache($cmd,$var1,$var2,$var3,$quality);
//echo "