<?
define( "COMMENT", "comment" );
/*========================================================================================
* Autor: Reiner Entzminger Telefon (0 63 41) 8 43 69
* Südring 10 Telefax (0 63 41) 8 43 69
* D-76829 Landau Mobil +49(0)170 7 34 62 72
*
* http://www.team-entzminger.de Mail reiner@team-entzminger.de
*=========================================================================================
* Comment Version 1.00.0001 Datum: 26.02.2002
*=========================================================================================
* Enthält alle Kommentare des Documents oder eines Elements in einem assoziativen Array
*=======================================================================================*/
class Comment {
var $comments = array();
/**-----------------------------------------------------------------------
* Comment instanziiert das Objekt Comment und legt ein neuen Kommentar an
* @param comments - (obtional) ein indizierter Array mit den Kommentaren
* eines Documents oder Elements (dieser Parameter schließt folgende aus).
* @param comment - (obtional) eine Auflistung neu anzulegender Kommentare
* eines Documents oder Elements (diese(r) Parameter schließt den zuerst
* genannten Parameter aus).
*-----------------------------------------------------------------------*/
function Comment() {
// $this->pro->Method( "class Comment" );
$arga = func_num_args();
$args = func_get_args();
// prüfen, ob Parameter an den Konstruktor übergeben wurden.
//
if ( $arga > 0 ) {
// prüfen, ob nur ein Parameter angegeben wurde und dieser ein Array ist.
//
if ( $arga == 1 && is_array( $args[0] ) ) {
$this->comments = $args[0];
} else {
$this->comments = $args;
} // if ( $arga == 1 && is_array( $args[0] )
} // if ( $arga > 0 )
// $this->pro->Returns( "class Comment" );
} // function Comment()
/**-----------------------------------------------------------------------
* setComments setzt die Kommentare des Documents oder eines Elements aus
* einer indizierten Tabelle
* @param comments ein indizierter Array mit den Kommentaren
* eines Documents oder Elements
* @return wurde ein korrekter Parameter übergeben und konnten die
* Kommentare gesetzt werden, wird true zurückgegeben. Sonst false.
*-----------------------------------------------------------------------*/
function setComments( $comments ) {
// $this->pro->Method( "Comment: setComments()" );
$GLOBALS['error'] = 0;
$result = false;
// prüfen, ob der angegebene Parameter den korrekten Datentyp enthält
//
if ( is_array( $comments ) ) {
// falls der Parameter nicht leer ist, dann sollte der Parameter auf
// jeden Fall eine indizierte Tabelle sein.
//
if ( ! empty( $comments ) ) {
if ( isset( $comments[0] ) ) {
$this->comments = $comments;
$result = true;
} else {
$GLOBALS['error'] = 2; // kein indizierter Array
} // if ( isset( $comments[0] ) )
} // if ( ! empty( $comments ) )
} else {
$GLOBALS['error'] = 1; // falscher Datentüpe
} // if ( is_array( $comments ) )
// $this->pro->Returns( "Comment: setComments()" );
return $result;
} // function setComments()
/**-----------------------------------------------------------------------
* addComment setzt ein oder mehrere Kommentare für ein Dokument oder Element.
* Die Liste der Kommentar wird dabei erweitert.
* @param comment - der oder die Kommentare, der oder die zur vorhandenen
* Liste hinzugefügt werden soll.
* @return Diese Funktion liefert immer true zurück.
*-----------------------------------------------------------------------*/
function addComment() {
// $this->pro->Method( "Comment: addComment()" );
$arga = func_num_args();
$args = func_get_args();
// prüfen, ob Parameter an die Funktion übergeben wurden.
//
if ( $arga > 0 ) {
for( $j=0; $j<$arga; $j++ ) {
$i = count( $this->comments );
$this->comments[$i] = $args[$j];
} // for( $j=0; $j<$arga; $j++ )
} // if ( $arga > 0 )
// $this->pro->Returns( "Comment: addComment()" );
return true;
} // function addComment()
/**-----------------------------------------------------------------------
* getComments gibt die Kommentare zu einem Dokument oder Element in einer
* indizierten Tabelle zurück.
* @return eine indizierte Tabelle mit den Kommentaren zu einem Dokument
* oder Element
*-----------------------------------------------------------------------*/
function getComments() {
// $this->pro->Method( "getComments()" );
// $this->pro->Returns( "getComments()" );
return $this->comments;
} // function getComments()
/**-----------------------------------------------------------------------
* getComment gibt den über einen Index benannten Kommentar zurück
* @param index - Index des Kommentars
* @return wurde ein korrekter Index angegeben, wird der angeforderte
* Kommentar zurückgegeben, sonst false.
*-----------------------------------------------------------------------*/
function getComment( $index ) {
// $this->pro->Method( "Comment: getComment()" );
$GLOBALS['error'] = 0;
// prüfen, ob ein korrekter Datentyp angegeben wurde.
//
if ( is_long( $index ) ) {
// prüfen, ob ein gültiger Index angegeben wurde.
//
if ( isset( $this->comments[$index] ) ) {
$result = $this->comments[$index];
} else {
$GLOBALS['error'] = 4; // Index out of bounds
$result = false;
} // if ( isset( $this->comments[$index] ) )
} else {
$GLOBALS['error'] = 1; // falscher Datentyp
$result = false;
} // if ( is_long( $index ) )
// $this->pro->Returns( "Comment: getComment()" );
return $result;
} // function getComment()
/**-----------------------------------------------------------------------
* toString gibt eine Liste der Kommentare zu einem Dokument oder Element
* zurück.
* @return Liste der Kommentare
*-----------------------------------------------------------------------*/
function toString() {
// $this->pro->Method( "Comment: toString()" );
$result = "Kommentare: <br><br>\n\n";
for( $i=0; $i< count( $this->comments ); $i++ ) {
$result .= "&nbps; " . $this->comments[$i] . "<br>\n";
} // for( $i=0; $i< count( $this->comments ); $i++ )
// $this->pro->Returns( "Comment: toString()" );
return $result;
} // function toString()
} // class Comment
?>
|