示例#1
0
 /**
  * Maps a domain object to a GenericDomainObject to prepare the entry for saving it.
  *
  * @param Entry $domEntry The Entry domain object.
  *
  * @return GenericDomainObject The generic domain object representing the Entry object.
  *
  * @author Christian Achatz
  * @version
  * Version 0.1, 06.05.2009<br />
  */
 private function mapDomainObject2GenericEntry(Entry $domEntry)
 {
     $lang = $this->getCurrentLanguage();
     $domEditor = $domEntry->getEditor();
     $editor = new GenericDomainObject('User');
     $editor->setProperty('Name', $domEditor->getName());
     $editor->setProperty('Email', $domEditor->getEmail());
     $editor->setProperty('Website', $domEditor->getWebsite());
     $editorId = $domEditor->getId();
     if (!empty($editorId)) {
         $editor->setProperty('UserID', $editorId);
     }
     // try to load an existing title attribute to avoid new attributes
     // on updates and merge changes
     $title = $this->getGenericAttribute($domEntry, 'title');
     $title->setProperty('Name', 'title');
     $title->setProperty('Value', $domEntry->getTitle());
     $title->addRelatedObject('Attribute2Language', $lang);
     $text = $this->getGenericAttribute($domEntry, 'text');
     $text->setProperty('Name', 'text');
     $text->setProperty('Value', $domEntry->getText());
     $text->addRelatedObject('Attribute2Language', $lang);
     // setup generic domain object structure to preserve the relations
     $entry = new GenericDomainObject('Entry');
     $entry->addRelatedObject('Entry2LangDepValues', $title);
     $entry->addRelatedObject('Entry2LangDepValues', $text);
     $entry->addRelatedObject('Editor2Entry', $editor);
     $gb = $this->getCurrentGuestbook();
     $entry->addRelatedObject('Guestbook2Entry', $gb);
     $entryId = $domEntry->getId();
     if (!empty($entryId)) {
         $entry->setProperty('EntryID', $entryId);
     }
     return $entry;
 }
示例#2
0
$user = new GenericDomainObject('User');
$user->setProperty('Username', 'admin');
$user->setProperty('Password', md5('admin'));
$user->setProperty('Name', 'Admin');
$user->setProperty('Email', 'root@localhost');
$userId = $orm->saveObject($user);
$user->setProperty('UserID', $userId);
// --- english attributes of the guestbook ------------------------------------------------------
$titleEn = new GenericDomainObject('Attribute');
$titleEn->setProperty('Name', 'title');
$titleEn->setProperty('Value', 'My guestbook');
$titleEn->addRelatedObject('Attribute2Language', $langEn);
$descriptionEn = new GenericDomainObject('Attribute');
$descriptionEn->setProperty('Name', 'description');
$descriptionEn->setProperty('Value', 'This is my first guestbook instance of the guestbook2009 module!');
$descriptionEn->addRelatedObject('Attribute2Language', $langEn);
// --- german attributes of the guestbook -------------------------------------------------------
$titleDe = new GenericDomainObject('Attribute');
$titleDe->setProperty('Name', 'title');
$titleDe->setProperty('Value', 'Mein Gästebuch');
$titleDe->addRelatedObject('Attribute2Language', $langDe);
$descriptionDe = new GenericDomainObject('Attribute');
$descriptionDe->setProperty('Name', 'description');
$descriptionDe->setProperty('Value', 'Dies ist die erste Instanz des neuen guestbook2009 Moduls!');
$descriptionDe->addRelatedObject('Attribute2Language', $langDe);
// --- save guestbook with attributes -----------------------------------------------------------
$guestbook->addRelatedObject('Guestbook2LangDepValues', $titleEn);
$guestbook->addRelatedObject('Guestbook2LangDepValues', $descriptionEn);
$guestbook->addRelatedObject('Guestbook2LangDepValues', $titleDe);
$guestbook->addRelatedObject('Guestbook2LangDepValues', $descriptionDe);
$orm->saveObject($guestbook);