示例#1
0
文件: index.php 项目: difra-org/difra
 public function indexAction(\Difra\Param\AnyString $link = null)
 {
     if (!is_null($link)) {
         // страница анонса события
         $this->eventRoot = $this->root->appendChild($this->xml->createElement('announcements-event-view'));
         $this->eventRoot->setAttribute('view', true);
         $this->_showEvent(rawurldecode($link->val()));
     } else {
         if (\Difra\Plugger::isEnabled('Blogs')) {
             $Group = \Difra\Plugins\Blogs\Group::current();
             if ($Group) {
                 // страница анонсов группы
                 $this->eventRoot = $this->root->appendChild($this->xml->createElement('groupEvents'));
                 $groupId = $Group->getId();
                 $this->_showGroupEvents($groupId);
             } else {
                 throw new \Difra\View\HttpError(404);
                 return;
             }
         } else {
             // общая страница анонсов
             $this->eventRoot = $this->root->appendChild($this->xml->createElement('allEvents'));
             $this->_showByPriority();
         }
     }
 }
示例#2
0
文件: index.php 项目: difra-org/difra
 public function editAction(\Difra\Param\AnyInt $id)
 {
     $editNode = $this->root->appendChild($this->xml->createElement('announcementsEdit'));
     \Difra\Plugins\Announcements::getInstance()->getByIdXML($id->val(), $editNode);
     $additionalsFieldsNode = $editNode->appendChild($this->xml->createElement('additionalsFields'));
     $categoryNode = $editNode->appendChild($this->xml->createElement('announceCateroty'));
     \Difra\Plugins\Announcements\Additionals::getListXML($additionalsFieldsNode);
     \Difra\Plugins\Announcements\Category::getList($categoryNode);
     $locationsNode = $editNode->appendChild($this->xml->createElement('locations'));
     \Difra\Plugins\Announcements::getInstance()->getLocationsXML($locationsNode);
     if (\Difra\Plugger::isEnabled('blogs')) {
         \Difra\Plugins\Blogs\Group::getNewGroupsXml($editNode, 0, false);
     }
 }
示例#3
0
 /**
  * Возвращает объект анонса события в xml
  * @param \DOMNode $node
  */
 public function getXML($node)
 {
     $Locale = Locales::getInstance();
     $eventNode = $node->appendChild($node->ownerDocument->createElement('event'));
     $eventNode->appendChild($node->ownerDocument->createElement('id', $this->id));
     $eventNode->appendChild($node->ownerDocument->createElement('user', $this->user));
     $eventNode->appendChild($node->ownerDocument->createElement('group', $this->group));
     $eventNode->appendChild($node->ownerDocument->createElement('category', $this->category));
     $eventNode->appendChild($node->ownerDocument->createElement('location', $this->location));
     $eventNode->appendChild($node->ownerDocument->createElement('title', htmlspecialchars($this->title)));
     $eventNode->appendChild($node->ownerDocument->createElement('link', $this->id . '-' . $this->link));
     $eventNode->appendChild($node->ownerDocument->createElement('shortDescription', $this->shortDescription));
     $eventNode->appendChild($node->ownerDocument->createElement('description', $this->description));
     $eventNode->appendChild($node->ownerDocument->createElement('status', $this->getStatus()));
     if (!is_null($this->fromEventDate) && $this->fromEventDate != '' && $this->fromEventDate != '0000-00-00' && $this->fromEventDate != 'null') {
         $fromEventDate = $Locale->getDateFromMysql($this->fromEventDate . ' 00:00:00');
         $dateNode = $eventNode->appendChild($node->ownerDocument->createElement('fromEventDate', $fromEventDate));
         $this->reFormateDate($dateNode, $this->fromEventDate);
         $eventNode->appendChild($node->ownerDocument->createElement('fromToEventDiff', $this->getEventPeriodDays()));
     }
     $dateNode = $eventNode->appendChild($node->ownerDocument->createElement('eventDate', $Locale->getDateFromMysql($this->eventDate . ' 00:00:00')));
     $this->reFormateDate($dateNode, $this->eventDate);
     $dateNode = $eventNode->appendChild($node->ownerDocument->createElement('beginDate', $Locale->getDateFromMysql($this->beginDate . ' 00:00:00')));
     $this->reFormateDate($dateNode, $this->beginDate);
     $dateNode = $eventNode->appendChild($node->ownerDocument->createElement('endDate', $Locale->getDateFromMysql($this->endDate . ' 00:00:00')));
     $this->reFormateDate($dateNode, $this->endDate);
     $isoDateNode = $eventNode->appendChild($eventNode->ownerDocument->createElement('isoDate'));
     $this->_getIsoDate($isoDateNode);
     $eventNode->appendChild($node->ownerDocument->createElement('visible', $this->visible));
     $eventNode->appendChild($node->ownerDocument->createElement('priority', $this->priority));
     $eventNode->appendChild($node->ownerDocument->createElement('modified', $Locale->getDateFromMysql($this->modified, true)));
     $eventNode->appendChild($node->ownerDocument->createElement('statusInDays', $this->statusInDays));
     /** @var \DOMElement $userNode */
     $userNode = $eventNode->appendChild($node->ownerDocument->createElement('userData'));
     if (!empty($this->userData)) {
         foreach ($this->userData as $k => $value) {
             $userNode->setAttribute($k, $value);
         }
     }
     $this->getAdditionalXML($eventNode);
     $this->getScheduleXML($eventNode);
     $this->getLocationXML($eventNode);
     if (Plugger::isEnabled('blogs') && !empty($this->groupData)) {
         /** @var \DOMElement $groupNode */
         $groupNode = $eventNode->appendChild($node->ownerDocument->createElement('groupData'));
         foreach ($this->groupData as $k => $value) {
             $groupNode->setAttribute($k, $value);
         }
     }
 }