function toHtml($oContent, $oPage)
 {
     $oOutputHtml = new AnwOutputHtml($oPage);
     $oOutputHtml->setTitle($oContent->getContentFieldValue(self::FIELD_TITLE));
     $sNewsCategoryTitle = $oContent->getContentFieldValue(self::FIELD_TITLE);
     $sNewsCategoryIntro = $oContent->getContentFieldValue(self::FIELD_DESCRIPTION);
     //try{$aoNewsList = $this->getNewsList($oPage);}catch(Exception $e){print_r($e);}
     //render news list
     $aoNewsList = self::getNewsList($oPage);
     $sHtmlNewsList = "";
     if (count($aoNewsList) > 0) {
         $sHtmlNewsList .= $this->tpl()->newsListStart();
         foreach ($aoNewsList as $oNewsPage) {
             $oNewsContent = $oNewsPage->getContent();
             $sNewsTitle = $oNewsContent->getContentFieldValue(AnwContentClassPageDefault_news::FIELD_TITLE);
             $sNewsIntro = $oNewsContent->getContentFieldValue(AnwContentClassPageDefault_news::FIELD_INTRO);
             $sNewsDate = Anwi18n::date(AnwUtils::dateToTime($oNewsContent->getContentFieldValue(AnwContentClassPageDefault_news::FIELD_DATE)), $oPage->getLang());
             $sNewsUrl = AnwUtils::link($oNewsPage);
             $sHtmlNewsList .= $this->tpl()->newsListItem($sNewsTitle, $sNewsIntro, $sNewsDate, $sNewsUrl, $oNewsPage->getLang());
         }
         $sHtmlNewsList .= $this->tpl()->newsListEnd();
     }
     unset($aoNewsList);
     //render the newscategory
     $sHtmlBody = $this->tpl()->showNewscategory($sNewsCategoryTitle, $sNewsCategoryIntro, $sHtmlNewsList, $oPage->getLang());
     $oOutputHtml->setBody($sHtmlBody);
     return $oOutputHtml;
 }
Пример #2
0
 private function exportProcess($anExportPages)
 {
     //prepare an array of pages to be exported
     $aaExportPageGroups = array();
     $aoPageGroups = AnwStorage::getPageGroups();
     foreach ($aoPageGroups as $oPageGroup) {
         $bPageExported = false;
         $aoExportPages = array();
         $aoTranslations = $oPageGroup->getPages();
         foreach ($aoTranslations as $oPage) {
             $bExportDisabled = false;
             //check that page has been checked for export
             if (in_array($oPage->getId(), $anExportPages)) {
                 //check PHP permission
                 if ($oPage->hasPhpCode() && !AnwCurrentSession::getUser()->isPhpEditionAllowed()) {
                     $bExportDisabled = true;
                 }
                 //check ACL permission
                 if (!AnwCurrentSession::isActionAllowed($oPage->getName(), "export", $oPage->getLang())) {
                     $bExportDisabled = true;
                 }
                 //add page to pagegroup export array
                 if (!$bExportDisabled) {
                     $aoExportPages[] = $oPage;
                     $bPageExported = true;
                 }
             }
         }
         //add pagegroup to export array
         if ($bPageExported) {
             $aaExportPageGroups[] = array("GROUP" => $oPageGroup, "PAGES" => $aoExportPages);
         }
     }
     //export now
     $sExportData = $this->exportData($aaExportPageGroups);
     //output as a file
     $this->out = $sExportData;
     $sBackupDate = str_replace('/', '-', Anwi18n::date(time()));
     $sBackupDate .= '-' . date("H") . date("i") . date("s");
     $this->printOutputDownload("wiki-" . $sBackupDate . ".xml");
 }
 static function pubcallOperator($sArg, $sValue, $sLang, $asOperatorArgs = array())
 {
     switch ($sArg) {
         case "firstwords":
             $sReturn = AnwXml::xmlGetUntranslatedTxt($sValue, false);
             $nFirstWordsLength = self::FIRSTWORDS_LENGTH;
             if (isset($asOperatorArgs[0]) && intval($asOperatorArgs[0]) > 0) {
                 $nFirstWordsLength = intval($asOperatorArgs[0]);
             }
             if (strlen($sReturn) > self::FIRSTWORDS_LENGTH) {
                 $sReturn = AnwUtils::firstWords($sValue, $nFirstWordsLength) . '...';
             }
             return $sReturn;
             break;
         case "date":
             $sReturn = Anwi18n::date($sValue, $sLang);
             return $sReturn;
             break;
         case "datetime":
             $sReturn = Anwi18n::dateTime($sValue, $sLang);
             return $sReturn;
             break;
         case "year":
             $sReturn = AnwUtils::date("Y", $sValue);
             return $sReturn;
             break;
         case "monthyear":
             $sReturn = AnwUtils::date("M Y", $sValue);
             return $sReturn;
             break;
         case "count":
             $sReturn = count($sValue);
             return $sReturn;
             break;
         case "len":
             $sReturn = strlen(trim($sValue));
             return $sReturn;
             break;
         case "skipuntr":
             $sReturn = AnwUtils::renderUntr($sValue);
             return $sReturn;
             break;
             // numeric maths
         // numeric maths
         case "add":
         case "sub":
         case "mul":
         case "div":
         case "pow":
             if (isset($asOperatorArgs[0])) {
                 $nNumber = intval($asOperatorArgs[0]);
             }
             switch ($sArg) {
                 case "add":
                     $sReturn = intval($sValue) + $nNumber;
                     break;
                 case "sub":
                     $sReturn = intval($sValue) - $nNumber;
                     break;
                 case "mul":
                     $sReturn = intval($sValue) * $nNumber;
                     break;
                 case "div":
                     $sReturn = intval($sValue) / $nNumber;
                     break;
                 case "pow":
                     $sReturn = intval($sValue) ^ $nNumber;
                     break;
             }
             return $sReturn;
             break;
         default:
             $sReturn = AnwPlugins::vhook('contentclass_pubcalloperator_default', $sValue, $sArg);
             return $sReturn;
             break;
     }
 }
Пример #4
0
 function toHtml($oContent, $oPage)
 {
     $oOutputHtml = new AnwOutputHtml($oPage);
     $oOutputHtml->setTitle($oContent->getContentFieldValue(self::FIELD_TITLE));
     //load contentclass CSS
     $oOutputHtml->setHead($this->getCssSrcComponent(self::CSS_FILE));
     $sNewsTitle = $oContent->getContentFieldValue(self::FIELD_TITLE);
     $sNewsIntro = $oContent->getContentFieldValue(self::FIELD_INTRO);
     $sNewsBody = $oContent->getContentFieldValue(self::FIELD_BODY);
     $sNewsDate = Anwi18n::date(AnwUtils::dateToTime($oContent->getContentFieldValue(self::FIELD_DATE)), $oPage->getLang());
     //render categories
     $aoCategoriesPages = self::getCategoriesPages($oContent, $oPage);
     $sHtmlCategories = "";
     if (count($aoCategoriesPages) > 0) {
         $sHtmlCategories .= $this->tpl()->categoriesStart();
         foreach ($aoCategoriesPages as $oCategoryPage) {
             $oCategoryContent = $oCategoryPage->getContent();
             $sCategoryTitle = $oCategoryContent->getContentFieldValue(AnwContentClassPageDefault_newscategory::FIELD_TITLE);
             $sCategoryUrl = AnwUtils::link($oCategoryPage);
             $sHtmlCategories .= $this->tpl()->categoriesItem($sCategoryTitle, $sCategoryUrl);
         }
         $sHtmlCategories .= $this->tpl()->categoriesEnd();
     }
     unset($aoCategoriesPages);
     //render the news
     $sHtmlBody = $this->tpl()->showNews($sNewsTitle, $sNewsIntro, $sNewsBody, $sNewsDate, $sHtmlCategories, $oPage->getLang());
     $oOutputHtml->setBody($sHtmlBody);
     return $oOutputHtml;
 }
 function renderCollapsedInputComposed($oSubContent, $sRendered, $sSuffix)
 {
     $oContentFieldBegin = $this->getContentField(self::FIELD_BEGIN);
     $sBegin = Anwi18n::date($oContentFieldBegin->getValueTimestamp($oSubContent->getContentFieldValue(self::FIELD_BEGIN)));
     //TODO lang
     $oContentFieldEnd = $this->getContentField(self::FIELD_END);
     $sEnd = Anwi18n::date($oContentFieldEnd->getValueTimestamp($oSubContent->getContentFieldValue(self::FIELD_END)));
     //TODO lang
     $asParameters = array('begin' => $sBegin, 'end' => $sEnd);
     return $this->getFieldTranslation("_collapsed", $asParameters);
 }