Sample Code

Die UniversesummaryView Klasse

  1. <?php
  2.     class UniverseSummaryView extends View {
  3.         // Unser Template sit das
  4.         protected $_template = ‘universesummary.tpl’;
  5.         // Wir wollen nur universe Objecte
  6.         protected $_objectName = ‘universe’;
  7.        
  8.         // Ausgabe mit Daten füllen
  9.         // Felder die wir Bearbeiten wollen
  10.         public function ViewAssignElements () {
  11.             // Das Feld wollen wir verändern
  12.             $this->setElementEdit (‘name’);
  13.             // Alle Sonnen besorgen
  14.             $sunList =$this->getObject ()->getSunList();
  15.             // Durchgehen und diese View hinzufügen
  16.             while ($sun = $sunList->next ())
  17.                 $this->appendElementsFromView (’sun’, new SunSummaryView ($sun));
  18.             // Den Text des Submitt Knopf´s festlegen
  19.             $this->setFormButton(‘Speichern’);
  20.         }      
  21.         // Object Speichern beim Submit
  22.         public function ViewParseRequest() {
  23.             // Da in assignElements ein Pointer übergeben wird
  24.             // und das Element schon in parent::parseRequest () geändert wird….
  25.             // könnnen wir uns das hier, ha!
  26.             $this->getObject ()->save ();
  27.         }
  28.     }
  29. ?>

Das Template der UniverseSummary

Universum-Id: {$elements.id} Universumname: {$elements.name} Nicht Aktiv: {$elements.fl_disabled}
{foreach item=sun from=$elements.sun} Sonnen-Id: {$sun.id} Sonnenname: {$sun.name} Nicht Aktiv: {$sun.fl_disabled} {/foreach}

Eine Liste aller Sonnen erstellen und druchgehen, dabei den Namen jeder Sonne ausgeben:

  1. $myList = new FRList (new Sun);
  2. while ($mySun = $myList->next ()) {
  3.     echo $mySun->name;
  4. }

Eine zufällige Persion in ein Zufälliges Land setzen:

  1. $myList = new FRList (new People);
  2. if ($myObj = $myList->addOrderByRand ()->setLimit (1)->next ()) {
  3.     if ($cntry = $myList->setObject (new Country)->addOrderByRand ()->setLimit (1)->next ()) {
  4.         $myObj->setCountry ($cntry);
  5.         echo $myObj->name . ‘ ist nun im ‘ . $myObj->getCountry()->name .
  6. ;
  7.    }
  8. }

Die View “SunView” mit einer zufälligen Sonne anzeigen:

  1. $myList = new FRList (new Sun);
  2. if ($mySun = $myList->addOrderByRand ()->setLimit (1)->next ()) {
  3.     echo new SunView ($mySun);
  4. }

Und in kurz:

  1. echo factory::get (‘SunView’, factory::get (‘FRList’, ‘Sun’)->addOrderByRand ()->setLimit (1)->next ());

Das gleiche macht:

  1. echo factory::get (new SunView, factory::get (new FRList, new Sun)->addOrderByRand ()->setLimit (1)->next ());

Anzahl der sichtbaren Menschen ausgeben:

  1. $myList = new FRList (‘People’);
  2. echo "<hr />Es sind " . $myList->countMaxRows() . ‘ Menschen in der Datenbank’;

Alle Objekte die irgendwie mit dem Universum Objekt verknüpft sind ausgeben:

  1. function printDepent($list) {
  2.     while ($obj = $list->next ()) {
  3.         echo $obj;
  4.         printDepent ($obj->getDependingList());
  5.     }
  6. }
  7. $xtemp = new FRList (new Universe);
  8. printDepent($xtemp);

Die “userLoginView” als Prototyp

  1. <?php
  2.     class userloginview extends View {
  3.         public static $wrongLogin = false;
  4.  
  5.         protected $_template = ‘userlogin.tpl’;
  6.  
  7.         // Ausgabe mit Daten füllen
  8.         // FormularFelder
  9.         public function ViewAssignElements () {
  10.             $thi–>addElement (‘pass’,  factory::get (new FRElement, array (‘name’ => ‘pass’,  ‘type’ => ‘xsd:string’, ’showEdit’ => true)));
  11.             $this->addElement (‘login’, factory::get (new FRElement, array (‘name’ => ‘login’, ‘type’ => ‘xsd:string’, ’showEdit’ => true, ‘value’ => $_COOKIE[‘oldlogin’])));
  12.             if (registry::isUserLogedin())
  13.                 $this->setFormButton(‘Abmelden’);
  14.             else
  15.                 $this->setFormButton(‘Anmelden’);
  16.         }
  17.         // Weitere Variablen
  18.         public function ViewParse () {
  19.             $this->assign(‘name’,registry::getUser()->name);
  20.             $this->assign(‘isLogedIn’,registry::isUserLogedin());
  21.             $this->assign(‘wrongLogin’,self::$wrongLogin);
  22.             self::$wrongLogin = false;
  23.         }
  24.  
  25.         // Das wird aufgerufen wenn wir ein Post/Get geschickt haben
  26.         public function ViewParseRequest() {
  27.             // logoff
  28.             if (registry::isUserLogedin()) {
  29.                 // Wieder auf den Anonymen setzen
  30.                 User::doLogout ();
  31.             // login
  32.             } else {
  33.                 setcookie("oldlogin", $this->getElementValue(‘login’), time() + 36000); // 10 h
  34.                 // Hats geklappt?
  35.                 if (!User::doLogin ($this->getElementValue(‘login’), $this->getElementValue(‘pass’)))
  36.                     self::$wrongLogin = true;
  37.             }
  38.         }
  39.     }
  40. ?>

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken.

Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da einige von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Menschen schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.
Quelle: http://www.gesetze-im-internet.de/urhg/__95a.html