Пример #1
0
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objORM = new class_orm_objectlist();
     //load the matching site of the current page-element
     $strQuery = "SELECT page_name, page_id, pageproperties_browsername\n\t\t\t\t\t\t FROM " . _dbprefix_ . "page_element,\n\t\t\t\t\t\t      " . _dbprefix_ . "page_properties,\n\t\t\t\t\t\t      " . _dbprefix_ . "page,\n\t\t\t\t\t\t      " . _dbprefix_ . "system\n\t\t\t\t\t\t WHERE system_prev_id = page_id\n\t\t\t\t\t\t   AND pageproperties_id = page_id\n\t\t\t\t\t\t   AND system_id = page_element_id\n\t\t\t\t\t\t   AND page_element_id = ?\n\t\t\t\t\t\t   " . $objORM->getDeletedWhereRestriction() . "\n\t\t\t\t\t\t   AND system_status = 1";
     $arrPage = class_carrier::getInstance()->getObjDB()->getPRow($strQuery, array($this->getSystemid()));
     if (isset($arrPage["page_name"])) {
         $objResult->setStrPagelink(class_link::getLinkPortal($arrPage["page_name"], "", "_self", $arrPage["pageproperties_browsername"], "", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8"))));
         $objResult->setStrPagename($arrPage["page_name"]);
     }
 }
Пример #2
0
/**
 * Creates a Link for the portal
 *
 * @deprecated
 *
 * @param string $strPageI
 * @param string $strPageE
 * @param string $strTarget
 * @param string $strText
 * @param string $strAction
 * @param string $strParams
 * @param string $strSystemid
 * @param string $strCssClass
 * @param string $strLanguage
 * @param string $strSeoAddon
 *
 * @return string
 */
function getLinkPortal($strPageI, $strPageE, $strTarget = "_self", $strText = "", $strAction = "", $strParams = "", $strSystemid = "", $strCssClass = "", $strLanguage = "", $strSeoAddon = "")
{
    return class_link::getLinkPortal($strPageI, $strPageE, $strTarget, $strText, $strAction, $strParams, $strSystemid, $strCssClass, $strLanguage, $strSeoAddon);
}
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  * If you want to add additional entries to the result set, clone the result and modify
  * the new instance to your needs. Pack them in an array and they'll be merged
  * into the result set afterwards.
  * Make sure to return the passed result-object in this array, too.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objORM = new class_orm_objectlist();
     $strQuery = "SELECT page_name, guestbook_amount, page_id\n                       FROM " . _dbprefix_ . "element_guestbook,\n                            " . _dbprefix_ . "page_element,\n                            " . _dbprefix_ . "page,\n                            " . _dbprefix_ . "system\n                      WHERE guestbook_id = ?\n                        AND content_id = page_element_id\n                        AND content_id = system_id\n                        AND system_prev_id = page_id\n                        AND system_status = 1\n                        " . $objORM->getDeletedWhereRestriction() . "\n                        AND page_element_ph_language = ? ";
     $arrRows = $this->objDB->getPArray($strQuery, array($this->getPrevId(), $objResult->getObjSearch()->getStrPortalLangFilter()));
     $arrReturn = array();
     foreach ($arrRows as $arrOnePage) {
         //check, if the post is available on a page using the current language
         if (!isset($arrOnePage["page_name"]) || $arrOnePage["page_name"] == "") {
             continue;
         }
         //search pv position
         $intAmount = $arrOnePage["guestbook_amount"];
         $arrPostsInGB = class_module_guestbook_post::getPosts($this->getPrevId(), true);
         $intCounter = 0;
         foreach ($arrPostsInGB as $objOnePostInGb) {
             $intCounter++;
             if ($objOnePostInGb->getSystemid() == $this->getSystemid()) {
                 break;
             }
         }
         //calculate pv
         $intPvPos = ceil($intCounter / $intAmount);
         $objNewResult = clone $objResult;
         $objNewResult->setStrPagelink(class_link::getLinkPortal($arrOnePage["page_name"], "", "_self", $arrOnePage["page_name"], "", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8")) . "&pv=" . $intPvPos));
         $objNewResult->setStrPagename($arrOnePage["page_name"]);
         $objNewResult->setStrDescription($this->getStrGuestbookPostText());
         $arrReturn[] = $objNewResult;
     }
     return $arrReturn;
 }
 /**
  * Creates a small status-area, providing a link to logout
  *
  * @return string
  */
 private function statusArea()
 {
     $strTemplateID = $this->objTemplate->readTemplate("/element_portallogin/" . $this->arrElementData["portallogin_template"], "portallogin_status");
     $arrTemplate = array();
     $arrTemplate["loggedin_label"] = $this->getLang("loggedin_label");
     $arrTemplate["username"] = $this->objSession->getUsername();
     $arrTemplate["logoutlink"] = class_link::getLinkPortal($this->getPagename(), "", "", $this->getLang("logoutlink"), "portalLogout", "&pl_systemid=" . $this->arrElementData["content_id"]);
     $arrTemplate["logoutlinksimple"] = class_link::getLinkPortal($this->getPagename(), "", "", $this->getLang("logoutlink"), "portalLogout");
     $strProfileeditpage = $this->getPagename();
     if ($this->arrElementData["portallogin_profile"] != "") {
         $strProfileeditpage = $this->arrElementData["portallogin_profile"];
     }
     $arrTemplate["editprofilelink"] = class_link::getLinkPortal($strProfileeditpage, "", "", $this->getLang("editprofilelink"), "portalEditProfile", "&pl_systemid=" . $this->arrElementData["content_id"]);
     $arrTemplate["editprofilelinksimple"] = class_link::getLinkPortal($strProfileeditpage, "", "", $this->getLang("editprofilelink"), "portalEditProfile");
     return $this->fillTemplate($arrTemplate, $strTemplateID);
 }
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  * If you want to add additional entries to the result set, clone the result and modify
  * the new instance to your needs. Pack them in an array and they'll be merged
  * into the result set afterwards.
  * Make sure to return the passed result-object in this array, too.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objLanguages = new class_module_languages_language();
     $objORM = new class_orm_objectlist();
     $strQuery = "SELECT page_name, page_id\r\n                       FROM " . _dbprefix_ . "element_downloads,\r\n                            " . _dbprefix_ . "page_element,\r\n                            " . _dbprefix_ . "page,\r\n                            " . _dbprefix_ . "system\r\n                      WHERE download_id = ?\r\n                        AND content_id = page_element_id\r\n                        AND content_id = system_id\r\n                        AND system_prev_id = page_id\r\n                        AND system_status = 1\r\n                        " . $objORM->getDeletedWhereRestriction() . "\r\n                        AND page_element_ph_language = ? ";
     $arrRows = $this->objDB->getPArray($strQuery, array($this->getRepositoryId(), $objResult->getObjSearch()->getStrPortalLangFilter()));
     $strQuery = "SELECT page_name, page_id\r\n                       FROM " . _dbprefix_ . "element_gallery,\r\n                            " . _dbprefix_ . "page_element,\r\n                            " . _dbprefix_ . "page,\r\n                            " . _dbprefix_ . "system\r\n                      WHERE gallery_id = ?\r\n                        AND content_id = page_element_id\r\n                        AND content_id = system_id\r\n                        AND system_prev_id = page_id\r\n                        AND system_status = 1\r\n                        " . $objORM->getDeletedWhereRestriction() . "\r\n                        AND page_element_ph_language = ? ";
     $arrRows = array_merge($arrRows, $this->objDB->getPArray($strQuery, array($this->getRepositoryId(), $objLanguages->getStrPortalLanguage())));
     $arrReturn = array();
     foreach ($arrRows as $arrOnePage) {
         if (!isset($arrOnePage["page_name"]) || $arrOnePage["page_name"] == "") {
             continue;
         }
         $objOneResult = clone $objResult;
         $objOneResult->setStrPagelink(class_link::getLinkPortal($arrOnePage["page_name"], "", "_self", $this->getStrDisplayName(), "mediaFolder", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8")), $this->getPrevId(), "", "", $this->getStrDisplayName()));
         $objOneResult->setStrPagename($arrOnePage["page_name"]);
         $objOneResult->setStrDescription($this->getStrDescription());
         $arrReturn[] = $objOneResult;
     }
     return $arrReturn;
 }
 /**
  * Generates a litte path-navigation across the folders
  *
  * @param bool $bitCurrentViewIsDetail
  * @return string
  */
 private function generatePathnavi($bitCurrentViewIsDetail = false)
 {
     $strReturn = "";
     //Load the current record
     $objData = class_objectfactory::getInstance()->getObject($this->getSystemid());
     $objGallery = new class_module_mediamanager_repo($this->arrElementData["repo_id"]);
     if ($objGallery->rightView() && $objData != null) {
         $arrTemplate = array();
         //Name and link
         if ($bitCurrentViewIsDetail) {
             $arrTemplate["pathnavigation_point"] = class_link::getLinkPortal($this->getPagename(), "", "_self", $objData->getStrDisplayName(), "detailImage", "", $objData->getSystemid(), "", "", $objData->getStrDisplayName());
         } else {
             $arrTemplate["pathnavigation_point"] = class_link::getLinkPortal($this->getPagename(), "", "_self", $objData->getStrDisplayName(), "mediaFolder", "", $objData->getSystemid(), "", "", $objData->getStrDisplayName());
         }
         $strTemplateID = $this->objTemplate->readTemplate("/module_mediamanager/" . $this->arrElementData["repo_template"], "pathnavigation_level");
         $strReturn .= $this->fillTemplate($arrTemplate, $strTemplateID);
         while (!$objData instanceof class_module_mediamanager_repo) {
             $objData = class_objectfactory::getInstance()->getObject($objData->getPrevId());
             $arrTemplate["pathnavigation_point"] = class_link::getLinkPortal($this->getPagename(), "", "_self", $objData->getStrDisplayName(), "mediaFolder", "", $objData->getSystemid());
             $strTemplateID = $this->objTemplate->readTemplate("/module_mediamanager/" . $this->arrElementData["repo_template"], "pathnavigation_level");
             $strReturn = $this->fillTemplate($arrTemplate, $strTemplateID) . $strReturn;
         }
     }
     return $strReturn;
 }
Пример #7
0
 /**
  * Creates a forward / backward pager out of the passed array
  *
  * @param class_array_section_iterator $objArraySectionIterator
  * @param string $strForward text for the forwardlink
  * @param string $strBack text for the backwardslink
  * @param string $strAction action on the targetpage
  * @param string $strPage title of the targetpage
  * @param string $strAdd additional params
  * @param string $strPvParam the param used to create the pagenumber-entries
  * @param string $strTemplate if passed, the pager will render all links using the passed template (if the sections are present). Expected sections: pager_fwd, pager_back, pager_entry, pager_entry_active
  *
  * @return mixed array containing the created data:
  *                         return => [strForward] = link to the next page
  *                                   [strBack]    = link to the previous page
  *                                   [strPages] = Pager ( [0][1] ...)
  */
 public function simplePager($objArraySectionIterator, $strForward = "next", $strBack = "back", $strAction = "list", $strPage = "", $strAdd = "", $strPvParam = "pv", $strTemplate = "")
 {
     $arrReturn = array("arrData" => array(), "strForward" => "", "strBack" => "", "strPages" => "");
     //read the template-sections, of given
     $bitTemplate = false;
     $strFwdId = "";
     $strBackId = "";
     $strEntryId = "";
     $strEntryActiveId = "";
     if ($strTemplate != "") {
         $strTemplateIdentifier = $this->objTemplate->readTemplate($strTemplate);
         $bitTemplate = $this->objTemplate->containsSection($strTemplateIdentifier, "pager_fwd") && $this->objTemplate->containsSection($strTemplateIdentifier, "pager_back") && $this->objTemplate->containsSection($strTemplateIdentifier, "pager_entry") && $this->objTemplate->containsSection($strTemplateIdentifier, "pager_entry_active");
         $strFwdId = $this->objTemplate->readTemplate($strTemplate, "pager_fwd");
         $strBackId = $this->objTemplate->readTemplate($strTemplate, "pager_back");
         $strEntryId = $this->objTemplate->readTemplate($strTemplate, "pager_entry");
         $strEntryActiveId = $this->objTemplate->readTemplate($strTemplate, "pager_entry_active");
     }
     $strLinkPages = "";
     $strLinkForward = "";
     $strLinkBack = "";
     $arrReturn["arrData"] = array();
     $intPage = $objArraySectionIterator->getPageNumber();
     //FowardLink
     if ($intPage < $objArraySectionIterator->getNrOfPages()) {
         if ($bitTemplate) {
             $strLinkForward = $this->objTemplate->fillTemplate(array("pageHref" => class_link::getLinkPortalHref($strPage, "", $strAction, "&" . $strPvParam . "=" . ($intPage + 1) . $strAdd)), $strFwdId);
         } else {
             $strLinkForward = class_link::getLinkPortal($strPage, "", null, $strForward, $strAction, "&" . $strPvParam . "=" . ($intPage + 1) . $strAdd);
         }
     }
     //BackLink
     if ($intPage > 1) {
         if ($bitTemplate) {
             $strLinkBack = $this->objTemplate->fillTemplate(array("pageHref" => class_link::getLinkPortalHref($strPage, "", $strAction, "&" . $strPvParam . "=" . ($intPage - 1) . $strAdd)), $strBackId);
         } else {
             $strLinkBack = class_link::getLinkPortal($strPage, "", null, $strBack, $strAction, "&" . $strPvParam . "=" . ($intPage - 1) . $strAdd);
         }
     }
     //just load the current +-6 pages and the first/last +-3
     $intCounter2 = 1;
     for ($intI = 1; $intI <= $objArraySectionIterator->getNrOfPages(); $intI++) {
         $bitDisplay = false;
         if ($intCounter2 <= 3) {
             $bitDisplay = true;
         } elseif ($intCounter2 >= $objArraySectionIterator->getNrOfPages() - 3) {
             $bitDisplay = true;
         } elseif ($intCounter2 >= $intPage - 6 && $intCounter2 <= $intPage + 6) {
             $bitDisplay = true;
         }
         if ($bitDisplay) {
             if ($bitTemplate) {
                 if ($intI == $intPage) {
                     $strLinkPages .= $this->objTemplate->fillTemplate(array("pageHref" => class_link::getLinkPortalHref($strPage, "", $strAction, "&" . $strPvParam . "=" . $intI . $strAdd), "pageNumber" => $intI), $strEntryActiveId);
                 } else {
                     $strLinkPages .= $this->objTemplate->fillTemplate(array("pageHref" => class_link::getLinkPortalHref($strPage, "", $strAction, "&" . $strPvParam . "=" . $intI . $strAdd), "pageNumber" => $intI), $strEntryId);
                 }
             } else {
                 if ($intI == $intPage) {
                     $strLinkPages .= "  <strong>" . class_link::getLinkPortal($strPage, "", null, "[" . $intI . "]", $strAction, "&" . $strPvParam . "=" . $intI . $strAdd) . "</strong>";
                 } else {
                     $strLinkPages .= "  " . class_link::getLinkPortal($strPage, "", null, "[" . $intI . "]", $strAction, "&" . $strPvParam . "=" . $intI . $strAdd);
                 }
             }
         }
         $intCounter2++;
     }
     if ($objArraySectionIterator->getNrOfPages() > 1) {
         $arrReturn["strForward"] = $strLinkForward;
         $arrReturn["strBack"] = $strLinkBack;
         $arrReturn["strPages"] = $strLinkPages;
     }
     return $arrReturn;
 }
Пример #8
0
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objORM = new class_orm_objectlist();
     //search for matching pages
     $strQuery = "SELECT page_name,  page_id\n                       FROM " . _dbprefix_ . "element_faqs,\n                            " . _dbprefix_ . "faqs\n                  LEFT JOIN " . _dbprefix_ . "faqs_member\n                         ON (faqsmem_faq = faqs_id),\n                            " . _dbprefix_ . "page_element,\n                            " . _dbprefix_ . "page,\n                            " . _dbprefix_ . "system\n                      WHERE faqs_id = ?\n                        AND content_id = page_element_id\n                        AND content_id = system_id\n                        AND (\n                            faqs_category IS NULL OR (\n                                faqs_category = '0' OR faqs_category = faqsmem_category\n                            )\n                        )\n                        AND system_prev_id = page_id\n                        AND system_status = 1\n                        " . $objORM->getDeletedWhereRestriction() . "\n                        AND page_element_ph_language = ? ";
     $arrRows = $this->objDB->getPArray($strQuery, array($this->getSystemid(), $objResult->getObjSearch()->getStrPortalLangFilter()));
     $arrReturn = array();
     foreach ($arrRows as $arrOnePage) {
         //check, if the post is available on a page using the current language
         if (!isset($arrOnePage["page_name"]) || $arrOnePage["page_name"] == "") {
             continue;
         }
         $objCurResult = clone $objResult;
         $objCurResult->setStrPagelink(class_link::getLinkPortal($arrOnePage["page_name"], "", "_self", $arrOnePage["page_name"], "", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8"))));
         $objCurResult->setStrPagename($arrOnePage["page_name"]);
         $objCurResult->setStrDescription($this->getStrQuestion());
         $arrReturn[] = $objCurResult;
     }
     return $arrReturn;
 }
 /**
  * Returns a list of news.
  * As defined in the element, this could be an archive or a normal list
  *
  * @return string
  */
 protected function actionNewsList()
 {
     $strReturn = "";
     //Load news using the correct filter
     if ($this->getParam("filterid") != "") {
         $strFilterId = $this->getParam("filterid");
     } else {
         $strFilterId = $this->arrElementData["news_category"];
     }
     $strPageview = 1;
     if ($this->getParam("pv") != 1 && $this->getSystemid() == $this->arrElementData["content_id"]) {
         $strPageview = $this->getParam("pv");
     }
     //Load all posts
     $objArraySectionIterator = new class_array_section_iterator(class_module_news_news::getNewsCountPortal($this->arrElementData["news_mode"], $strFilterId));
     $objArraySectionIterator->setIntElementsPerPage($this->arrElementData["news_amount"]);
     $objArraySectionIterator->setPageNumber((int) $strPageview);
     $objArraySectionIterator->setArraySection(class_module_news_news::loadListNewsPortal($this->arrElementData["news_mode"], $strFilterId, $this->arrElementData["news_order"], $objArraySectionIterator->calculateStartPos(), $objArraySectionIterator->calculateEndPos()));
     $arrNews = $this->objToolkit->simplePager($objArraySectionIterator, $this->getLang("commons_next"), $this->getLang("commons_back"), "", $this->getPagename(), "&systemid=" . $this->arrElementData["content_id"], "pv", "/module_news/" . $this->arrElementData["news_template"]);
     //Check rights
     if (!$objArraySectionIterator->valid()) {
         $strReturn .= $this->getLang("news_list_empty");
     }
     foreach ($objArraySectionIterator as $objOneNews) {
         /** @var $objOneNews class_module_news_news */
         if ($objOneNews instanceof class_module_news_news && $objOneNews->rightView()) {
             $objMapper = new class_template_mapper($objOneNews);
             //generate a link to the details
             $objMapper->addPlaceholder("news_more_link", class_link::getLinkPortal($this->arrElementData["news_detailspage"], "", "", $this->getLang("news_mehr"), "newsDetail", "", $objOneNews->getSystemid(), "", "", $objOneNews->getStrTitle()));
             $objMapper->addPlaceholder("news_more_link_href", class_link::getLinkPortalHref($this->arrElementData["news_detailspage"], "", "newsDetail", "", $objOneNews->getSystemid(), "", $objOneNews->getStrTitle()));
             $objMapper->addPlaceholder("news_start_date", dateToString($objOneNews->getObjStartDate(), false));
             $objMapper->addPlaceholder("news_id", $objOneNews->getSystemid());
             $objMapper->addPlaceholder("news_title", $objOneNews->getStrTitle());
             $objMapper->addPlaceholder("news_intro", $objOneNews->getStrIntro());
             $objMapper->addPlaceholder("news_text", $objOneNews->getStrText());
             //reset more link? -> no text, no image and no redirect page
             if (uniStrlen(htmlStripTags($objOneNews->getStrText())) == 0 && uniStrlen($objOneNews->getStrImage()) == 0 && ($objOneNews->getIntRedirectEnabled() == "0" || $objOneNews->getStrRedirectPage() == "")) {
                 $objMapper->addPlaceholder("news_more_link", "");
             }
             //postacomment
             $arrPAC = $this->loadPostacomments($objOneNews->getSystemid(), $objOneNews->getStrImage() != "" ? "news_list_image" : "news_list");
             if ($arrPAC != null) {
                 $objMapper->addPlaceholder("news_nrofcomments", $arrPAC["nrOfComments"]);
                 $objMapper->addPlaceholder("news_commentlist", $arrPAC["commentList"]);
             }
             //ratings
             if ($objOneNews->getFloatRating() !== null) {
                 /** @var $objRating class_module_rating_portal */
                 $objRating = class_module_system_module::getModuleByName("rating")->getPortalInstanceOfConcreteModule();
                 $objMapper->addPlaceholder("news_rating", $objRating->buildRatingBar($objOneNews->getFloatRating(), $objOneNews->getIntRatingHits(), $objOneNews->getSystemid(), $objOneNews->isRateableByUser(), $objOneNews->rightRight3()));
             }
             //categories
             $objMapper->addPlaceholder("news_categories", $this->renderCategoryTitles($objOneNews));
             //load template section with or without image?
             if ($objOneNews->getStrImage() != "") {
                 $objMapper->addPlaceholder("news_image", urlencode($objOneNews->getStrImage()));
                 $strOneNews = $objMapper->writeToTemplate("/module_news/" . $this->arrElementData["news_template"], "news_list_image");
             } else {
                 $strOneNews = $objMapper->writeToTemplate("/module_news/" . $this->arrElementData["news_template"], "news_list");
             }
             //Add pe code
             $arrPeConfig = array("pe_module" => "news", "pe_action_edit" => "editNews", "pe_action_edit_params" => "&systemid=" . $objOneNews->getSystemid(), "pe_action_new" => "newNews", "pe_action_new_params" => "", "pe_action_delete" => "delete", "pe_action_delete_params" => "&systemid=" . $objOneNews->getSystemid());
             $strReturn .= class_element_portal::addPortalEditorCode($strOneNews, $objOneNews->getSystemid(), $arrPeConfig);
         }
     }
     $arrWrapperTemplate = array();
     $arrWrapperTemplate["news"] = $strReturn;
     $arrWrapperTemplate["link_forward"] = $arrNews["strForward"];
     $arrWrapperTemplate["link_pages"] = $arrNews["strPages"];
     $arrWrapperTemplate["link_back"] = $arrNews["strBack"];
     $strReturn = $this->fillTemplate($arrWrapperTemplate, $this->objTemplate->readTemplate("/module_news/" . $this->arrElementData["news_template"], "news_list_wrapper"));
     return $strReturn;
 }
Пример #10
0
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objResult->setStrPagelink(class_link::getLinkPortal($this->getStrName(), "", "_self", $this->getStrBrowsername(), "", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8"))));
     $objResult->setStrPagename($this->getStrName());
 }
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  * If you want to add additional entries to the result set, clone the result and modify
  * the new instance to your needs. Pack them in an array and they'll be merged
  * into the result set afterwards.
  * Make sure to return the passed result-object in this array, too.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objPage = new class_module_pages_page($this->getStrAssignedPage());
     $objResult->setStrPagelink(class_link::getLinkPortal($objPage->getStrName(), "", "_self", $this->getStrTitle() != "" ? $this->getStrTitle() : $objPage->getStrName(), "", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8"))));
     $objResult->setStrPagename($objPage->getStrName());
     $objResult->setStrDescription($this->getStrComment());
 }
Пример #12
0
 /**
  * Return an on-lick link for the passed object.
  * This link is rendered by the portal search result generator, so
  * make sure the link is a valid portal page.
  * If you want to suppress the entry from the result, return an empty string instead.
  * If you want to add additional entries to the result set, clone the result and modify
  * the new instance to your needs. Pack them in an array and they'll be merged
  * into the result set afterwards.
  * Make sure to return the passed result-object in this array, too.
  *
  * @param class_search_result $objResult
  *
  * @see getLinkPortalHref()
  * @return mixed
  */
 public function updateSearchResult(class_search_result $objResult)
 {
     $objORM = new class_orm_objectlist();
     $strQuery = "SELECT news_detailspage\n                       FROM " . _dbprefix_ . "element_news,\n                            " . _dbprefix_ . "news_member,\n                            " . _dbprefix_ . "news,\n                            " . _dbprefix_ . "page_element,\n                            " . _dbprefix_ . "page,\n                            " . _dbprefix_ . "system\n                      WHERE news_id = ?\n                        AND content_id = page_element_id\n                        AND content_id = system_id\n                        AND ( news_category = '0' OR (\n                                news_category = newsmem_category\n                                AND newsmem_news = news_id\n                           )\n                        )\n                        AND system_prev_id = page_id\n                        AND system_status = 1\n                        AND news_view = 0\n                        " . $objORM->getDeletedWhereRestriction() . "\n                        AND page_element_ph_language = ? ";
     $arrRows = $this->objDB->getPArray($strQuery, array($this->getSystemid(), $objResult->getObjSearch()->getStrPortalLangFilter()));
     $arrReturn = array();
     foreach ($arrRows as $arrOnePage) {
         //check, if the post is available on a page using the current language
         if (!isset($arrOnePage["news_detailspage"]) || $arrOnePage["news_detailspage"] == "") {
             continue;
         }
         $objDetails = class_module_pages_page::getPageByName($arrOnePage["news_detailspage"]);
         if ($objDetails == null) {
             continue;
         }
         //TODO: PV position
         $objOneResult = clone $objResult;
         $objOneResult->setStrPagelink(class_link::getLinkPortal($arrOnePage["news_detailspage"], "", "_self", $this->getStrTitle(), "newsDetail", "&highlight=" . urlencode(html_entity_decode($objResult->getObjSearch()->getStrQuery(), ENT_QUOTES, "UTF-8")), $this->getSystemid()));
         $objOneResult->setStrPagename($arrOnePage["news_detailspage"]);
         $objOneResult->setStrDescription($this->getStrIntro());
         $arrReturn[] = $objOneResult;
     }
     return $arrReturn;
 }
 /**
  * @return string
  */
 public function getReport()
 {
     $strReturn = "";
     //Create Data-table
     $arrHeader = array();
     $arrValues = array();
     //Fetch data
     $arrStats = $this->getTopReferer();
     //calc a few values
     $intSum = 0;
     foreach ($arrStats as $arrOneStat) {
         $intSum += $arrOneStat["anzahl"];
     }
     $intI = 0;
     $objUser = new class_module_user_user(class_session::getInstance()->getUserID());
     foreach ($arrStats as $arrOneStat) {
         //Escape?
         if ($intI >= $objUser->getIntItemsPerPage()) {
             break;
         }
         if ($arrOneStat["refurl"] == "") {
             $arrOneStat["refurl"] = $this->objTexts->getLang("referer_direkt", "stats");
         } else {
             $arrOneStat["refurl"] = class_link::getLinkPortal("", $arrOneStat["refurl"], "_blank", uniStrTrim($arrOneStat["refurl"], 45));
         }
         $arrValues[$intI] = array();
         $arrValues[$intI][] = $intI + 1;
         $arrValues[$intI][] = $arrOneStat["refurl"];
         $arrValues[$intI][] = $arrOneStat["anzahl"];
         $arrValues[$intI][] = $this->objToolkit->percentBeam($arrOneStat["anzahl"] / $intSum * 100);
         $intI++;
     }
     //HeaderRow
     $arrHeader[] = "#";
     $arrHeader[] = $this->objTexts->getLang("top_referer_titel", "stats");
     $arrHeader[] = $this->objTexts->getLang("top_referer_gewicht", "stats");
     $arrHeader[] = $this->objTexts->getLang("anteil", "stats");
     $strReturn .= $this->objToolkit->dataTable($arrHeader, $arrValues);
     return $strReturn;
 }