Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/app/webroot/news/modules/mod_dn/ |
Upload File : |
<?php ################################################################################################### # DisplayNews 1.7.0 - Nov -2010 by bkomraz1@gmail.com # http://joomla.rjews.net # Based on Display News - Latest 1-3 [07 June 2004] by Rey Gigataras [stingrey] www.stingrey.biz mambo@stingrey.biz # @ Released under GNU/GPL License : http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ################################################################################################### defined ( '_JEXEC' ) or die ( 'Restricted access' ); // loads module function file require_once (JPATH_SITE . DS . 'components' . DS . 'com_content' . DS . 'helpers' . DS . 'route.php'); require_once (JPATH_LIBRARIES . DS . 'joomla' . DS . 'database' . DS . 'table' . DS . 'category.php'); require_once (JPATH_LIBRARIES . DS . 'joomla' . DS . 'database' . DS . 'table' . DS . 'section.php'); require_once (JPATH_LIBRARIES . DS . 'joomla' . DS . 'database' . DS . 'table' . DS . 'content.php'); class modDisplayNewsHelper { var $version = "DisplayNews by BK 1.7.3"; var $css_type = null; var $target = ""; function mod_descr_out() { $mod_descr_out = ""; if ($this->params->get('text_module_description')) { $mod_descr_out .= "\n \n"; $mod_descr_out .= "<span ".modDisplayNewsHelper::dn_style("dn-module_description").">"; $mod_descr_out .= "\n"; $mod_descr_out .= $this->params->get('text_module_description'); $mod_descr_out .= "\n </span>"; } return $mod_descr_out; } function mod_title_out( $row ) { $mod_title_out = ""; // If autotitle set to yes, displays an Auto Title preffix with the name of the section/category // $title_text = ""; if ( $this->params->get('show_title_auto') ) { $title_text = ""; if ( $this->params->get( 'set_auto_author') && $this->view == "article" ) { $title_text = $this->params->get('text_title_auto_pre').$this->params->get( 'set_author_name').$this->params->get('text_title_auto_suf'); } elseif ($this->params->get( 'set_auto' )) { if ($this->view == "section") { $title_text = $this->params->get('text_title_auto_pre').($row->sec_title).$this->params->get('text_title_auto_suf'); } elseif ($this->view == "category" || $this->view == "article" ) { $title_text = $this->params->get('text_title_auto_pre').($row->cat_title).$this->params->get('text_title_auto_suf'); } } $mod_title_out .= "<h3>"; $mod_title_out .= $title_text; $mod_title_out .= "</h3>"; } //--------------------------------------------------------------------- return $mod_title_out; } function mod_automore_out($row) { $mod_automore_out = ''; if ($this->params->get('show_more_auto') ) { if ( $this->set_section_id && !is_array($this->set_section_id) && !is_array( $this->set_category_id) ) { // $more_section = & JTable::getInstance( 'section' ); // $more_section->load( $set_section_id_extra ); $mod_automore_out .= "<span ".modDisplayNewsHelper::dn_style("dn-more").">"; $mod_automore_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId(ContentHelperRoute::getSectionRoute($row->sec_id))), $this->params->get('text_more'), "dn-more", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_more_section'), $row->sec_title ) ); $mod_automore_out .= "</span>"; } else if ( $this->set_category_id && !is_array($this->set_category_id) && !is_array($this->set_section_id) ) { // $more_category = & JTable::getInstance( 'category' ); // $more_category->load( $set_category_id_extra ); $category->catslug = strlen( $row->cat_alias ) ? $row->cat_id . ":" . $row->cat_alias : $row->cat_id; $mod_automore_out .= "<span ".modDisplayNewsHelper::dn_style("dn-more").">"; $mod_automore_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId(ContentHelperRoute::getCategoryRoute($category->catslug, $row->sec_id))), $this->params->get('text_more'), "dn-more", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_more_category'), $row->cat_title ) ); $mod_automore_out .= "</span>"; } } return $mod_automore_out; } function readmore_out($row, $aroute, $aparams) { // Code for displaying of individual items Read More link // $show_text && $show_full_text $readmore_out = ""; if ( ($this->params->get('show_readmore') == 1) || (($this->params->get('show_readmore') == 2) && !$this->params->get('show_text') ) || (($this->params->get('show_readmore') == 2) && $this->text_limited ) || (($this->params->get('show_readmore') == 2) && ( $this->params->get('filter_text' , 0 ) < 2 ) && strlen( $row->fulltext ) && !($this->params->get('show_text') > 1 ) ) ) { $readmore_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId($aroute)), $this->params->get('text_readmore') != "" ? $this->params->get('text_readmore') : ( $aparams->get('readmore') ? $aparams->get('readmore') : JText::_('Read more...') ), "dn-read_more", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_readmore'), $row->title ) ); //$readmore_out .= "</span>"; } return $readmore_out; } function import_content_plugins() { if ( !$this->params->get('plugins_disable') || $this->params->get( 'before_display_content_plugins' ) ) { if (!$this->params->get('plugins')) { static $imported = false; if ( !$imported ) { JPluginHelper::importPlugin('content'); $imported = true; // echo "<!-- DEBUG: imported<br> -->"; } } else if (!is_array($this->params->get('plugins'))) { JPluginHelper::importPlugin('content', $this->params->get('plugins')/*, true, 'core'*/); } else { foreach ($this->params->get('plugins') as $plg) { // echo "DEBUG: $plg<br>"; JPluginHelper::importPlugin('content', $plg); } } } } function onPrepareContent(&$row, &$aparams) { global $mainframe; if ( !$this->params->get('plugins_disable') ) { $results = $mainframe->triggerEvent('onPrepareContent', array (&$row, &$aparams, 1)); } } // Code for displaying of individual items Category function cat_out($row) { $cat_out = ""; if ($this->params->get('show_category') ) { $cat_out .= "<span ".modDisplayNewsHelper::dn_style("dn-category").">"; if ($this->params->get('link_category')) { if ($row->cat_published == "1") { $cat_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId(ContentHelperRoute::getCategoryRoute($row->catslug, $row->sec_id))), $row->cat_title, "dn-category", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_category'), $row->cat_title ) ); } else { $cat_out .= $row->cat_title; } } else { $cat_out .= $row->cat_title; } $cat_out .= "</span>"; } //--------------------------------------------------------------------- return $cat_out; } function sec_out($row) { $sec_out = ""; if ( $this->params->get('show_section') ) { // $sec_out .= "\n\t\t"; $sec_out .= "<span ".modDisplayNewsHelper::dn_style("dn-section").">"; if ($this->params->get('link_section') ) { if ($row->sec_published == "1") { $sec_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId(ContentHelperRoute::getSectionRoute($row->sec_id))), $row->sec_title, "dn-section", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_section'), $row->sec_title ) ); } else { $sec_out .= $row->sec_title; } } else { $sec_out .= $row->sec_title; } $sec_out .= "</span>"; } return $sec_out; } function text_out($row, $aroute) { $text_out = ""; $img_out = ""; $text=""; // Code for displaying of individual items Intro Text if ($this->params->get('show_text') ) { // perform the replacement // $row->text = str_replace( $regex, '', $row->text ); // Removes instances of {mospagebreak} from being displayed $row->text = str_replace( '{mospagebreak}', '', $row->text ); $text = $row->text; if ( $this->params->get('image') && $this->params->get( "image_default", 0 ) && $this->params->get( "image_default_file", "" ) && strpos($text, '<img') === false ) { $text = '<img src="'.$this->params->get( "image_default_file" ).'">'.$text; } if (!$this->params->get('image')) { $text = preg_replace( '/<img[^>]*>/i', '', $text ); } if ($this->params->get('image') && $this->params->get('image_scale') && !( !$this->params->get('image_width') && !$this->params->get('image_height') ) ) { $text = preg_replace( '/(<img[^>]*)(\s+width\s*=\s*["\']?\w+["\']?)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]*)(\s+height\s*=\s*["\']?\w+["\?]?)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]*style="[^"]*)(width:[^;]*;)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]*style="[^"]*)(height:[^;]*;)([^>]*>)/i', '$1 $3', $text ); /* if ( $image_scale == 1 ) { $text = preg_replace( '/(<img[^>]*)(>)/i', '$1 '. "width=".$image_width .' $2', $text ); } else if ( $image_scale == 2 ) { $text = preg_replace( '/(<img[^>]*)(>)/i', '$1 '. "height=".$image_height ' $2', $text ); } else if ( $image_scale == 3 ) { */ /* $text = preg_replace_callback( '@(<img[^>]*\s+src\s*=\s*)(["\']*)([^"\']+)(["\']*)([^>]*>)@i', create_function( // single quotes are essential here, // or alternative escape all $ as \$ '$img', 'return $img[1].$img[2].$img[3].$img[4]." ".modDisplayNewsHelper::imageResize($img[3],'.$image_width.','.$image_height.')." ".$img[5];' ), $text ); */ $text = preg_replace_callback( '@(<img[^>]*\s+)(src\s*=\s*["\']*)([^"\']+)(["\']*)([^>]*>)@i', create_function( // single quotes are essential here, // or alternative escape all $ as \$ '$img', 'return $img[1]." ".modDisplayNewsHelper::imageResize($img[3],'.$this->params->get('image_width').','.$this->params->get('image_height').',"'.$this->params->get('image_scale').'","'.$this->params->get('image_bg', "#FFFFFF").'","'.$this->params->get('image_type').'")." ".$img[5];' ), $text ); // } } if ($this->params->get('image') && $this->params->get('image_align')) { $text = preg_replace( '/(<img[^>]*)(\s+align\s*=\s*["\']?\w+["\']?)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]*\s+style\s*=\s*".*)(\s?float\s*:\s*\w+\s*[;]?)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]*\s+style\s*=\s*".*)(\s?align\s*:\s*\w+\s*[;]?)([^>]*>)/i', '$1 $3', $text ); switch ($this->params->get('image_align')) { case 2: $align="left"; break; case 3: $align="right"; break; case 4: $align="middle"; break; case 5: $align="top"; break; case 6: $align="bottom"; break; case 7: $align = $r%2 ? "left" : "right"; break; case 8: $align = $r%2 ? "right" : "left "; break; } if ( $this->params->get('image_align') >= 2) { $text = preg_replace( '@(<img\s+[^>]*)(/>)|(<img\s+[^>]*)(>)@i', '$1$3 align="'.$align.'" $2$4', $text ); } } if ($this->params->get('image') && $this->params->get('image_margin')<>"") { $text = preg_replace( '/(<img[^>]*)(\s+hspace\s*=\s*["\']?\w+["\']?)([^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin-left[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin-top[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin-right[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); $text = preg_replace( '/(<img[^>]* style\s*=\s*(["\'])[^\\2>]*)margin-bottom[^;\\2>]*[;]([^\\2>]*\\2[^>]*>)/i', '$1 $3', $text ); // $text = preg_replace( '/(<img[^>]*\s+)((style\s*=\s*")([^"]*)(["]))+(.*[^>]*>)/i', '$1 $3 $4 $5 ', $text ); $text = preg_replace( '/((<img[^>]*)( style\s*=\s*(["\']))([^\\4>]*)\\4([^>]*>))|((<img\s*)([^>]*>))/i', '$2$8 style=" margin: '.$this->params->get('image_margin').'; $5" $6$9', $text ); /* $text = preg_replace( '/(<img[^>]*\s+)((style\s*=\s*["])([^"]*)(["]))([^>]*>)/', '$1 style="margin: '.$this->params->get('image_margin').'; $4 " $6', $text ); $text = preg_replace( '/(<img[^>]*\s+)((style\s*=\s*["])([^"]*)(["]))?([^>]*>)/', '$1 style="margin: '.$this->params->get('image_margin').'; $4 " $6', $text ); */ // '$1 AAA="margin:'.$image_margin.'; $4" $6', $text ); // $text = preg_replace( '/(<img\s+[^>]*)(>)/i', '${1} ; ${2}', $text ); } if ( $this->params->get('image') && $this->params->get( "image_class" ) ) { switch ($this->params->get( "image_class" )) { case 1: // Remove $text = preg_replace( '/(<img[^>]*\s*)(class\s*=\s*(["\'])[^"\']*\3)([^>]*>)/i', '$1 $4', $text ); break; case 2: // Replace $text = preg_replace( '@((<img[^>]*\s*)(class\s*=\s*(["\'])([^"\']*)\4)([^>]*>))|((<img\s*)([^>]*>))@i', '$2$8 class="'.$this->params->get( "image_class_name" ).'" $6$9', $text ); break; case 3: // Add $text = preg_replace( '@((<img[^>]*)(class\s*=\s*(["\'])([^"\']*)\4)([^>]*[/]?>))|((<img\s*)([^>]*>))@i', '$2$8 class="$5'.$this->params->get( "image_class_name" ).'" $6$9', $text ); break; } } if ($this->params->get('image_num')) { global $i; $i = 0; $text = preg_replace_callback( '/<img[^>]*>/i', create_function( // single quotes are essential here, // or alternative escape all $ as \$ '$img', 'global $i; $i ++; if ($i <= '.$this->params->get('image_num').') return $img[0];' ), $text ); } // $title_out .= "<a href='".JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid ))."' >".$title."</a>"; if ( $this->params->get('image') > 1 ) { preg_match_all('/(<img[^>]*>)/i',$text, $out); $i = 0; foreach ($out[0] as $val) { if ($this->params->get('link_image')) { // $img_out .= "<a ".$this->target." href=".$aroute." >"; $val = preg_replace('#title=(["\'])(.*?)\\1#i', '', $val); $img_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId($aroute)), $val ); } else { $img_out .= $val; } // if ($link_image) { // $img_out .= "</a>"; // } $i++; if ( $this->params->get('image_num') ) { if ( $i >= $this->params->get('image_num')-1 ) { break; } } } $text = preg_replace( '/<img[^>]*>/i', '', $text ); } //$link1 = "<a href=".$aroute." >"; //$link2 = "</a>"; // $text =""; //foreach ($out["txt"] as $val) { // $text .= $val; //} if ( $this->params->get('image') && $this->params->get('link_image') && !$this->params->get('link_text') ) { $text = preg_replace_callback( '/(<img[^>]*)(title=(["\']).*?\\3)([^>]*>)/i', create_function( // single quotes are essential here, // or alternative escape all $ as \$ '$img', 'return $img[1].$img[4];' ), $text ); $text = preg_replace_callback( '/<img[^>]*>/i', create_function( // single quotes are essential here, // or alternative escape all $ as \$ '$img', "return \"<a ".$this->target." href=$aroute>\".\$img[0].\"</a>\";" ), $text ); } $text = JFilterOutput::ampReplace($text); $this->text_limited = 0; if ($this->params->get('filter_text' , 0 ) ) { $text = modDisplayNewsHelper::dn_filter( $text ); } if ( $this->params->get( 'limit_text') ) { $this->text_limited = modDisplayNewsHelper::dn_limit( $text, $this->params->get( 'limit_text'), $this->params->get('length_limit_text', 30 )); } // HTML for outputing of Intro Text $text_out = "<span ".modDisplayNewsHelper::dn_style("dn-introtext").">"; if ($this->params->get('link_text') ) { /* $text_out .= modDisplayNewsHelper::create_link( $aroute, preg_replace('/(<a\w+href\w*=[^>]*>)|(<\w*\/a\w*>)/i', "", $text ), "dn-introtext-link", // modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_readmore'), $row->title ) modDisplayNewsHelper::dn_hovertext( "", preg_replace('/(<a\w+href\w*=[^>]*>)|(<\w*\/a\w*>)/i', "", modDisplayNewsHelper::dn_filter( $text ) ) ) );*/ $text_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId($aroute)), preg_replace('/(<a\s+[^>]*href\s*=[^>]*>)|(<\s*\/a\s*>)/i', "", $text ), "dn-introtext-link", htmlspecialchars(modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_text'), preg_replace('/(<a\s+[^>]*href\s*=[^>]*>)|(<\s*\/a\s*>)|(<img[^>]*>)/i', "", modDisplayNewsHelper::dn_filter( $row->text ) ) )) ); } else { $text_out .= $text; } $text_out .= "</span>"; } return array($text_out, $img_out); } function before_out(&$row, $aparams) { $before_out = ""; if ( $this->params->get( 'before_display_content_plugins' ) ) { $aparams->set('show_vote', $this->params->get( 'show_vote' ) && !$this->params->get( 'force_builtin_rating') ); $dispatcher =& JDispatcher::getInstance(); // JPluginHelper::importPlugin('content', 'image'); $results = $dispatcher->trigger('onBeforeDisplayContent', array (& $row, & $this->params, 0)); // $results = $mainframe->triggerEvent('onBeforeDisplayContent', array (&$row, &$aparams, 1)); $results = trim(implode("\n", $results)); // echo print_r($results, true); // $text_out = $results."<div style=\"clear: both;\"></div>".$text_out; $before_out = $results; } return $before_out; } function rate_out($row) { $rate_out = ""; if ($this->params->get('show_vote') ) { // These attributes need to be defined in order for the voting plugin to work if ( !isset($row->rating_count) ) { $row->rating_count = 0; $row->rating = 0; } if ( $this->params->get( 'force_builtin_rating') || !$this->params->get( 'before_display_content_plugins' ) ) { // look for images in template if available $img = ''; $starImageOn = JHTML::_('image.site', 'rating_star.png', '/images/M_images/' ); $starImageOff = JHTML::_('image.site', 'rating_star_blank.png', '/images/M_images/' ); for ($i=0; $i < $row->rating; $i++) { $img .= $starImageOn; } for ($i=$row->rating; $i < 5; $i++) { $img .= $starImageOff; } $rate_out .= '<span class="content_rating">'; if ( $this->params->get('rating_txt') ) { $rate_out .= JText::_( $this->params->get( 'rating_txt' ) ); } else { $rate_out .= JText::_( 'Article Rating' ) .':'; } $rate_out .= $img .' / '; $rate_out .= intval( $row->rating_count ); $rate_out .= "</span><br />"; } } return $rate_out; } function hits_out($row) { $hits_out = ""; if ($this->params->get('show_hits') ) { $hits_out .= "<span ".modDisplayNewsHelper::dn_style("dn-hits").">"; $hits_out .= $row->hits; $hits_out .= "</span>"; } return $hits_out; } function jcomments_out($row) { $jcomments_out = ""; if ($this->params->get('jcomments') && $this->params->get('show_jcomment_counter') ) { $jcomments_out .= "<span ".modDisplayNewsHelper::dn_style("dn-hits").">"; $jcomments_out .= $row->jcounter; $jcomments_out .= "</span>"; } return $jcomments_out; } function author_out($row, $aparams) { $author_out = ""; // Code for displaying of individual items Author if ( $this->params->get('show_author') && ( ($this->params->get('show_author') == 1) || ($aparams->get('show_author', $this->globalConfig->get('show_author'))) ) ) { $author_out .= "<span ".modDisplayNewsHelper::dn_style("dn-author").">"; $author_out .= $row->author; $author_out .= "</span>"; } return $author_out; } // Code for displaying of individual items Date function date_out($row, $aparams) { $date_out = ""; //To show date item created, date mambot called $create_date = null; if ( ($this->params->get('show_date') ) && (intval( $row->created ) <> NULL) ) { $create_date = JHTML::_('date', $row->created, $this->params->get('format_date', JText::_('DATE_FORMAT_LC1')) ); } if ( $create_date <> null && $this->params->get('show_date') && ( ($this->params->get('show_date') == 1) || ($aparams->get('show_date', $this->globalConfig->get('show_date'))) ) ) { $date_out .= "<span ".modDisplayNewsHelper::dn_style("dn-date").">"; $date_out .= $create_date; $date_out .= "</span>"; } return $date_out; } // Code for displaying of individual items Title //--------------------------------------------------------------------- function title_out($row, $aroute) { $title_out = ""; if ($this->params->get('show_title') ) { $title = $row->title; $title = JFilterOutput::ampReplace( $title ); if ($this->params->get('filter_title') == 3) { $pices = explode($this->params->get('limit_title_delimiter', ' ' ), $title); $lenght = count($pices); $title = implode( $this->params->get('limit_title_delimiter', ' ' ), array_splice($pices, 0, $this->params->get('length_limit_title', 20 )) ); if ($lenght > $this->params->get('length_limit_title', 20 )) { $title .= $this->params->get('limit_title_sign'); } } else if ( $this->params->get('filter_title') ) { // $title = modDisplayNewsHelper::dn_filter( $title ); modDisplayNewsHelper::dn_limit( $title, $this->params->get('filter_title'), $this->params->get('length_limit_title', 20 ), $this->params->get('limit_title_sign') ); } // HTML for outputing of Title $title_out .= "<".( $this->params->get('css_type') == "content" ? "h2" : "span" )." ".modDisplayNewsHelper::dn_style("dn-head").">"; if ($this->params->get('link_titles') ) { $title_out .= modDisplayNewsHelper::create_link( JRoute::_(modDisplayNewsHelper::fixItemId($aroute)), $title, "dn-title", modDisplayNewsHelper::dn_hovertext( $this->params->get('text_hover_title'), $row->title ) ); } else { $title_out .= $title; } $title_out .= "</".( $this->params->get('css_type') == "content" ? "h2" : "span" ).">"; } return $title_out; } function create_link( $url, $text, $style = "", $tooltip ="" ) { // ".$this->target." if ( !$this->params->get('link_type', 0) ) { $href = "<a href=\""; } else { $href = "<a href=\"javascript: void(0)\" onclick=\"window.open( '"; } // $href .= JRoute::_(modDisplayNewsHelper::fixItemId($url)); $href .= $url; if ( !$this->params->get('link_type', 0) ) { $href .= "\" "; } else { $href .= "', '".$this->params->get("link_target")."', '"; if ( $this->params->get("window_height") ) { $href .= "height=".$this->params->get("window_height").","; } if ( $this->params->get("window_width") ) { $href .= "width=".$this->params->get("window_width").","; } $href .= "menubar=".$this->params->get("window_menubar", 0).","; $href .= "directories=".$this->params->get("window_directories", 0).","; $href .= "location=".$this->params->get("window_location", 0).","; $href .= "resizable=".$this->params->get("window_resizable", 0).","; $href .= "scrollbars=".$this->params->get("window_scrollbars", 0).","; $href .= "status=".$this->params->get("window_status", 0).","; $href .= "toolbar=".$this->params->get("window_toolbar", 0).","; $href .= "'); return false;\""; } $href .= ($style ? modDisplayNewsHelper::dn_style($style) : "" )." "; if ( $this->params->get('show_tooltips') && $tooltip ) { $href .= "title=\"".htmlspecialchars($tooltip)."\""; } $href .= ">".$text."</a>"; return $href; /* <a href="javascript: void(0)" onclick="window.open('popup.html', 'windowname1', 'width=200, height=77'); return false;">Click here for simple popup window</a> */ } function fixItemId( $url ) { if ( $this->params->get('item_id_type') == 2 || ($this->params->get('item_id_type') == 1 && !preg_match('/&Itemid=[0-9]*/i', $url)) ) { $url = preg_replace('/&Itemid=[0-9]*/i', '', $url).'&Itemid='.$this->params->get('item_id'); } return $url; } // Function to filter html code and special characters from text function dn_filter( $text ) { $text = preg_replace('@<div[^>]*class=(["\'])mosimage_caption\\1[^>]*>[^>]*</div>@', '', $text ); $preserv = "<img>"; $preserv .= $this->params->get("preserve_tags"); $text = strip_tags($text, /* exclude */ $preserv ); // $text = preg_replace("'<script[^>]*>.*?</script>'si","",$text); $text = preg_replace("@<script[^>]*?>.*?</script>@si","",$text); $text = preg_replace('/{.+?}/','',$text); $text = preg_replace('/(( )|( ))+/',' ',$text); // $text = preg_replace('/&/',' ',$text); $text = preg_replace('/"/',' ',$text); // $text = htmlspecialchars($text); $text = str_replace(array("\r\n", "\n", "\r"), "", $text); return $text; } // Function required to create set of Names, '' added function dn_set_name( $param ) { if ($param <> "") { $paramA = explode(",", $param); $a = "0"; foreach ($paramA as $paramB) { $paramB = trim($paramB); $paramB = "'".addslashes($paramB)."'"; $paramA[$a] = $paramB; $a++; } $param= implode(",", $paramA); } return $param; } //--------------------------------------------------------------------- // Functinality to allow text_hover to be blank by use if special character "#" entered // If not then space added to the end of the variables function dn_hovertext( $text1, $text2 ) { if ($text1 == "#") { return ""; } return $text1." ".$text2; } //--------------------------------------------------------------------- /** http://www.gsdesign.ro/blog/cut-html-string-without-breaking-the-tags/ * Truncates text. * * Cuts a string to the length of $length and replaces the last characters * with the ending if the text is longer than length. * * @param string $text String to truncate. * @param integer $length Length of returned string, including ellipsis. * @param string $ending Ending to be appended to the trimmed string. * @param boolean $exact If false, $text will not be cut mid-word * @param boolean $considerHtml If true, HTML tags would be handled correctly * @return string Trimmed string. */ function truncate($text, $length = 100, $ending = '...', $exact = true, $considerHtml = false) { require_once(JPATH_LIBRARIES.DS.'phputf8'.DS.'utf8.php'); if (utf8_strlen($ending)>$length) { $ending = utf8_substr($ending, 0, $length); } if ($considerHtml) { // if the plain text is shorter than the maximum length, return the whole text if (utf8_strlen(preg_replace('/<.*?>/', '', $text)) <= $length) { return array(false,$text); } // splits all html-tags to scanable lines preg_match_all('/(<.+?>)?([^<>]*)/s', $text, $lines, PREG_SET_ORDER); $total_length = utf8_strlen($ending); $open_tags = array(); $truncate = ''; foreach ($lines as $line_matchings) { // if there is any html-tag in this line, handle it and add it (uncounted) to the output if (!empty($line_matchings[1])) { // if it's an "empty element" with or without xhtml-conform closing slash (f.e. <br/>) if (preg_match('/^<(\s*.+?\/\s*|\s*(img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param)(\s.+?)?)>$/is', $line_matchings[1])) { // do nothing // if tag is a closing tag (f.e. </b>) } else if (preg_match('/^<\s*\/([^\s]+?)\s*>$/s', $line_matchings[1], $tag_matchings)) { // delete tag from $open_tags list $pos = array_search($tag_matchings[1], $open_tags); if ($pos !== false) { unset($open_tags[$pos]); } // if tag is an opening tag (f.e. <b>) } else if (preg_match('/^<\s*([^\s>!]+).*?>$/s', $line_matchings[1], $tag_matchings)) { // add tag to the beginning of $open_tags list array_unshift($open_tags, strtolower($tag_matchings[1])); } // add html-tag to $truncate'd text $truncate .= $line_matchings[1]; } // calculate the length of the plain text part of the line; handle entities as one character $content_length = utf8_strlen(preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', ' ', $line_matchings[2])); if ($total_length+$content_length > $length) { // the number of characters which are left $left = $length - $total_length; $entities_length = 0; // search for html entities if (preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', $line_matchings[2], $entities, PREG_OFFSET_CAPTURE)) { // calculate the real length of all entities in the legal range foreach ($entities[0] as $entity) { if ($entity[1]+1-$entities_length <= $left) { $left--; $entities_length += utf8_strlen($entity[0]); } else { // no more characters left break; } } } $truncate .= utf8_substr($line_matchings[2], 0, $left+$entities_length); // maximum lenght is reached, so get off the loop break; } else { $truncate .= $line_matchings[2]; $total_length += $content_length; } // if the maximum length is reached, get off the loop if($total_length>= $length) { break; } } } else { if (utf8_strlen($text) <= $length) { return array(true,$text); } else { $truncate = utf8_substr($text, 0, $length - utf8_strlen($ending)); } } // if the words shouldn't be cut in the middle... if (!$exact) { // ...search the last occurance of a space... $spacepos = utf8_strrpos($truncate, ' '); if (isset($spacepos)) { // ...and cut the text in this position $truncate = utf8_substr($truncate, 0, $spacepos); } } // add the defined ending to the text $truncate .= $ending; if($considerHtml) { // close all unclosed html-tags foreach ($open_tags as $tag) { $truncate .= '</' . $tag . '>'; } } return array(true,$truncate); } // Function that limits title, intro or full to specified character or word length function dn_limit( &$text, $limit_type, $length_chars, $ending = '...') { if ($length_chars == 0 ) { $text = ""; $limited = true; } else { $text = str_replace(array("\r\n", "\n", "\r"), " ", $text); list($limited, $text) = modDisplayNewsHelper::truncate($text, $length_chars, $ending, /* $exact = */ $limit_type == 1, /* $considerHtml */ true ); } // echo "DEBUG: rc=$rc<br>"; return $limited; } //--------------------------------------------------------------------- function dn_style_convert( $id ) { if ( ! $this->params->get('css_type') ) return $id; $convert = array( "dn-title" => array("content" => "contentpagetitle", "table" => "", "latestnews" => ""), // "dn-title_auto" => array("content" => "contentpagetitle", "table" => "sectiontableheader", "latestnews" => ""), /**/"dn-whole" => array("content" => "", "table" => "contentpane", "latestnews" => ""), /**/"dn-module_title" => array("content" => "", "table" => "sectiontableheader", "latestnews" => ""), "dn-module_description" => array("content" => "contentdescription", "table" => "contentdescription", "latestnews" => ""), "dn-each" => array("content" => "item contentpaneopen", "table" => "sectiontableentry", "latestnews" => ""), /**/"dn-section" => array("content" => "", "table" => "", "latestnews" => ""), /**/"dn-category" => array("content" => "", "table" => "", "latestnews" => ""), /**/"dn-date" => array("content" => "createdate", "table" => "createdate", "latestnews" => "createdate"), /**/"dn-author" => array("content" => "small", "table" => "", "latestnews" => "small"), /**/"dn-head" => array("content" => "contentheading", "table" => "", "latestnews" => "latestnews"), "dn-hits" => array("content" => "", "table" => "", "latestnews" => ""), "dn-introtext" => array("content" => "", "table" => "", "latestnews" => ""), "dn-introtext-link" => array("content" => "", "table" => "", "latestnews" => ""), "dn-read_more" => array("content" => "readon", "table" => "readon", "latestnews" => "readon"), "dn" => array("content" => "", "table" => "", "latestnews" => "latestnews"), "dn" => array("content" => "", "table" => "", "latestnews" => "latestnews"), "arrow-dn" => array("content" => "", "table" => "", "latestnews" => "latestnews"), "list-dn" => array("content" => "", "table" => "", "latestnews" => "latestnews"), "dn-more" => array("content" => "", "table" => "", "latestnews" => ""), "dn-module_link" => array("content" => "", "table" => "", "latestnews" => "") ); $result = $convert[$id][$this->params->get('css_type')]; return $result ? $result : ""; } function dn_style( $id, $extra_style='', $k = "" ) { $dnstyle=modDisplayNewsHelper::dn_style_convert($id)."${k}" ; return "class='".trim($dnstyle.$this->params->get('moduleclass_sfx')." ".$extra_style)."'"; } function imageResize($originalImage,$toWidth,$toHeight,$image_scale, $bgcolor, $image_type){ static $multithumb_loaded = 0; if (substr($originalImage, 0, 1) == "/") { $originalImage = substr_replace( $originalImage, "", 0, strlen(JURI::base( true ))+1 ); } if ( $image_scale != "scale" && !$multithumb_loaded ) { if ( file_exists ( JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'multithumb.php' ) ) { require_once (JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'multithumb.php'); $multithumb_loaded = 1; } else { $multithumb_loaded = -1; } } if ( $image_scale != "scale" && $multithumb_loaded == 1 ) { $imgtemp = plgContentMultithumb::botmt_thumbnail("$originalImage", $toWidth, $toHeight, $image_scale, hexdec($bgcolor) , /* $watermark = */ 0, /* $dest_folder = */ 'thumbs', /* $size_only = */ 0, /* $size = */ 0, $image_type ); if($imgtemp) { return "src=\"${imgtemp}\" width=\"$toWidth\" height=\"$toHeight\" "; } else { return modDisplayNewsHelper::imageResizeScale($originalImage, $toWidth, $toHeight); } } else { return modDisplayNewsHelper::imageResizeScale($originalImage, $toWidth, $toHeight); } } function imageResizeScale($originalImage,$toWidth,$toHeight){ // Get the original geometry and calculate scales $size = @getimagesize($originalImage); if ( !$size || ( !$toWidth && !$toHeight ) ) { return "src=\"${originalImage}\" width=\"$toWidth\" height=\"$toHeight\" "; } list($width, $height) = $size; if ( ( $toWidth && $width <= $toWidth ) && ( $toHeight && $height <= $toHeight) ) { return "src=\"${originalImage}\" width=\"$width\" height=\"$height\" "; } if ($toWidth) { $xscale=$width/$toWidth; } if ($toHeight) { $yscale=$height/$toHeight; } if (!$toWidth) { $xscale=$yscale; } if (!$toHeight) { $yscale=$xscale; } // Recalculate new size with default ratio if ($yscale>$xscale){ $new_width = round($width * (1/$yscale)); $new_height = round($height * (1/$yscale)); } else { $new_width = round($width * (1/$xscale)); $new_height = round($height * (1/$xscale)); } return "src=\"${originalImage}\" width=\"$new_width\" height=\"$new_height\" "; } function init_params($params) { $this->params = $params; // global $mainframe; // $globalConfig = &JComponentHelper::getParams( 'com_content' ); // $globalConfig = &$mainframe->getParams('com_content'); //$this->globalConfig; //if (!isset($globalConfig) ) { $com_content = &JComponentHelper::getComponent( 'com_content' ); $this->globalConfig = new JParameter($com_content->params); // } //----- Parameters - Criteria ( 19 ) ------------------------------------------ // $set_access = $this->params->get('access', '' ); if ( !$this->params->get('set_count') ) { $this->params->set('set_count', 1000000000 ); } // $set_date_today = $this->params->get( 'set_date_today', 0 ); // 5-10 5 - older than 5 days, newly than 10 days // 5 newly than 5 days old // $set_date_range = $this->params->get( 'set_date_range'); $this->publish_up_spec = ""; if ( substr($this->params->get( 'set_date_range'), 0, 1) == "p" ) { $this->params->set( 'set_date_newly', 0); $this->params->set( 'set_date_older', 0); $this->publish_up_spec = "p"; } else { $tokens = explode("-", $this->params->get( 'set_date_range'),2); if (count($tokens)==2) { $this->params->set( 'set_date_older', $tokens[0] ); $this->params->set( 'set_date_newly', $tokens[1] ); } else if ( count($tokens)==1 ) { $this->params->set( 'set_date_newly', $tokens[0] ); $this->params->set( 'set_date_older', 0); } } // Special Handling to get $set_date_month to work correctly if ($this->params->get( 'set_date_month') != "") { if ($this->params->get( 'set_date_month') == "0") { $this->params->set( 'set_date_month', date( "m", time()+$this->tzoffset*60*60 ) ); } } //--------------------------------------------------------------------- // Special Handling to get $set_date_year to work correctly if ($this->params->get('set_date_year') != "") { if ($this->params->get( 'set_date_year') == 0) { $this->params->set( 'set_date_year', date( "Y", time()+$this->tzoffset*60*60 ) ); } } // $set_auto = $this->params->get( 'set_auto' ); // $set_auto_author = $this->params->get( 'set_auto_author'); // TODO show_frontpage -> num value $this->params->def( 'show_frontpage', "y" ); // $set_category_id_extra = $this->params->get( 'set_category_id_extra'); $this->set_category_id = $this->params->get( 'set_category_id', 0); // $set_section_id_extra = $this->params->get( 'set_section_id_extra'); $this->set_section_id = $this->params->get( 'set_section_id', 0); // $set_article_id = $this->params->get( 'set_article_id'); // $set_author_id = $this->params->get( 'set_author_id'); // $set_author_name = $this->params->get( 'set_author_name'); // $minus_leading = $this->params->get( 'minus_leading', 0 ); // $hide_current = $this->params->get( 'hide_current', 0 ); //--------------------------------------------------------------------- //----- Parameters - Display ( 19 ) ------------------------------------------ $this->params->def('css_type', "content" ); if ( $this->params->get('css_type') == "dedicated" ) { $this->params->set('css_type', ""); } // $show_image = $this->params->get('image', 0); // $image_align = $this->params->get('image_align'); // $image_valign = $this->params->get('image_valign', 0); // $image_margin = $this->params->get('image_margin'); $image_scale = $this->params->def('image_scale', "scale"); // $image_scale = $this->params->get('image_scale'); // $image_bg = $this->params->get('image_bg', "#FFFFFF"); $this->params->def('image_width', 0); // $image_width = $this->params->get('image_width'); $this->params->def('image_height', 0); // $image_height = $this->params->get('image_height'); $image_size = $this->params->get('image_size'); if ($image_size <> "" and !$this->params->get('image_width') and !$this->params->get('image_height') ) { $image_sizes = explode("x", $image_size); if ( isset($image_sizes[0]) && $image_sizes[0] > 0 ) { $this->params->set('image_width', $image_sizes[0]); } if ( isset($image_sizes[1]) && $image_sizes[1] > 0 ) { $this->params->set('image_height', $image_sizes[1]); } else { $this->params->set('image_height', $this->params->get('image_width') ); } } if ($this->params->get('image_scale') == 1) { $this->params->set('image_height', 0); } elseif ( $this->params->get('image_scale') == 2) { $this->params->set('image_height', 0); } // $image_scale = $this->params->get('image_scale', 1); // $image_num = $this->params->get('image_num', 0); // $link_image = $this->params->get('link_image'); // $show__auto = $this->params->get('show_title_auto'); // $use_modify_date = $this->params->get('use_modify_date'); switch ($this->params->get('use_modify_date')) { case 1: $this->created = "modified" ; break ;; case 2: $this->created = "publish_up" ; break ;; case 3: $this->created = "publish_down" ; break ;; default: $this->created = "created" ; break ;; } // $created = $use_modify_date ? "modified" : "created"; // $show_more_auto = $this->params->get('show_more_auto'); //--------------------------------------------------------------------- //----- Parameters - Display Modifier ( 14 ) -------------------------------- $this->params->def('scroll_direction', "no"); // $scroll_mouse_ctrl = $this->params->get('scroll_mouse_ctrl', "1"); // $scroll_height = $this->params->get('scroll_height' , 100 ); // $scroll_speed = $this->params->get('scroll_speed' , 1 ); // $scroll_delay = $this->params->get('scroll_delay' , 30 ); // $show_title_nextline = $this->params->get('show_title_nextline', 0 ); // $filter_text = $this->params->get('filter_text'); // $length_limit_text = $this->params->get('length_limit_text', 30 ); // $filter_title = $this->params->get('filter_title'); // $length_limit_title = $this->params->get('length_limit_title' ); // $format_date = $this->params->get('format_date', JText::_('DATE_FORMAT_LC1')); $this->params->def('link_section', $this->globalConfig->get('link_section') ); $this->params->def('link_category', $this->globalConfig->get('link_category') ); $this->params->def('link_titles', $this->globalConfig->get('link_titles') ); // $link_text = $this->params->get('link_text'); // $format = $this->params->get('format', "%t<br>%s - %c<br>%d - %a<br>%b<br>%p%i<br>%m<span class=\"article_separator\"> </span>"); $this->params->def('row_template', "(\$title_out<>'' ? \"\$title_out\" : ''). (\$rate_out<>'' ? \"\$rate_out\" : ''). (\$sec_out<>'' ? \"\$sec_out\" : ''). (\$sec_out<>'' && \$cat_out<>'' ? '-' : ''). (\$cat_out<>'' ? \"\$cat_out\" : ''). (\$sec_out.\$cat_out<>'' ? '<br>' : ''). (\$author_out<>'' ? \"\$author_out\" : '' ). (\$author_out<>'' && \$date_out<>'' ? ' - ' : ''). (\$date_out<>'' ? \"\$author_out\" : ''). (\$author_out.\$date_out<>'' ? '<br>' : ''). (\$before_out<>'' ? \"\$before_out<br>\" : ''). (\$img_out<>'' ? \"\$img_out\" : ''). (\$text_out<>'' ? \"\$text_out\" : ''). (\$hits_out<>'' ? \"(\$hits_out)\" : ''). (\$jcomments_out<>'' ? \"(\$jcomments_out)\" : ''). (\$readmore_out<>'' ? \"<br>\$readmore_out\" : ''). (!\$last? '<span class=\"article_separator\"></span>' : '') " ); // $use_rows_template = $this->params->get('use_rows_template', 1); $this->params->def('module_template', "( \$rows_out <> '' ? (\$mod_title_out <> '' ? \"\$mod_title_out\" : ''). (\$mod_descr_out <> '' ? \"\$mod_descr_out\" : '' ). \$mod_start_out. \$rows_out. \$mod_end_out. (\$mod_automore_out <> '' ? \$mod_automore_out :'' ) : '' ) "); // $show_full_text = $this->params->get('show_full_text', 0); $this->params->def('ordering', "mostrecent"); $this->params->def('style', "flat"); $this->params->def('show_readmore', 2 ); // $this->moduleclass_sfx = $this->params->get('moduleclass_sfx'); //----- Parameters - Display Text ( 10 ) ------------------------------------- // Allows for multilingual customisation // // $text_module_description = $this->params->get('text_module_description'); // $text_readmore = $this->params->get('text_readmore'); $this->params->def('text_more', JText::_('More Articles...') ); // $text_more = $this->params->get('text_more'); //$text_title_auto_pre = $this->params->get('text_title_auto_pre'); //$text_title_auto_suf = $this->params->get('text_title_auto_suf'); // $text_hover_section = $this->params->get('text_hover_section'); // $text_hover_category = $this->params->get('text_hover_category'); // $text_hover_title = $this->params->get('text_hover_title'); // $text_hover_readmore = $this->params->get('text_hover_readmore'); // $text_hover_more_section = $this->params->get('text_hover_more_section'); // $text_hover_more_category = $this->params->get('text_hover_more_category'); // $bottom_link_text = $this->params->get('bottom_link_text' ); // $bottom_link_url = $this->params->get('bottom_link_url'); $this->params->def('show_section', $this->globalConfig->get('show_section')); $this->params->def('show_category', $this->globalConfig->get('show_category')); $this->params->def('show_date', ($this->params->get('use_modify_date') == 1 ? $this->globalConfig->get('show_modify_date') : $this->globalConfig->get('show_create_date')) ); $this->params->def('show_title', $this->globalConfig->get('show_title') ) ; $this->params->def('show_hits', $this->globalConfig->get('show_hits') ); $this->params->def('show_author', $this->globalConfig->get('show_author')); $this->params->def('show_text', 1); $this->params->def('show_vote', $this->globalConfig->get('show_vote') ); // $content_plugins = !$this->params->get('plugins_disable'); $this->params->def('set_column', 1 ); // $set_column = $this->params->get('set_column'); /* if (!$set_column) { $set_column = 1; } */ // $multi_column_order = $this->params->get('multi_column_order', 0 ); //--------------------------------------------------------------------- // Conflict Handler // $limit = "\n LIMIT ".$this->params->get( 'minus_leading', 0 ).",".$this->params->get('set_count'); // if ($this->params->get( 'set_section_id_extra')) { if ( !is_array($this->set_section_id) ) { $this->set_section_id = (array)$this->set_section_id; } $this->set_section_id = array_merge($this->set_section_id, explode( ',', $this->params->get( 'set_section_id_extra') )); } if ($this->params->get( 'set_category_id_extra')) { if ( !is_array($this->set_category_id)) { $this->set_category_id = (array)$this->set_category_id; } $this->set_category_id = array_merge($this->set_category_id, explode( ',', $this->params->get( 'set_category_id_extra') )); } /* if ($set_access <> "" ) { if ( !is_array($set_access)) { $set_access = (array)$set_access; } $set_access = array_merge($set_access, explode( ',', $set_access )); } */ //--------------------------------------------------------------------- //--------------------------------------------------------------------- // Functinality to allow text_hover to be blank by use if special character "#" entered // If not then space added to the end of the variables /* modDisplayNewsHelper::dn_hovertext( $text_hover_section ); modDisplayNewsHelper::dn_hovertext( $text_hover_category ); modDisplayNewsHelper::dn_hovertext( $text_hover_title ); modDisplayNewsHelper::dn_hovertext( $text_hover_readmore ); modDisplayNewsHelper::dn_hovertext( $text_hover_more_section ); modDisplayNewsHelper::dn_hovertext( $text_hover_more_category ); modDisplayNewsHelper::dn_hovertext( $text_title_auto_pre ); modDisplayNewsHelper::dn_hovertext( $text_title_auto_suf ); */ //--------------------------------------------------------------------- // $blog = $section_link_blog ? "blog" : ""; $this->view = JRequest::getCmd('view'); $db =& JFactory::getDBO(); // If { set_auto = y } then Module will automatically determine section/category id of current page and use this to control what news is dsiplayed if ($this->params->get( 'set_auto' )) { if ($this->view == "section") { $temp = JRequest::getString('id'); $temp = explode(':', $temp); $zsectionid = $temp[0]; $this->set_section_id = $zsectionid; // $set_section_exclude = 0; $this->params->def('set_section_exclude', 0); } elseif ($this->view == "category") { $temp = JRequest::getString('id'); $temp = explode(':', $temp); $zcategoryid = $temp[0]; $this->set_category_id = $zcategoryid; // $set_category_exclude = 0; $this->params->def('set_category_exclude', 0); } elseif ($this->view == "article") { $temp = JRequest::getString('id'); $temp = explode(':', $temp); $zcontentid = $temp[0]; $temp = & JTable::getInstance( 'content' ); $temp->load( $zcontentid ); $this->set_category_id = $temp->catid; // $set_category_exclude = 0; $this->params->def('set_category_exclude', 0); } else { return false; } } // Find related items if ( $this->params->get( 'set_related', 0 ) ) { $this->likes = array (); $option = JRequest::getCmd('option'); // $view = JRequest::getCmd('view'); $temp = JRequest::getString('id'); $temp = explode(':', $temp); $id = $temp[0]; if ($option == 'com_content' && $this->view == 'article' && $id) { // select the meta keywords from the item $query = 'SELECT metakey' . ' FROM #__content' . ' WHERE id = '.(int) $id; $db->setQuery($query); if ($metakey = trim($db->loadResult())) { // explode the meta keys on a comma $keys = explode(',', $metakey); // $likes = array (); // assemble any non-blank word(s) foreach ($keys as $key) { $key = trim($key); if ($key) { $this->likes[] = ',' . $db->getEscaped($key) . ','; // surround with commas so first and last items have surrounding commas } } } } if (!$this->likes) { return false; } } // Find by metakeys if ( $this->params->get( 'set_metakeys', '' ) ) { $this->metakeys = array (); // explode the meta keys on a comma $keys = explode(',', $this->params->get( 'set_metakeys', '' ) ); // assemble any non-blank word(s) foreach ($keys as $key) { $key = trim($key); if ($key) { $this->metakeys[] = ',' . $db->getEscaped($key) . ','; // surround with commas so first and last items have surrounding commas } } } // If { set_auto_author = y } then Module will automatically determine Author id of current page and use this to control what news is dsiplayed if ($this->params->get( 'set_auto_author')) { if ( $this->params->get( 'set_auto_author') == 3 ) { $user =& JFactory::getUser(); if (!$user->guest) { $this->params->set( 'set_author_id', $user->id); } else { $this->params->set( 'set_author_id', -1); } } elseif ($this->view == "article") { $temp = JRequest::getString('id'); $temp = explode(':', $temp); $zcontentid = $temp[0]; $result = null; $query = "SELECT created_by_alias, created_by, title FROM #__content WHERE id = '$zcontentid'"; $db->setQuery($query); $result = $db->loadObject(); switch ( $this->params->get( 'set_auto_author') ) { case 1: // by article author if ( $result->created_by_alias ) { $this->params->set( 'set_author_name', $result->created_by_alias ); } else { $db->setQuery("SELECT name FROM #__users WHERE id = ".$result->created_by ); $result = $db->loadObject(); $this->params->set( 'set_author_name', $result->name ); } break; case 2: // by article name $this->params->set('set_author_name', $result->title); break; } } else { return false; } } if ($this->view == "article") { $temp = JRequest::getString('id'); $temp = explode(':', $temp); $this->currcontentid = $temp[0]; } return true; } function query() { // Special variable used for management of different access levels // Handling required to create set Names, '' added //--------------------------------------------------------------------- //--------------------------------------------------------------------- ###################################################################################################################################### // Main Query & Array switch ( $this->params->get('ordering') ) { case "mostread": $order_by = "a.hits DESC"; break; case "publish_up": $order_by = "a.publish_up DESC"; break; case "publish_down": $order_by = "publish_down_isnull asc, a.publish_down asc"; break; case "ordering": $order_by = "a.ordering ASC"; break; case "frontpageordering": $order_by = "b.ordering ASC"; break; case "title": $order_by = "a.title ASC"; break; case "mostold": $order_by = "created_isnull ASC, a.created ASC"; break; case "random": $order_by = "RAND()"; break; case "rating": $order_by = "(v.rating_sum / v.rating_count) DESC, v.rating_count DESC"; break; case "voting": $order_by = "v.rating_count DESC, (v.rating_sum / v.rating_count) DESC"; break; case "recentlymodified": $order_by = "a.modified DESC"; break; case "set_articles": $order_by = 'FIELD(a.id,'.$this->params->get( 'set_article_id').')'; break; case "mostjcommented": if ( $this->params->get('jcomments') ) { $order_by = "jcounter DESC"; } break; case "recentjcommented": if ( $this->params->get('jcomments') ) { $order_by = "jc.id DESC"; } break; case "mostrecent": default: $order_by = "a.created DESC"; } $my =& JFactory::getUser(); $date =& JFactory::getDate(); $now = $date->toMySQL(); $db =& JFactory::getDBO(); $nullDate = $db->getNullDate(); #modDisplayNewsHelper::dn_set_name( $set_section_id ); #modDisplayNewsHelper::dn_set_name( $set_category_id ); $set_author_name_for_select = modDisplayNewsHelper::dn_set_name( $this->params->get( 'set_author_name') ); $query = "SELECT a.id". ( !$this->params->get('plugins_disable') ? ", a.*" : "" ). ', CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug'. ', CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'. ', a.attribs'. ($this->params->get('show_title') ? ", a.title" : "" ). ($this->params->get('show_text') ? ", a.introtext as introtext" : "" ). // (($show_text && $show_full_text) ? ", CONCAT(a.introtext, a.fulltext ) as text" : "" ). ( ($this->params->get('show_text') > 1 || $this->params->get('show_readmore') == 2 ) ? ", a.fulltext" : "" ). ", a.sectionid ". ", a.catid ". ($this->params->get('show_date') ? ", a.".$this->created." as created" : "" ). ($this->params->get('ordering') == "publish_down" ? ', IF(publish_down = "0000-00-00 00:00:00", 1, 0) AS publish_down_isnull ' : '' ). ($this->params->get('ordering') == "mostold" ? ', IF(a.'.$this->created.' = "0000-00-00 00:00:00", 1, 0) AS created_isnull ' : '' ). ($this->params->get('show_author') ? ', CASE WHEN CHAR_LENGTH(a.created_by_alias) THEN created_by_alias ELSE c.name END as author' : '' ). ($this->params->get('show_hits') ? ", a.hits" : "" ). ($this->params->get('image') ? ", a.images" : "" ) .($this->params->get('show_vote') ? ",round( v.rating_sum / v.rating_count ) AS rating, v.rating_count" : "" ) .( $this->params->get('show_more_auto') || $this->params->get('show_section') || $this->params->get('show_category') || $this->params->get( 'set_auto' ) ? ', d.id as sec_id, d.title as sec_title, d.published as sec_published, cc.id as cat_id, cc.title as cat_title, cc.alias as cat_alias, cc.published as cat_published ' : '' ) .($this->params->get('jcomments') && $this->params->get('show_jcomment_counter') ? ", count(jc.published) as jcounter" : "" ) . "\n FROM #__content AS a" . ( ($this->params->get( 'show_frontpage' ) == "n" || $this->params->get( 'show_frontpage' ) == "only" || $this->params->get('ordering')=='frontpageordering') ? "\n LEFT JOIN #__content_frontpage AS b ON b.content_id = a.id" : "" ) . ( ( $this->params->get( 'set_author_name')<>"" || $this->params->get('show_author') ) ? "\n JOIN #__users AS c ON c.id = a.created_by" : "" ) . ( ( $this->params->get( 'jcomments') ) ? "\n LEFT JOIN #__jcomments AS jc ON jc.object_id = a.id AND jc.object_group = 'com_content' AND jc.published <> 0 " : "" ) . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" . "\n LEFT JOIN #__sections AS d ON d.id = a.sectionid" . ( ($this->params->get('show_vote') || $this->params->get('ordering') == "rating" || $this->params->get('ordering') == "voting" ) ? "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" : "" ) . "\n WHERE (a.state IN (".$this->params->get('set_state', "1")."))" . ( ($this->publish_up_spec == "" )? "\n AND (a.publish_up = ".$db->Quote($nullDate)." OR a.publish_up <= ".$db->Quote($now)." )" : "") . ( ($this->publish_up_spec == "p" )? "\n AND ( a.publish_up > ".$db->Quote($now)." )" : "") . "\n AND (a.publish_down = ".$db->Quote($nullDate)." OR a.publish_down >= ".$db->Quote($now)." )" . "\n AND (a.sectionid=0 OR d.published = '1')" . "\n AND (a.catid=0 OR cc.published = '1')" .( ($this->params->get( 'set_related', 0 ) && $this->likes ) ? ' AND ( CONCAT(",", REPLACE(a.metakey,", ",","),",") LIKE "%'.implode('%" OR CONCAT(",", REPLACE(a.metakey,", ",","),",") LIKE "%', $this->likes).'%" )' : '' ) .( ($this->params->get( 'set_metakeys', 0 ) && $this->metakeys ) ? ' AND ( CONCAT(",", REPLACE(a.metakey,", ",","),",") LIKE "%'.implode('%" OR CONCAT(",", REPLACE(a.metakey,", ",","),",") LIKE "%', $this->metakeys).'%" )' : '' ) . ($this->set_section_id ? "\n AND (a.sectionid ".($this->params->get( 'set_section_exclude', 0 ) ? "NOT" : "" )." IN (".(is_array($this->set_section_id) ? implode(",",$this->set_section_id) : $this->set_section_id) .") )" : '') . ( $this->set_category_id ? "\n AND (a.catid ".($this->params->get( 'set_category_exclude', 0 ) ? "NOT" : "" )." IN ( ".(is_array( $this->set_category_id ) ? implode(",",$this->set_category_id) : $this->set_category_id )." ) )" : '') . ($this->params->get( 'show_frontpage' ) == "n" ? "\n AND (b.content_id IS NULL)" : '') . ($this->params->get( 'show_frontpage' ) == "only" ? "\n AND (b.content_id = a.id)" : '') . ($this->params->get( 'set_article_id') ? "\n AND (a.id IN (".$this->params->get( 'set_article_id').") )" : '') . ($this->params->get( 'hide_current' ) && $this->view == "article"? "\n AND (a.id <> (".$this->currcontentid.") )" : '') . ($this->params->get( 'set_author_id') <> "" ? "\n AND (a.created_by IN (".$this->params->get( 'set_author_id').") )" : '') . ($this->params->get( 'set_author_name') <> "" ? "\n AND ((a.created_by_alias IN (".$set_author_name_for_select.")) OR ((a.created_by_alias = '' ) AND ( c.name IN (".$set_author_name_for_select."))) )" : '') . ($this->params->get( 'set_date_newly' ) ? "\n AND (TO_DAYS(ADDDATE(".$db->Quote($now).", INTERVAL ".$this->tzoffset." HOUR)) - TO_DAYS(ADDDATE(".$this->created.", INTERVAL ".$this->tzoffset." HOUR)) <= '".$this->params->get( 'set_date_newly' )."' )" : '') . ($this->params->get( 'set_date_older' ) ? "\n AND (TO_DAYS(ADDDATE(".$db->Quote($now).", INTERVAL ".$this->tzoffset." HOUR)) - TO_DAYS(ADDDATE(".$this->created.", INTERVAL ".$this->tzoffset." HOUR)) >= '".$this->params->get( 'set_date_older' )."' )" : '') . ($this->params->get( 'set_date_today') ? "\n AND (TO_DAYS(ADDDATE(".$db->Quote($now).", INTERVAL ".$this->tzoffset." HOUR)) = TO_DAYS(ADDDATE(".$this->created.", INTERVAL ".$this->tzoffset." HOUR)))" : '') . ($this->params->get( 'set_date_month') ? "\n AND (".$this->params->get( 'set_date_month')." = MONTH(ADDDATE(".$this->created.", INTERVAL ".$this->tzoffset." HOUR)))" : '') . ($this->params->get( 'set_date_year') ? "\n AND (".$this->params->get( 'set_date_year')." = YEAR(ADDDATE(".$this->created.", INTERVAL ".$this->tzoffset." HOUR)))" : '') . ( $this->params->get('access') == "" ? "\n AND a.access <= '".$my->get('gid')."'" : '' ) // . ( $access ? "\n AND a.access <= '".$my->get('gid')."'" : '' ) . ( $this->params->get('access') != "" ? "\n AND (a.access IN ( ".(is_array( $this->params->get('access') ) ? implode(",",$set_access ) : $this->params->get('access') )." ) )" : '') // . ( ( $this->params->get( 'jcomments') ) ? "\n AND jc.object_group = 'com_content'" : "" ) .($this->params->get('jcomments') ? " group by a.id" : "" ) #******************************************# // This Controls the fact that this module displayes the Latest News first . "\n ORDER BY $order_by" #******************************************# . "\n LIMIT ".$this->params->get( 'minus_leading', 0 ).",".$this->params->get('set_count') ; return $query; } function main(&$params) { if ( $this->init_params($params) === false ) { return; } global $mainframe; $config =& JFactory::getConfig(); $this->tzoffset = $config->getValue('config.offset'); $query = $this->query(); $db =& JFactory::getDBO(); $db->setQuery( $query ); $rows = $db->loadObjectList(); if (is_null($rows) && $this->params->get('debug')) { $jAp=& JFactory::getApplication(); $jAp->enqueueMessage(nl2br($db->getErrorMsg()),'error'); return; } ###################################################################################################################################### $mod_start_out = ""; $mod_end_out = ""; $rows_out = ""; $use_table = false; // Error checker, that tests whether any data has resulted from the query // If not an Error message is displayed if ($rows <> NULL) { // Code for displaying of individual items Section $this->import_content_plugins(); $mod_automore_out = $this->mod_automore_out($rows[0]); $mod_title_out = $this->mod_title_out($rows[0]); $mod_descr_out = $this->mod_descr_out($rows[0]); //--------------------------------------------------------------------- $mod_start_out .= "\n<!-- START '".$this->version."' -->\n"; // Activates scrolling text ability if ($this->params->get('scroll_direction') != "no" ) { if ($this->params->get('scroll_direction') == "paging" ) { // $mod_start_out .= '<div id="actions"> // <a class="prev">« Back</a> // <a class="next">More pictures »</a> // </div> // <div class="scrollable vertical"> // <div class="items"> // <div> // '; // $doc =& JFactory::getDocument(); // $doc->addScript( 'plugins/content/multithumb/jquery/jquery.min.js' ); // $doc->addScript( 'http://cdn.jquerytools.org/1.2.3/all/jquery.tools.min.js' ); // $doc->addScript( 'plugins/content/multithumb/jquery/jquery.no.conflict.js' ); // $doc->addStyleDeclaration( '/* root element for scrollable */ // .scrollable { // /* required settings */ // position:relative; // overflow:hidden; // /* vertical scrollables have typically larger height than width but not now */ // height: 200px; // /* width: 700px; */ // } // /* root element for scrollable items */ // .scrollable .items { // position:absolute; // /* this time we have very large space for the height */ // height:20000em; // }' ); $mod_start_out .= '<div height="'.$this->params->get('scroll_height' , 100 ).'" style="overflow: scroll; white-space: nowrap; marquee: slide infinite;">'; } else { $mod_start_out .= "<marquee behavior=\"scroll\" direction=\"".$this->params->get('scroll_direction')."\" height=\"".$this->params->get('scroll_height' , 100 )."\" scrollamount=\"".$this->params->get('scroll_speed' , 1 )."\" scrolldelay=\"".$this->params->get('scroll_delay' , 30 )."\" "; if ( $this->params->get('scroll_mouse_ctrl', "1") ) { $mod_start_out .= "onmouseover=\"this.stop()\" onmouseout=\"this.start()\" "; } $mod_start_out .= " >"; } } //--------------------------------------------------------------------- switch ($this->params->get('style')) { case 'flat': if ( $use_table || $this->params->get('set_column') > 1) { $mod_start_out .= "\n<table ".modDisplayNewsHelper::dn_style("dn-whole")."><tr>"; } else { $mod_start_out .= "\n<span ".modDisplayNewsHelper::dn_style("dn-whole").">"; } break; case 'flatarrow': if ($use_table || $this->params->get('set_column') > 1) { $mod_start_out .= "\n<table ".modDisplayNewsHelper::dn_style("dn-whole")."><tr>"; } else { $mod_start_out .= "\n<span ".modDisplayNewsHelper::dn_style("dn-whole").">"; } break; case 'flatlist': if ($use_table || $this->params->get('set_column') > 1) { $mod_start_out .= "\n<table ".modDisplayNewsHelper::dn_style("dn-whole")."><tr>"; } else { $mod_start_out .= "\n<span ".modDisplayNewsHelper::dn_style("dn-whole").">"; } break; default: $mod_start_out .= "\n<table ".modDisplayNewsHelper::dn_style("dn-whole").">"; } switch ($this->params->get('style') ) { case 'flat': if ($use_table || $this->params->get('set_column') > 1) { $mod_end_out .= "</tr></table>"; // dn-whole } else { $mod_end_out .= "\n</span>"; } break; case 'flatarrow': if ($use_table || $this->params->get('set_column') > 1) { $mod_end_out .= "</tr></table>"; } else { $mod_end_out .= "\n</span>"; } break; case 'flatlist': if ($use_table || $this->params->get('set_column') > 1) { $mod_end_out .= "</tr></table>"; } else { $mod_end_out .= "\n</span>"; } break; default: $mod_end_out .= '</table>'; } if ($this->params->get('scroll_direction') != "no" ) { if ($this->params->get('scroll_direction') == "paging" ) { // $mod_end_out .= ' // </div> // </DIV> // </div> // '; // $doc =& JFactory::getDocument(); // $doc->addScriptDeclaration( 'jQuery(function($) { /* initialize scrollable with mousewheel support */ // $(".scrollable").scrollable({ vertical: true, mousewheel: true }); // });' ); $mod_end_out .= "</div>"; } else { $mod_end_out .= "</marquee>"; } } //--------------------------------------------------------------------- $mod_end_out .= "\n"; if ( $this->params->get('bottom_link_text' ) && $this->params->get('bottom_link_url') ) { $mod_end_out .= modDisplayNewsHelper::create_link( $this->params->get('bottom_link_url'), $this->params->get('bottom_link_text'), "dn-module_link", $this->params->get('bottom_link_text') ); } //--------------------------------------------------------------------- //--------------------------------------------------------------------- } $mod_end_out .= "\n<!-- END '".$this->version."' -->\n"; $rows_count = count($rows); $vr = (int)(($rows_count+$this->params->get('set_column')-1)/$this->params->get('set_column')); if ( ($use_table || $this->params->get('set_column') > 1) && ($this->params->get('style') == 'vert') ) { $newrows = array(); for ( $i = 0; $i < $vr; $i++ ) { for ( $j = 0; $j < $this->params->get('set_column'); $j++) { // print ($i+$j*$vr); print "\n"; if ($i+$j*$vr < $rows_count) { $newrows[] = & $rows[$i+$j*$vr]; } } } $rows = $newrows; } // Start of Loop // $k = 0; $r = 0; $c = 0; $v = 0; foreach ($rows as $row) { $r++; $v++; $last = (count($rows) == $r); $row_out = ""; $row_start_out = ""; // $row_start_out .= "\n\t"; $aparams = new JParameter($row->attribs); $aroute = /*JRoute::_(modDisplayNewsHelper::fixItemId(*/ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid )/*))*/; $row->text = ""; if ( $this->params->get('show_text') ) { if ( $this->params->get('show_text') > 1 ) { if ($aparams->get('show_intro', $this->globalConfig->get('show_intro'))) { $row->text .= $row->introtext; } $row->text .= " ".$row->fulltext; } else { $row->text .= $row->introtext; } } switch ($this->params->get('style')) { case 'flat': if ($v == 1) { $c++; if ($use_table || $this->params->get('set_column') > 1) { $row_start_out .= "<td width=\"".(int)(100/$this->params->get('set_column'))."%\" valign=\"top\" class=\"".( $c >1 ? "column_separator" : "" )."\" >"; } } $row_start_out .= "<div ".modDisplayNewsHelper::dn_style("dn-each", "", ( $this->params->get('css_type') == "table" ) ? ($k+1) : "" )." >"; break; case 'flatarrow': if ($v == 1) { $c++; if ($use_table || $this->params->get('set_column') > 1) { $row_start_out .= "<td width=\"".(int)(100/$this->params->get('set_column'))."%\" valign=\"top\" class=\"".( $c > 1 ? "column_separator" : "" )."\" >"; } $row_start_out .= "<ul>"; } $row_start_out .= "<li ".modDisplayNewsHelper::dn_style("arrow-dn").">"; break; case 'flatlist': if ($v == 1) { $c++; if ($use_table || $this->params->get('set_column') > 1) { $row_start_out .= "<td width=\"".(int)(100/$this->params->get('set_column'))."%\" valign=\"top\" class=\"".( $c > 1? "column_separator" : "" )."\">"; } $row_start_out .= "<ol start=$r>"; } $row_start_out .= "<li ".modDisplayNewsHelper::dn_style("list-dn").">"; break; default: $c++; if ($c == 1) { $row_start_out .= "<tr >"; } $row_start_out .= "<td ".modDisplayNewsHelper::dn_style("dn-each", ( $c > 1 ? "column_separator" : "" ), ( $this->params->get('css_type') == "table" ) ? ($k+1) : "" )." width=\"".(int)(100/$this->params->get('set_column'))."%\""." valign=\"top\"".">"; } // Start of Module Display for each News Item if ( $this->params->get('css_type') == "table" ) { $k = 1 - $k; } //--------------------------------------------------------------------- $before_out = $this->before_out($row, $aparams); $this->onPrepareContent($row, $aparams); $sec_out = $this->sec_out($row); $cat_out = $this->cat_out($row); $date_out = $this->date_out($row, $aparams); $author_out = $this->author_out($row, $aparams); $title_out = $this->title_out($row, $aroute); $hits_out = $this->hits_out($row); $rate_out = $this->rate_out($row); list( $text_out, $img_out) = $this->text_out($row, $aroute); $readmore_out = $this->readmore_out($row, $aroute, $aparams); $jcomments_out = $this->jcomments_out($row); // $read_more_shown = 1; if ( ! $this->params->get('use_rows_template', 1) ) { // $read_more_shown = 0; $pf =0; $format = $this->params->get('format', "%t<br>%s - %c<br>%d - %a<br>%b<br>%p%i<br>%m<span class=\"article_separator\"> </span>"); for ( $i=0; $i < strlen( $format); $i += 1 ) { if ( $format[$i] == "%" ) { $pf = 1; } else { if ( $pf==1 ) { $pf = 0; switch ( $format[$i] ) { case "s": $row_out .= $sec_out; break; case "c": $row_out .= $cat_out; break; case "d": $row_out .= $date_out; break; case "t": $row_out .= $title_out; break; case "h": $row_out .= $hits_out; break; case "a": $row_out .= $author_out; break; case "p": $row_out .= $img_out; break; case "b": $row_out .= $before_out; break; case "i": $row_out .= $text_out; break; case "r": $row_out .= $rate_out; break; case "m": $row_out .= $readmore_out; // $read_more_shown = 1; break; case "C": $row_out .= $jcomments_out; break; case "%": echo "%"; break; default: } // switch } else { $row_out .= $format[$i]; } // if ( pf } // if ( $format[i] == "%" ) // echo $out; } // for } else { $css_type = $this->params->get('css_type'); eval("\$row_out = ".$this->params->get('row_template').";"); //eval("\$str = \"$str\";"); } $row_end_out = ""; // echo "rows_count=$rows_count r=$r set_column=$set_column c=$c <br>"; /* if (!$read_more_shown) { $row_end_out .= $readmore_out; // read more is not element of format, but should be printed at the end of each content entry } */ switch ($this->params->get('style')) { case 'flat': if ( $this->params->get('set_column') == 1 ) { $row_end_out .= "\n<div style=\"clear: both;\"></div>"; } // $row_end_out .= '<span class="article_separator"> </span>'; $row_end_out .= '</div>'; if ( ($v == $vr) || ($rows_count - $r - 1 < $this->params->get('set_column') - $c) ) { if ($use_table || $this->params->get('set_column') > 1) { $row_end_out .= "</td>"; } $v = 0; } break; case 'flatlist': if ( $this->params->get('set_column') == 1 ) { $row_end_out .= "\n<div style=\"clear: both;\"></div>"; } $row_end_out .= '</li>'; if ( ($v == $vr) || ($rows_count - $r - 1 < $this->params->get('set_column') - $c ) ) { $row_end_out .= "</ol>"; if ($use_table || $this->params->get('set_column') > 1) { $row_end_out .= "</td>"; } $v = 0; } break; case 'flatarrow': if ( $this->params->get('set_column') == 1 ) { $row_end_out .= "\n<div style=\"clear: both;\"></div>"; } $row_end_out .= '</li>'; if ( ($v == $vr) || ($rows_count - $r - 1 < $this->params->get('set_column') - $c) ) { $row_end_out .= "</ul>"; if ($use_table || $this->params->get('set_column') > 1) { $row_end_out .= "</td>"; } $v = 0; } break; default: if ( $this->params->get('set_column') == 1 ) { $row_end_out .= "\n<div style=\"clear: both;\"></div>"; } $row_end_out .= '</td>'; if ($c == $this->params->get('set_column')) { // if ($use_table || $this->params->get('set_column') > 1) { $row_end_out .= "</tr>"; // } $c = 0; } } $rows_out .= $row_start_out; $rows_out .= $row_out; $rows_out .= $row_end_out; // echo "v=$v vr=$vr<br>"; } // echo "DEBUG:$c<br/>"; switch ($this->params->get('style') ) { case 'flat': case 'flatarrow': case 'flatlist': if ($use_table || $this->params->get('set_column') > 1) { if ( $c != 0 ) { while ( $c < $this->params->get('set_column')) { $c ++; $rows_out .= "<td> </td>"; } } } break; default: if ( $c != 0 ) { while ( $c < $this->params->get('set_column')) { $c ++; $rows_out .= "<td> </td>"; } $rows_out .= "</tr>"; } } // End of Loop // eval("\$out = ".$this->params->get('module_template').";"); echo $out; } // dn_main } ?>