[ Index ]

PHP Cross Reference of phpwcms V1.4.3 _r380 (23.11.09)

title

Body

[close]

/include/inc_front/content/ -> cnt33.article.inc.php (source)

   1  <?php
   2  /*************************************************************************************
   3     Copyright notice
   4     
   5     (c) 2002-2009 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
   6  
   7  This script is part of PHPWCMS. The PHPWCMS web content management system is
   8  free software; you can redistribute it and/or modify it under the terms of
   9  the GNU General Public License as published by the Free Software Foundation;
  10  either version 2 of the License, or (at your option) any later version.
  11  
  12  The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
  13  A copy is found in the textfile GPL.txt and important notices to the license
  14  from the author is found in LICENSE.txt distributed with these scripts.
  15  
  16  This script is distributed in the hope that it will be useful, but WITHOUT ANY
  17  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  18  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
  19  
  20  This copyright notice MUST APPEAR in all copies of the script!
  21  *************************************************************************************/
  22  
  23  // ----------------------------------------------------------------
  24  // obligate check for phpwcms constants
  25  if (!defined('PHPWCMS_ROOT')) {
  26     die("You Cannot Access This Script Directly, Have a Nice Day.");
  27  }
  28  // ----------------------------------------------------------------
  29  
  30  // News
  31  
  32  $news    = @unserialize($crow["acontent_form"]);
  33  
  34  //$CNT_TMP .= dumpVar($news, 2);
  35  
  36  // read template
  37  if(empty($crow["acontent_template"]) && is_file(PHPWCMS_TEMPLATE.'inc_default/news.tmpl')) {
  38  
  39      $news['template']    = @file_get_contents(PHPWCMS_TEMPLATE.'inc_default/news.tmpl');
  40      
  41  } elseif(is_file(PHPWCMS_TEMPLATE.'inc_cntpart/news/'.$crow["acontent_template"])) {
  42  
  43      $news['template']    = @file_get_contents(PHPWCMS_TEMPLATE.'inc_cntpart/news/'.$crow["acontent_template"]);
  44  
  45  } else {
  46  
  47      $news['template']    = '';
  48  
  49  }
  50  
  51  
  52  // build SQL query first
  53  $news['sql_where']        = array();
  54  $news['now']            = now();
  55  $news['list_mode']        = true;
  56  $news['listing_page']    = array();
  57  
  58  $news['cnt_ts_livedate'] = 'IF(UNIX_TIMESTAMP(pc.cnt_livedate) > 0, UNIX_TIMESTAMP(pc.cnt_livedate), pc.cnt_created)';
  59  $news['cnt_ts_killdate'] = 'IF(UNIX_TIMESTAMP(pc.cnt_killdate) > 0, UNIX_TIMESTAMP(pc.cnt_killdate), pc.cnt_created + 31536000)';
  60  $news['cnt_ts_sortdate'] = 'IF(pc.cnt_sort=0, IF(UNIX_TIMESTAMP(pc.cnt_livedate) > 0, UNIX_TIMESTAMP(pc.cnt_livedate), pc.cnt_created), pc.cnt_sort)';
  61  
  62  // define the general SELECT query part
  63  $news['sql_query']  = 'SELECT pc.*, ';
  64  $news['sql_query'] .= $news['cnt_ts_livedate'] . ' AS cnt_ts_livedate, ';
  65  $news['sql_query'] .= $news['cnt_ts_killdate'] . ' AS cnt_ts_killdate, ';
  66  $news['sql_query'] .= $news['cnt_ts_sortdate'] . ' AS cnt_ts_sortdate ';
  67  
  68  // define the COUNT all query part
  69  $news['sql_count']            = 'SELECT COUNT(pc.cnt_id) ';
  70  $news['sql_joined_count']    = 'SELECT pc.cnt_id ';
  71  
  72  $sql  = 'FROM '.DB_PREPEND.'phpwcms_content pc ';
  73  
  74  $news['sql_group_by']    = '';
  75  $news['sql_where'][]    = 'pc.cnt_status=1';
  76  $news['sql_where'][]    = "AND pc.cnt_module='news'";
  77  
  78  // check if detail mode is active
  79  // and select the related news item
  80  
  81  if(isset($_getVar['newsdetail'])) {
  82  
  83      $news['match'] = array();
  84      
  85      preg_match('/^\d{8}\-(\d+)_(.*?)$/', clean_slweg($_getVar['newsdetail']), $news['match']);
  86      
  87      if(isset($news['match'][2])) {
  88      
  89          $news['match'] = trim($news['match'][2]);
  90      
  91          if(is_numeric($news['match'])) {
  92              $news['sql_where'][]    = "AND pc.cnt_id=" . intval($news['match']);
  93          } else {
  94              $news['sql_where'][]    = "AND pc.cnt_alias='" . aporeplace($news['match']) . "'";
  95          }
  96          
  97          $news['list_mode']    = false;
  98          
  99      }
 100  
 101  }
 102  
 103  // filters necessary only when in news list mode
 104  if($news['list_mode']) {
 105  
 106      // archived 
 107      switch($news['news_archive']) {
 108      
 109          case 0:    // include archived
 110                  $news['sql_where'][] = 'AND ' . $news['cnt_ts_livedate'] . ' < ' . $news['now'];
 111                  $news['sql_where'][] = 'AND (' . $news['cnt_ts_killdate'] . ' > ' . $news['now'] . ' OR cnt_archive_status = 1)';
 112                  break;
 113                  
 114          case 1:    // exclude archived
 115                  $news['sql_where'][] = 'AND ' . $news['cnt_ts_livedate'] . ' < ' . $news['now'];
 116                  $news['sql_where'][] = 'AND ' . $news['cnt_ts_killdate'] . ' > ' . $news['now'];
 117                  break;
 118                  
 119          case 2:    // archived only
 120                  $news['sql_where'][] = 'AND ' . $news['cnt_ts_killdate'] . ' < ' . $news['now'];
 121                  $news['sql_where'][] = 'AND cnt_archive_status = 1';
 122                  break;
 123                  
 124          case 3:    // all items
 125                  $news['sql_where'][] = 'AND ' . $news['cnt_ts_livedate'] . ' < ' . $news['now'];
 126                  break;
 127      
 128      }
 129      
 130      // choose by category
 131      if(count($news['news_category'])) {
 132          
 133          $news['news_joined_sql']    = true;
 134          $news['news_category_sql']    = array();
 135      
 136          // and/or/not mode
 137          switch($news['news_andor']) {
 138          
 139              case 'AND': $news['news_andor']        = ' AND ';
 140                          $news['news_compare']    = '=';
 141                          break;
 142                          
 143              case 'NOT':    $news['news_andor']        = ' AND ';
 144                          $news['news_compare']    = '!=';
 145                          break;
 146                          
 147              default:    //OR
 148                          $news['news_andor']        = ' OR ';
 149                          $news['news_compare']    = '=';
 150          }
 151          
 152          foreach($news['news_category'] as $value) {
 153              
 154              $news['news_category_sql'][] = 'pcat.cat_name' . $news['news_compare'] . "'" . aporeplace($value) . "'";
 155              
 156          }
 157  
 158          $sql .= "LEFT JOIN ".DB_PREPEND."phpwcms_categories pcat ON (pcat.cat_type='news' AND pcat.cat_pid=pc.cnt_id) ";
 159          $news['sql_where'][] = 'AND (' . implode($news['news_andor'], $news['news_category_sql']) . ')';
 160          
 161          $news['sql_group_by'] = 'GROUP BY pc.cnt_id ';
 162          
 163      } else {
 164      
 165          // for joined SQL the COUNT() query is used in different way
 166          $news['news_joined_sql'] = false;
 167      
 168      }
 169      
 170      // language selection
 171      if(count($news['news_lang'])) {
 172      
 173          $news['sql_where'][] = "AND pc.cnt_lang IN ('". str_replace('#', "','", aporeplace( implode('#', $news['news_lang']) ) ) . "')";
 174      
 175      }
 176  
 177  }
 178  
 179  
 180  $sql .= 'WHERE ' . implode(' ', $news['sql_where']) . ' ';
 181  
 182  // group by
 183  $sql .= $news['sql_group_by'];
 184  
 185  // order by - only necessary in list mode
 186  if($news['list_mode']) {
 187      
 188      $news['news_skip']    = intval($news['news_skip']);
 189      $news['news_limit']    = intval($news['news_limit']);
 190      
 191      if($news['news_skip']) {
 192          
 193          $news['sql_limit']  = ' LIMIT '.$news['news_skip'].', ';
 194          $news['sql_limit'] .= $news['news_limit'] ? $news['news_limit'] : 99999999;
 195  
 196      } elseif($news['news_limit']) {
 197  
 198          $news['sql_limit']  = ' LIMIT ';
 199          $news['sql_limit'] .= $news['news_skip'] ? $news['news_skip'] : 0;
 200          $news['sql_limit'] .= ', ' . $news['news_limit'];
 201  
 202      } else {
 203  
 204          $news['sql_limit'] = '';
 205  
 206      }
 207      
 208      // set defaults
 209      $news['current_page']    = 1;
 210      $news['total_pages']    = 1;
 211      $news['page_next']        = '';
 212      $news['page_prev']        = '';
 213      
 214      // pagination - no LIMIT, no ORDER BY
 215      if($news['news_paginate'] == 1) {
 216  
 217          // count all news based on current query
 218          if($news['news_joined_sql']) {
 219          
 220              $news['count_all'] = count( _dbQuery($news['sql_joined_count'] . $sql . $news['sql_limit']) );
 221          
 222          } else {
 223              
 224              $news['count_all'] = _dbCount($news['sql_count'] . $sql);
 225              
 226              // handle skipped items
 227              if($news['news_skip']) {
 228                  $news['count_all'] = $news['count_all'] - $news['news_skip'];
 229                  if($news['count_all'] < 0) {
 230                      $news['count_all'] = 0;
 231                  }
 232              }
 233              
 234              // check if less news should be used than news in db
 235              if($news['news_limit'] && $news['news_limit'] < $news['count_all']) {
 236                  $news['count_all'] = $news['news_limit'];
 237              }
 238              
 239          }
 240          
 241          // test and set page
 242          if(isset($_getVar['newspage'])) {
 243              $_getVar['newspage'] = intval($_getVar['newspage']);
 244          }
 245          $news['current_page']    = $_getVar['newspage'] > 0 ? $_getVar['newspage'] : 1;
 246          $news['total_pages']    = ceil( $news['count_all'] / $news['news_paginate_count'] );
 247          
 248          if($news['current_page'] > $news['total_pages']) {
 249              $news['current_page'] = $news['total_pages'];
 250          }
 251  
 252          if($news['current_page'] > 1 && $news['total_pages'] > 1) {
 253              if($news['current_page'] == 2) {
 254                  $news['page_prev'] = rel_url( array(), array('newspage') );
 255              } else {
 256                  $news['page_prev'] = rel_url( array( 'newspage' => $news['current_page']-1 ) );
 257              }
 258              
 259              // set pagination page info for detail link too
 260              $news['listing_page'] = array( 'newspage' => $news['current_page'] );
 261          }
 262  
 263          if($news['total_pages'] > 1 && $news['current_page'] < $news['total_pages']) {
 264              $news['page_next'] = rel_url( array( 'newspage' => $news['current_page']+1 ) );
 265          }
 266          
 267          // set LIMIT
 268          $news['sql_limit']  = ' LIMIT ';
 269          $news['sql_limit'] .= (($news['current_page'] - 1) *  $news['news_paginate_count']) + $news['news_skip'];
 270          $news['sql_limit'] .= ', ' . $news['news_paginate_count'];
 271      
 272      }
 273      
 274      
 275      $sql .= 'ORDER BY ';
 276      
 277      // add prio sorting value
 278      if( !empty($news['news_prio']) ) {
 279          $sql .= 'pc.cnt_prio DESC, ';
 280      }
 281  
 282      switch($news['news_sort']) {
 283      
 284          case 1:        // create date, DESC
 285                      $sql .= 'pc.cnt_created DESC';
 286                      break;
 287          
 288          case 2:        // create date, ASC
 289                      $sql .= 'pc.cnt_created ASC';
 290                      break;
 291          
 292          case 3:        // change date, DESC
 293                      $sql .= 'pc.cnt_changed DESC';
 294                      break;
 295          
 296          case 4:        // change date, ASC
 297                      $sql .= 'pc.cnt_changed ASC';
 298                      break;
 299  
 300          case 5:        // live date, DESC
 301                      $sql .= 'cnt_ts_livedate DESC';
 302                      break;
 303          
 304          case 6:        // live date, ASC
 305                      $sql .= 'cnt_ts_livedate ASC';
 306                      break;
 307          
 308          case 7:        // kill date, DESC
 309                      $sql .= 'cnt_ts_killdate DESC';
 310                      break;
 311          
 312          case 8:        // kill date, ASC
 313                      $sql .= 'cnt_ts_killdate ASC';
 314                      break;
 315                      
 316          case 10:    // sort date, ASC
 317                      $sql .= 'cnt_ts_sortdate ASC';
 318                      break;
 319          
 320          case 9:
 321          default:    // sort date, DESC
 322                      $sql .= 'cnt_ts_sortdate DESC';
 323      
 324      }
 325      
 326      $sql .= $news['sql_limit'];
 327  }
 328  
 329  
 330  // get db query result
 331  $news['result'] = _dbQuery($news['sql_query'] . $sql);
 332  
 333  // now render
 334  if($news['template']) {
 335  
 336      $news['entries']            = array();
 337  
 338      // check if news is in list mode
 339      if($news['list_mode']) {
 340          $news['tmpl_news']            = get_tmpl_section('NEWS_LIST', $news['template']);
 341          $news['tmpl_entry']            = get_tmpl_section('NEWS_LIST_ENTRY', $news['template']);
 342          $news['tmpl_entry_space']    = get_tmpl_section('NEWS_LIST_ENTRY_SPACE', $news['template']);
 343          $news['tmpl_row_space']        = get_tmpl_section('NEWS_LIST_ROW_SPACE', $news['template']);
 344      
 345      // or not in list mode
 346      } else {
 347      
 348          $news['tmpl_news']            = '[NEWS_ENTRIES]{NEWS_ENTRIES}[/NEWS_ENTRIES]';
 349          $news['tmpl_entry']            = get_tmpl_section('NEWS_DETAIL', $news['template']);
 350          $news['tmpl_entry_space']    = '';
 351          $news['tmpl_row_space']        = '';
 352      
 353      }
 354  
 355      // get template based config and merge with defaults
 356      $news['config']    = array_merge(    array(    'news_per_row'                => 1,
 357                                              'news_teaser_text'            => 'p',
 358                                              'news_teaser_limit_chars'    => 0,
 359                                              'news_teaser_limit_words'    => 0,
 360                                              'news_teaser_limit_ellipse'    => $GLOBALS['template_default']['ellipse_sign'],
 361                                              'files_template_list'    => 'default',
 362                                              'files_template_detail'    => 'default',
 363                                              'files_direct_download'    => 0
 364                                            ),
 365                                      parse_ini_str( get_tmpl_section('NEWS_SETTINGS', $news['template']), false )
 366                                    );
 367  
 368      $news['config']['news_per_row']                = abs(intval($news['config']['news_per_row']));
 369      $news['config']['news_teaser_limit_chars']    = intval($news['config']['news_teaser_limit_chars']);
 370      $news['config']['news_teaser_limit_words']    = intval($news['config']['news_teaser_limit_words']);
 371      $news['config']['news_teaser_text']            = trim($news['config']['news_teaser_text']);
 372      
 373      // set function used to render teaser text, custom can be registered
 374      switch( $news['config']['news_teaser_text'] ) {
 375          case 'br':
 376          case 'BR':    $news['config']['news_teaser_text'] = 'br_htmlencode';
 377                      break;
 378          case 'p':
 379          case 'P':    $news['config']['news_teaser_text'] = 'plaintext_htmlencode';
 380                      break;
 381          default:    if(!function_exists($news['config']['news_teaser_text'])) {
 382                          $news['config']['news_teaser_text'] = 'plaintext_htmlencode';
 383                      }
 384      }
 385  
 386      // start parsing news entries    
 387      $news['row_count']            = 1;
 388      $news['total_count']        = 1;
 389      $news['entry_count']        = count($news['result']);
 390      
 391      // set new target if necessary
 392      if(empty($news['news_detail_link'])) {
 393          $news['base_href'] = rel_url($news['listing_page'], array('newsdetail'));
 394      } else {
 395          if(is_intval($news['news_detail_link'])) {
 396              $news['news_detail_link'] = 'aid='.$news['news_detail_link'];
 397          }
 398          $news['base_href'] = rel_url($news['listing_page'], array('newsdetail'), $news['news_detail_link']);
 399      }
 400      
 401      foreach($news['result'] as $key => $value) {
 402      
 403          $value['cnt_object']    = @unserialize($value['cnt_object']);
 404      
 405          $news['entries'][$key]    = $news['tmpl_entry'];
 406          
 407          if($news['config']['news_teaser_limit_chars']) {
 408              $value['cnt_teasertext'] = getCleanSubString($value['cnt_teasertext'], $news['config']['news_teaser_limit_chars'], $news['config']['news_teaser_limit_ellipse'], 'char');
 409          } elseif($news['config']['news_teaser_limit_words']) {
 410              $value['cnt_teasertext'] = getCleanSubString($value['cnt_teasertext'], $news['config']['news_teaser_limit_words'], $news['config']['news_teaser_limit_ellipse'], 'word');
 411          }
 412          
 413          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_TITLE', html_specialchars($value['cnt_title']));
 414          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_TOPIC', html_specialchars($value['cnt_name']));
 415          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_SUBTITLE', html_specialchars($value['cnt_subtitle']));
 416          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_TEASER', $news['config']['news_teaser_text']($value['cnt_teasertext']));
 417          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_TEXT', $value['cnt_text']);
 418          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'AUTHOR', html_specialchars($value['cnt_editor']));
 419          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'PLACE', html_specialchars($value['cnt_place']));
 420          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'PRIO', empty($value['cnt_prio']) ? '' : $value['cnt_prio'] );
 421          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'FIRST', $news['row_count'] === 1 ? ' ' : '');
 422          
 423          // news detail link (read)
 424          if($news['list_mode']) {
 425          
 426              if(empty($value['cnt_object']['cnt_readmore'])) {
 427                  $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_DETAIL_LINK', '');
 428              } else {
 429                  $value['detail_link']    = date('Ymd', $value['cnt_ts_livedate']) . '-' . $crow['acontent_aid'] . '_' ;
 430                  $value['detail_link']  .= empty($value['cnt_alias']) ? $value['cnt_id'] : urlencode( $value['cnt_alias'] );
 431                  $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_DETAIL_LINK', $news['base_href'] . '&amp;newsdetail=' . $value['detail_link']);
 432              }
 433              
 434          // news list link (back)
 435          } else {
 436              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'NEWS_LIST_LINK', $news['base_href']);
 437          }
 438          
 439          // Image
 440          if(empty($value['cnt_object']['cnt_image']['id'])) {
 441              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'IMAGE', '');
 442              $news['entries'][$key]    = str_replace('{IMAGE_ID}', '', $news['entries'][$key]);
 443          } else {
 444              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'IMAGE', html_specialchars($value['cnt_object']['cnt_image']['name']));
 445              $news['entries'][$key]    = str_replace('{IMAGE_ID}', $value['cnt_object']['cnt_image']['id'], $news['entries'][$key]);
 446          }
 447          
 448          // Zoom Image
 449          if(empty($value['cnt_object']['cnt_image']['zoom'])) {
 450              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'ZOOM', '' );
 451          } else {
 452              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'ZOOM', 'zoom' );
 453          }
 454          // Lightbox
 455          if(empty($value['cnt_object']['cnt_image']['lightbox'])) {
 456              $news['entries'][$key]    = str_replace('{LIGHTBOX}', '', $news['entries'][$key]);
 457          } else {
 458              initializeLightbox();
 459              $news['entries'][$key]    = str_replace('{LIGHTBOX}', ' rel="lightbox"', $news['entries'][$key]);
 460          }
 461          // Caption
 462          if(empty($value['cnt_object']['cnt_image']['caption'])) {
 463              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'CAPTION', '' );
 464              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'LIGHTBOX_CAPTION', '' );
 465          } else {
 466              $value['cnt_caption']    = getImageCaption($value['cnt_object']['cnt_image']['caption'], '');
 467              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'CAPTION', html_specialchars($value['cnt_caption']['caption_text']) );
 468              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'LIGHTBOX_CAPTION', parseLightboxCaption($value['cnt_caption']['caption_text']) );
 469          }
 470          
 471          // Image URL
 472          if(empty($value['cnt_object']['cnt_image']['link'])) {
 473              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'IMAGE_URL', '');
 474              $news['entries'][$key]    = str_replace('{IMAGE_URL_TARGET}', '', $news['entries'][$key]);
 475          } else {
 476              $value['image_url']        = get_redirect_link($value['cnt_object']['cnt_image']['link'], ' ', '');
 477              $news['entries'][$key]    = str_replace('{IMAGE_URL_TARGET}', $value['image_url']['target'], $news['entries'][$key]);
 478              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'IMAGE_URL', html_specialchars($value['image_url']['link']) );
 479          }
 480          // Check for Zoom
 481          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'ZOOM', empty($value['cnt_object']['cnt_image']['zoom']) ? '' : 'zoom' );
 482          
 483          // news entry URL
 484          $value['news_url']        = $value['cnt_object']['cnt_link'] == '' ? array('link'=>'', 'target'=>'') : get_redirect_link($value['cnt_object']['cnt_link'], ' ', '');
 485          $news['entries'][$key]    = str_replace('{URL_TARGET}', $value['news_url']['target'], $news['entries'][$key]);
 486          if(is_numeric($value['news_url']['link']) && intval($value['news_url']['link'])) {
 487              $value['news_url']['link'] = 'index.php?aid='.intval($value['news_url']['link']);
 488          }
 489          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'URL', html_specialchars($value['news_url']['link']) );
 490          $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'URL_TEXT', html_specialchars($value['cnt_object']['cnt_linktext']) );
 491          
 492          // Dates
 493          $news['entries'][$key]    = render_cnt_date($news['entries'][$key], $value['cnt_changed'], $value['cnt_ts_livedate'], $value['cnt_ts_killdate']);
 494          $news['entries'][$key]    = render_date($news['entries'][$key], $value['cnt_ts_sortdate'], 'SORTDATE');
 495          
 496          $news['files_result']    = '';
 497          
 498          // Files
 499          if(isset($value['cnt_object']['cnt_files']['id']) && is_array($value['cnt_object']['cnt_files']['id']) && count($value['cnt_object']['cnt_files']['id'])) {
 500          
 501              $IS_NEWS_CP = true;
 502          
 503              $value['files_direct_download'] = intval($news['config']['files_direct_download']) ? 1 : 0;
 504              
 505              // set correct template for files based on list or detail mode
 506              if($news['list_mode']) {
 507                  $value['files_template']    = $news['config']['files_template_list'] == 'default' ? '' : $news['config']['files_template_list'];
 508              } else {
 509                  $value['files_template']    = $news['config']['files_template_detail'] == 'default' ? '' : $news['config']['files_template_detail'];
 510              }
 511              
 512              // include content part files renderer
 513              include (PHPWCMS_ROOT.'/include/inc_front/content/cnt7.article.inc.php');
 514              
 515              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'FILES', $news['files_result'] );
 516              
 517              unset($IS_NEWS_CP);
 518          
 519          } else {
 520              $news['entries'][$key]    = render_cnt_template($news['entries'][$key], 'FILES', '' );
 521          }
 522          
 523          
 524          //$news['entries'][$key]    = $news['entries'][$key];
 525          
 526          // row and entry spacer
 527          if($news['list_mode']) {
 528  
 529              if( $news['row_count'] == $news['config']['news_per_row'] || $news['config']['news_per_row'] == 0 ) {
 530      
 531                  if($news['total_count'] < $news['entry_count']) {
 532                      $news['entries']['row'.$key] = $news['tmpl_row_space'];
 533                  }
 534                  $news['row_count']    = 1;
 535              
 536              } else {
 537      
 538                  if($news['total_count'] < $news['entry_count']) {
 539                      $news['entries']['entry'.$key] = $news['tmpl_entry_space'];
 540                  }
 541                  $news['row_count']++;
 542              
 543              }
 544              
 545              $news['total_count']++;
 546          }
 547      
 548      }
 549      
 550      $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'NEWS_ENTRIES', implode('', $news['entries']) );
 551      $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'TITLE', html_specialchars($crow['acontent_title']));
 552      $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'SUBTITLE', html_specialchars($crow['acontent_subtitle']));
 553      
 554      // render news pagination
 555      if($news['list_mode']) {
 556          if($news['news_paginate'] == 1) {
 557              $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'PAGINATE', true);
 558              $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'PAGE_PREV', $news['page_prev']);
 559              $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'PAGE_NEXT', $news['page_next']);
 560              $news['tmpl_news']    = str_replace('{PAGE_CURRENT}', $news['current_page'], $news['tmpl_news']);
 561              $news['tmpl_news']    = str_replace('{PAGE_TOTAL}', $news['total_pages'], $news['tmpl_news']);
 562          } else {
 563              $news['tmpl_news']    = render_cnt_template($news['tmpl_news'], 'PAGINATE', '');
 564          }
 565      } else {
 566          $news['tmpl_news']    = replace_cnt_template($news['tmpl_news'], 'PAGINATE', '');
 567          $news['tmpl_news']    = replace_cnt_template($news['tmpl_news'], 'PAGINATE_ELSE', '');
 568      }
 569      
 570      $CNT_TMP .= $news['tmpl_news'];
 571  
 572  }
 573  
 574  
 575  ?>


Generated: Wed Dec 30 05:55:15 2009 Cross-referenced by PHPXref 0.7