/** * 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"]); } }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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()); }
/** * 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; }