if (!empty($content['alink']['alink_wordlimit'])) { $row['article_summary'] = getCleanSubString($row['article_summary'], abs($content['alink']['alink_wordlimit']), $template_default['ellipse_sign'], $content['alink']['alink_wordlimit'] < 0 ? 'char' : 'word'); } } else { $row['article_summary'] = ''; } $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'SUMMARY', $row['article_summary']); } // $content['struct'][ $row['article_cid'] ]['acat_articlecount'] // count the articles per category and decide where to link on that basis // store it if used once if ($content['alink']['alink_categoryalias'] && ($row['article_structalias'] = get_structurelevel_single_article_alias($row['article_cid']))) { $row['article_alias'] = $row['article_structalias']; } // link to article detail $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'ARTICLELINK', $row['article_morelink'] ? 'index.php?' . setGetArticleAid($row) : ''); // article category $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'CATEGORY', html_specialchars($content['struct'][$row['article_cid']]['acat_name'])); // Image Caption, Alt, Title $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'CAPTION', $row['article_image']['list_caption']); $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'CAPTION_ALT', $content['alink']['caption'][1]); $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'CAPTION_TITLE', $content['alink']['caption'][3]); // article class based on keyword *CSS-classname* $row['article_class'] = get_css_keywords($row['article_keyword']); $row['article_class'] = count($row['article_class']) ? implode(' ', $row['article_class']) : ''; $content['alink']['tr'][$key] = render_cnt_template($content['alink']['tr'][$key], 'CLASS', $row['article_class']); break; } } } }
$sql .= "FROM " . DB_PREPEND . "phpwcms_article WHERE "; $sql .= "article_aktiv=1 AND article_deleted=0 AND article_nosearch!='1' AND "; $sql .= "article_nositemap=1 AND article_begin < NOW() AND article_end > NOW() "; $sql .= "ORDER BY article_tstamp DESC"; if ($result = mysql_query($sql, $db)) { while ($data = mysql_fetch_assoc($result)) { // first proof if this article is within an "public" structure section if (isset($struct[$data['article_cid']])) { $_CAT = $struct[$data['article_cid']]; if ($_CAT['acat_regonly'] || $_CAT['acat_nosearch'] == '1' || !$_CAT['acat_nositemap']) { // no it is no public article - so jump to next entry continue; } // now add article URL to Google sitemap if (empty($phpwcms['rewrite_url']) || empty($data['article_alias'])) { $_link = PHPWCMS_URL . 'index.php?' . setGetArticleAid($data); } else { $_link = PHPWCMS_URL . rawurlencode($data['article_alias']) . PHPWCMS_REWRITE_EXT; } echo ' <url>' . LF; echo ' <loc>' . $_link . '</loc>' . LF; echo ' <lastmod>' . $data["article_tstamp"] . '</lastmod>' . LF; echo ' </url>' . LF; // yes we have a minimum of 1 article link $phpwcms['sitemap_set_base'] = false; } } } } if (is_file(PHPWCMS_ROOT . '/include/config/sitemap.custom.ini')) { $customSitemapLinks = parse_ini_file(PHPWCMS_ROOT . '/include/config/sitemap.custom.ini', true);
$alinkmenu['sum'] = "<tr>\n\t<td>" . $alinkmenu['sum'] . "</td>\n</tr>\n"; } $alinkmenu['link'] .= "<tr>\n\t<td valign=\"top\"" . $tempRowSpan . " nowrap=\"nowrap\">" . $template_default["article"]["link_article_sign"] . "</td>\n\t"; $alinkmenu['link'] .= '<td' . $alinkmenu['active_class'] . '>' . $alinkmenu['titlewrap'][0] . '<a href="index.php?' . setGetArticleAid($row) . '" '; $alinkmenu['link'] .= get_class_attrib($template_default["article"]["link_article_class"]) . ' title="' . $row['article_title'] . '">'; $alinkmenu['link'] .= $row['article_menutitle'] . '</a>' . $alinkmenu['titlewrap'][1] . "</td>\n</tr>\n"; $alinkmenu['link'] .= $alinkmenu['sum']; } else { if (!empty($alinkmenu["break"]) && $alinkmenu['count'] > 1) { $alinkmenu['link'] .= ' <' . $alinkmenu['ul_tag'][$alinkmenu['ul']][1] . ' class="break">'; $alinkmenu['link'] .= $alinkmenu["break"]; $alinkmenu['link'] .= '</' . $alinkmenu['ul_tag'][$alinkmenu['ul']][1] . '>' . LF; } $alinkmenu['link'] .= ' <' . $alinkmenu['ul_tag'][$alinkmenu['ul']][1]; $alinkmenu['link'] .= $alinkmenu['active_class'] . '>' . $alinkmenu['titlewrap'][0]; $alinkmenu['link'] .= '<a href="index.php?' . setGetArticleAid($row) . '" title="' . $row['article_title'] . '">'; $alinkmenu['link'] .= $row['article_menutitle']; $alinkmenu['link'] .= '</a>' . $alinkmenu['titlewrap'][1]; if ($alinkmenu['sum'] !== false) { $alinkmenu['link'] .= LF . $alinkmenu['sum']; } $alinkmenu['link'] .= '</' . $alinkmenu['ul_tag'][$alinkmenu['ul']][1] . '>' . LF; } } mysql_free_result($result); } if ($alinkmenu['link']) { //$content["alist"]["label"] if (!$alinkmenu['ul']) { $alinkmenu['link'] = '<table border="0" cellspacing="0" cellpadding="0">' . LF . $alinkmenu['link'] . "</table>" . LF; if (!empty($alinkmenu['class'])) {
/** * Return menu or menu elements based on article menu title information * starting at given structure level ID, limited to single level (non-nested) * * @return mixed (array/string) * @param array **/ function getArticleMenu($data = array()) { global $content; global $aktion; $defaults = array('level_id' => 0, 'class_active' => array(0 => 'active', 1 => ''), 'wrap_title_prefix' => '', 'wrap_title_suffix' => '', 'item_prefix' => "\t", 'item_suffix' => '', 'sort' => 'level', 'item_tag' => 'li', 'wrap_tag' => 'ul', 'attribute_wrap_tag' => '', 'class_item_tag' => '', 'class_first_item_tag' => '', 'class_last_item_tag' => '', 'return_format' => 'string', 'articlemenu_options' => array('enable' => false, 'image' => false, 'text' => false, 'width' => 0, 'height' => 0, 'crop' => 0, 'textlength' => 0, 'position' => 'inside', 'template' => '<span class="amenu-extended">[IMAGE]<img src="{IMAGE}" alt="{IMAGE_NAME}" />[/IMAGE][TEXT]<span class="p">{TEXT}</span>[/TEXT]</span>')); $data = is_array($data) && count($data) ? array_merge($defaults, $data) : $defaults; $li = array(); $articles = get_actcat_articles_data($data['level_id']); $key = 0; $total = count($articles) - 1; foreach ($articles as $item) { $class = ''; $class_a = ''; if ($data['class_item_tag']) { $class .= $data['class_item_tag'] . ' '; } if ($key === 0 && $data['class_first_item_tag']) { $class .= $data['class_first_item_tag'] . ' '; } elseif ($key === $total && $data['class_last_item_tag']) { $class .= $data['class_last_item_tag'] . ' '; } if ($item['article_id'] == $aktion[1]) { if (!empty($data['class_active'][0])) { $class .= $data['class_active'][0] . ' '; } if (!empty($data['class_active'][1])) { $class_a = ' class="' . $data['class_active'][1] . '"'; // set active link class } } $class = trim($class); $item['outside'] = ''; $item['inside'] = ''; if ($data['articlemenu_options']['enable']) { $item['img_src'] = ''; $item['img_name'] = ''; $item['amenu_text'] = ''; if ($data['articlemenu_options']['image'] && (!empty($item['article_image']['list_id']) || !empty($item['article_image']['id']))) { if (!empty($item['article_image']['list_usesummary']) && !empty($item['article_image']['id'])) { $item['img_src'] = $item['article_image']['hash'] . '.' . $item['article_image']['ext']; $item['img_name'] = html($item['article_image']['name']); } elseif (!empty($item['article_image']['list_id'])) { $item['img_src'] = $item['article_image']['list_hash'] . '.' . $item['article_image']['list_ext']; $item['img_name'] = html($item['article_image']['list_name']); } if ($item['img_src']) { $item['img_src'] = 'x' . $data['articlemenu_options']['height'] . 'x' . $data['articlemenu_options']['crop'] . '/' . $item['img_src']; $item['img_src'] = 'img/cmsimage.php/' . $data['articlemenu_options']['width'] . $item['img_src']; } } if ($data['articlemenu_options']['text']) { switch ($data['articlemenu_options']['text']) { case 'description': $item['amenu_text'] = html(getCleanSubString($item['article_description'], abs($data['articlemenu_options']['textlength']), $GLOBALS['template_default']['ellipse_sign'], $data['articlemenu_options']['textlength'] < 0 ? 'char' : 'word')); break; case 'menutitle': $item['amenu_text'] = html(getCleanSubString($item['article_menutitle'], abs($data['articlemenu_options']['textlength']), $GLOBALS['template_default']['ellipse_sign'], $data['articlemenu_options']['textlength'] < 0 ? 'char' : 'word')); break; case 'teaser': if ($data['articlemenu_options']['textlength'] === 'HTML') { $item['amenu_text'] = $item['article_summary']; } else { $item['amenu_text'] = trim(strip_tags($item['article_summary'])); $item['amenu_text'] = getCleanSubString($item['amenu_text'], abs($data['articlemenu_options']['textlength']), $GLOBALS['template_default']['ellipse_sign'], $data['articlemenu_options']['textlength'] < 0 ? 'char' : 'word'); } break; } } $item[$data['articlemenu_options']['position']] = $data['articlemenu_options']['template']; $item[$data['articlemenu_options']['position']] = str_replace('{IMAGE_NAME}', $item['img_name'], $item[$data['articlemenu_options']['position']]); $item[$data['articlemenu_options']['position']] = render_cnt_template($item[$data['articlemenu_options']['position']], 'IMAGE', $item['img_src']); $item[$data['articlemenu_options']['position']] = render_cnt_template($item[$data['articlemenu_options']['position']], 'TEXT', $item['amenu_text']); } $li[$key] = $data['item_prefix'] . '<' . $data['item_tag'] . ($class != '' ? ' class="' . $class . '"' : '') . '>'; $li[$key] .= '<a href="' . rel_url(array(), array('newsdetail'), setGetArticleAid($item)) . '"' . $class_a . '>'; $li[$key] .= $data['wrap_title_prefix']; $li[$key] .= html(getArticleMenuTitle($item)); $li[$key] .= $data['wrap_title_suffix']; $li[$key] .= $item['inside']; $li[$key] .= '</a>'; $li[$key] .= $item['outside']; $li[$key] .= '</' . $data['item_tag'] . '>' . $data['item_suffix']; $key++; } if ($data['wrap_tag'] && count($li)) { array_unshift($li, '<' . trim($data['wrap_tag'] . ' ' . trim($data['attribute_wrap_tag'])) . '>'); array_push($li, '</' . $data['wrap_tag'] . '>'); } return $data['return_format'] == 'string' ? implode(LF, $li) : $li; }
while ($data = mysql_fetch_assoc($result)) { $item = new FeedItem(); $item->title = combinedParser($data["article_title"], FEED_ENCODING); $item->link = PHPWCMS_URL . 'index.php?' . setGetArticleAid($data); $item->description = combinedParser(empty($data["article_summary"]) ? $data["article_subtitle"] : $data["article_summary"], FEED_ENCODING); $item->date = $data['article_created'] + $timePlus; $item->updateDate = $data['article_changeDate'] + $timePlus + 1; $item->source = PHPWCMS_URL; if ($FEED['useauthor'] || $FEED['defaultFormat'] == 'ATOM' || $FEED['defaultFormat'] == 'ATOM1.0') { if (!empty($data["article_username"])) { $item->author = $FEED['feedEmail'] . ' (' . combinedParser($data["article_username"]) . ')'; } elseif ($FEED['defaultFormat'] == 'ATOM' || $FEED['defaultFormat'] == 'ATOM1.0') { $item->author = $FEED['feedAuthor']; } } $item->guid = PHPWCMS_URL . 'index.php?' . setGetArticleAid($data); $rss->addItem($item); $timePlus += 2; } } $rss->saveFeed($FEED['defaultFormat'], $FEED['filename']); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function combinedParser($string, $charset = 'utf-8', $allowed_tags = '') { $string = html_parser($string); $string = clean_replacement_tags($string, $allowed_tags); $string = str_replace(' ', ' ', $string); $string = decode_entities($string); $string = cleanUpSpecialHtmlEntities($string); if (!empty($string) && PHPWCMS_CHARSET != $charset) { $string = makeCharsetConversion($string, PHPWCMS_CHARSET, $charset);