Table of Contents

Article menu (+count/arch/img)

RT like the CP Article menu, enhanced to show archived articles too and two counter:

1) Article hidden,
2) number of articles which can be displayed
3) and one image from article configured by WxHxCxQ

rt_article_menu_archive V1.0 23.03.09
rt_article_menu_archive V1.1 05.09.09
rt_article_menu_archive V1.2 25.09.09

Update: 16.08.09 KH: + counter for “How many of the first articles are to be hidden” (0 = nothing hidden)
Update: 05.09.09 KH: + counter for “How many articles are to be shown” (0 = all)
Update: 25.09.09 KH: + thumb image from article list- or detail (if available) (WxHxCxQ)
Update: 26.09.09 KH: + rendering html, allowed tags, maxchar count changed to maxword (the same like tease)

Syntax: {ARTICLE_MENU_ARCHIVE:category-ID, count-hide} (Both parameters must be set)
Syntax: {ARTICLE_MENU_ARCHIVE:category-ID, count-hide, count-article} (All three parameters must be set)
Syntax: {ARTICLE_MENU_ARCHIVE:category-ID, count-article, count-hide, WxHxC } (The first two parameters must be set + comma)

E.g.: {ARTICLE_MENU_ARCHIVE: -1, 0,} Actual category, none of the first articles is hidden , dipslay all articles,
E.g.: {ARTICLE_MENU_ARCHIVE: 23, 5, 2} Article in category 23(ID), displays the the first five articles if avaialbel, the first two articles are hidden
E.g.: {ARTICLE_MENU_ARCHIVE: 23, 5, 2, 100x80x0x90} Article in category 23(ID), displays the the first five articles if avaialbel, the first two articles are hidden, article image output 100px x 80px no cropping jpg Quality 90
E.g.: {ARTICLE_MENU_ARCHIVE: 23, 5, 0, 50x50x1} Article in category 23(ID), displays the the first five articles if avaialbel, no articles skipped, article image output 50px x 50px cropped

- The image parameter set (WxHxCxQ): %WIDTH%x%HEIGHT%x%CROP%x%QUALITY%
- by default this should be enough: %WIDTH%x%HEIGHTx%CROP%

Docu: –
Forum: –

Autor: K.Heermann (flip-flop) http://planmatrix.de
CMS version: >= 1.4
Version: V1.2

Based on the cp article menu.

Tag: {ARTICLE_MENU_ARCHIVE: category-ID, count-article, count-hide, WxHxCxQ} or {ARTICLE_MENU_ARCHIVE: -1, count-article, count-hide} for the actual category

Minimally set: {ARTICLE_MENU_ARCHIVE:category-ID, count-article,} (end with a comma !!)

Filename: rt_article_menu_archive.php

Location: template/inc_script/frontend_render/

Condition:/config/phpwcms/conf.inc.php




Inner parameters

Layout and image

Section: NEW: Image parameters ——————–

$alinkmenu['is_image']  = 4;         // 0 = off | 1 = list image | 2 = detail image
                                     // 3 = list image + link | 4 = detail image + link
$alinkmenu['tag_image'] = '{IMAGE}'; // placeholder for the image, 
                                     // it must be the same you insert into "CSS classes and IDs"!!

Set the {IMAGE} placeholder where you want as shown above in CSS classes and IDs”.


CSS classes and IDs ———————-
A very simple template (Please have a look for the {IMAGE} tag)

$alinkmenu['wrap_all']        = array('<div class="teaser_wrap">','</div>');  // Wrap around all
$alinkmenu['wrap_data']       = array('{IMAGE}<div class="data">','</div>');  // Data wrap begin, end
$alinkmenu['wrap_title']      = array('<div class="title">','</div>');        // Title wrap around all  begin, end
$alinkmenu['wrap_subtitle']   = array('<div class="stitle">','</div>');       // SubTitle wrap begin, end
$alinkmenu['wrap_summary']    = array('<div class="summary">','</div>');      // Wrap around summary  begin, end
$alinkmenu['class_active_link'] = 'active_link';                              // Active link class
 
 
$alinkmenu["style_before"] = '<div class="before"></div>';  // Format before every data set.
$alinkmenu["style_behind"] = '<div class="behind"></div>';  // Format behind every data


Generated source:

<div class="teaser_wrap">
  <div class="before"></div>
  <div class="entry">
    <div class="thumb">
      <a href="index.php?article_alias"><img src="img/cmsimage.php/50x50x1/b06c6301c...jpg" alt="InmageName.jpg"></a>
    </div>
    <div class="data">
      <div class="title">
        <a href="index.php?article_alias">Article-title »</a>
      </div>
      <div class="stitle">Article-sub-title</div>
        <div class="summary">
         The summary text for testing »
        </div>
    </div>
  </div>
  <div class="behind"></div>
 
  <div class="entry">
    ...
    ...
  </div>
 
</div>


A autom. generated container if a thumb is available:

<div class="thumb">
   is autom. generated around the image if there is one available
</div>


Parameter set

$alinkmenu['subtitle_on']   = 1;            // Article sub title text output [0|1]
 
// Content part parameters ------------------
$alinkmenu['headertext']    = 1;            // summary text [0|1]
$alinkmenu['ul']            = 2;            // 1: render as unordered list / 2: render as div /  3: render as table
$alinkmenu['class']         = '';           // wrapped class
$alinkmenu['wordlimit']     = 5;            // maxwords summary
$alinkmenu['morelink']      = ' &raquo;';   // more link text
$alinkmenu['hideactive']    = 0;            // hide active article in article menu
$alinkmenu['allowedtags']   = '<b><i><u><s><strong>';            // allowed tags


Code

article menu archive

<?php
/*************************************************************************************
   Copyright notice
 
   (c) 2002-2008 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
 
   This script is part of PHPWCMS. The PHPWCMS web content management system is
   free software; you can redistribute it and/or modify it under the terms of
   the GNU General Public License as published by the Free Software Foundation;
   either version 2 of the License, or (at your option) any later version.
 
   The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
   A copy is found in the textfile GPL.txt and important notices to the license
   from the author is found in LICENSE.txt distributed with these scripts.
 
   This script is distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
   This copyright notice MUST APPEAR in all copies of the script!
 
-------------------------------------------------------------------------------------
15.03.09 KH (flip-flop) CP article menu cut out (frontend snippet)
   Enhanced for showing archived articles
   {ARTICLE_MENU_ARCHIVE:category-ID}
   If you use the automatic for category-ID, please set category-ID = -1 (the current category is selected)
   E.g.:{ARTICLE_MENU_ARCHIVE:-1}
 
16.08.09 KH Update: + counter for "How many of the first articles are to be hidden"
   {ARTICLE_MENU_ARCHIVE:category-ID, count-hide}
   E.g.:{ARTICLE_MENU_ARCHIVE:-1,0}  (Both parameters must be set)
 
05.09.09 KH Update: + count_article for "How many of articles are to be shown" (if available)
   {ARTICLE_MENU_ARCHIVE:category-ID, count-hide, count-articles}
   E.g.:{ARTICLE_MENU_ARCHIVE:-1,0,4}  (All three parameters must be set)
         Automatic category-ID, no article hidden, show the first for articles
 
25.09.09 KH Update: + thumb image from article list- or detail (if available)
   IMPORTANT: Changed the sequence from "count-hide, count-articles" to "count-articles, count-hide"
 
   {ARTICLE_MENU_ARCHIVE:category-ID, count-articles, count-hide,  WxHxCxQ}   like
 
   E.g.:{ARTICLE_MENU_ARCHIVE:-1,4,}  (Minimum paramters must be set: two + comma)
        Automatic category-ID, no article skipped, show the first for articles, no skip, no image
 
   E.g.:{ARTICLE_MENU_ARCHIVE:18,8,3,100x80x0x90}
        category-ID=18, show eight articles, first three articles skipped,
        image 100px x 80px no cropping jpg Quality 90
 
   E.g.:{ARTICLE_MENU_ARCHIVE:18,8,0,50x50x1}
        category-ID=18, show the first eight articles, no articles skipped,
        image 50px x 50px cropped
 
   The image parameter set (WxHxCxQ): %WIDTH%x%HEIGHT%x%CROP%x%QUALITY%
   by default this should be enough:  %WIDTH%x%HEIGHTx%CROP%
 
*************************************************************************************/
 
 
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
   die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ----------------------------------------------------------------
 
 
//article menu enhanced
// $catid: the category ID where the articles are (-1 = current category))
// $leading_article_hide: How many of the first articles are to be skipped
// $count_article: How many articles are to be shown (0=all)
// $WxHxCxQ: Image parameters %WIDTH%x%HEIGHT%x%CROP%[x%QUALITY%]
 
function my_article_menu_archive ($catid = 0, $count_article, $article_skip_WxHxCxQ = '', $CNT_TMP = '') {
 
 
 // Test if the first two paramters have integer format
if (!(is_intval($catid) AND is_intval($count_article)) ) {
 
    echo '============================================ <br>';
    echo '&nbsp;<b>ERROR</b>: Wrong integer parameter in {ARTICLE_MENU_ARCHIVE:...<br>';
    echo '============================================ <br>';
    return false;
}
 
 
 
 
global $aktion;
 
 
// ===== Simulated CP paramter ================================================
 
// 0: all articles
// 1: archive_status=1 AND article_begin<NOW() AND article_end<NOW()
// 2: archive_status=1 AND article_begin<NOW() AND article_end>NOW()
// 3: archive_status=1 AND article_begin>NOW() AND article_end>NOW()
 
// 4: archive_status=0 AND article_begin<NOW() AND article_end<NOW()
// 5: archive_status=0 AND article_begin<NOW() AND article_end>NOW()
// 6: archive_status=0 AND article_begin>NOW() AND article_end>NOW()
 
// Insert one of the previous number
$article_archive_status       = 2;  // Show entries with activated archive status?
 
 
 
 
 // NEW: Image parameters --------------------
 
$alinkmenu['is_image']  = 3;         // 0 = off | 1 = list image | 2 = detail image
                                     // 3 = list image + link | 4 = detail image + link
$alinkmenu['tag_image'] = '{IMAGE}'; // placeholder for the image, it must be the same you insert into "CSS classes and IDs"!!
 
// Set the {IMAGE} placeholder where you want as shown above in "CSS classes and IDs".
// -----------------------------------------------------------------------------------
// A container
// <div class="thumb">
//    is autom. generated around the image if there is one available
// </div>
// -----------------------------------------------------------------------------------
 
// CSS classes and IDs ----------------------
// A very simple template (Please have a look for the {IMAGE} tag)
 
$alinkmenu['wrap_all']        = array('<div class="teaser_wrap">','</div>');  // Wrap around all
$alinkmenu['wrap_data']       = array('{IMAGE}<div class="data">','</div>');  // Data wrap begin, end
$alinkmenu['wrap_title']      = array('<div class="title">','</div>');        // Title wrap around all  begin, end
$alinkmenu['wrap_subtitle']   = array('<div class="stitle">','</div>');       // SubTitle wrap begin, end
$alinkmenu['wrap_summary']    = array('<div class="summary">','</div>');      // Wrap around summary  begin, end
$alinkmenu['class_active_link'] = 'active_link';                              // Active link class
 
 
$alinkmenu["style_before"] = '<div class="before"></div>';  // Format before every data set.
$alinkmenu["style_behind"] = '<div class="behind"></div>';  // Format behind every data set.
// ------------------------------------------
 
 
 
/* Example:
// CSS classes and IDs ----------------------
 
$alinkmenu['wrap_all']        = array('<div class="teaser_right">','</div>');                   // Wrap around all
$alinkmenu['wrap_data']       = array('','');                                                   // Data wrap begin, end
$alinkmenu['wrap_title']      = array('<div style="padding-bottom:2px; "><h6>','</h6></div>');  // Title wrap around all  begin, end
$alinkmenu['wrap_subtitle']   = array('<p style="font-size: 0.8em;  ">','</p>');                // SubTitle wrap begin, end
$alinkmenu['wrap_summary']    = array('','');  // Wrap around summary  begin, end
$alinkmenu['class_active_link'] = 'active_link';                                                // Active link class
 
 
$alinkmenu["style_before"] = '';  // Format before every data set.
// Format behind every data set.
$alinkmenu["style_behind"] = '<div style="margin:5px 0 8px 0;padding:0;height:1px;border:0;border-bottom:1px dotted #CCCCCC;clear:both"><!-- line //--></div>';
*/
// ------------------------------------------
 
 
 
// ContentPart head -------------------------
// Insert title/subtitle name and css for the virtual content part
 
$virt_article_title      = '';    // <div id="box02_top_header"><h1>MyTitle</h1></div>
$virt_article_subtitle   = '';    // <div id="box02_top_header"><h2>MySubTitle</h2></div>
// ------------------------------------------
 
 
 
// Parameter set ----------------------------
 
$alinkmenu['subtitle_on']   = 0;            // Article sub title text output [0|1]
 
// Content part parameters ------------------
$alinkmenu['headertext']    = 1;            // summary text [0|1]
$alinkmenu['ul']            = 2;            // 1: render as unordered list / 2: render as div /  3: render as table
$alinkmenu['class']         = '';           // wrapped class
$alinkmenu['wordlimit']     = 5;            // maxwords summary
$alinkmenu['morelink']      = ' &raquo;';   // more link text
$alinkmenu['hideactive']    = 0;            // hide active article in article menu
$alinkmenu['allowedtags']   = '<b><i><u><s><strong>';            // allowed tags
 
 
/* Sorting order for "second entry"
------------------------------
 $ao[2] = ' article_sort ASC';
 $ao[2] = ' article_sort DESC';
 $ao[2] = ' article_created ASC';
 $ao[2] = ' article_created DESC';
 $ao[2] = ' article_tstamp ASC';
 $ao[2] = ' article_tstamp DESC';
 $ao[2] = ' article_begin ASC';
 $ao[2] = ' article_begin DESC';
 $ao[2] = ' article_title ASC';
 $ao[2] = ' article_title DESC';
 $ao[2] = ' article_end ASC';
 $ao[2] = ' article_end DESC';
 
 $ao[2] = ' article_priorize DESC,'.$ao[2];
 ------------------------------ */
 
// Sorting order ----------------------------
 $ao['2']  = ' article_priorize DESC,'; // Don´t change
 $ao['2'] .= ' article_sort ASC';       // second entry
 
 
// ===== END defination =======================================================
// ============================================================================
 
 
 // Image control if there is an empty or bad string ----------
 // valid image parameter like WxHxCxQ ?
 
 $leading_article_hide = 0;  // No Artikle skiped
 $WxHxCxQ = '';              // No image parameter set
 
 
if ( !empty($article_skip_WxHxCxQ) ) {
    $alinkmenu['temp'] = explode (",",$article_skip_WxHxCxQ);
    // === $alinkmenu['temp'][0] => first article skip
    // === $alinkmenu['temp'][1] => WxHxCxQ
 
    if ( count($alinkmenu['temp']) ) {
 
       foreach ($alinkmenu['temp'] as $value) {
              preg_replace('/[^0-9x]/', '', $value); // WxHxCxQ and integer
              if ( preg_match('/[0-9]{1,3}x[0-9]{1,3}x[0|1]{1}/', $value) ) {
                  $WxHxCxQ = $value;
              }
              elseif (is_intval($value)) {
                     $leading_article_hide = $value;
              }
       }
    }
}
 
 // Image parameter available?
 if ( empty($WxHxCxQ ) ) $alinkmenu['is_image'] = 0 ;
 
 
 
 
// catid = -1: The current category is selected
$alinkmenu["catid"]         = ($catid < 0) ? $GLOBALS['content']['cat_id'] : $catid; // Article category-ID
$alinkmenu['link']          = '';     // reserved, don´t change!!!
 
 
switch($article_archive_status) {
  case 0:   // article_archive_status ist not set
    $alinkmenu['article_archive_status'] = ' ';
    break;
  case 1:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=1 AND article_begin<NOW() AND article_end<NOW() ';
    break;
 
  case 2:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=1 AND article_begin<NOW() AND article_end>NOW() ';
    break;
 
  case 3:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=1 AND article_begin>NOW() AND article_end>NOW() ';
    break;
 
  case 4:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=0 AND article_begin<NOW() AND article_end<NOW() ';
    break;
 
  case 5:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=0 AND article_begin<NOW() AND article_end>NOW() ';
    break;
 
  case 6:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=0 AND article_begin>NOW() AND article_end>NOW() ';
    break;
 
  default:
    $alinkmenu['article_archive_status'] = 'AND article_archive_status=1 AND article_begin<NOW() AND article_end<NOW() ';
}
 
 
$alink_sql  = "SELECT article_id, article_title ,article_subtitle, article_cid, article_summary, article_image ";
$alink_sql .= "FROM ".DB_PREPEND."phpwcms_article ";
$alink_sql .= "WHERE article_public=1 AND article_aktiv=1 AND article_deleted=0 ";
$alink_sql .= 'AND article_cid='.intval($alinkmenu["catid"]).' ';
$alink_sql .= $alinkmenu['article_archive_status'];
 
if(!empty($alinkmenu['hideactive'])) {
 
  $alink_sql .= 'AND article_id != '. $aktion[1] . ' ';
}
$alink_sql .= 'ORDER BY ' . $ao[2] ;
 
 
$result = _dbQuery($alink_sql);
 
 
 if(isset($result[$leading_article_hide]['article_id'])) {
 
  $count     = 0;
  // Max article output ( Input <= 0   --> All articles output )
  ($count_article <= 0) ? $count_art == -1000 : $count_art = 0;
 
 
 
 
  foreach($result as $value) {
 
   if( $count >= $leading_article_hide ) {  // Hide first articles?
 
    if( $count_article > $count_art ) {  // Max article shown
 
 
      $tempRowSpan      = '';
 
     $value['article_summary'] = preg_replace('/<br[^>]*?>$/i', '', $value['article_summary']);  // article_summary
 
 
      // Summary ----------------------
 
      if($alinkmenu['headertext'] && !empty($value['article_summary'])) {
 
        $alinkmenu['sum'] = $value['article_summary'];
 
        // Clean the text ------
        if(!empty($alinkmenu['wordlimit'])) {
 
          $alinkmenu['sum'] = empty($alinkmenu['allowedtags']) ? strip_tags($alinkmenu['sum']) : strip_tags($alinkmenu['sum'], $alinkmenu['allowedtags']);
          if(!empty($alinkmenu['wordlimit'])) {
             $alinkmenu['sum'] = getCleanSubString($alinkmenu['sum'], $alinkmenu['wordlimit'], $alinkmenu['morelink'], 'word');
          }
        }
 
        $alinkmenu['sum'] = $alinkmenu['wrap_summary'][0].LF.$alinkmenu['sum'].LF.$alinkmenu['wrap_summary'][1];
 
      } else {
          $alinkmenu['sum'] = false;
       }
    // END Summary ------------------
 
 
 
 
     // Image -------------------------
// $alinkmenu[image_array] => Array
//         (
//             [tmpllist] => default
//             [tmplfull] => default
//             [name] => dscn0702_2048x1536.jpg
//             [id] => 16
//             [width] => 200
//             [height] => 200
//             [caption] => Wiese
//             [zoom] => 0
//             [lightbox] => 0
//             [hash] => 3496e044e78343317f378925eb13bfd9
//             [ext] => jpg
//             [list_usesummary] => 0
//             [list_name] => cimg1435_2048x1536.jpg
//             [list_id] => 15
//             [list_width] => 100
//             [list_height] => 100
//             [list_caption] => Tanke
//             [list_zoom] => 0
//             [list_lightbox] => 0
//             [list_maxwords] => 0
//             [list_hash] => b06c6301cfa9c5d233f74c94fc22bb94
//             [list_ext] => jpg
//         )
//     <img src="img/cmsimage.php/100x150x0x90/66.jpg" alt="mein Bild" />
 
     // ======= cmsimage parameter set
     // get segments: cmsimage.php/%WIDTH%x%HEIGHT%x%CROP%x%QUALITY%/%HASH%.%EXT%
     // by default this should be enough: cmsimage.php/%WIDTH%x%HEIGHT/%HASH%.%EXT%
 
 
     // 0 = off | 1 = list image | 2 = detail image | 3 = list image + link | 4 = detail image + link
 
     if ($alinkmenu['is_image']) {  // Only if image flag is set
 
         $alinkmenu['image_array'] = unserialize( $value['article_image'] );
 
         (   $alinkmenu['is_image'] == 2 // Is it detail?
          OR $alinkmenu['is_image'] == 4
          OR $alinkmenu['image_array']['list_usesummary'] == 1) ? $temp = '' : $temp = 'list_';
 
         if (!empty($alinkmenu['image_array'][$temp.'hash'])) {
            $alinkmenu['image']  = LF.'<div class="thumb">';
            if ($alinkmenu['is_image'] > 2) // image with link
                $alinkmenu['image'] .= '<a href="index.php?aid='.$value['article_id'].'">';
 
            $alinkmenu['image'] .= '<img src="img/cmsimage.php/'.$WxHxCxQ.'/';
            $alinkmenu['image'] .= $alinkmenu['image_array'][$temp.'hash'].'.'.$alinkmenu['image_array'][$temp.'ext'].'"';
            $alinkmenu['image'] .= ' alt="'.$alinkmenu['image_array'][$temp.'name'].'" />';
            if ($alinkmenu['is_image'] > 2) // image with link
                $alinkmenu['image'] .= '</a>';
 
            $alinkmenu['image'] .= '</div>'.LF;
         }
         else   $alinkmenu['image'] = '';
     }
 
     // END Image ---------------------
 
 
 
     // SubTitle ----------------------
      $alinkmenu['subtitle'] = (!empty($value['article_subtitle']) AND !empty($alinkmenu['subtitle_on'])) ?
      $alinkmenu['wrap_subtitle'][0].html_specialchars($value['article_subtitle']).$alinkmenu['wrap_subtitle'][1] : '';
 
     // Format before every data set.
      $alinkmenu['link'] .= LF.$alinkmenu["style_before"].LF;
 
 
      // set link or link with active link class --------------------
 
      $alinkmenu['link_wrap'] = '<a href="index.php?aid='.$value['article_id'].'">';
 
      if (empty($alinkmenu['hideactive']) AND ($value['article_id'] == $aktion[1])) {
          $alinkmenu['link_wrap'] = '<a href="index.php?aid='.$value['article_id'].'" '.get_class_attrib($alinkmenu['class_active_link']).'>';
     }
 
 
 
      switch($alinkmenu['ul']) {
 
       case 1:   // render as unordered list
            $alinkmenu['link'] .= '<li class="entry">'.$alinkmenu['wrap_data'][0].$alinkmenu['wrap_title'][0];
//            $alinkmenu['link'] .= '<a href="index.php?aid='.$value['article_id'].'">';
            $alinkmenu['link'] .= $alinkmenu['link_wrap'];
            $alinkmenu['link'] .= html_specialchars($value['article_title']);
            $alinkmenu['link'] .= $alinkmenu['morelink'].'</a>'.$alinkmenu['wrap_title'][1];
            $alinkmenu['link'] .= $alinkmenu['subtitle'];
 
            if($alinkmenu['sum'] !== false) {
              $alinkmenu['link'] .= "\n".$alinkmenu['sum'];
            }
 
            $alinkmenu['link'] .= $alinkmenu['wrap_data'][1]."</li>\n";
            break;
 
        case 2:   // render as div
            $alinkmenu['link'] .= '<div class="entry">'.LF;
//            $alinkmenu['link'] .= '<div>'.$alinkmenu['image'].'</div>';
            $alinkmenu['link'] .= $alinkmenu['wrap_data'][0].LF.$alinkmenu['wrap_title'][0].LF;
//            $alinkmenu['link'] .= '<a href="index.php?aid='.$value['article_id'].'">';
            $alinkmenu['link'] .= $alinkmenu['link_wrap'];
            $alinkmenu['link'] .= html_specialchars($value['article_title']);
            $alinkmenu['link'] .= $alinkmenu['morelink'].'</a>'.$alinkmenu['wrap_title'][1].LF;
            $alinkmenu['link'] .= $alinkmenu['subtitle'];
 
            if($alinkmenu['sum'] !== false) {
              $alinkmenu['link'] .= "\n".$alinkmenu['sum'];
            }
 
            $alinkmenu['link'] .= $alinkmenu['wrap_data'][1]."</div>\n";
            break;
 
        default:  // render as table
 
            // SubTitle ------------
            if ($alinkmenu['subtitle'] !== ''  AND !empty($alinkmenu['subtitle_on'])) {
              $tempRowSpan    = ' rowspan="2"';
              $alinkmenu['subtitle'] = "<tr>\n\t<td>" .$alinkmenu['subtitle']. "</td>\n</tr>\n";
            }
 
            if($alinkmenu['sum'] !== false) {
              $tempRowSpan    = ' rowspan="2"';
              $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['wrap_title'][0].'<a href="index.php?aid='.$value['article_id'].'" ';
            $alinkmenu['link'] .= '<td>'.$alinkmenu['wrap_title'][0].$alinkmenu['link_wrap'];
//            $alinkmenu['link'] .= get_class_attrib($template_default["article"]["link_article_class"]).">";
            $alinkmenu['link'] .= html_specialchars($value['article_title']).$alinkmenu['morelink'].'</a>'.$alinkmenu['wrap_title'][1]."</td>\n</tr>\n";
            $alinkmenu['link'] .= $alinkmenu['subtitle'];
            $alinkmenu['link'] .= $alinkmenu['sum'];
 
      }
 
      // Format behind every data set.
     $alinkmenu['link'] .= $alinkmenu["style_behind"];
 
     // Image tag available?
     if (!empty($alinkmenu['tag_image'])) {
         $alinkmenu['link'] = str_replace($alinkmenu['tag_image'], $alinkmenu['image'], $alinkmenu['link']);
 
 
     }
 
 
     } // END if $count_art ....
     $count_art++;
 
   } // END if $count ....
 
   $count++;
 
  } // END foreach
 
//  mysql_free_result($result);
 
}
 
if($alinkmenu['link']) {
 
  switch($alinkmenu['ul']) {
 
      case 1:   // render as unordered list
            $alinkmenu['link'] = "<ul>\n" . $alinkmenu['link'] . "</ul>\n";
            break;
 
      case 2:   // render as div
            break;
 
      default:  // render as table
            $alinkmenu['link'] = '<table border="0" cellspacing="0" cellpadding="0">'."\n" . $alinkmenu['link'] . "</table>\n";
 
  }
 
  // now check if class name is given
  // if so wrap article menu in div
  if(!empty($alinkmenu['class'])) {
 
    $alinkmenu['link'] = '<div class="' . html_specialchars($alinkmenu['class']) . "\">\n" . $alinkmenu['link'] . "</div>\n";
 
  }
  $CNT_TMP .= $alinkmenu['wrap_all'][0].LF.$virt_article_title . $virt_article_subtitle . $alinkmenu['link'].LF.$alinkmenu['wrap_all'][1].LF;
 
}
 
unset($alinkmenu);
 
return $CNT_TMP;
}
 
// $content['all'] = str_replace('{ARTICLE_MENU_ARCHIVE}', my_article_menu_archive() ,$content['all']);
 
$content["all"] = preg_replace('/{ARTICLE_MENU_ARCHIVE:(.*?),(.*?),(.*?)}/e', 'my_article_menu_archive("$1","$2","$3")', $content["all"]);
 
 
?>