function getHomeTopNews($catId = 0) { global $_CORELANG, $objDatabase; $catId = intval($catId); $i = 0; $this->_objTemplate->setTemplate($this->_pageContent, true, true); if ($this->_objTemplate->blockExists('newsrow')) { $this->_objTemplate->setCurrentBlock('newsrow'); } else { return null; } $newsLimit = intval($this->arrSettings['news_top_limit']); if ($newsLimit > 50) { //limit to a maximum of 50 news $newsLimit = 50; } if ($newsLimit < 1) { //do not get any news if 0 was specified as the limit. $objResult = false; } else { //fetch news $objResult = $objDatabase->SelectLimit("\n SELECT DISTINCT(tblN.id) AS id,\n tblN.`date`, \n tblN.teaser_image_path,\n tblN.teaser_image_thumbnail_path,\n tblN.redirect,\n tblN.publisher,\n tblN.publisher_id,\n tblN.author,\n tblN.author_id,\n tblL.title AS title, \n tblL.teaser_text\n FROM " . DBPREFIX . "module_news AS tblN\n INNER JOIN " . DBPREFIX . "module_news_locale AS tblL ON tblL.news_id=tblN.id\n INNER JOIN " . DBPREFIX . "module_news_rel_categories AS tblC ON tblC.news_id=tblL.news_id\n WHERE tblN.status=1" . ($catId > 0 ? " AND tblC.category_id={$catId}" : '') . "\n AND tblN.teaser_only='0'\n AND tblL.lang_id=" . FRONTEND_LANG_ID . "\n AND (startdate<='" . date('Y-m-d H:i:s') . "' OR startdate='0000-00-00 00:00:00')\n AND (enddate>='" . date('Y-m-d H:i:s') . "' OR enddate='0000-00-00 00:00:00')" . ($this->arrSettings['news_message_protection'] == '1' && !\Permission::hasAllAccess() ? ($objFWUser = \FWUser::getFWUserObject()) && $objFWUser->objUser->login() ? " AND (frontend_access_id IN (" . implode(',', array_merge(array(0), $objFWUser->objUser->getDynamicPermissionIds())) . ") OR userid=" . $objFWUser->objUser->getId() . ") " : " AND frontend_access_id=0 " : '') . "ORDER BY\n (SELECT COUNT(*) FROM " . DBPREFIX . "module_news_stats_view WHERE news_id=tblN.id AND time>'" . date_format(date_sub(date_create('now'), date_interval_create_from_date_string(intval($this->arrSettings['news_top_days']) . ' day')), 'Y-m-d H:i:s') . "') DESC", $newsLimit); } if ($objResult !== false && $objResult->RecordCount()) { while (!$objResult->EOF) { $newsid = $objResult->fields['id']; $newstitle = $objResult->fields['title']; $author = \FWUser::getParsedUserTitle($objResult->fields['author_id'], $objResult->fields['author']); $publisher = \FWUser::getParsedUserTitle($objResult->fields['publisher_id'], $objResult->fields['publisher']); $newsCategories = $this->getCategoriesByNewsId($newsid); $newsUrl = empty($objResult->fields['redirect']) ? \Cx\Core\Routing\Url::fromModuleAndCmd('News', $this->findCmdById('details', self::sortCategoryIdByPriorityId(array_keys($newsCategories), array($catId))), FRONTEND_LANG_ID, array('newsid' => $newsid)) : $objResult->fields['redirect']; $htmlLink = self::parseLink($newsUrl, $newstitle, contrexx_raw2xhtml($newstitle)); list($image, $htmlLinkImage, $imageSource) = self::parseImageThumbnail($objResult->fields['teaser_image_path'], $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl); $this->_objTemplate->setVariable(array('NEWS_ID' => $newsid, 'NEWS_CSS' => 'row' . ($i % 2 + 1), 'NEWS_LONG_DATE' => date(ASCMS_DATE_FORMAT, $objResult->fields['date']), 'NEWS_DATE' => date(ASCMS_DATE_FORMAT_DATE, $objResult->fields['date']), 'NEWS_TIME' => date(ASCMS_DATE_FORMAT_TIME, $objResult->fields['date']), 'NEWS_TITLE' => contrexx_raw2xhtml($newstitle), 'NEWS_TEASER' => nl2br($objResult->fields['teaser_text']), 'NEWS_LINK' => $htmlLink, 'NEWS_LINK_URL' => contrexx_raw2xhtml($newsUrl), 'NEWS_AUTHOR' => contrexx_raw2xhtml($author), 'NEWS_PUBLISHER' => contrexx_raw2xhtml($publisher))); if (!empty($image)) { $this->_objTemplate->setVariable(array('NEWS_IMAGE' => $image, 'NEWS_IMAGE_SRC' => contrexx_raw2xhtml($imageSource), 'NEWS_IMAGE_ALT' => contrexx_raw2xhtml($newstitle), 'NEWS_IMAGE_LINK' => $htmlLinkImage)); if ($this->_objTemplate->blockExists('news_image')) { $this->_objTemplate->parse('news_image'); } } else { if ($this->_objTemplate->blockExists('news_image')) { $this->_objTemplate->hideBlock('news_image'); } } self::parseImageBlock($this->_objTemplate, $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl, 'image_thumbnail'); self::parseImageBlock($this->_objTemplate, $objResult->fields['teaser_image_path'], $newstitle, $newsUrl, 'image_detail'); $this->_objTemplate->parseCurrentBlock(); $i++; $objResult->MoveNext(); } } else { $this->_objTemplate->hideBlock('newsrow'); } $this->_objTemplate->setVariable("TXT_MORE_NEWS", $_CORELANG['TXT_MORE_NEWS']); return $this->_objTemplate->get(); }
function getHomeHeadlines($catId = 0) { global $_CORELANG, $objDatabase, $_LANGID; $i = 0; $catId = intval($catId); $this->_objTemplate->setTemplate($this->_pageContent, true, true); $newsLimit = intval($this->arrSettings['news_headlines_limit']); if ($newsLimit > 50) { //limit to a maximum of 50 news $newsLimit = 50; } if ($newsLimit < 1) { //do not get any news if 0 was specified as the limit. $objResult = false; } else { //fetch news $objResult = $objDatabase->SelectLimit("\n SELECT DISTINCT(tblN.id) AS id,\n tblN.`date`, \n tblN.teaser_image_path,\n tblN.teaser_image_thumbnail_path,\n tblN.redirect,\n tblN.publisher,\n tblN.publisher_id,\n tblN.author,\n tblN.author_id,\n tblL.text NOT REGEXP '^(<br type=\"_moz\" />)?\$' AS newscontent,\n tblL.title AS title, \n tblL.teaser_text\n FROM " . DBPREFIX . "module_news AS tblN\n INNER JOIN " . DBPREFIX . "module_news_locale AS tblL ON tblL.news_id=tblN.id\n INNER JOIN " . DBPREFIX . "module_news_rel_categories AS tblC ON tblC.news_id=tblL.news_id\n WHERE tblN.status=1" . ($catId > 0 ? " AND tblC.category_id={$catId}" : '') . "\n AND tblN.teaser_only='0'\n AND tblL.lang_id=" . $_LANGID . "\n AND tblL.is_active=1\n AND (startdate<='" . date('Y-m-d H:i:s') . "' OR startdate='0000-00-00 00:00:00')\n AND (enddate>='" . date('Y-m-d H:i:s') . "' OR enddate='0000-00-00 00:00:00')" . ($this->arrSettings['news_message_protection'] == '1' && !\Permission::hasAllAccess() ? ($objFWUser = \FWUser::getFWUserObject()) && $objFWUser->objUser->login() ? " AND (frontend_access_id IN (" . implode(',', array_merge(array(0), $objFWUser->objUser->getDynamicPermissionIds())) . ") OR userid=" . $objFWUser->objUser->getId() . ") " : " AND frontend_access_id=0 " : '') . "ORDER BY date DESC", $newsLimit); } if ($objResult !== false && $objResult->RecordCount() >= 0) { while (!$objResult->EOF) { $newsid = $objResult->fields['id']; $newstitle = $objResult->fields['title']; $newsCategories = $this->getCategoriesByNewsId($newsid); $newsUrl = empty($objResult->fields['redirect']) ? empty($objResult->fields['newscontent']) ? '' : \Cx\Core\Routing\Url::fromModuleAndCmd('News', $this->findCmdById('details', self::sortCategoryIdByPriorityId(array_keys($newsCategories), array($catId))), FRONTEND_LANG_ID, array('newsid' => $newsid)) : $objResult->fields['redirect']; $htmlLink = self::parseLink($newsUrl, $newstitle, contrexx_raw2xhtml($newstitle), 'headlineLink'); $htmlLinkTitle = self::parseLink($newsUrl, $newstitle, contrexx_raw2xhtml($newstitle)); // in case that the message is a stub, we shall just display the news title instead of a html-a-tag with no href target if (empty($htmlLinkTitle)) { $htmlLinkTitle = contrexx_raw2xhtml($newstitle); } list($image, $htmlLinkImage, $imageSource) = self::parseImageThumbnail($objResult->fields['teaser_image_path'], $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl); $author = \FWUser::getParsedUserTitle($objResult->fields['author_id'], $objResult->fields['author']); $publisher = \FWUser::getParsedUserTitle($objResult->fields['publisher_id'], $objResult->fields['publisher']); $this->_objTemplate->setVariable(array('NEWS_ID' => $newsid, 'NEWS_CSS' => 'row' . ($i % 2 + 1), 'NEWS_LONG_DATE' => date(ASCMS_DATE_FORMAT, $objResult->fields['date']), 'NEWS_DATE' => date(ASCMS_DATE_FORMAT_DATE, $objResult->fields['date']), 'NEWS_TIME' => date(ASCMS_DATE_FORMAT_TIME, $objResult->fields['date']), 'NEWS_TITLE' => contrexx_raw2xhtml($newstitle), 'NEWS_TEASER' => nl2br($objResult->fields['teaser_text']), 'NEWS_LINK_TITLE' => $htmlLinkTitle, 'NEWS_LINK' => $htmlLink, 'NEWS_LINK_URL' => contrexx_raw2xhtml($newsUrl), 'NEWS_AUTHOR' => contrexx_raw2xhtml($author), 'NEWS_PUBLISHER' => contrexx_raw2xhtml($publisher), 'HEADLINE_ID' => $newsid, 'HEADLINE_DATE' => date(ASCMS_DATE_FORMAT_DATE, $objResult->fields['date']), 'HEADLINE_TEXT' => nl2br($objResult->fields['teaser_text']), 'HEADLINE_LINK' => $htmlLinkTitle, 'HEADLINE_AUTHOR' => contrexx_raw2xhtml($author))); if (!empty($image)) { $this->_objTemplate->setVariable(array('NEWS_IMAGE' => $image, 'NEWS_IMAGE_SRC' => contrexx_raw2xhtml($imageSource), 'NEWS_IMAGE_ALT' => contrexx_raw2xhtml($newstitle), 'NEWS_IMAGE_LINK' => $htmlLinkImage, 'HEADLINE_IMAGE_PATH' => contrexx_raw2xhtml($objResult->fields['teaser_image_path']), 'HEADLINE_THUMBNAIL_PATH' => contrexx_raw2xhtml($imageSource))); if ($this->_objTemplate->blockExists('news_image')) { $this->_objTemplate->parse('news_image'); } } else { if ($this->_objTemplate->blockExists('news_image')) { $this->_objTemplate->hideBlock('news_image'); } } self::parseImageBlock($this->_objTemplate, $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl, 'image_thumbnail'); self::parseImageBlock($this->_objTemplate, $objResult->fields['teaser_image_path'], $newstitle, $newsUrl, 'image_detail'); $this->_objTemplate->parse('headlines_row'); $i++; $objResult->MoveNext(); } } else { $this->_objTemplate->hideBlock('headlines_row'); } $this->_objTemplate->setVariable("TXT_MORE_NEWS", $_CORELANG['TXT_MORE_NEWS']); return $this->_objTemplate->get(); }
function initializeTeasers() { global $objDatabase, $_CORELANG; $this->arrTeasers = array(); $this->getSettings(); $objResult = $objDatabase->Execute("\n SELECT tblN.id,\n tblN.date,\n tblN.userid,\n tblN.teaser_frames,\n tblN.redirect,\n tblN.teaser_show_link,\n tblN.teaser_image_path,\n tblN.teaser_image_thumbnail_path,\n tblL.title,\n tblL.text AS teaser_full_text,\n tblL.teaser_text\n FROM " . DBPREFIX . "module_news AS tblN\n INNER JOIN " . DBPREFIX . "module_news_locale AS tblL ON tblL.news_id=tblN.id\n WHERE tblL.lang_id=" . FRONTEND_LANG_ID . ($this->administrate == false ? " AND tblN.validated='1'\n AND tblN.status='1'\n AND tblL.is_active=1\n AND (tblN.startdate<='" . date('Y-m-d H:i:s') . "' OR tblN.startdate='0000-00-00 00:00:00') AND (tblN.enddate>='" . date('Y-m-d H:i:s') . "' OR tblN.enddate='0000-00-00 00:00:00')" : "") . ($this->arrSettings['news_message_protection'] == '1' && !\Permission::hasAllAccess() ? ($objFWUser = \FWUser::getFWUserObject()) && $objFWUser->objUser->login() ? " AND (tblN.frontend_access_id IN (" . implode(',', array_merge(array(0), $objFWUser->objUser->getDynamicPermissionIds())) . ") OR userid = " . $objFWUser->objUser->getId() . ") " : " AND tblN.frontend_access_id=0 " : '') . "\n ORDER BY date DESC"); if ($objResult !== false) { while (!$objResult->EOF) { $arrFrames = explode(';', $objResult->fields['teaser_frames']); foreach ($arrFrames as $frameId) { if (!isset($this->arrFrameTeaserIds[$frameId])) { $this->arrFrameTeaserIds[$frameId] = array(); } array_push($this->arrFrameTeaserIds[$frameId], $objResult->fields['id']); } if (!empty($objResult->fields['redirect'])) { $extUrl = substr($objResult->fields['redirect'], 7); $tmp = explode('/', $extUrl); $extUrl = "(" . $tmp[0] . ")"; } else { $extUrl = ""; } if ($this->administrate == false) { $objFWUser = \FWUser::getFWUserObject(); $objUser = $objFWUser->objUser->getUser($objResult->fields['userid']); if ($objUser) { $firstname = $objUser->getProfileAttribute('firstname'); $lastname = $objUser->getProfileAttribute('lastname'); if (!empty($firstname) && !empty($lastname)) { $author = contrexx_raw2xhtml($firstname . ' ' . $lastname); } else { $author = contrexx_raw2xhtml($objUser->getUsername()); } } else { $author = $_CORELANG['TXT_ANONYMOUS']; } } else { $author = ''; } if (!empty($objResult->fields['teaser_image_thumbnail_path'])) { $image = $objResult->fields['teaser_image_thumbnail_path']; } elseif (!empty($objResult->fields['teaser_image_path']) && file_exists(ASCMS_PATH . \ImageManager::getThumbnailFilename($objResult->fields['teaser_image_path']))) { $image = \ImageManager::getThumbnailFilename($objResult->fields['teaser_image_path']); } elseif (!empty($objResult->fields['teaser_image_path'])) { $image = $objResult->fields['teaser_image_path']; } else { $image = ASCMS_CORE_MODULE_WEB_PATH . '/News/View/Media/pixel.gif'; } $newsCategories = $this->getCategoriesByNewsId($objResult->fields['id']); $this->arrTeasers[$objResult->fields['id']] = array('id' => $objResult->fields['id'], 'date' => $objResult->fields['date'], 'title' => $objResult->fields['title'], 'teaser_frames' => $objResult->fields['teaser_frames'], 'redirect' => $objResult->fields['redirect'], 'ext_url' => $extUrl, 'category' => implode(', ', contrexx_raw2xhtml($newsCategories)), 'category_id' => array_keys($newsCategories), 'teaser_full_text' => $objResult->fields['teaser_full_text'], 'teaser_text' => $objResult->fields['teaser_text'], 'teaser_show_link' => $objResult->fields['teaser_show_link'], 'author' => $author, 'teaser_image_path' => $image); $objResult->MoveNext(); } } }
/** * Gets the list with the top news * * @global array * @global ADONewConnection * @global array * @return string parsed content */ private function getTopNews() { global $_CONFIG, $objDatabase, $_ARRAYLANG; $newsfilter = ''; $paging = ''; $pos = 0; $i = 0; if (isset($_GET['pos'])) { $pos = intval($_GET['pos']); } $this->_objTpl->setVariable(array('TXT_DATE' => $_ARRAYLANG['TXT_DATE'], 'TXT_TITLE' => $_ARRAYLANG['TXT_TITLE'], 'TXT_NEWS_MESSAGE' => $_ARRAYLANG['TXT_NEWS_MESSAGE'])); $query = ' SELECT n.id AS newsid, n.userid AS newsuid, n.date AS newsdate, n.teaser_image_path, n.teaser_image_thumbnail_path, n.redirect, n.publisher, n.publisher_id, n.author, n.author_id, nl.title AS newstitle, nl.text NOT REGEXP \'^(<br type="_moz" />)?$\' AS newscontent, nl.teaser_text FROM ' . DBPREFIX . 'module_news AS n INNER JOIN ' . DBPREFIX . 'module_news_locale AS nl ON nl.news_id = n.id WHERE status = 1 AND nl.is_active=1 AND nl.lang_id=' . FRONTEND_LANG_ID . ' AND (n.startdate<=\'' . date('Y-m-d H:i:s') . '\' OR n.startdate="0000-00-00 00:00:00") AND (n.enddate>=\'' . date('Y-m-d H:i:s') . '\' OR n.enddate="0000-00-00 00:00:00") ' . $newsfilter . ($this->arrSettings['news_message_protection'] == '1' && !\Permission::hasAllAccess() ? ($objFWUser = \FWUser::getFWUserObject()) && $objFWUser->objUser->login() ? " AND (frontend_access_id IN (" . implode(',', array_merge(array(0), $objFWUser->objUser->getDynamicPermissionIds())) . ") OR userid = " . $objFWUser->objUser->getId() . ") " : " AND frontend_access_id=0 " : '') . 'ORDER BY (SELECT COUNT(*) FROM ' . DBPREFIX . 'module_news_stats_view WHERE news_id=n.id AND time>"' . date_format(date_sub(date_create('now'), date_interval_create_from_date_string(intval($this->arrSettings['news_top_days']) . ' day')), 'Y-m-d H:i:s') . '") DESC'; /***start paging ****/ $objResult = $objDatabase->Execute($query); $count = $objResult->RecordCount(); if ($count > intval($_CONFIG['corePagingLimit'])) { $paging = getPaging($count, $pos, '§ion=News&cmd=topnews', $_ARRAYLANG['TXT_NEWS_MESSAGES'], true); } $this->_objTpl->setVariable('NEWS_PAGING', $paging); $objResult = $objDatabase->SelectLimit($query, $_CONFIG['corePagingLimit'], $pos); /*** end paging ***/ if ($count >= 1) { while (!$objResult->EOF) { $newsid = $objResult->fields['newsid']; $newstitle = $objResult->fields['newstitle']; $newsCategories = $this->getCategoriesByNewsId($newsid); $newsUrl = empty($objResult->fields['redirect']) ? empty($objResult->fields['newscontent']) ? '' : \Cx\Core\Routing\Url::fromModuleAndCmd('News', $this->findCmdById('details', array_keys($newsCategories)), FRONTEND_LANG_ID, array('newsid' => $newsid)) : $objResult->fields['redirect']; $htmlLink = self::parseLink($newsUrl, $newstitle, contrexx_raw2xhtml('[' . $_ARRAYLANG['TXT_NEWS_MORE'] . '...]')); $htmlLinkTitle = self::parseLink($newsUrl, $newstitle, contrexx_raw2xhtml($newstitle)); // in case that the message is a stub, we shall just display the news title instead of a html-a-tag with no href target if (empty($htmlLinkTitle)) { $htmlLinkTitle = contrexx_raw2xhtml($newstitle); } list($image, $htmlLinkImage, $imageSource) = self::parseImageThumbnail($objResult->fields['teaser_image_path'], $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl); $author = \FWUser::getParsedUserTitle($objResult->fields['author_id'], $objResult->fields['author']); $publisher = \FWUser::getParsedUserTitle($objResult->fields['publisher_id'], $objResult->fields['publisher']); $this->_objTpl->setVariable(array('NEWS_ID' => $newsid, 'NEWS_CSS' => 'row' . ($i % 2 + 1), 'NEWS_TEASER' => nl2br($objResult->fields['teaser_text']), 'NEWS_TITLE' => contrexx_raw2xhtml($newstitle), 'NEWS_LONG_DATE' => date(ASCMS_DATE_FORMAT, $objResult->fields['newsdate']), 'NEWS_DATE' => date(ASCMS_DATE_FORMAT_DATE, $objResult->fields['newsdate']), 'NEWS_TIME' => date(ASCMS_DATE_FORMAT_TIME, $objResult->fields['newsdate']), 'NEWS_LINK_TITLE' => $htmlLinkTitle, 'NEWS_LINK' => $htmlLink, 'NEWS_LINK_URL' => contrexx_raw2xhtml($newsUrl), 'NEWS_CATEGORY' => implode(', ', contrexx_raw2xhtml($newsCategories)), 'NEWS_PUBLISHER' => contrexx_raw2xhtml($publisher), 'NEWS_AUTHOR' => contrexx_raw2xhtml($author))); if (!empty($image)) { $this->_objTpl->setVariable(array('NEWS_IMAGE' => $image, 'NEWS_IMAGE_SRC' => contrexx_raw2xhtml($imageSource), 'NEWS_IMAGE_ALT' => contrexx_raw2xhtml($newstitle), 'NEWS_IMAGE_LINK' => $htmlLinkImage)); if ($this->_objTpl->blockExists('news_image')) { $this->_objTpl->parse('news_image'); } } else { if ($this->_objTpl->blockExists('news_image')) { $this->_objTpl->hideBlock('news_image'); } } self::parseImageBlock($this->_objTpl, $objResult->fields['teaser_image_thumbnail_path'], $newstitle, $newsUrl, 'image_thumbnail'); self::parseImageBlock($this->_objTpl, $objResult->fields['teaser_image_path'], $newstitle, $newsUrl, 'image_detail'); $this->_objTpl->parse('newsrow'); $i++; $objResult->MoveNext(); } if ($this->_objTpl->blockExists('news_list')) { $this->_objTpl->parse('news_list'); } if ($this->_objTpl->blockExists('news_menu')) { $this->_objTpl->parse('news_menu'); } if ($this->_objTpl->blockExists('news_status_message')) { $this->_objTpl->hideBlock('news_status_message'); } } else { $this->_objTpl->setVariable('TXT_NEWS_NO_NEWS_FOUND', $_ARRAYLANG['TXT_NEWS_NO_NEWS_FOUND']); if ($this->_objTpl->blockExists('news_status_message')) { $this->_objTpl->parse('news_status_message'); } if ($this->_objTpl->blockExists('news_menu')) { $this->_objTpl->parse('news_menu'); } if ($this->_objTpl->blockExists('news_list')) { $this->_objTpl->hideBlock('news_list'); } } return $this->_objTpl->get(); }
/** * check for permission * * @param integer $intCatId * @param string|array $mixedMode * @return bool hasAccess */ function _checkAuth($intCatId, $mixedMode = 'read') { if (\Permission::hasAllAccess()) { return true; } $arrAccess = $this->createAccessArray($intCatId); if (is_array($mixedMode)) { foreach ($mixedMode as $mode) { if ($this->_checkGroupAccess($arrAccess, $mode)) { return true; } } } elseif (is_string($mixedMode)) { return $this->_checkGroupAccess($arrAccess, $mixedMode); } return false; }
/** * Get News Filter Condition Query * * @param string $tableAlias * @param array $filters * @param string $filterCategory category filter * * @return string sql query */ public function getNewsFilterQuery($tableAlias, $filters, $filterCategory) { $filterCondition = " AND {$tableAlias}.status = 1\n AND nl.is_active=1\n AND nl.lang_id=" . FRONTEND_LANG_ID . "\n AND ({$tableAlias}.startdate<='" . date('Y-m-d H:i:s') . "' OR {$tableAlias}.startdate=\"0000-00-00 00:00:00\")\n AND ({$tableAlias}.enddate>='" . date('Y-m-d H:i:s') . "' OR {$tableAlias}.enddate=\"0000-00-00 00:00:00\")" . ($this->arrSettings['news_message_protection'] == '1' && !Permission::hasAllAccess() ? ($objFWUser = FWUser::getFWUserObject()) && $objFWUser->objUser->login() ? " AND (frontend_access_id IN (" . implode(',', array_merge(array(0), $objFWUser->objUser->getDynamicPermissionIds())) . ") OR userid = " . $objFWUser->objUser->getId() . ") " : " AND frontend_access_id=0 " : ''); if (!empty($filters)) { $additionalFilter = ''; foreach ($filters as $field => $values) { $additionalFilter .= ' AND (`' . $tableAlias . '`.`' . $field . '` IN (' . implode(',', contrexx_input2int($values)) . '))'; } $filterCondition .= $additionalFilter; } if (!empty($filterCategory)) { $filterCondition .= $filterCategory; } return $filterCondition; }
private function parseDownloads($objCategory) { global $_CONFIG, $_ARRAYLANG; if (!$this->objTemplate->blockExists('downloads_file_list')) { return; } $limitOffset = isset($_GET['pos']) ? intval($_GET['pos']) : 0; $includeDownloadsOfSubcategories = false; // set downloads filter $filter = array('expiration' => array('=' => 0, '>' => time())); if ($objCategory->getId()) { $filter['category_id'] = $objCategory->getId(); if (!empty($this->searchKeyword)) { $includeDownloadsOfSubcategories = true; } } $objDownload = new Download(); $sortOrder = $this->downloadsSortingOptions[$this->arrConfig['downloads_sorting_order']]; $objDownload->loadDownloads($filter, $this->searchKeyword, $sortOrder, null, $_CONFIG['corePagingLimit'], $limitOffset, $includeDownloadsOfSubcategories); $categoryId = $objCategory->getId(); $allowdDeleteFiles = false; if (!$objCategory->EOF) { $allowdDeleteFiles = !$objCategory->getManageFilesAccessId() || \Permission::checkAccess($objCategory->getManageFilesAccessId(), 'dynamic', true) || $this->userId && $objCategory->getOwnerId() == $this->userId; } elseif (\Permission::hasAllAccess()) { $allowdDeleteFiles = true; } if ($objDownload->EOF) { $this->objTemplate->hideBlock('downloads_file_list'); } else { $row = 1; while (!$objDownload->EOF) { // select category if ($objCategory->EOF) { $arrAssociatedCategories = $objDownload->getAssociatedCategoryIds(); $categoryId = $arrAssociatedCategories[0]; } // parse download info $this->parseDownloadAttributes($objDownload, $categoryId, $allowdDeleteFiles); $this->objTemplate->setVariable('DOWNLOADS_FILE_ROW_CLASS', 'row' . ($row++ % 2 + 1)); $this->objTemplate->parse('downloads_file'); $objDownload->next(); } $downloadCount = $objDownload->getFilteredSearchDownloadCount(); if ($downloadCount > $_CONFIG['corePagingLimit']) { if (\Env::get('cx')->getPage()->getModule() != 'Downloads') { $this->objTemplate->setVariable('DOWNLOADS_FILE_PAGING', getPaging($downloadCount, $limitOffset, '', "<b>" . $_ARRAYLANG['TXT_DOWNLOADS_DOWNLOADS'] . "</b>")); } else { $this->objTemplate->setVariable('DOWNLOADS_FILE_PAGING', getPaging($downloadCount, $limitOffset, '&' . substr($this->moduleParamsHtml, 1) . '&category=' . $objCategory->getId() . '&downloads_search_keyword=' . htmlspecialchars($this->searchKeyword), "<b>" . $_ARRAYLANG['TXT_DOWNLOADS_DOWNLOADS'] . "</b>")); } } $this->objTemplate->setVariable(array('TXT_DOWNLOADS_FILES' => $_ARRAYLANG['TXT_DOWNLOADS_FILES'], 'TXT_DOWNLOADS_DOWNLOAD' => $_ARRAYLANG['TXT_DOWNLOADS_DOWNLOAD'], 'TXT_DOWNLOADS_DOWNLOADS' => $_ARRAYLANG['TXT_DOWNLOADS_DOWNLOADS'])); $this->objTemplate->parse('downloads_file_list'); } }
/** * Set the cms system settings * @global ADONewConnection * @global array Core language * @global \Cx\Core\Html\Sigma */ function showSettings() { global $objTemplate, $_ARRAYLANG; $template = new \Cx\Core\Html\Sigma(); $objTemplate->addBlockfile('ADMIN_CONTENT', 'settings_system', 'settings.html'); $templateObj = new \Cx\Core\Html\Sigma(ASCMS_CORE_PATH . '/Config/View/Template/Backend'); $templateObj->loadTemplateFile('development_tools.html'); $templateObj->setVariable(array('TXT_TITLE_SET5' => $_ARRAYLANG['TXT_SETTINGS_TITLE_DEVELOPMENT'], 'TXT_DEBUGGING_STATUS' => $_ARRAYLANG['TXT_DEBUGGING_STATUS'], 'TXT_DEBUGGING_FLAGS' => $_ARRAYLANG['TXT_DEBUGGING_FLAGS'], 'TXT_SETTINGS_DEBUGGING_FLAG_LOG' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_LOG'], 'TXT_SETTINGS_DEBUGGING_FLAG_PHP' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_PHP'], 'TXT_SETTINGS_DEBUGGING_FLAG_DB' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_DB'], 'TXT_SETTINGS_DEBUGGING_FLAG_DB_TRACE' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_DB_TRACE'], 'TXT_SETTINGS_DEBUGGING_FLAG_DB_CHANGE' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_DB_CHANGE'], 'TXT_SETTINGS_DEBUGGING_FLAG_DB_ERROR' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_DB_ERROR'], 'TXT_SETTINGS_DEBUGGING_FLAG_LOG_FILE' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_LOG_FILE'], 'TXT_SETTINGS_DEBUGGING_FLAG_LOG_FIREPHP' => $_ARRAYLANG['TXT_SETTINGS_DEBUGGING_FLAG_LOG_FIREPHP'], 'TXT_DEBUGGING_EXPLANATION' => $_ARRAYLANG['TXT_DEBUGGING_EXPLANATION'], 'TXT_SAVE_CHANGES' => $_ARRAYLANG['TXT_SAVE'], 'TXT_RADIO_ON' => $_ARRAYLANG['TXT_ACTIVATED'], 'TXT_RADIO_OFF' => $_ARRAYLANG['TXT_DEACTIVATED'])); if (in_array('SystemInfo', \Env::get('cx')->getLicense()->getLegalComponentsList())) { if (isset($_POST['debugging'])) { $this->updateDebugSettings($_POST['debugging']); } $this->setDebuggingVariables($templateObj); } \Cx\Core\Setting\Controller\Setting::init('Config', null, 'Yaml', null, \Cx\Core\Setting\Controller\Setting::REPOPULATE); \Cx\Core\Setting\Controller\Setting::storeFromPost(); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'site'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', $_ARRAYLANG['TXT_CORE_CONFIG_SITE'], $_ARRAYLANG['TXT_CORE_CONFIG_SITE'], 'TXT_CORE_CONFIG_', !$this->isWritable()); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'contactInformation'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', $_ARRAYLANG['TXT_CORE_CONFIG_CONTACTINFORMATION'], $_ARRAYLANG['TXT_CORE_CONFIG_CONTACTINFORMATION'], 'TXT_CORE_CONFIG_', !$this->isWritable()); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'administrationArea'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', $_ARRAYLANG['TXT_CORE_CONFIG_ADMINISTRATIONAREA'], $_ARRAYLANG['TXT_CORE_CONFIG_ADMINISTRATIONAREA'], 'TXT_CORE_CONFIG_', !$this->isWritable()); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'security'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', $_ARRAYLANG['TXT_CORE_CONFIG_SECURITY'], $_ARRAYLANG['TXT_CORE_CONFIG_SECURITY'], 'TXT_CORE_CONFIG_', !$this->isWritable()); if (in_array('SystemInfo', \Env::get('cx')->getLicense()->getLegalComponentsList())) { \Cx\Core\Setting\Controller\Setting::show_external($template, $_ARRAYLANG['TXT_SETTINGS_TITLE_DEVELOPMENT'], $templateObj->get()); } \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'otherConfigurations'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', $_ARRAYLANG['TXT_CORE_CONFIG_OTHERCONFIGURATIONS'], $_ARRAYLANG['TXT_CORE_CONFIG_OTHERCONFIGURATIONS'], 'TXT_CORE_CONFIG_', !$this->isWritable()); // show also hidden settins if (in_array('SystemInfo', \Env::get('cx')->getLicense()->getLegalComponentsList()) && \Permission::hasAllAccess() && isset($_GET['all'])) { \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'core'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', 'CORE', 'CORE', 'TXT_CORE_CONFIG_', true); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'release'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', 'RELEASE', 'RELEASE', 'TXT_CORE_CONFIG_', true); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'component'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', 'COMPONENT', 'COMPONENT', 'TXT_CORE_CONFIG_', !$this->isWritable()); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'license'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', 'LICENSE', 'LICENSE', 'TXT_CORE_CONFIG_', true); \Cx\Core\Setting\Controller\Setting::setEngineType('Config', 'Yaml', 'cache'); \Cx\Core\Setting\Controller\Setting::show($template, 'index.php?cmd=Config', 'CACHE', 'CACHE', 'TXT_CORE_CONFIG_', true); } $this->checkFtpAccess(); $objTemplate->setVariable('SETTINGS_TABLE', $template->get()); $objTemplate->parse('settings_system'); }
function delEntry() { global $objDatabase, $_ARRAYLANG, $_CORELANG, $_CONFIG; $this->_objTpl->setTemplate($this->pageContent, true, true); if (!$this->settings['editEntry'] == '1' || !$this->communityModul && $this->settings['addEntry_only_community'] == '1') { \Cx\Core\Csrf\Controller\Csrf::header('Location: index.php?section=Market&cmd=detail&id=' . $_POST['id']); exit; } elseif ($this->settings['addEntry_only_community'] == '1') { $objFWUser = \FWUser::getFWUserObject(); if ($objFWUser->objUser->login()) { if (!\Permission::checkAccess(101, 'static', true)) { \Cx\Core\Csrf\Controller\Csrf::header("Location: " . CONTREXX_DIRECTORY_INDEX . "?section=Login&cmd=noaccess"); exit; } } else { $link = base64_encode(CONTREXX_DIRECTORY_INDEX . '?' . $_SERVER['QUERY_STRING']); \Cx\Core\Csrf\Controller\Csrf::header("Location: " . CONTREXX_DIRECTORY_INDEX . "?section=Login&redirect=" . $link); exit; } } else { $objFWUser = \FWUser::getFWUserObject(); } //get search $this->getSearch(); if (isset($_GET['id'])) { $entryId = contrexx_addslashes($_GET['id']); $objResult = $objDatabase->Execute('SELECT id, userid, catid FROM ' . DBPREFIX . 'module_market WHERE id = ' . $entryId . ' LIMIT 1'); if ($objResult !== false) { while (!$objResult->EOF) { if ($objFWUser->objUser->login() && $objFWUser->objUser->getId() == $objResult->fields['userid'] || \Permission::hasAllAccess()) { $this->_objTpl->setVariable(array('MARKET_ENTRY_ID' => $entryId, 'TXT_MARKET_DEL' => $_ARRAYLANG['TXT_MARKET_DELETE_ADVERTISEMENT'], 'TXT_MARKET_ABORT' => $_CORELANG['TXT_CANCEL'], 'TXT_MARKET_CONFIRM_DEL' => $_ARRAYLANG['TXT_MARKET_ADVERTISEMENT_DELETE'])); //get navigatin $this->getNavigation($objResult->fields['catid']); $objResult->MoveNext(); } else { \Cx\Core\Csrf\Controller\Csrf::header('Location: index.php?section=Market&cmd=detail&id=' . $_GET['id']); exit; } } } } else { if (isset($_POST['submitEntry'])) { $arrDelete = array(); $arrDelete[0] = $_POST['id']; $this->removeEntry($arrDelete); \Cx\Core\Csrf\Controller\Csrf::header('Location: index.php?section=Market'); exit; } else { \Cx\Core\Csrf\Controller\Csrf::header('Location: index.php?section=Market'); exit; } } }
/** * Update news * * @global ADONewConnection * @global array * @global array * @param integer $newsid * @return boolean result */ function update() { global $objDatabase, $_ARRAYLANG, $_CONFIG; if (!$this->hasCategories()) { return $this->manageCategories(); } if (isset($_POST['newsId'])) { $objFWUser = \FWUser::getFWUserObject(); $id = intval($_POST['newsId']); $userId = $objFWUser->objUser->getId(); $changelog = mktime(); $date = $this->dateFromInput($_POST['newsDate']); $redirect = !empty($_POST['newsRedirect']) && $_POST['newsTypeRadio'] == 'redirect' ? contrexx_strip_tags($_POST['newsRedirect']) : ''; $source = \FWValidator::getUrl(contrexx_strip_tags($_POST['newsSource'])); $url1 = \FWValidator::getUrl(contrexx_strip_tags($_POST['newsUrl1'])); $url2 = \FWValidator::getUrl(contrexx_strip_tags($_POST['newsUrl2'])); $newsPublisherName = !empty($_POST['newsPublisherName']) ? contrexx_input2raw($_POST['newsPublisherName']) : ''; $newsAuthorName = !empty($_POST['newsAuthorName']) ? contrexx_input2raw($_POST['newsAuthorName']) : ''; $newsPublisherId = !empty($_POST['newsPublisherId']) ? contrexx_input2raw($_POST['newsPublisherId']) : '0'; $newsAuthorId = !empty($_POST['newsAuthorId']) ? contrexx_input2raw($_POST['newsAuthorId']) : '0'; $newsCategories = !empty($_POST['newsCat']) ? contrexx_input2raw($_POST['newsCat']) : array(); $typeId = !empty($_POST['newsType']) ? intval($_POST['newsType']) : 0; $newsScheduledActive = !empty($_POST['newsScheduled']) ? intval($_POST['newsScheduled']) : 0; $status = empty($_POST['status']) ? $status = 0 : intval($_POST['status']); $newsTeaserOnly = isset($_POST['newsUseOnlyTeaser']) ? intval($_POST['newsUseOnlyTeaser']) : 0; $newsTeaserShowLink = isset($_POST['newsTeaserShowLink']) ? intval($_POST['newsTeaserShowLink']) : 0; $newsTeaserImagePath = contrexx_addslashes($_POST['newsTeaserImagePath']); $newsTeaserImageThumbnailPath = contrexx_addslashes($_POST['newsTeaserImageThumbnailPath']); $newsTeaserFrames = ''; $newsComments = !empty($_POST['allowComment']) ? intval($_POST['allowComment']) : 0; if (isset($_POST['newsTeaserFramesAsso']) && count($_POST['newsTeaserFramesAsso']) > 0) { foreach ($_POST['newsTeaserFramesAsso'] as $frameId) { intval($frameId) > 0 ? $newsTeaserFrames .= ';' . intval($frameId) : false; } } $startDate = $this->dateFromInput($_POST['startDate']); $endDate = $this->dateFromInput($_POST['endDate']); $newsFrontendAccess = !empty($_POST['news_read_access']); $newsFrontendGroups = $newsFrontendAccess && isset($_POST['news_read_access_associated_groups']) && is_array($_POST['news_read_access_associated_groups']) ? array_map('intval', $_POST['news_read_access_associated_groups']) : array(); $newsBackendAccess = !empty($_POST['news_modify_access']); $newsBackendGroups = $newsBackendAccess && isset($_POST['news_modify_access_associated_groups']) && is_array($_POST['news_modify_access_associated_groups']) ? array_map('intval', $_POST['news_modify_access_associated_groups']) : array(); $objResult = $objDatabase->SelectLimit('SELECT `frontend_access_id`, `backend_access_id`, `userid` FROM `' . DBPREFIX . 'module_news` WHERE `id` = ' . $id, 1); if ($objResult && $objResult->RecordCount() == 1) { $newsFrontendAccessId = $objResult->fields['frontend_access_id']; $newsBackendAccessId = $objResult->fields['backend_access_id']; $newsUserId = $objResult->fields['userid']; } else { $newsFrontendAccessId = 0; $newsBackendAccessId = 0; $newsUserId = 0; } if ($this->arrSettings['news_message_protection'] == '1') { if ($newsBackendAccessId && !\Permission::hasAllAccess() && !\Permission::checkAccess($newsBackendAccessId, 'dynamic', true) && $newsUserId != $objFWUser->objUser->getId()) { return false; } if ($newsFrontendAccess) { if ($newsFrontendAccessId) { $objGroup = $objFWUser->objGroup->getGroups(array('dynamic' => $newsFrontendAccessId)); $arrFormerFrontendGroupIds = $objGroup ? $objGroup->getLoadedGroupIds() : array(); $arrNewGroups = array_diff($newsFrontendGroups, $arrFormerFrontendGroupIds); $arrRemovedGroups = array_diff($arrFormerFrontendGroupIds, $newsFrontendGroups); if ($this->arrSettings['news_message_protection_restricted'] == '1' && !\Permission::hasAllAccess()) { $arrUserGroupIds = $objFWUser->objUser->getAssociatedGroupIds(); $arrUnknownNewGroups = array_diff($arrNewGroups, $arrUserGroupIds); foreach ($arrUnknownNewGroups as $groupId) { if (!in_array($groupId, $arrFormerFrontendGroupIds)) { unset($arrNewGroups[array_search($groupId, $arrNewGroups)]); } } $arrUnknownRemovedGroups = array_diff($arrRemovedGroups, $arrUserGroupIds); foreach ($arrUnknownRemovedGroups as $groupId) { if (in_array($groupId, $arrFormerFrontendGroupIds)) { unset($arrRemovedGroups[array_search($groupId, $arrRemovedGroups)]); } } } if (count($arrRemovedGroups)) { \Permission::removeAccess($newsFrontendAccessId, 'dynamic', $arrRemovedGroups); } if (count($arrNewGroups)) { \Permission::setAccess($newsFrontendAccessId, 'dynamic', $arrNewGroups); } } else { if ($this->arrSettings['news_message_protection_restricted'] == '1' && !\Permission::hasAllAccess()) { $arrUserGroupIds = $objFWUser->objUser->getAssociatedGroupIds(); $newsFrontendGroups = array_intersect($newsFrontendGroups, $arrUserGroupIds); } $newsFrontendAccessId = \Permission::createNewDynamicAccessId(); if (count($newsFrontendGroups)) { \Permission::setAccess($newsFrontendAccessId, 'dynamic', $newsFrontendGroups); } } } else { if ($newsFrontendAccessId) { \Permission::removeAccess($newsFrontendAccessId, 'dynamic'); } $newsFrontendAccessId = 0; } if ($newsBackendAccess) { if ($newsBackendAccessId) { $objGroup = $objFWUser->objGroup->getGroups(array('dynamic' => $newsBackendAccessId)); $arrFormerBackendGroupIds = $objGroup ? $objGroup->getLoadedGroupIds() : array(); $arrNewGroups = array_diff($newsBackendGroups, $arrFormerBackendGroupIds); $arrRemovedGroups = array_diff($arrFormerBackendGroupIds, $newsBackendGroups); if ($this->arrSettings['news_message_protection_restricted'] == '1' && !\Permission::hasAllAccess()) { $arrUserGroupIds = $objFWUser->objUser->getAssociatedGroupIds(); $arrUnknownNewGroups = array_diff($arrNewGroups, $arrUserGroupIds); foreach ($arrUnknownNewGroups as $groupId) { if (!in_array($groupId, $arrFormerBackendGroupIds)) { unset($arrNewGroups[array_search($groupId, $arrNewGroups)]); } } $arrUnknownRemovedGroups = array_diff($arrRemovedGroups, $arrUserGroupIds); foreach ($arrUnknownRemovedGroups as $groupId) { if (in_array($groupId, $arrFormerBackendGroupIds)) { unset($arrRemovedGroups[array_search($groupId, $arrRemovedGroups)]); } } } if (count($arrRemovedGroups)) { \Permission::removeAccess($newsBackendAccessId, 'dynamic', $arrRemovedGroups); } if (count($arrNewGroups)) { \Permission::setAccess($newsBackendAccessId, 'dynamic', $arrNewGroups); } } else { if ($this->arrSettings['news_message_protection_restricted'] == '1' && !\Permission::hasAllAccess()) { $arrUserGroupIds = $objFWUser->objUser->getAssociatedGroupIds(); $newsBackendGroups = array_intersect($newsBackendGroups, $arrUserGroupIds); } $newsBackendAccessId = \Permission::createNewDynamicAccessId(); if (count($newsBackendGroups)) { \Permission::setAccess($newsBackendAccessId, 'dynamic', $newsBackendGroups); } } } else { if ($newsBackendAccessId) { \Permission::removeAccess($newsBackendAccessId, 'dynamic'); } $newsBackendAccessId = 0; } } $objFWUser->objUser->getDynamicPermissionIds(true); // find out original user's id $orig_user_sql = "\n SELECT userid\n FROM " . DBPREFIX . "module_news\n WHERE id = '{$id}'\n "; $orig_user_rs = $objDatabase->Execute($orig_user_sql); if ($orig_user_rs == false) { \DBG::msg("We're in trouble! sql failure: {$orig_user_sql}"); } else { $orig_userid = $orig_user_rs->fields['userid']; } $set_userid = $orig_userid ? $orig_userid : $userId; // $finishednewstext = $newstext.'<br>'.$_ARRAYLANG['TXT_LAST_EDIT'].': '.$date; $activeLanguages = isset($_POST['newsManagerLanguages']) ? $_POST['newsManagerLanguages'] : array(); if (count(\FWLanguage::getActiveFrontendLanguages()) == 1) { $activeLanguages = \FWLanguage::getActiveFrontendLanguages(); } $locales = array('active' => $activeLanguages, 'title' => $_POST['newsTitle'], 'text' => $_POST['news_text'], 'teaser_text' => isset($_POST['newsTeaserText']) ? $_POST['newsTeaserText'] : array()); if (!$this->validateNews($locales, $newsCategories)) { return $this->edit(); } // store locales $localesSaving = $this->storeLocales($id, $locales); $categoryManipulation = $this->manipulateCategories($newsCategories, $id); $relatedNews = !empty($_POST['relatedNews']) ? contrexx_input2raw($_POST['relatedNews']) : array(); $enableRelatedNews = !empty($_POST['enableRelatedNews']) ? 1 : 0; $realtedNewsManipulation = $this->manipulateRelatedNews($relatedNews, $id); $newsTags = !empty($_POST['newsTags']) ? contrexx_input2raw($_POST['newsTags']) : array(); $enableTags = !empty($_POST['enableTags']) ? intval($_POST['enableTags']) : 0; //Update Tags $tagManipulation = $this->manipulateTags($newsTags, $id); // Set start and end dates as NULL if newsScheduled checkbox is not checked if ($newsScheduledActive == 0) { $startDate = NULL; $endDate = NULL; } $objResult = $objDatabase->Execute("UPDATE " . DBPREFIX . "module_news\n SET date='" . $date . "',\n redirect='" . $redirect . "',\n source='" . $source . "',\n url1='" . $url1 . "',\n url2='" . $url2 . "',\n publisher='" . contrexx_raw2db($newsPublisherName) . "',\n publisher_id=" . intval($newsPublisherId) . ",\n author='" . contrexx_raw2db($newsAuthorName) . "',\n author_id=" . intval($newsAuthorId) . ",\n typeid='" . $typeId . "',\n userid = '" . $set_userid . "',\n status = '" . $status . "',\n " . (isset($_POST['validate']) ? "validated='1'," : "") . "\n startdate = " . $this->dbFromDate($startDate) . ",\n enddate = " . $this->dbFromDate($endDate) . ",\n frontend_access_id = '" . $newsFrontendAccessId . "',\n backend_access_id = '" . $newsBackendAccessId . "',\n " . ($_CONFIG['newsTeasersStatus'] == '1' ? "teaser_only = '" . $newsTeaserOnly . "',\n teaser_frames = '" . $newsTeaserFrames . "'," : "") . "\n teaser_show_link = " . $newsTeaserShowLink . ",\n teaser_image_path = '" . $newsTeaserImagePath . "',\n teaser_image_thumbnail_path = '" . $newsTeaserImageThumbnailPath . "',\n changelog = '" . $changelog . "',\n allow_comments = '" . $newsComments . "',\n enable_related_news='" . $enableRelatedNews . "',\n enable_tags='" . $enableTags . "'\n WHERE id = '" . $id . "'"); if ($objResult === false || $localesSaving === false || $categoryManipulation === false || $realtedNewsManipulation === false || $tagManipulation === false) { $this->strErrMessage = empty($this->errMsg) ? $_ARRAYLANG['TXT_DATABASE_QUERY_ERROR'] : implode('<br>', $this->errMsg); } else { $this->createRSS(); $this->strOkMessage = $_ARRAYLANG['TXT_DATA_RECORD_UPDATED_SUCCESSFUL']; } } return $this->overview(); }
function _configDeleteMail() { global $_ARRAYLANG; // only administrators are allowed to modify the config if (!\Permission::hasAllAccess()) { \Permission::noAccess(); } if (empty($_REQUEST['type'])) { return; } $objFWUser = \FWUser::getFWUserObject(); $objUserMail = $objFWUser->getMail(); if (!$objUserMail->load(contrexx_addslashes($_REQUEST['type']), !empty($_REQUEST['access_mail_lang']) ? intval($_REQUEST['access_mail_lang']) : null)) { return; } // TODO: Do you really need to reinitialize that? $objFWUser = \FWUser::getFWUserObject(); if ($objUserMail->delete()) { self::$arrStatusMsg['ok'][] = $_ARRAYLANG['TXT_ACCESS_EMAIL_DEL_SUCCESS']; } else { self::$arrStatusMsg['error'] = array_merge(self::$arrStatusMsg['error'], $objUserMail->getErrorMsg()); } }
/** * Shows the database-maintenance page. * * @global \Cx\Core\Html\Sigma * @global ADONewConnection * @global array */ function showMaintenance() { global $objTemplate, $objDatabase, $_ARRAYLANG; $this->_strPageTitle = $_ARRAYLANG['TXT_DBM_MAINTENANCE_TITLE']; $objTemplate->addBlockfile('ADMIN_CONTENT', 'maintenance', 'dbm_maintenance.html'); $objTemplate->setVariable(array('TXT_MAINTENANCE_OPTIMIZE_TITLE' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_OPTIMIZE_DB'], 'TXT_MAINTENANCE_OPTIMIZE_BUTTON' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_OPTIMIZE_START'], 'TXT_MAINTENANCE_OPTIMIZE_DESC' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_OPTIMIZE_DESC'], 'TXT_MAINTENANCE_REPAIR_TITLE' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_REPAIR_DB'], 'TXT_MAINTENANCE_REPAIR_BUTTON' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_REPAIR_START'], 'TXT_MAINTENANCE_REPAIR_DESC' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_REPAIR_DESC'], 'TXT_MAINTENANCE_TITLE_TABLES' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_TABLES'], 'TXT_MAINTENANCE_TABLES_NAME' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_TABLENAME'], 'TXT_MAINTENANCE_TABLES_ROWS' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_ROWS'], 'TXT_MAINTENANCE_TABLES_DATA' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_DATA_SIZE'], 'TXT_MAINTENANCE_TABLES_INDEXES' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_INDEX_SIZE'], 'TXT_MAINTENANCE_TABLES_BACKLOG' => $_ARRAYLANG['TXT_DBM_STATUS_BACKOG'], 'TXT_MAINTENANCE_TABLES_SELECT_ALL' => $_ARRAYLANG['TXT_SELECT_ALL'], 'TXT_MAINTENANCE_TABLES_DESELECT_ALL' => $_ARRAYLANG['TXT_DESELECT_ALL'], 'TXT_MAINTENANCE_TABLES_SUBMIT_SELECT' => $_ARRAYLANG['TXT_MULTISELECT_SELECT'], 'TXT_MAINTENANCE_TABLES_SUBMIT_OPTIMIZE' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_OPTIMIZE_START'], 'TXT_MAINTENANCE_TABLES_SUBMIT_REPAIR' => $_ARRAYLANG['TXT_DBM_MAINTENANCE_REPAIR_START'])); //Get tables $objResult = $objDatabase->Execute('SHOW TABLE STATUS LIKE "' . DBPREFIX . '%"'); $intRowCounter = 0; //Iterate through tables while (!$objResult->EOF) { $isInnoDbEngine = $objResult->fields['Engine'] == 'InnoDB'; $objTemplate->setGlobalVariable(array('TXT_MAINTENANCE_SHOW_TABLE' => $_ARRAYLANG['TXT_DBM_SHOW_TABLE_TITLE'], 'MAINTENANCE_TABLES_NAME' => $objResult->fields['Name'])); $objTemplate->setVariable(array('MAINTENANCE_TABLES_ROW' => !$isInnoDbEngine && $objResult->fields['Data_free'] != 0 ? 'Warn' : ($intRowCounter % 2 == 0 ? 2 : 1), 'MAINTENANCE_TABLES_ROWS' => $objResult->fields['Rows'], 'MAINTENANCE_TABLES_DATA' => $this->convertBytesToKBytes($objResult->fields['Data_length']), 'MAINTENANCE_TABLES_INDEXES' => $this->convertBytesToKBytes($objResult->fields['Index_length']), 'MAINTENANCE_TABLES_BACKLOG' => $isInnoDbEngine ? '0' : $this->convertBytesToKBytes($objResult->fields['Data_free']))); if (\Permission::hasAllAccess()) { $objTemplate->touchblock('showTableContentLink'); $objTemplate->hideBlock('showTableContentNoLink'); } else { $objTemplate->touchblock('showTableContentNoLink'); $objTemplate->hideBlock('showTableContentLink'); } $objTemplate->parse('showTables'); ++$intRowCounter; $objResult->MoveNext(); } }