72quadrat: PHP Funktion nacheinander wiederholt ausführen

Beitrag lesen

O.K.
Hier die beiden Funktionen wobei in der gallery Funktion die album Funktion aufgerufen wird...

Das ganze arbeitet mit der Slideshowpro Director PHP-API zusammen so daß hier einiges natürlich sehr Slideshowpro Director spezifisch ist.

<?php  
	/***  
	*	Html für eine ganze Galerie erstellen  
	*	dabei auf die Funktion 'album' zurückgreifen  
	*	  
	*	<?php gllery([gallery_id
) ?>  
	***/  
  
	function gallery( $gallery_id ) {  
  
		$director = new sspdc;  
	    $gallery = $director->gallery->get( $gallery_id );  
  
		//echo '<h2 class="ssp-gallery-title">' . $gallery->name . '</h2>';  
		//echo '<p class="ssp-gallery-description>"' . $gallery->description . '</p>';  
  
		if( current_user_can('level_10')) {  
			echo ' x x x ';  
		}  
  
		// Das Array mit meinen Alben definiere  
		$meinealben = array();  
  
		foreach($gallery->albums->album as $album) {  
			// Die ID eines Albums als String und nicht als XML-Object auslesen  
			// damit wir mit dem String weitermachen können  
			$id = (string) $album->id ;  
			// String in mein neues Array packen  
			array_push($meinealben, $id);  
		}  
  
		// Doppelte Eintraege entfernen  
		$meinealben = array_unique($meinealben);  
  
		// Die einzelnen IDs der Alben in einer Foreach Schleife bearbeiten  
		foreach($meinealben as $album_id) {  
			album( $album_id, 100 );  
		}  
  
	}  
?>  
<?php  
	/***  
	*	Html für ein angegebenes Album erstellen  
	*	  
	*	  
	*	<?php album([alumb_id],[bildanzahl]) ?>  
	***/  
  
	function album( $album_id, $image_count ) {  
  
		$director = new sspdc;  
		$album = $director->album->get( $album_id );  
		$images = $album->contents[0];  
		$description = $album->description;  
  
		// Die Zeilenumbrueche in der Beschreibung der Director API Funktion  
		// in einzelne zeilen splitten  
		$intro = $director->utils->convert_line_breaks($album->description);  
  
		// Die Beschreibung mit dem eingefügten "[mehr]" in zwei Teile teilen  
		// und ein Array darauf formen $description[0] ist der 1. Teile  
		// $description[1] der zweite Teil  
		$description = split ("\[mehr\]", $description);  
  
		// Die Zeilenumbrueche in der Beschreibung der Director API Funktion  
		// in einzelne zeilen splitten  
		$intro = $director->utils->convert_line_breaks($description[0]);  
		$intro = str_replace( "<br>", "<br/>", $intro);  
		$beschreibung = $director->utils->convert_line_breaks($description[1]);  
		$beschreibung = str_replace( "<br>", "<br/>", $beschreibung);  
  
		$i = 0;  
		$html = '<div class="ssp-post">';  
		$html .= '<h3>'. $album->name . '</h3>';  
		$html .= '<div class="ssp-intro">'. $intro . '</div>';  
		if( current_user_can('level_10')) {  
			$html.= ' x x x '. memory_get_usage() .' Bytes</span></div>';  
		}  
		$html .= '<div class="ssp-thumbs-container">';  
		$html .= '<div class="ssp-thumbs">';  
  
		foreach( $images as $image ) {  
			if ($i < $image_count ) {  
				if ($director->utils->is_video($image->src)) {  
					// Mediabox Ansicht verwenden  
					$html .= '<a href="'. $image->original->url . '" rel="lightbox[ flash 550 410]" title="FLV player::Beispiel" class="ssp-video"><img src="/wp-content/themes/72quadrat_v4/img/ssp-platzhalter.gif" alt="link"/></a>';  
				} else {  
					// Standard Lightbox Ansicht verwenden  
					$html .= '<a href="'. $image->fullsize->url . '" rel="lightbox[galerie' . $album->name . $album_id . ']" title="'.  $album->name . '::' . $image->title . '"><img src="' . $image->thumb->url . '"  alt="'  . $image->title . ", " . $image->caption . '" /></a>';  
				}  
			}  
			$i++;  
		}  
		$html .= '</div>';  
		$html .= '</div>';  
		$html .= '<div class="ssp-beschreibung">'. $beschreibung . '</div>';  
		$html .= '</div>';  
  
  
		// Leider gibt es bei den Alben offenbar teils UTF-8 encodete Inhalte  
		// und teilweise irgendwie anders ISO encodete Sachen.  
		// Durch die '0' oder '1' am Ende wird das unterschiedlich ausgegeben.  
		if (preg_match("/ä|ö|ü|Ä|Ö|Ü|ß/", $html)) {  
			//alles gut  
			echo $html;  
		} else {  
			//fchlcr  
			// Eine in ISO encodete Variante erstellen fuer Alben die falsch encoded sind  
			$utf8html = utf8_decode($html);  
			echo $utf8html;  
		}  
	}  
?>