{{indexmenu_n>20}} ====== Artikelmenü erweitert V1.4 ====== FIXME translate (kh) **Ein RT wie der CP Artikelmenü der um folgende Eigenschaften erweitert ist: Archivierte Artikel ausgeben, Anzahl der Artikel, Überspringen der ersten X Artikel, Wortlimit für den Schlagtext (summary), ein Bild** //(Liste oder Detail)//, **zufälliges Sortieren und bis zu 100 konfigurierbare Templates. :** * Zeige archivierte Artikel, \\ * Anzahl der Artikel die ausgeliefert werden sollen //(TAG)// \\ * Anzahl der zu überspringenden Artikel //(TAG)// \\ * und ein Bild //(aus der Listen- oder Detailansicht)// mit den Eigenschaften die in **WxHxCxQ** gesetzt werden //(TAG)// \\ * Wortanzahl (max. 999) mit HTML-Rendern und erlaubten html-Tags //(TAG)// \\ * 0-99 einfache Templates, die mit Platzhaltern arbeiten //(TAG)// \\ * Zufällige (random) Sortierung der Artikelausgabe //(TAG)// * Ausgabe archivierter Artikel // (TAG)// * BBcode in Titel und Untertitel möglich \\ **rt_article_menu_archive** V1.4 29.09.09 \\ Syntax: ##**{ARTICLE_MENU_ARCHIVE: category-ID, count-article, }**## //**(Minimal:** Die ersten beiden Parameter müssen gesetzt werden **+ mit einem Komma am Ende**)// Syntax: ##**{ARTICLE_MENU_ARCHIVE: category-ID, count-article, sXX, WxHxC, tXX, rX, wXXX, aX }**## \\ // (Wenn mehr als zwei Parameter verwendet werden, wird kein Komma am Ende gesetzt)// \\ # category-ID Artikel in "category-ID" (-category-ID = die aktuelle Kategorie), # count-article Zeigt die ersten "count-article" wenn verfügbar (0 = alle Artikel), + sXX XX Artikel überspringen (skip) (0 = off), + WxHxC Artikelbild-Ausgabe WxHxC (width x height x cropped) (cropped = 1|0), + tXX Verwendet das Layout des Templates mit der Nr. XX für die Ausgabe, + rX Zufällige Artikelsortierung X = 0|1 (off|on), + wXXX Wortlimit: Ausgabe von XXX Wörtern des Schlagtextes (summary) (-1 = alle, 0 = keine Ausgabe), + aX Ausgabe von archivierten Artikeln (X = 0 - 6, bitte in "Parameter-Satz - Sortieren der Ausgabe") [#] = verlangt, [+] = optional \\ **Syntax Beispiele:** * **{ARTICLE_MENU_ARCHIVE: -1, 0,}** //Aktuelle Kategorie, alle verfügbaren Artikel werden ausgegeben,// * **{ARTICLE_MENU_ARCHIVE: 23, 5, s2}** //Artikel in Kategorie 23(ID), zeige die ersten fünf Artikel wenn verfügbar, die ersten zwei Artikel werden dabei überspungen (skipped)// * **{ARTICLE_MENU_ARCHIVE: 23, 5, s2, 100x80x0x90}** //Artikel in Kategorie 23(ID), zeige die ersten fünf Artikel wenn verfügbar, die ersten zwei Artikel werden dabei überspungen (skipped), Artikelbild-Ausgabe 100px x 80px kein "cropping" jpg-Qualität 90// * **{ARTICLE_MENU_ARCHIVE: 23, 5, s0, 50x50x1}** //Artikel in Kategorie 23(ID), zeige die ersten fünf Artikel wenn verfügbar, kein Artikel wird überspungen, Artikelbild-Ausgabe 50px x 50px "cropped"// * **{ARTICLE_MENU_ARCHIVE: 23, 5, s0, 50x50x1, t2}** //Die selbe Ausgabe wie zuvor, jedoch wird dazu das Template Nr. 2 verwendet // * **{ARTICLE_MENU_ARCHIVE: 23, 5, s0, 50x50x1, t21, r1, w25, a3}** # 23 Artikel in Kategorie 23(ID), # 5 zeige die ersten fünf Artikel wenn verfügbar, + s0 kein Artikel wird überspungen, + 50x50x1 Artikelbild-Ausgabe 50px x 50px "cropped", + t21 Template Nr. 21 gewählt, + r1 Zufälliges Sortieren der Artikel ist eingeschaltet, + w25 Ausgabe der ersten 25 Worte des Schlagtextes (summary), + a3 Ausgabe von archivierten Artikeln (article begin > NOW AND article end > NOW) \\ Der Bildparameter-Satz (WxHxCxQ): %WIDTH%x%HEIGHT%x%CROP%x%QUALITY% Sollte ausreichen: %WIDTH%x%HEIGHTx%CROP% (QUALITY aus Voreinstellung in conf.inc.php) \\ Docu: -- \\ Forum: -- **Autor:** K.Heermann (flip-flop) http://planmatrix.de \\ **CMS Version:** >= 1.4 \\ **Version:** V1.4 \\ Update: 29.09.09 KH: * max 100 configurable templates [tXX] (XX = template No. e.g.: t4 or t14 or t56...) * changed skip parameter from simple [digit] to "s[digit]" (e.g.: s3 or s6 or s13...) + random sort order parameter in tag [r0|1] (off|on) + wordlimit paramter in tag [wXXX] (XXX = 0-999 where -1 = all and 0 = off) + output archived articles in tag Update: 27.09.09 KH: + 10 configurable templates Update: 26.09.09 KH: + rendering html, allowed tags, maxchar count changed to maxword (the same like tease) Update: 25.09.09 KH: + thumb image from article list- or detail (if available) (WxHxCxQ) Update: 05.09.09 KH: + counter for "How many articles are to be shown" (0 = all) Update: 16.08.09 KH: + counter for "How many of the first articles are to be hidden" (0 = nothing hidden) Update: 10.12.09 KH: + BBCode in title and subtitle possible \\ Basierend auf dem CP Artikelmenü. TAG: **{ARTICLE_MENU_ARCHIVE: category-ID, count-article, sXX, WxHxCxQ, tXX, rX, wXXX, aX}** \\ or **{ARTICLE_MENU_ARCHIVE: -1, count-article, sXX}** //für die aktuelle Kategorie// \\ Minimalster Aufruf: **{ARTICLE_MENU_ARCHIVE: category-ID, count-article,}** //(mit einem Komma endent !!)// Dateiname: **rt_article_menu_archive.php** Verzeichnis: ** template/inc_script/frontend_render/ ** **Bedingung:** -> [[http://www.phpwcms-docu.de/confincphp_de.phtml|/config/phpwcms/conf.inc.php]] \\ * ##$phpwcms['allow_ext_render'] = 1;## ---- ---- ~~UP~~ ===== Innere Parameter ===== ==== Parameter-Satz ==== mit den voreingestellten Werten für einige Übergabe-Parameter //(tagged parameters)// // Sortierung der Ausgabe: alle|archivierte|nicht archivierte // ------------------------------------------ // 0: alle Artikel // 1: Archiv-Status=1 UND Artikel-Beginn < HEUTE UND Artikel-Ende < HEUTE // 2: Archiv-Status=1 UND Artikel-Beginn < HEUTE UND Artikel-Ende > HEUTE // 3: Archiv-Status=1 UND Artikel-Beginn > HEUTE UND Artikel-Ende > HEUTE // 4: Archiv-Status=0 UND Artikel-Beginn < HEUTE UND Artikel-Ende < HEUTE // 5: Archiv-Status=0 UND Artikel-Beginn < HEUTE UND Artikel-Ende > HEUTE // 6: Archiv-Status=0 UND Artikel-Beginn > HEUTE UND Artikel-Ende > HEUTE // Verwende eine der oben gezeigten Nummern $alinkmenu['article_archive_status_set'] = 2; // E.g. Zeigt Einträge mit aktiviertem Archiv-Status // ------------------------------------------ // Bildparameter: Artikel-Liste|Artikel-Detail ------------ $alinkmenu['is_image'] = 3; // 0 = off | 1 = Listen-Bild | 2 = Detail-Bild // 3 = Listen-Bild + link | 4 = Detail-Bild + link // Content-Part Parameter ------------------ $alinkmenu['subtitle_on'] = 1; // Artikel Untertitel-Ausgabe [0|1] $alinkmenu['headertext'] = 1; // Schlagtext (summary) anzeigen [0|1] $alinkmenu['ul'] = 3; // 1: Rendern als unsortierte liste / 2: Rendere als div / // 3: Rendere Template / 4: Render als Tabelle $alinkmenu['class'] = ''; // Umschließende (wrapped) class $alinkmenu['more'] = ' »'; // mehr-Link Text $alinkmenu['moretextsum'] = ' …'; // mehr Text im Schlagtext (summary) $alinkmenu['hideactive'] = 0; // unterdrücke die Anzeige des gerade aktiven Artikels im Artikelmenü [0 = nicht unterdrücken] $alinkmenu['wordlimit'] = 5; // Max. Anzahl Worte im Schlagtext (summary) [0-999 / 0 = keine Ausgabe / -1 = alle Worte] $alinkmenu['allowedtags'] = ''; // erlaubte Tags im Schlagtext (summary) $alinkmenu['leading_article_hide'] = 0; // Wieviele Artikel überspringen. (Default: Kein Artikel) $alinkmenu['WxHxCxQ'] = ''; // Bild-Parameter setzen. (Default: Keine Parameter) z.B. 100x80x0 $alinkmenu['template_no'] = 0; // Default Template-Nr. = 0 $alinkmenu['random'] = 0; // Zufällige Sortierung (random) der Artikel [0|1] ~~UP~~ ==== Layout und Bilder ==== Sektion: **Image parameters --------------------** //Bilder aus der Artikelbasisinformation: off|list[+link]|detail[+link] // $alinkmenu['is_image'] = 4; // 0 = off | 1 = list image | 2 = detail image // 3 = list image + link | 4 = detail image + link \\ Sektion: **TEMPLATES** für ($alinkmenu['ul'] = 3 --------------------------------------- \\ Ein sehr einfaches Template //(Bis zu 100 unterschiedliche Templates möglich)// **Tags** //(place holder)//: [LINK].....[/LINK] (Der Link, alles zwischen den Tags ist der Link-Text) {THUMBNAIL} (Das Arrtikel Listen- oder Detailbild, formatiert durch WxHxC) {TITLE} (Titel des Artikels) {SUBTITLE} (Untertitel des Artikels) {SUMMARY} (Schlagtext (summary) des Artikels) // Wrapper around all entries: begin, end $alinkmenu['wrap_template'] = array('
','
'); // Template No: 0 (default) ----------------- $alinkmenu['template'][0] = '
[LINK]{THUMBNAIL}[/LINK]
[LINK]{TITLE}{MORE}[/LINK]
{SUBTITLE}
{SUMMARY}
'; // Template No: 1 --------------------------- $alinkmenu['template'][1] = '
[LINK]{THUMBNAIL}[/LINK]
[LINK]{TITLE}{MORE}[/LINK]
{SUBTITLE}
{SUMMARY}
';
Bitte generieren Sie ihre eigenen Templates zwischen jeweils ##$alinkmenu['template'][**X**] = '. . . . .';## \\ wobei **X** die Template-Nr. darstellt. \\ Z.B. **Generierter Quelltext mit Template Nr.: 0:**
InmageName.jpg
Article-sub-title
The summary text for testing »
... ...
\\ ===== Code v1.4 ===== **Datei:** template/inc_script/frontend_render/article_menu_archive.php NOW AND article_end > NOW) 10.12.09 KH Update: + BBCode in titel and subtitel possible E.g.: [i]Title[/i] [b]Subtitle[/b] ...... V1.4 *************************************************************************************/ //article menu enhanced // {ARTICLE_MENU_ARCHIVE: category-ID, count-article, sXX, WxHxC, tXX, rX, wXXX, aX } // $catid: the category ID where the articles are (-1 = current category)) // sXX-paramter: $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%] // tXX -parameter: No. 0-99 different free templates (TEMPLATES for $alinkmenu['ul'] = 3) (fallback=0) // rX -parameter: [0|1] random article sort order // wXXX-parameter: No. 0-999 max. words: [-1]=all words, [0]= no words // ---------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); } // ---------------------------------------------------------------- function my_article_menu_archive ($catid = 0, $count_article, $article_skip_WxHxCxQ_template = '', $CNT_TMP = '') { // Test if the first two paramters have integer format if (!(is_intval(trim($catid)) AND is_intval(trim($count_article)) )) { echo '============================================
'; echo ' ERROR: Wrong integer parameter in {ARTICLE_MENU_ARCHIVE:...
'; echo '============================================
'; return false; } global $aktion; // User defination ============================================================ // =============== Simulated CP paramter ====================================== // TEMPLATES for $alinkmenu[ul] = 3 ------------------------------------------ // Wrapper around all entries: begin, end $alinkmenu['wrap_template'] = array('
','
'); // Template No: 0 (default) ----------------- $alinkmenu['template'][0] = '
[LINK]{THUMBNAIL}[/LINK]
[LINK]{TITLE}{MORE}[/LINK]
{SUBTITLE}
{SUMMARY}
'; // Template No: 1 --------------------------- $alinkmenu['template'][1] = '
[LINK]{THUMBNAIL}[/LINK]
[LINK]{TITLE}{MORE}[/LINK]
{SUBTITLE}
{SUMMARY}
'; // Template No: 2 -------------------------- $alinkmenu['template'][2] = '
[LINK]{THUMBNAIL}[/LINK]
[LINK]{TITLE}{MORE}[/LINK]
{SUBTITLE}
{SUMMARY}
'; // Template No: 3 -------------------------- //$alinkmenu['template'][3] = ' //
//..... //
'; // END TEMPLATES - ----------------------------------------------------------- // ContentPart head ------------------------- // Insert title/subtitle name and css for the virtual content part $virt_article_title = ''; //

MyTitle

$virt_article_subtitle = ''; //

MySubTitle

// ------------------------------------------ // Parameter set ---------------------------- // Sorting the output: all|archived|not archived // ------------------------------------------ // 0: all articles // 1: archive_status=1 AND article_beginNOW() // 3: archive_status=1 AND article_begin>NOW() AND article_end>NOW() // 4: archive_status=0 AND article_beginNOW() // 6: archive_status=0 AND article_begin>NOW() AND article_end>NOW() // Insert one of the previous number $alinkmenu['article_archive_status_set'] = 2; // E.g. Show entries with activated archive status? // ------------------------------------------ // Image parameters: list|detail ------------ $alinkmenu['is_image'] = 3; // 0 = off | 1 = list image | 2 = detail image // 3 = list image + link | 4 = detail image + link // Content part parameters ------------------ $alinkmenu['subtitle_on'] = 1; // Article sub title text output [0|1] $alinkmenu['headertext'] = 1; // summary text [0|1] $alinkmenu['ul'] = 3; // 1: render as unordered list / 2: render as div / // 3: render template / 4: render as table $alinkmenu['class'] = ''; // wrapped class $alinkmenu['more'] = ' »'; // more link text $alinkmenu['moretextsum'] = ' …'; // more text in summary $alinkmenu['hideactive'] = 0; // hide active article in article menu [0 = no article hide] $alinkmenu['wordlimit'] = 5; // maxwords summary [0-999 / 0 = no words / -1 = all words] $alinkmenu['allowedtags'] = ''; // allowed tags in summary $alinkmenu['leading_article_hide'] = 0; // No Artikle skiped $alinkmenu['WxHxCxQ'] = ''; // No image parameter set e.g. set 100x80x0 $alinkmenu['template_no'] = 0; // default template = 0 $alinkmenu['random'] = 0; // random sort order for article [0|1] /* 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_end DESC'; $ao[2] = ' article_priorize DESC,'.$ao[2]; -------------------------------------------- */ // Sorting order ---------------------------- $ao['2'] = ' article_priorize DESC,'; // !!! Don´t change!!! $ao['2'] .= ' article_sort ASC'; // Change for sort order // END user defination ======================================================== // ============================================================================ // CSS classes for
    and
    rendering ----------------------------------- // A very simple template (Please have a look for the {IMAGE} tag) $alinkmenu['wrap_all'] = array('
    ','
    '); // Wrap around all $alinkmenu['wrap_data'] = array('{IMAGE}
    ','
    '); // Data wrap begin, end $alinkmenu['wrap_title'] = array('
    ','
    '); // Title wrap around all begin, end $alinkmenu['wrap_subtitle'] = array('
    ','
    '); // 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. $alinkmenu["style_behind"] = '
    '; // Format behind every data set. /* Example: $alinkmenu['wrap_all'] = array('
    ','
    '); // Wrap around all $alinkmenu['wrap_data'] = array('',''); // Data wrap begin, end $alinkmenu['wrap_title'] = array('
    ','
    '); // Title wrap around all begin, end $alinkmenu['wrap_subtitle'] = array('

    ','

    '); // 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"] = '
    '; */ // Image control if there is an empty or bad string -------------------------- // valid image parameter like WxHxCxQ ? $alinkmenu['tag_image'] = '{IMAGE}'; // place holder for the image, it must be the same you insert into CSS classes for
      and
      rendering"!! // Set the {IMAGE} place holder where you want as shown above in "CSS classes". // -------------------------------------- // A container //
      // is autom. generated around the image if there is one available //
      // -------------------------------------- // ---------------------------------------------------------------------------- // catch parameters from TAG ------------------------------ // $alinkmenu['article_archive_status_set'] = 2; // E.g. Show entries with activated archive status? // $alinkmenu['wordlimit'] = 5; // maxwords summary // $alinkmenu['leading_article_hide'] = 0; // No Artikle skiped // $alinkmenu['WxHxCxQ'] = ''; // No image parameter set e.g. set 100x80x0 // $alinkmenu['template_no'] = 0; // default template = 0 // $alinkmenu['random'] = 0; // random sort order for article [0|1] // --------------------------------------------------------- // E.g. {ARTICLE_MENU_ARCHIVE:18,8,0,50x50x1,t2,r1,w10,a3} if ( !empty($article_skip_WxHxCxQ_template) ) { $alinkmenu['temp'] = explode (",",strtolower(trim($article_skip_WxHxCxQ_template))); // === $alinkmenu['temp'][0] => first article skip // === $alinkmenu['temp'][1] => WxHxCxQ // === $alinkmenu['temp'][2] => template_No // === $alinkmenu['temp'][3] => random sort // === $alinkmenu['temp'][4] => wordlimit if ( count($alinkmenu['temp']) ) { foreach ($alinkmenu['temp'] as $value) { $value = preg_replace('/[^0-9arstwx-]/', '', $value); // WxHxCxQ and integer and t if ( preg_match('/[0-9]{1,3}x[0-9]{1,3}x[0|1]{1}/', $value) ) { // WxHxCxQ image parameter $alinkmenu['WxHxCxQ'] = $value; } elseif ( preg_match('/s{1}[0-9]{1,2}/', $value, $alinkmenu['temp1']) ) { // "sXX" skip article $alinkmenu['leading_article_hide'] = (int)substr($alinkmenu['temp1']['0'],1,2); } elseif ( preg_match('/t{1}[0-9]{1,2}/', $value, $alinkmenu['temp1']) ) { // "tXX" for template selection $alinkmenu['template_no'] = (int)substr($alinkmenu['temp1']['0'],1,2); if ( count($alinkmenu['template']) < $alinkmenu['template_no'] ) $alinkmenu['template_no'] = 0; } elseif ( preg_match('/r{1}[0|1]{1}/', $value, $alinkmenu['temp1']) ) { // "rX" for random sort order $alinkmenu['random'] = (int)substr($alinkmenu['temp1']['0'],1,1); $g = explode(',',$ao['2']); // sortierung komplett entfernen if ($alinkmenu['random'] AND count($g) == 2) {$ao['2'] = $g[0].', RAND()';} // if ($alinkmenu['random']) $ao['2'] = ' RAND(),'.$ao['2']; // sort random in DB Query } elseif ( preg_match('/w{1}[0-9-]{1,3}/', $value, $alinkmenu['temp1']) ) { // "wXXX" for wordlimit count $alinkmenu['wordlimit'] = (int)substr($alinkmenu['temp1']['0'],1,3); } elseif ( preg_match('/a{1}[0-6]{1,1}/', $value, $alinkmenu['temp1']) ) { // "aX" archived articles? $alinkmenu['article_archive_status_set'] = (int)substr($alinkmenu['temp1']['0'],1,1); } } } } // Image parameter available? if ( empty($alinkmenu['WxHxCxQ'] ) ) $alinkmenu['is_image'] = 0 ; // END Parameters from TAG -------------------------- // 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($alinkmenu['article_archive_status_set']) { 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 All articles output ) ($count_article <= 0) ? $count_art = -1000 : $count_art = 0; foreach($result as $value) { if( $count >= $alinkmenu['leading_article_hide'] ) { // Hide first articles? if( $count_article > $count_art ) { // Max article shown $tempRowSpan = ''; $value['article_summary'] = preg_replace('/]*?>$/i', '', $value['article_summary']); // article_summary // Summary ---------------------- if($alinkmenu['headertext'] && !empty($value['article_summary'])) { $alinkmenu['sum'] = $value['article_summary']; // Clean the text ------ if( $alinkmenu['wordlimit'] > 0 ) { $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['moretextsum'], 'word'); } } elseif ($alinkmenu['wordlimit'] == 0 ) $alinkmenu['sum'] = ''; // No Word output (-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 // ) // 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 detail image set? 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.'
      '; if ($alinkmenu['is_image'] > 2) // image with link $alinkmenu['image'] .= ''; $alinkmenu['imageonly'] = ''; $alinkmenu['image'] .= $alinkmenu['imageonly']; if ($alinkmenu['is_image'] > 2) // image with link $alinkmenu['image'] .= ''; $alinkmenu['image'] .= '
      '.LF; } else { $alinkmenu['image'] = ''; $alinkmenu['imageonly'] = ''; } } // END Image --------------------- // ArticleTitle ------------------ $alinkmenu['title'] = render_bbcode_basics(html_specialchars($value['article_title'])); // SubTitle ---------------------- $alinkmenu['subtitle'] = (!empty($value['article_subtitle']) AND !empty($alinkmenu['subtitle_on'])) ? render_bbcode_basics(html_specialchars($value['article_subtitle'])) : ''; // set link or link with active link class -------------------- $alinkmenu['link_wrap'] = ''; if (empty($alinkmenu['hideactive']) AND ($value['article_id'] == $aktion[1])) { $alinkmenu['link_wrap'] = ''; } switch($alinkmenu['ul']) { case 1: // render as unordered list $alinkmenu['link'] .= LF.$alinkmenu["style_before"].LF; $alinkmenu['link'] .= '
    • '.LF; $alinkmenu['link'] .= $alinkmenu['wrap_data'][0].LF.$alinkmenu['wrap_title'][0].LF; $alinkmenu['link'] .= $alinkmenu['link_wrap']; $alinkmenu['link'] .= $alinkmenu['title']; $alinkmenu['link'] .= $alinkmenu['more'].''.$alinkmenu['wrap_title'][1].LF; // SubTitle ---------------------- if (!empty($alinkmenu['subtitle'])) $alinkmenu['link'] .= "\n".$alinkmenu['wrap_subtitle'][0].$alinkmenu['subtitle'].$alinkmenu['wrap_subtitle'][1]; // Summary - --------------------- if($alinkmenu['sum'] !== false) $alinkmenu['link'] .= "\n".$alinkmenu['wrap_summary'][0].LF.$alinkmenu['sum'].LF.$alinkmenu['wrap_summary'][1]; $alinkmenu['link'] .= $alinkmenu['wrap_data'][1]."
    • \n"; $alinkmenu['link'] .= LF.$alinkmenu["style_behind"].LF; break; case 2: // render as div $alinkmenu['link'] .= LF.$alinkmenu["style_before"].LF; $alinkmenu['link'] .= '
      '.LF; $alinkmenu['link'] .= $alinkmenu['wrap_data'][0].LF.$alinkmenu['wrap_title'][0].LF; $alinkmenu['link'] .= $alinkmenu['link_wrap']; $alinkmenu['link'] .= $alinkmenu['title']; $alinkmenu['link'] .= $alinkmenu['more'].''.$alinkmenu['wrap_title'][1].LF; // SubTitle ---------------------- if (!empty($alinkmenu['subtitle'])) $alinkmenu['link'] .= "\n".$alinkmenu['wrap_subtitle'][0].$alinkmenu['subtitle'].$alinkmenu['wrap_subtitle'][1]; // Summary - --------------------- if($alinkmenu['sum'] !== false) { $alinkmenu['link'] .= "\n".$alinkmenu['wrap_summary'][0].LF.$alinkmenu['sum'].LF.$alinkmenu['wrap_summary'][1]; } $alinkmenu['link'] .= $alinkmenu['wrap_data'][1]."
      \n"; $alinkmenu['link'] .= LF.$alinkmenu["style_behind"].LF; break; case 3: // render with template $alinkmenu['temp'] = $alinkmenu['template'][$alinkmenu['template_no']]; $alinkmenu['temp'] = str_replace('[LINK]' , $alinkmenu['link_wrap'] , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('[/LINK]' , '' , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('{TITLE}' , $alinkmenu['title'] , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('{SUBTITLE}' , $alinkmenu['subtitle'] , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('{MORE}' , $alinkmenu['more'] , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('{THUMBNAIL}', $alinkmenu['imageonly'] , $alinkmenu['temp']); $alinkmenu['temp'] = str_replace('{SUMMARY}' , $alinkmenu['sum'] , $alinkmenu['temp']); $alinkmenu['link'] .= $alinkmenu['temp']; $alinkmenu['temp'] = ''; break; default: // render as table // SubTitle ------------ if (!empty($alinkmenu['subtitle'])) { $tempRowSpan = ' rowspan="2"'; $alinkmenu['subtitle'] = "\n\t" .$alinkmenu['wrap_subtitle'][0].$alinkmenu['subtitle'].$alinkmenu['wrap_subtitle'][1]. "\n\n"; } // Summary - --------------------- if($alinkmenu['sum'] !== false) { $tempRowSpan = ' rowspan="3"'; $alinkmenu['sum'] = "\n\t" .$alinkmenu['wrap_summary'][0].LF.$alinkmenu['sum'].LF.$alinkmenu['wrap_summary'][1] . "\n\n"; } $alinkmenu['link'] .= "\n\t".$GLOBALS["template_default"]["article"]["link_article_sign"]."\n\t"; $alinkmenu['link'] .= ''.$alinkmenu['wrap_title'][0].$alinkmenu['link_wrap']; $alinkmenu['link'] .= $alinkmenu['title'].$alinkmenu['more'].''.$alinkmenu['wrap_title'][1]."\n\n"; $alinkmenu['link'] .= $alinkmenu['subtitle']; $alinkmenu['link'] .= $alinkmenu['sum']; } // Image tag available, only for
        and
        renderering? 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'] = "
          \n" . $alinkmenu['link'] . "
        \n"; break; case 2: // render as div break; case 3: // free template $alinkmenu['link'] = $alinkmenu['wrap_template']['0'].$alinkmenu['link'].$alinkmenu['wrap_template']['1']; break; default: // render as table $alinkmenu['link'] = ''."\n" . $alinkmenu['link'] . "
        \n"; } // now check if class name is given // if so wrap article menu in div if(!empty($alinkmenu['class'])) { $alinkmenu['link'] = '
        \n" . $alinkmenu['link'] . "
        \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"]); ?>