[ Index ] |
PHP Cross Reference of phpwcms V1.4.3 _r380 (23.11.09) |
[Summary view] [Print] [Text view]
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'] . '&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 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Dec 30 05:55:15 2009 | Cross-referenced by PHPXref 0.7 |