|
// +----------------------------------------------------------------------+
//
// $Id: class.hw_vgal.php,v 1.00 2005/01/25 21:27:16 mansion Exp $
/**
* hw_vgal
*
* This class allows for building an Gallery from given Folder.
* The class is highly customizable by an Array of common Parameters
* The HTML Output is not yet based on Templates
*
* @author Marian Feiler
* @package hw_vgal
*/
class portrait{
/* PageIteraor */
/**
* Standard PageNumber
* Ex: 1 or 5
* @var int
*/
var $pageNo = 1;
/**
* Standard Folders per Page
* Ex: 5 or 10
* @var int
*/
var $perPage = 1;
/**
* Maximum Pagenumbers to display
* Ex: 5 or 10
* @var int
*/
var $pageLinks = 0;
/* POST und GET Daten */
/**
* The fetched Data from the $_GET - Variable
* @var string
*/
var $gdata = array();
/* Verzeichnisse */
/**
* Folder to begin the Search for other Folders with contents
* Ex: ../gallery or gallery
* @var string
*/
var $startverzeichnis = portraitPATH;
/**
* Folders that should not be displayed
* Ex: array("Folder1", "Folder2");
* @var string
*/
var $ausgeschlossene_verzeichnisse = array();
/**
* Max Number of shown Pics per Line
* Ex: 2 or 3
* @var int
*/
var $bilder_in_Zeile = 4;
/**
* Suffix of Picturefiles
* Ex: jpg or png or gif
* @var string
*/
var $bild_endung = "jpg";
/**
* possible suffix for videofiles
* Ex: array("mpg", "wmv", "mpeg");
* @var string
*/
var $video_endungen = array("mpg", "wmv", "mpeg");
/**
* Whether to show empty folders
* Ex: true or false
* @var boolean
*/
var $leere_anzeigen = false;
/**
* Whether to show Debugmessages
* Ex: true or false
* @var boolean
*/
var $debug = false;
/**
* Used for Pagebreak
* @var object
*/
var $paginator;
/**
* Used for Pagebreak
* @var object
*/
var $html;
var $t;
var $admin = 0;
var $g;
var $lang;
var $rdata;
var $bereich = "portrait";
/**
* Constructor
* fetches the given Params, the $_GET-Data
* and updates the perPage and pageNo variables
*
* @param array $param Parameter für die Klasse
* $params = array("bild_endung" => "jpg",
* "video_endungen" => array("wmv", "mpeg"),
* "bilder_in_zeile" => 2,
* "leere_anzeigen" => false,
* "pageNo" => 1,
* "perPage" => 5,
* "pageLinks" => 10,
* "startverzeichnis" => "../portrait/",
* "ausgeschlossene_verzeichnisse" => array("Test Galerie 2","Test Galerie 7")
* );
* bild_endung = der Suffix der Bilddateien in den Ordnern
* video_endungen = die erlaubten Videosuffixe als Array
* bilder_in_zeile = Anzahl Bilder einer Zeile bei Galerie eines Ordners
* leere_anzeigen = Leere Ordner anzeigen? Boolsche Werte true und false
* pageNo = Welche Seite soll als erste angezeigt werden? 1 oder 2 oder ?
* perPage = Wieviele Ordner auf einer Seite? 5 oder 10 oder 20 oder ?
* pageLinks = Wieviele Seitenzahlen auf einmal? 5 oder 10 oder ?
* startverzeichnis = in welchem Verzeichnis sind die Ordner?
* ausgeschlossene_verzeichnisse = nicht anzeigen als Array
*
* @access public
* @return bool
*/
function portrait($params = array()){
global $_GET, $_SESS;
foreach($params as $key => $val){
$this->$key = $val;
}
$this->gdata = $_REQUEST;
$this->g = $_REQUEST;
if($this->gdata['perPage'] != "") $this->perPage = $this->gdata['perPage'];
if($this->gdata['pageNo'] != "") $this->pageNo = $this->gdata['pageNo'];
if($this->g[mode] != ""){
$this->save();
}
$this->t = new Template;
if($_SESS[admin] == 1) $this->admin = 1;
if($this->g['do'] == "delpic"){
$res = @mysql_query("SELECT gal_id FROM portrait_pics WHERE id='".$this->g[pic]."'");
$out = @mysql_fetch_object($res);
@mysql_query("DELETE FROM portrait_pics WHERE id='".$this->g[pic]."'");
@unlink(portraitPATH.$out->gal_id."/".$this->g[id].".jpg");
@unlink(portraitPATH.$out->gal_id."/thumbs/".$this->g[id].".jpg");
@unlink(portraitPATH.$out->gal_id."/mobile/".$this->g[id].".jpg");
}
if($this->g['do'] == "delserie"){
@mysql_query("DELETE FROM portrait_galleries WHERE galid='".$this->g[serie]."'");
@mysql_query("DELETE FROM portrait_pics WHERE gal_id='".$this->g[serie]."'");
$handle1 = @opendir(portraitPATH.$this->g[serie]."/mobile/");
$handle2 = @opendir(portraitPATH.$this->g[serie]."/thumbs/");
$handle3 = @opendir(portraitPATH.$this->g[serie]);
while($file = @readdir($handle1)){
if($file != ".." && $file != "."){
@unlink(portraitPATH.$this->g[serie]."/mobile/".$file);
}
}
while($file = @readdir($handle2)){
if($file != ".." && $file != "."){
@unlink(portraitPATH.$this->g[serie]."/thumbs/".$file);
}
}
while($file = @readdir($handle3)){
if($file != ".." && $file != "." && $file != "mobile" && $file != "thumbs"){
@unlink(portraitPATH.$this->g[serie]."/".$file);
}
}
@rmdir(portraitPATH.$this->g[serie]."/mobile/");
@rmdir(portraitPATH.$this->g[serie]."/thumbs/");
@rmdir(portraitPATH.$this->g[serie]);
}
$this->html = "";
//echo $this->startverzeichnis;
return true;
}
function start(){
global $lplus;
if($this->admin == 1){
$lplus->ub .= "g[catid]."&art=".$this->g[art]."&pljob=editSerie\">neue Bilderserie";
$res = mysql_query("SELECT * FROM portrait_galleries WHERE bereich='".$this->bereich."'ORDER BY galdate DESC");
$nums = mysql_num_rows($res);
if($nums < 1){
$this->format = 1;
return "Es gibt noch keine Bilderserien.";
}else{
for($i = 0; $i < $nums; $i++){
$out = mysql_fetch_object($res);
$ret .= "g[catid]."&art=".$this->g[art]."&pljob=showPics&serie=".$out->galid."\">".$out->galname_dt." g[catid]."&art=".$this->g[art]."&pljob=editSerie&serie=".$out->galid."\">
galid."', '".urlencode("start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&do=delserie&serie=".$out->galid)."');\">
";
}
}
$ret .= "";
return $ret;
$this->t->prepare("portrait_admin.html");
$this->t->set("CONTENT", $ret);
}else{
if($this->g[serie] == ""){
$res = mysql_query("SELECT galid, galname_dt FROM portrait_galleries WHERE bereich='".$this->bereich."' ORDER BY galdate DESC limit 0,1") or die(mysql_error());
$out = mysql_fetch_object($res);
//echo $out->galid;
$gal = $out->galid;
$res = mysql_query("SELECT * FROM portrait_pics WHERE firstpic='yes' AND gal_id='".$out->galid."' ORDER BY datumzeit DESC") or die(mysql_error());
}else{
$res = mysql_query("SELECT galid, galname_dt FROM portrait_galleries WHERE galid='".$this->g[serie]."' AND bereich='".$this->bereich."' ORDER BY galdate DESC limit 0,1") or die(mysql_error());
$out = mysql_fetch_object($res);
$gal = $out->galid;
if($this->g[pic] != ""){
$res = mysql_query("SELECT * FROM portrait_pics WHERE id='".$this->g[pic]."' AND gal_id='".$this->g[serie]."' ORDER BY datumzeit DESC") or die(mysql_error());
}else{
$res = mysql_query("SELECT * FROM portrait_pics WHERE firstpic='yes' AND gal_id='".$this->g[serie]."' ORDER BY datumzeit DESC") or die(mysql_error());
}
}
$out = mysql_fetch_object($res);
$thenav = $this->nav($out->galid, $out->id);
//echo $out->id;
$this->t->prepare("bild,data.html");
$bd = "";
if($out->vorname != "") $bd .= $out->vorname." ";
if($out->name != "") $bd .= $out->name;
if(($out->vorname != "" || $out->name != "") && $out->gebdat != "") $bd .= ", geb. ".$out->gebdat;
if(($out->vorname == "" && $out->name == "") && $out->gebdat != "") $bd .= "geb. ".$out->gebdat;
if($out->vorname != "" || $out->name != "" || $out->gebdat != "") $bd .= "
";
if($out->beruf != "") $bd .= $out->beruf."
";
if($out->kommentar != "") $bd .= $out->kommentar."
";
if($out->location != "") $bd .= "".$out->location."";
if($out->ort != "") $bd .= "
".$out->ort;
$tmp = explode(" ", $out->datumzeit);
$tmp1 = explode("-", $tmp[0]);
if($tmp1[0] != 0000){
if($out->ort == "") $bd .= "
";
$bd .= ", ".$tmp1[2].".".$tmp1[1].".".$tmp1[0];
}
$this->t->set("BILDDATA", $bd);
$lplus->pdata = $this->t->tpl;
if($out->format == "hoch"){
$this->t->prepare("portrait,bild,hoch.html");
}else{
$this->t->prepare("portrait,bild,quer.html");
}
//echo $out->id;
$this->t->set("BPIC", "
id.".jpg\" alt=\"".$out->vorname." ".$out->name."\" title=\"".$out->vorname." ".$out->name."\">");
if($this->g[pic] != ""){
$res = mysql_query("SELECT id, firstpic, picpos, format, vorname, name FROM portrait_pics WHERE id!='".$this->g[pic]."' AND gal_id='".$this->g[serie]."' AND bereich='".$this->bereich."' ORDER BY datumzeit DESC") or die(mysql_error());
}else{
$res = mysql_query("SELECT id, firstpic, picpos, format, vorname, name FROM portrait_pics WHERE firstpic!='yes' AND gal_id='".$gal."' AND bereich='".$this->bereich."' ORDER BY datumzeit DESC") or die(mysql_error());
}
$nums = mysql_num_rows($res);
for($i = 0; $i < 4; $i++){
$out = @mysql_fetch_object($res);
if($out->id != ""){
$ret = "
g[catid]."&art=".$this->g[art]."&serie=".$gal."&pic=".$out->id."';\" align=\"center\" valign=\"middle\" class=\"img\" onmouseover=\"this.id='overIMG'; this.style.cursor='pointer'\" onmouseout=\"this.id='IMG'; this.style.cursor='default'\"> id.".jpg\" alt=\"".$out->vorname." ".$out->name."\" title=\"".$out->vorname." ".$out->name."\" border=\"0\" /> |
";
//$this->t->set("BILD".($i+1), "g[catid]."&art=".$this->g[art]."&serie=".$gal."&pic=".$out->id."\">
id.".jpg\" border=\"0\">");
$this->t->set("BILD".($i+1), $ret);
}else{
$this->t->set("BILD".($i+1), "
");
}
}
}
$res = mysql_query("SELECT a.name, a.vorname, b.galid FROM portrait_pics a, portrait_galleries b WHERE b.bereich='".$this->bereich."' AND a.gal_id=b.galid GROUP BY a.name, a.vorname ORDER BY b.galdate DESC") or die(mysql_error());
$nums = mysql_num_rows($res);
//echo $nums;
for($i = 0; $i < $nums; $i++){
$out = mysql_fetch_object($res);
if($out->name != "" || $out->vorname != ""){
$lplus->namensliste .= "
g[catid]."&serie=".$out->galid."\">".($out->vorname != "" ? $out->vorname.' ' : '').$out->name."";
}
}
$this->t->set("BUTTONS", $thenav);
return $this->t->tpl;
}
function nav($act, $pic){
global $front_url, $left_nav_aktiv, $left_nav_passiv, $right_nav_aktiv, $right_nav_passiv, $ueber_nav_aktiv, $ueber_nav_hover, $right_nav_hover, $left_nav_hover;
$navl = new Template;
$res = mysql_query("SELECT galid FROM portrait_galleries WHERE bereich='".$this->bereich."' ORDER BY galdate DESC");
$nums = mysql_num_rows($res);
for($i = 0; $i < $nums; $i++){
$out = mysql_fetch_object($res);
$id[] = $out->galid;
$out->galid == $act ? $act_i = $i : '';
}
if($act == $id[0]){
//$nav[left] = "javascript:void(0);";
//$nav[left] = "
";
$link = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[($nums-1)];
$nav[left] = "
";
}else{
$link = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[($act_i-1)];
$nav[left] = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[($act_i-1)];
$nav[left] = "
";
}
if($act == $id[($nums-1)]){
$nav[right] = "javascript:void(0);";
$nav[right] = "
";
$link = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[0];
$nav[right] = "
";
}else{
$link = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[($act_i+1)];
$nav[right] = "start.php?catid=".$this->g[catid]."&art=".$this->g[art]."&serie=".$id[($act_i+1)];
$nav[right] = "
";
}
$link = $front_url."?x=bilder";
//$nav[ueber] = "".$bild."";
$nav[ueber] = "";
//echo $nums;
$link = "start.php?catid=".MEMOID."&pic=".$pic."&pib=save";
$nav[memo] = "
";
$navi = $this->t;
$navi->prepare("portrait,button,backforward.html");
$navi->set("BACKWARD", $nav[left]);
$navi->set("FORWARD", $nav[right]);
$navi->set("MEMO", $nav[memo]);
return $navi->tpl;
}
function showPics(){
global $lplus;
$lplus->ub .= "g[art]."&catid=".$this->g[catid]."&serie=".$this->g[serie]."&pljob=newgalpics\">neue Bilder hochladen";
return $this->create_gal($this->g[serie]);
}
function newgalpics(){
if($this->admin == 1 && $this->g[serie] != ""){
$res = mysql_query("SELECT * FROM portrait_galleries WHERE galid='".$this->g[serie]."'");
$out = mysql_fetch_object($res);
$this->html .= "";
}else{
$this->html = "You are not an Admin of this site!";
}
return $this->html;
}
function editgalpics(){
if($this->admin == 1 && $this->g[serie] != "" && $this->g[pic] != ""){
$this->html .= "";
}else{
$this->html = "You are not an Admin of this site!";
}
return $this->html;
}
function editSerie(){
if($this->admin == 1){
if($this->g[serie] == ""){
$this->html .= "";
}else{
$res = mysql_query("SELECT * FROM portrait_galleries WHERE galid='".$this->g[serie]."'");
$out = mysql_fetch_object($res);
$this->html .= "";
}
}
return $this->html;
}
function save(){
//print_r($_FILES);
require_once("../classes/class.thumbs.php");
if($this->g[mode] == "newgalnamesave"){
if(!file_exists(portraitPATH."minipics")){
mkdir(portraitPATH."minipics", 0777);
}
for( $i = 0; $i < count( $_FILES[photo][name] ); $i++ ){
if( $_FILES[photo][name][ $i ] != "" && $_FILES[photo][name][ $i ] != "none"){
if( $_FILES[photo][size][ $i ] > 2048000 ) error( "Invalid image size" );
if( $_FILES[photo][type][ $i ] == "image/pjpeg" || $_FILES[photo][type][ $i ] == "image/jpeg" ){
$newphoto[] = $_FILES[photo][tmp_name][ $i ];
}else{
die( "Invalid image type, JPEG only" );
}
}
}
$minipic = md5($this->g[titel].time());
copy( $newphoto[ $i ], portraitPATH."/minipics/".$minipic.".jpg" );
$res = mysql_query("INSERT INTO portrait_galleries SET galname_dt='".$this->g[galname_dt]."', titel='".$this->g[titel]."', kurztext='".$this->g[kurztext]."', name='".$this->g[name]."', vorname='".$this->g[vorname]."', gebdat='".$this->g[gebdat]."', beruf='".$this->g[beruf]."', kommentar='".$this->g[kommentar]."', location='".$this->g[location]."', ort='".$this->g[ort]."', galdate='".$this->g[galdate]."', minipic='".$minipic."', cat='".$this->g[catid]."', art='".$this->g[art]."', bereich='".$this->bereich."'") or die ( mysql_error() ) ;
}elseif($this->g[mode] == "editgalnamesave"){
for( $i = 0; $i < count( $_FILES[photo][name] ); $i++ ){
if( $_FILES[photo][name][ $i ] != "" && $_FILES[photo][name][ $i ] != "none"){
if( $_FILES[photo][size][ $i ] > 2048000 ) error( "Invalid image size" );
if( $_FILES[photo][type][ $i ] == "image/pjpeg" || $_FILES[photo][type][ $i ] == "image/jpeg" ){
$newphoto = $_FILES[photo][tmp_name][ $i ];
}else{
die( "Invalid image type, JPEG only" );
}
}
}
if($newphoto != ""){
$minipic = md5($this->g[titel].time());
$minipic1 = ", minipic='".$minipic."'";
copy( $newphoto, portraitPATH."/minipics/".$minipic.".jpg" );
}else{
$minipic1 = "";
}
//echo $minipic1;
$res = mysql_query("UPDATE portrait_galleries SET galname_dt='".$this->g[galname_dt]."', titel='".$this->g[titel]."', kurztext='".$this->g[kurztext]."', name='".$this->g[name]."', vorname='".$this->g[vorname]."', gebdat='".$this->g[gebdat]."', beruf='".$this->g[beruf]."', kommentar='".$this->g[kommentar]."', location='".$this->g[location]."', ort='".$this->g[ort]."', galactive='".$this->g[galactive]."', bereich='".$this->g[bereich]."', galdate='".$this->g[galdate]."' ".$minipic1." WHERE galid='".$this->g[serie]."'");
}elseif($this->g[mode] == "newgalpicssave"){
if(!file_exists(portraitPATH.$this->g[serie])){
mkdir(portraitPATH.$this->g[serie], 0777);
}
if(!file_exists(portraitPATH.$this->g[serie]."/thumbs")){
mkdir(portraitPATH.$this->g[serie]."/thumbs", 0777);
}
if(!file_exists(portraitPATH.$this->g[serie]."/mobile")){
mkdir(portraitPATH."/".$this->g[serie]."/mobile", 0777);
}
for( $i = 0; $i < count( $_FILES[photo][name] ); $i++ ){
if( $_FILES[photo][name][ $i ] != "" && $_FILES[photo][name][ $i ] != "none"){
if( $_FILES[photo][size][ $i ] > 2048000 ) error( "Invalid image size" );
if( $_FILES[photo][type][ $i ] == "image/pjpeg" || $_FILES[photo][type][ $i ] == "image/jpeg" ){
$newphoto[] = $_FILES[photo][tmp_name][ $i ];
}else{
die( "Invalid image type, JPEG only" );
}
}
}
//echo count($newphoto);
for( $i = 0; $i < count( $newphoto ); $i++ ){
//echo $ad_id;
$im = ImageCreateFromJPEG( $newphoto[$i] );
$piW = ImageSX( $im );
$piH = ImageSY( $im );
if($piW > $piH) $format = "quer";
if($piW < $piH) $format = "hoch";
if($piW == $piH) $format = "quer";
mysql_query( "INSERT INTO portrait_pics ( picname, name, vorname, gebdat, beruf, kommentar, location, ort, datumzeit, format, gal_id, bereich, portfolio ) VALUES ( '".$this->g[photoname_dt][$i]."', '".$this->g[name][$i]."', '".$this->g[vorname][$i]."', '".$this->g[gebdat][$i]."', '".$this->g[beruf][$i]."', '".$this->g[kommentar][$i]."', '".$this->g[location][$i]."', '".$this->g[ort][$i]."', '".$this->g[datumzeit][$i]."', '".$format."', '".$this->g[serie]."', '".$this->bereich."', '".$this->g[portfolio][$i]."' )" ) or die("photo insert". mysql_error() );
$photoid = mysql_insert_id();
//copy( $newphoto[ $i ], "tmp/".$photoid.".jpg" );
copy( $newphoto[ $i ], portraitPATH.$this->g[serie]."/mobile/".$photoid.".jpg" );
$imginfo = @getimagesize($newphoto[$i]);
if ($imginfo != NULL){
$breite = $imginfo[0];
$hoehe = $imginfo[1];
}
if($breite >= 560 || $hoehe >= 560){
$tb_gr = new thumbs(560,560, portraitPATH.$this->g[serie]."/mobile/".$photoid.".jpg", portraitPATH.$this->g[serie]."/".$photoid.".jpg");
$tb_gr->create_thumb();
//thumbs::addWatermark(portraitPATH.$this->g[serie]."/".$photoid.".jpg");
}else{
copy( portraitPATH.$this->g[serie]."/mobile/".$photoid.".jpg", portraitPATH.$this->g[serie]."/".$photoid.".jpg" );
//thumbs::addWatermark(portraitPATH.$this->g[serie]."/".$photoid.".jpg");
}
$tb_kl = new thumbs(98,98, portraitPATH.$this->g[serie]."/mobile/".$photoid.".jpg", portraitPATH.$this->g[serie]."/thumbs/".$photoid.".jpg");
$tb_kl->create_thumb();
//copy( $newthumb[ $i ], "../images/thumb/{$photoid}.jpg" );
unlink( $newphoto[ $i ] );
$this->html .= "
Bilder eingetragen
";
}
}elseif($this->g[mode] == "editgalpicssave"){
for( $i = 0; $i < count( $_FILES[photo][name] ); $i++ ){
if( $_FILES[photo][name][ $i ] != "" && $_FILES[photo][name][ $i ] != "none"){
if( $_FILES[photo][size][ $i ] > 2048000 ) error( "Invalid image size" );
if( $_FILES[photo][type][ $i ] == "image/pjpeg" || $_FILES[photo][type][ $i ] == "image/jpeg" ){
$newphoto[] = $_FILES[photo][tmp_name][ $i ];
}else{
die( "Invalid image type, JPEG only" );
}
}
}
mysql_query( "UPDATE portrait_pics SET picname='".$this->g[photoname_dt]."', name='".$this->g[name]."', vorname='".$this->g[vorname]."', gebdat='".$this->g[gebdat]."', beruf='".$this->g[beruf]."', kommentar='".$this->g[kommentar]."', location='".$this->g[location]."', ort='".$this->g[ort]."', datumzeit='".$this->g[datumzeit]."', gal_id='".$this->g[serie]."', bereich='".$this->bereich."', portfolio='".$this->g[portfolio]."' WHERE id='".$this->g[pic]."'") or die ( mysql_error() );
//echo count($newphoto);
for( $i = 0; $i < count( $newphoto ); $i++ ){
//echo $ad_id;
$im = ImageCreateFromJPEG( $newphoto[$i] );
$piW = ImageSX( $im );
$piH = ImageSY( $im );
if($piW > $piH) $format = "quer";
if($piW < $piH) $format = "hoch";
if($piW == $piH) $format = "quer";
mysql_query( "UPDATE portrait_pics SET format='".$format."' WHERE id='".$this->g[pic]."'") or die( mysql_error() );
//copy( $newphoto[ $i ], "tmp/".$photoid.".jpg" );
copy( $newphoto[ $i ], portraitPATH.$this->g[serie]."/mobile/".$this->g[pic].".jpg" );
$imginfo = @getimagesize($newphoto[$i]);
if ($imginfo != NULL){
$breite = $imginfo[0];
$hoehe = $imginfo[1];
}
if($breite >= 560 || $hoehe >= 560){
$tb_gr = new thumbs(560,560, portraitPATH.$this->g[serie]."/mobile/".$this->g[pic].".jpg", portraitPATH.$this->g[serie]."/".$this->g[pic].".jpg");
$tb_gr->create_thumb();
//thumbs::addWatermark(portraitPATH.$this->g[serie]."/".$photoid.".jpg");
}else{
copy( portraitPATH.$this->g[serie]."/mobile/".$this->g[pic].".jpg", portraitPATH.$this->g[serie]."/".$this->g[pic].".jpg" );
//thumbs::addWatermark(portraitPATH.$this->g[serie]."/".$photoid.".jpg");
}
$tb_kl = new thumbs(98,98, portraitPATH.$this->g[serie]."/mobile/".$this->g[pic].".jpg", portraitPATH.$this->g[serie]."/thumbs/".$this->g[pic].".jpg");
$tb_kl->create_thumb();
//copy( $newthumb[ $i ], "../images/thumb/{$photoid}.jpg" );
unlink( $newphoto[ $i ] );
$this->html .= "
Bilder eingetragen
";
}
}elseif($this->g[mode] == "setFirstPic"){
@mysql_query("UPDATE portrait_pics SET firstpic='no' WHERE gal_id='".$this->g[serie]."'");
@mysql_query("UPDATE portrait_pics SET firstpic='yes' WHERE id='".$this->g[pic]."'");
}
return $this->html;
}
/**
* creates the Output
*
* @access public
* @return bool
*/
function _start(){
if($this->admin == 1 && $this->g[mode] == "newgalpics" && $this->g[galid] != ""){
$this->html .= "";
}else{
$data = $this->galnames2array();
//print_r($data);
//echo $this->pageNo;
//echo $this->perPage;
$this->html .= $this->pagit($data, 0);
//echo 'VIDEOCLIPS
';
$this->html .= '';
if($this->admin == 1 && $this->g[mode] != "editgalname"){
$this->html .= "
";
}
while($this->paginator->hasNextElement()){
$ndx = $this->paginator->nextElement();
//echo $ndx;
//echo $this->lang." - ".$data[$ndx]["galname_".$this->lang]."
";
if(!is_file($data[$ndx][ub])){
if($this->admin != 1){
$this->html .= "
 |
| ".$data[$ndx]["galname_".$this->lang]." |
 |
 |
 |
";
}
if($this->admin == 1){
if($this->g[mode] == "editgalname" && $data[$ndx][galid] == $this->g[galid]){
$this->html .= "";
}else{
$this->html .= '
'.$data[$ndx]["galname_".$this->lang].' ';
if($data[$ndx][galactive] == "yes"){
$this->html .= " aktiv ";
}else{
$this->html .= " inaktiv ";
}
$this->html .= '';
$this->html .= "
g[art]."&catid=".$this->g[catid]."&galid=".$data[$ndx][galid]."&mode=newgalpics\">neue Bilder hochladen";
}
}
$this->html .= '';
}
//print_r($this->getfoldercontent($data[$ndx][ub]));
if(is_array($this->getgalcontent($data[$ndx][galid]))){
$this->html .= '';
$this->html .= $this->create_gal($data[$ndx][galid],$this->getgalcontent($data[$ndx][galid]));
$this->html .= '';
}
}
$this->html .= '
';
$this->html .= $this->pagit($data);
}
return true;
}
/**
* Returns HTML
*
* @access public
* @return string
*/
function getHTML(){
echo $this->html;
}
/**
* Creates an Array of Contents of the given Folder
*
* @param string $folder actual Folder to be read in
* @access private
* @return array
*/
function getfoldercontent($folder){
//echo $this->startverzeichnis.$folder;
$handle = opendir($this->startverzeichnis.$folder);
$i = 0;
while($file = readdir($handle)){
if($file != "." && $file != ".."){
$tmp = split("\.", $file);
//echo $tmp[0]." ".$tmp[1];
if($tmp[1] == $this->bild_endung){
$arr[bild_name][] = $tmp[0];
$arr[bild_dateiname][] = $file;
reset($this->video_endungen);
while(list($key,$vid) = each($this->video_endungen)){
//echo $vid;
//echo $this->startverzeichnis.$folder."/".$tmp[0].".".$vid;
if(file_exists($this->startverzeichnis.$folder."/".$tmp[0].".".$vid)){
$arr[video_dateiname][] = $tmp[0].".".$vid;
}
}
}
}
$i++;
}
return $arr;
}
function getgalcontent($galid){
//echo $this->startverzeichnis.$folder;
$res = mysql_query("SELECT * FROM portrait_pics where gal_id='".$galid."'");
$nums = mysql_num_rows($res);
$handle = opendir($this->startverzeichnis.$folder);
for($i = 0; $i < $nums; $i++){
$out = mysql_fetch_object($res);
$arr[bild_name][] = $out->{"picname_".$this->lang};
$arr[bild_dateiname][] = $out->id;
}
return $arr;
}
/**
* Creates an Array of the dirnames within the startfolder
*
* @access private
* @return array
*/
function dirnames2array(){
if(!is_dir($this->startverzeichnis))
die("FATAL ERROR: Das angegebene Verzeichnis ist nicht vorhanden");
$handle = opendir($this->startverzeichnis);
while($file = readdir($handle)){
if($file != "." && $file != ".." && is_dir($this->startverzeichnis.$file)){
if($this->leere_anzeigen == true){
if($this->in_dir($file, $this->video_endungen)){
if(!in_array($file, $this->ausgeschlossene_verzeichnisse)){
$alldirs[][ub] = $file;
}
}else{
if(!in_array($file, $this->ausgeschlossene_verzeichnisse)){
$alldirs[][ub] = $file;
}
}
}else{
if($this->in_dir($file, $this->video_endungen)){
if(!in_array($file, $this->ausgeschlossene_verzeichnisse)){
$alldirs[][ub] = $file;
}
}
}
//echo $file;
}
}
//print_r($alldirs);
return $alldirs;
}
function galnames2array(){
if($this->admin != 1){
$where = "WHERE galactive='yes'";
if($this->g[art] != ""){
$where .= " AND art='".$this->g[art]."'";
}else{
$where .= " AND cat='".$this->g[catid]."'";
}
if(MULTILANG == "on"){
if($this->lang == "dt"){
$where .= " AND galname_dt != ''";
}elseif($this->lang == "en"){
$where .= " AND galname_en != ''";
}elseif($this->lang == "fr"){
$where .= " AND galname_fr != ''";
}
}
}else{
if($this->g[art] != ""){
$where .= "WHERE art='".$this->g[art]."'";
}else{
$where .= "WHERE cat='".$this->g[catid]."'";
}
}
$res = mysql_query("SELECT * from portrait_galleries ".$where." ORDER BY galdate DESC");
$nums = mysql_num_rows($res);
if($nums >= 1){
while($out = mysql_fetch_array($res)){
$gals[] = $out;
}
}
return $gals;
}
/**
* checks whether allowed Videofiles are in folder
*
* @param string $file folder to be checked
* @param string $sufarray suffixes to be checked
* @access private
* @return bool
*/
function in_dir($file, $sufarray){
$handle = opendir($this->startverzeichnis.$file);
while($test = readdir($handle)){
if($test != "." && $test != ".." && is_file($this->startverzeichnis.$file."/".$test)){
$tmp = split("\.", $test);
if(in_array($tmp[(count($tmp)-1)], $sufarray)){
return true;
}
}
}
return false;
}
/**
* Creates the picture gallery itself
*
* @param string $d_dir actual Folder to workin (used for links)
* @param array $d_data Array of the picture and videodata
* @access private
* @return string containing the gallery of the dir
*/
function create_gal($serie){
//print_r($d_data);
//$ret = "";
$this->startverzeichnis = portraitPATH;
$d_dir = $serie;
$res = mysql_query("SELECT * FROM portrait_pics WHERE gal_id='".$serie."'");
$nums = mysql_num_rows($res);
//echo $nums;
$cpl = $this->bilder_in_zeile+4;
$rows = 1;
$k = 1;
$v = 1;
$line = ceil($nums/$cpl);
for($i = 0; $i < $nums; $i++){
$out = mysql_fetch_object($res);
if($k == 1) $ret .= "
";
$img = ImageCreateFromJpeg($this->startverzeichnis.$d_dir."/".$out->id.".jpg");
$heigth = ImageSY($img);
$width = ImageSX($img);
$ret .= " | ";
if($k == $nums){ $ret .= "
 |
";
}elseif($v == 5){
$ret .= "
 |
";
}
$v == 5 ? $v = 1 : $v++;
$k++;
}
return $ret;
}
/**
* Creates the Navigation, to navigate through the pages
*
* @param string $data to count $data
* @param int $pnons whether to show Page x of y
* @access private
* @return string contains HTML for the Navi
*/
function pagit($data, $pnons = 0){
$ret = "";
if($data){
$this->paginator = new PageIterator(sizeof($data), $this->pageNo, $this->perPage, $this->pageLinks, $d);
$this->pageNo = $this->paginator->getCurrentPageNumber(); // $data may cause $this->pageNo to change
}else{
$this->paginator = new PageIterator(sizeof($data), $this->pageNo, $this->perPage, $this->pageLinks);
}
if($pnons == 1){
$ret .= '';
$ret .= ''.PAGE.' ' . $this->pageNo . ' '.POF.' ' . $this->paginator->getPageCount();
$ret .= '
';
//echo $_SERVER['QUERY_STRING'];
$qs = "&".$_SERVER['QUERY_STRING'];
$qs = $this->RemoveArgFromURL($qs, 'pageNo');
$qs = $this->RemoveArgFromURL($qs,'perPage');
$qs = $this->RemoveArgFromURL($qs,'pageLinks');
if($qs != "") $qs = $qs;
$ret .= '';
// Print page links like << < [1] [2] [3] ... [n] > >>
if($this->paginator->getPageCount() > 1){
if ($this->pageNo == 1){
$ret .= '<< < ';
}else{
$ret .= '<< ';
$ret .= '< ';
}
while($this->paginator->hasNextPage()){
$ndx = $this->paginator->nextPage();
if($ndx == $this->pageNo){
$ret .= "$ndx ";
}else{
$ret .= '';
$ret .= '[' . $ndx . '] ';
}
}
if($this->pageNo == $this->paginator->getPageCount()){
$ret .= '> >> ';
}else{
$ret .= '> ';
$ret .= '>> ';
}
}
$ret .= '
';
}
return $ret;
}
function RemoveArgFromURL($URL,$Arg){
while($Pos = strpos($URL,"$Arg=")){
if($Pos){
if($URL[$Pos-1] == "&"){
$Pos--;
}
$nMax = strlen($URL);
$nEndPos = strpos($URL,"&",$Pos+1);
if($nEndPos === false){
$URL = substr($URL,0,$Pos);
}else{
$URL = str_replace(substr($URL,$Pos,$nEndPos-$Pos),'',$URL);
}
}
}
return $URL;
}
};
?>