<div class="lineinfo image_descr">
			<?php if ($this->params->get('intro_use_image', 1) && $src) : ?>
			<figure class="image<?php echo $this->params->get('intro_position') ? ' right' : ' left'; ?>">
				<?php if ($this->params->get('intro_link_image', 1)) : ?>
					<a href="<?php echo JRoute::_(FlexicontentHelperRoute::getItemRoute($item->slug, $item->categoryslug, 0, $item)); ?>" class="hasTip" title="<?php echo JText::_( 'FLEXI_READ_MORE_ABOUT' ) . '::' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?>">
						<img src="<?php echo $thumb; ?>" alt="<?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?>" />
					</a>
				<?php else : ?>
					<img src="<?php echo $thumb; ?>" alt="<?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?>" />
				<?php endif; ?>
			</figure>
			<?php endif; ?>
			<p>
			<?php
				FlexicontentFields::getFieldDisplay($item, 'text', $values=null, $method='display');
				if ($this->params->get('intro_strip_html', 1)) :
					echo flexicontent_html::striptagsandcut( $item->fields['text']->display, $this->params->get('intro_cut_text', 200) );
				else :
					echo $item->fields['text']->display;
				endif;
			?>
			</p>
			</div>

			<!-- BOF under-description-line1 block -->
			<?php if (isset($item->positions['under-description-line1'])) : ?>
			<div class="lineinfo line3">
				<?php foreach ($item->positions['under-description-line1'] as $field) : ?>
				<span class="element">
					<?php if ($field->label) : ?>
Пример #2
0
 static function createItemsListHTML(&$params, &$item_list, $isform = 0, &$parentfield, &$parentitem, &$_item_data = null)
 {
     $db = JFactory::getDBO();
     global $globalcats, $globalnoroute, $fc_run_times;
     if (!is_array($globalnoroute)) {
         $globalnoroute = array();
     }
     // Get fields of type relation
     static $disallowed_fieldnames = null;
     $disallowed_fields = array('relation', 'relation_reverse');
     if ($disallowed_fieldnames === null) {
         $query = "SELECT name FROM #__flexicontent_fields WHERE field_type IN ('" . implode("','", $disallowed_fields) . "')";
         $db->setQuery($query);
         $field_name_col = FLEXI_J16GE ? $db->loadColumn() : $db->loadResultArray();
         $disallowed_fieldnames = !$field_name_col ? array() : array_flip($field_name_col);
     }
     // Prefix - Suffix - Separator parameters, replacing other field values if found
     $remove_space = $params->get('remove_space', 0);
     $pretext = $params->get($isform ? 'pretext_form' : 'pretext', '');
     $posttext = $params->get($isform ? 'posttext_form' : 'posttext', '');
     $separatorf = $params->get($isform ? 'separator' : 'separatorf');
     $opentag = $params->get($isform ? 'opentag_form' : 'opentag', '');
     $closetag = $params->get($isform ? 'closetag_form' : 'closetag', '');
     if ($pretext) {
         $pretext = $remove_space ? $pretext : $pretext . ' ';
     }
     if ($posttext) {
         $posttext = $remove_space ? $posttext : ' ' . $posttext;
     }
     switch ($separatorf) {
         case 0:
             $separatorf = '&nbsp;';
             break;
         case 1:
             $separatorf = '<br />';
             break;
         case 2:
             $separatorf = '&nbsp;|&nbsp;';
             break;
         case 3:
             $separatorf = ',&nbsp;';
             break;
         case 4:
             $separatorf = $closetag . $opentag;
             break;
         case 5:
             $separatorf = '';
             break;
         default:
             $separatorf = '&nbsp;';
             break;
     }
     // some parameter shortcuts
     $relitem_html = $params->get($isform ? 'relitem_html_form' : 'relitem_html', '__display_text__');
     $displayway = $params->get($isform ? 'displayway_form' : 'displayway', 1);
     $addlink = $params->get($isform ? 'addlink_form' : 'addlink', 1);
     $addtooltip = $params->get($isform ? 'addtooltip_form' : 'addtooltip', 1);
     // Parse and identify custom fields
     $result = preg_match_all("/\\{\\{([a-zA-Z_0-9]+)(##)?([a-zA-Z_0-9]+)?\\}\\}/", $relitem_html, $field_matches);
     $custom_field_reps = $result ? $field_matches[0] : array();
     $custom_field_names = $result ? $field_matches[1] : array();
     $custom_field_methods = $result ? $field_matches[3] : array();
     /*foreach ($custom_field_names as $i => $custom_field_name)
     			$parsed_fields[] = $custom_field_names[$i] . ($custom_field_methods[$i] ? "->". $custom_field_methods[$i] : "");
     		echo "$relitem_html :: Fields for Related Items List: ". implode(", ", $parsed_fields ? $parsed_fields : array() ) ."<br/>\n";*/
     // Parse and identify language strings and then make language replacements
     $result = preg_match_all("/\\%\\%([^%]+)\\%\\%/", $relitem_html, $translate_matches);
     $translate_strings = $result ? $translate_matches[1] : array('FLEXI_READ_MORE_ABOUT');
     foreach ($translate_strings as $translate_string) {
         $relitem_html = str_replace('%%' . $translate_string . '%%', JText::_($translate_string), $relitem_html);
     }
     foreach ($item_list as $result) {
         // Check if related item is published and skip if not published
         if ($result->state != 1 && $result->state != -5) {
             continue;
         }
         $itemslug = $result->id . ":" . $result->alias;
         $catslug = "";
         // Check if removed from category or inside a noRoute category or inside a non-published category
         // and use main category slug or other routable & published category slug
         $catid_arr = explode(",", $result->catidlist);
         $catalias_arr = explode(",", $result->cataliaslist);
         for ($i = 0; $i < count($catid_arr); $i++) {
             $itemcataliases[$catid_arr[$i]] = $catalias_arr[$i];
         }
         $rel_itemid = $result->id;
         $rel_catid = !empty($result->rel_catid) ? $result->rel_catid : $result->catid;
         if (isset($itemcataliases[$rel_catid]) && !in_array($rel_catid, $globalnoroute) && $globalcats[$rel_catid]->published) {
             $catslug = $rel_catid . ":" . $itemcataliases[$rel_catid];
         } else {
             if (!in_array($result->catid, $globalnoroute) && $globalcats[$result->catid]->published) {
                 $catslug = $globalcats[$result->catid]->slug;
             } else {
                 foreach ($catid_arr as $catid) {
                     if (!in_array($catid, $globalnoroute) && $globalcats[$catid]->published) {
                         $catslug = $globalcats[$catid]->slug;
                         break;
                     }
                 }
             }
         }
         $result->slug = $itemslug;
         $result->categoryslug = $catslug;
     }
     // Perform field's display replacements
     if ($i_slave = $parentfield ? $parentitem->id . "_" . $parentfield->id : '') {
         $fc_run_times['render_subfields'][$i_slave] = 0;
     }
     foreach ($custom_field_names as $i => $custom_field_name) {
         if (isset($disallowed_fieldnames[$custom_field_name])) {
             continue;
         }
         if ($custom_field_methods[$i] == 'label') {
             continue;
         }
         if ($i_slave) {
             $start_microtime = microtime(true);
         }
         $display_var = $custom_field_methods[$i] ? $custom_field_methods[$i] : 'display';
         FlexicontentFields::getFieldDisplay($item_list, $custom_field_name, $custom_field_values = null, $display_var);
         if ($i_slave) {
             $fc_run_times['render_subfields'][$i_slave] += round(1000000 * 10 * (microtime(true) - $start_microtime)) / 10;
         }
     }
     $tooltip_class = FLEXI_J30GE ? 'hasTooltip' : 'hasTip';
     $display = array();
     foreach ($item_list as $result) {
         $url_read_more = JText::_(isset($_item_data->url_read_more) ? $_item_data->url_read_more : 'FLEXI_READ_MORE_ABOUT', 1);
         $url_class = isset($_item_data->url_class) ? $_item_data->url_class : 'relateditem';
         // Check if related item is published and skip if not published
         if ($result->state != 1 && $result->state != -5) {
             continue;
         }
         // a. Replace some custom made strings
         $item_url = JRoute::_(FlexicontentHelperRoute::getItemRoute($result->slug, $result->categoryslug, 0, $result));
         $item_title_escaped = htmlspecialchars($result->title, ENT_COMPAT, 'UTF-8');
         $tooltip_title = flexicontent_html::getToolTip($url_read_more, $item_title_escaped, $translate = 0, $escape = 0);
         $item_tooltip = ' class="' . $tooltip_class . ' ' . $url_class . '" title="' . $tooltip_title . '" ';
         $display_text = $displayway ? $result->title : $result->id;
         $display_text = !$addlink ? $display_text : '<a href="' . $item_url . '"' . ($addtooltip ? $item_tooltip : '') . ' >' . $display_text . '</a>';
         $curr_relitem_html = $relitem_html;
         $curr_relitem_html = str_replace('__item_url__', $item_url, $curr_relitem_html);
         $curr_relitem_html = str_replace('__item_title_escaped__', $item_title_escaped, $curr_relitem_html);
         $curr_relitem_html = str_replace('__item_tooltip__', $item_tooltip, $curr_relitem_html);
         $curr_relitem_html = str_replace('__display_text__', $display_text, $curr_relitem_html);
         // b. Replace item properties, e.g. {item->id}, (item->title}, etc
         $null_field = null;
         FlexicontentFields::doQueryReplacements($curr_relitem_html, $null_field, $result);
         // c. Replace HTML display of various item fields
         $err_mssg = 'Cannot replace field: "%s" because it is of not allowed field type: "%s", which can cause loop or other problem';
         foreach ($custom_field_names as $i => $custom_field_name) {
             $_field = @$result->fields[$custom_field_name];
             $custom_field_display = '';
             if ($is_disallowed_field = isset($disallowed_fieldnames[$custom_field_name])) {
                 $custom_field_display .= sprintf($err_mssg, $custom_field_name, @$_field->field_type);
             } else {
                 $display_var = $custom_field_methods[$i] ? $custom_field_methods[$i] : 'display';
                 $custom_field_display .= @$_field->{$display_var};
             }
             $curr_relitem_html = str_replace($custom_field_reps[$i], $custom_field_display, $curr_relitem_html);
         }
         $display[] = trim($pretext . $curr_relitem_html . $posttext);
     }
     $display = $opentag . implode($separatorf, $display) . $closetag;
     return $display;
 }
Пример #3
0
 /**
  * Creates the RSS for the View
  *
  * @since 1.0
  */
 function display($tpl = null)
 {
     $db = JFactory::getDBO();
     $doc = JFactory::getDocument();
     $app = JFactory::getApplication();
     $params = $this->get('Params');
     $doc->link = JRoute::_(FlexicontentHelperRoute::getCategoryRoute(JRequest::getVar('cid', null, '', 'int')));
     $category = $this->get('Category');
     // Prepare query to match feed data
     JRequest::setVar('limit', $params->get('feed_limit'));
     // Force a specific limit, this will be moved to the model
     $params->set('orderby', $params->get('feed_orderby', 'rdate'));
     $params->set('orderbycustomfield', $params->get('feed_orderbycustomfield', 1));
     $params->set('orderbycustomfieldid', $params->get('feed_orderbycustomfieldid', 0));
     $params->set('orderbycustomfielddir', $params->get('feed_orderbycustomfielddir', 'ASC'));
     $params->set('orderbycustomfieldint', $params->get('feed_orderbycustomfieldint', 0));
     $params->set('orderby_2nd', $params->get('feed_orderby', 'alpha'));
     $params->set('orderbycustomfield_2nd', $params->get('feed_orderbycustomfield_2nd', 1));
     $params->set('orderbycustomfieldid_2nd', $params->get('feed_orderbycustomfieldid_2nd', 0));
     $params->set('orderbycustomfielddir_2nd', $params->get('feed_orderbycustomfielddir_2nd', 'ASC'));
     $params->set('orderbycustomfieldint_2nd', $params->get('feed_orderbycustomfieldint_2nd', 0));
     $model = $this->getModel();
     $model->setState('limit', $params->get('feed_limit', $model->getState('limit')));
     $rows = $this->get('Data');
     $feed_summary = $params->get('feed_summary', 0);
     $feed_summary_cut = $params->get('feed_summary_cut', 200);
     $feed_use_image = $params->get('feed_use_image', 1);
     $feed_link_image = $params->get('feed_link_image', 1);
     $feed_image_source = $params->get('feed_image_source', '');
     $feed_image_size = $params->get('feed_image_size', '');
     $feed_image_method = $params->get('feed_image_method', 1);
     $feed_image_width = $params->get('feed_image_width', 100);
     $feed_image_height = $params->get('feed_image_height', 80);
     // Retrieve default image for the image field
     if ($feed_use_image && $feed_image_source) {
         $query = 'SELECT attribs, name FROM #__flexicontent_fields WHERE id = ' . (int) $feed_image_source;
         $db->setQuery($query);
         $image_dbdata = $db->loadObject();
         //$image_dbdata->params = FLEXI_J16GE ? new JRegistry($image_dbdata->params) : new JParameter($image_dbdata->params);
         $img_size_map = array('l' => 'large', 'm' => 'medium', 's' => 'small', '' => '');
         $img_field_size = $img_size_map[$feed_image_size];
         $img_field_name = $image_dbdata->name;
     }
     // TODO render and add extra fields here ... maybe via special display function for feeds view
     $extra_fields = $params->get('feed_extra_fields', '');
     $extra_fields = array_unique(preg_split("/\\s*,\\s*/u", $extra_fields));
     if ($extra_fields) {
         foreach ($extra_fields as $fieldname) {
             // Render given field for ALL ITEMS
             FlexicontentFields::getFieldDisplay($rows, $fieldname, $values = null, $method = 'display');
         }
     }
     foreach ($rows as $row) {
         // strip html from feed item title
         $title = $this->escape($row->title);
         $title = html_entity_decode($title);
         // url link to article
         // & used instead of &amp; as this is converted by feed creator
         $link = JRoute::_(FlexicontentHelperRoute::getItemRoute($row->slug, $category->slug, 0, $row));
         // strip html from feed item description text
         $description = $feed_summary ? $row->introtext . $row->fulltext : $row->introtext;
         $description = flexicontent_html::striptagsandcut($description, $feed_summary_cut);
         if ($feed_use_image) {
             // feed image is enabled
             $src = '';
             $thumb = '';
             if ($feed_image_source) {
                 // case 1 use an image field
                 FlexicontentFields::getFieldDisplay($row, $img_field_name, null, 'display', 'module');
                 $img_field = $row->fields[$img_field_name];
                 if (!$img_field_size) {
                     $src = str_replace(JURI::root(), '', $img_field->thumbs_src['large'][0]);
                 } else {
                     $src = '';
                     $thumb = $img_field->thumbs_src[$img_field_size][0];
                 }
             } else {
                 // case 2 extract from item
                 $src = flexicontent_html::extractimagesrc($row);
             }
             $RESIZE_FLAG = !$feed_image_source || !$img_field_size;
             if ($src && $RESIZE_FLAG) {
                 // Resize image when src path is set and RESIZE_FLAG: (a) using image extracted from item main text OR (b) not using image field's already created thumbnails
                 $h = '&amp;h=' . $feed_image_height;
                 $w = '&amp;w=' . $feed_image_width;
                 $aoe = '&amp;aoe=1';
                 $q = '&amp;q=95';
                 $zc = $feed_image_method ? '&amp;zc=' . $feed_image_method : '';
                 $ext = pathinfo($src, PATHINFO_EXTENSION);
                 $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
                 $conf = $w . $h . $aoe . $q . $zc . $f;
                 $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
                 $thumb = JURI::base(true) . '/components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
             } else {
                 // Do not resize image when (a) image src path not set or (b) using image field's already created thumbnails
             }
             if ($thumb) {
                 $description = "\n\t  \t\t\t<div class='feed-description'>\n\t\t  \t\t\t<a class='feed-readmore' target='_blank' href='" . $link . "'>\n\t\t  \t\t\t\t<img src='" . $thumb . "' alt='" . $title . "' title='" . $title . "' align='left'/>\n\t\t  \t\t\t</a>\n\t\t  \t\t\t<p>" . $description . "</p>\n\t\t  \t\t</div>";
             }
         }
         if ($extra_fields) {
             foreach ($extra_fields as $fieldname) {
                 if ($row->fields[$fieldname]->display) {
                     $description .= '<br/><b>' . $row->fields[$fieldname]->label . ":</b> " . $row->fields[$fieldname]->display;
                 }
             }
         }
         //$author = $row->created_by_alias ? $row->created_by_alias : $row->author;
         @($date = $row->created ? date('r', strtotime($row->created)) : '');
         // load individual item creator class
         $item = new JFeedItem();
         $item->title = $title;
         $item->link = $link;
         $item->description = $description;
         $item->date = $date;
         //$item->author    = $author;
         $item->category = $this->escape($category->title);
         // loads item info into rss array
         $doc->addItem($item);
     }
 }
		</span>
		<?php 
    }
    ?>
		
		
		
		<?php 
    if ($fcr_use_image && @$result->fc_item_id) {
        // FLEXIcontent specific result
        ?>
			
			<?php 
        $src = $thumb = '';
        if (!empty($img_field_name)) {
            FlexicontentFields::getFieldDisplay($fcitems[$i], $img_field_name, $values = null, $method = 'display');
            $img_field =& $fcitems[$i]->fields[$img_field_name];
            $src = str_replace(JURI::root(), '', @$img_field->thumbs_src[$img_field_size][0]);
        } else {
            $src = flexicontent_html::extractimagesrc($fcitems[$i]);
        }
        $RESIZE_FLAG = !$this->params->get('fcr_image') || !$this->params->get('fcr_image_size');
        if ($src && $RESIZE_FLAG) {
            // Resize image when src path is set and RESIZE_FLAG: (a) using image extracted from item main text OR (b) not using image field's already created thumbnails
            $w = '&amp;w=' . $this->params->get('fcr_width', 200);
            $h = '&amp;h=' . $this->params->get('fcr_height', 200);
            $aoe = '&amp;aoe=1';
            $q = '&amp;q=95';
            $zc = $this->params->get('fcr_method') ? '&amp;zc=' . $this->params->get('fcr_method') : '';
            $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
            $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
Пример #5
0
				<?php 
        }
        ?>
			<?php 
    }
    ?>
		</tr>
	</thead>
	<tbody>	
	<?php 
    foreach ($items as $i => $item) {
        if ($use_image) {
            $src = '';
            $thumb = '';
            if ($image_source) {
                FlexicontentFields::getFieldDisplay($item, $img_field_name, null, 'display', 'module');
                $img_field = $item->fields[$img_field_name];
                if (!$img_field_size) {
                    $src = str_replace(JURI::root(), '', $img_field->thumbs_src['large'][0]);
                } else {
                    $thumb = $img_field->thumbs_src[$img_field_size][0];
                }
            } else {
                $src = flexicontent_html::extractimagesrc($item);
            }
            $RESIZE_FLAG = !$image_source || !$img_field_size;
            if ($src && $RESIZE_FLAG) {
                // Resize image when src path is set and RESIZE_FLAG: (a) using image extracted from item main text OR (b) not using image field's already created thumbnails
                $h = '&amp;h=' . $image_height;
                $w = '&amp;w=' . $image_width;
                $aoe = '&amp;aoe=1';
Пример #6
0
 function getItemThumbs(&$params, &$items, $uprefix = 'item', $rprefix = 'nav')
 {
     if (!$params->get($uprefix . '_use_image', 1)) {
         return array();
     }
     if (empty($items)) {
         return array();
     }
     if ($params->get($uprefix . '_image')) {
         $img_size_map = array('l' => 'large', 'm' => 'medium', 's' => 'small', 'o' => 'original');
         $img_field_size = $img_size_map[$params->get($uprefix . '_image_size', 'l')];
         $img_field_name = $params->get($uprefix . '_image');
     }
     if (!empty($img_field_name)) {
         //$_return = FlexicontentFields::renderFields( false, array_keys($items), array($img_field_name), FLEXI_ITEMVIEW, array('display_'.$img_field_size.'_src'));
         FlexicontentFields::getFieldDisplay($items, $img_field_name, $values = null, 'display_' . $img_field_size . '_src', FLEXI_ITEMVIEW);
     }
     $thumbs = array();
     foreach ($items as $item_id => $item) {
         if (!empty($img_field_name)) {
             //$src = str_replace(JURI::root(), '', @ $_return[$item_id][$img_field_name] );
             $img_field =& $item->fields[$img_field_name];
             $src = str_replace(JURI::root(), '', @$img_field->{'display_' . $img_field_size . '_src'});
         } else {
             $src = flexicontent_html::extractimagesrc($item);
         }
         $RESIZE_FLAG = !$params->get($uprefix . '_image') || !$params->get($uprefix . '_image_size');
         if ($src && $RESIZE_FLAG) {
             // Resize image when src path is set and RESIZE_FLAG: (a) using image extracted from item main text OR (b) not using image field's already created thumbnails
             $w = '&amp;w=' . $params->get($rprefix . '_width', 200);
             $h = '&amp;h=' . $params->get($rprefix . '_height', 200);
             $aoe = '&amp;aoe=1';
             $q = '&amp;q=95';
             $zc = $params->get($rprefix . '_method') ? '&amp;zc=' . $params->get($rprefix . '_method') : '';
             $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
             $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
             $conf = $w . $h . $aoe . $q . $zc . $f;
             $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
             $thumb = JURI::base(true) . '/components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
         } else {
             // Do not resize image when (a) image src path not set or (b) using image field's already created thumbnails
             $thumb = $src;
         }
         if ($thumb) {
             $thumbs[$item_id] = $thumb;
         }
     }
     return $thumbs;
 }
Пример #7
0
 public static function getList(&$params)
 {
     global $modfc_jprof, $mod_fc_run_times;
     $forced_itemid = $params->get('forced_itemid');
     $db = JFactory::getDBO();
     $user = JFactory::getUser();
     // Get IDs of user's access view levels
     if (!FLEXI_J16GE) {
         $aid = (int) $user->get('aid');
     } else {
         $aid_arr = JAccess::getAuthorisedViewLevels($user->id);
     }
     // get the component parameters
     $flexiparams = JComponentHelper::getParams('com_flexicontent');
     // get module ordering parameters
     $ordering = $params->get('ordering', array());
     $count = (int) $params->get('count', 5);
     $featured = (int) $params->get('count_feat', 1);
     // Default ordering is 'added' if none ordering is set. Also make sure $ordering is an array (of ordering groups)
     if (empty($ordering)) {
         $ordering = array('added');
     }
     if (!is_array($ordering)) {
         $ordering = explode(',', $ordering);
     }
     // get other module parameters
     $method_curlang = (int) $params->get('method_curlang', 0);
     // standard
     $display_title = $params->get('display_title');
     $link_title = $params->get('link_title');
     $cuttitle = $params->get('cuttitle');
     $display_date = $params->get('display_date');
     $display_text = $params->get('display_text');
     $display_hits = $params->get('display_hits');
     $display_voting = $params->get('display_voting');
     $display_comments = $params->get('display_comments');
     $mod_readmore = $params->get('mod_readmore');
     $mod_cut_text = $params->get('mod_cut_text');
     $mod_do_stripcat = $params->get('mod_do_stripcat', 1);
     $mod_use_image = $params->get('mod_use_image');
     $mod_image = $params->get('mod_image');
     $mod_link_image = $params->get('mod_link_image');
     $mod_default_img_show = $params->get('mod_default_img_show', 1);
     $mod_default_img_path = $params->get('mod_default_img_path', 'components/com_flexicontent/assets/images/image.png');
     $mod_width = (int) $params->get('mod_width', 80);
     $mod_height = (int) $params->get('mod_height', 80);
     $mod_method = (int) $params->get('mod_method', 1);
     // featured
     $display_title_feat = $params->get('display_title_feat');
     $link_title_feat = $params->get('link_title_feat');
     $cuttitle_feat = $params->get('cuttitle_feat');
     $display_date_feat = $params->get('display_date_feat');
     $display_text_feat = $params->get('display_text');
     $display_hits_feat = $params->get('display_hits_feat');
     $display_voting_feat = $params->get('display_voting_feat');
     $display_comments_feat = $params->get('display_comments_feat');
     $mod_readmore_feat = $params->get('mod_readmore_feat');
     $mod_cut_text_feat = $params->get('mod_cut_text_feat');
     $mod_do_stripcat_feat = $params->get('mod_do_stripcat_feat', 1);
     $mod_use_image_feat = $params->get('mod_use_image_feat');
     $mod_link_image_feat = $params->get('mod_link_image_feat');
     $mod_width_feat = (int) $params->get('mod_width_feat', 140);
     $mod_height_feat = (int) $params->get('mod_height_feat', 140);
     $mod_method_feat = (int) $params->get('mod_method_feat', 1);
     // Common for image of standard/feature image
     $mod_image_custom_display = $params->get('mod_image_custom_display');
     $mod_image_custom_url = $params->get('mod_image_custom_url');
     $mod_image_fallback_img = $params->get('mod_image_fallback_img');
     // Retrieve default image for the image field and also create field parameters so that they can be used
     if ($mod_image) {
         $query = 'SELECT attribs, name FROM #__flexicontent_fields WHERE id = ' . (int) $mod_image;
         $db->setQuery($query);
         $mod_image_dbdata = $db->loadObject();
         $mod_image_name = $mod_image_dbdata->name;
         //$img_fieldparams = new JRegistry($mod_image_dbdata->attribs);
     }
     if ($mod_default_img_show) {
         $src = $mod_default_img_path;
         // Default image featured
         $h = '&amp;h=' . $mod_height;
         $w = '&amp;w=' . $mod_width;
         $aoe = '&amp;aoe=1';
         $q = '&amp;q=95';
         $zc = $mod_method ? '&amp;zc=' . $mod_method : '';
         $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
         $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
         $conf = $w . $h . $aoe . $q . $zc . $f;
         $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
         $thumb_default = JURI::base() . 'components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
         // Default image standard
         $h = '&amp;h=' . $mod_height_feat;
         $w = '&amp;w=' . $mod_width_feat;
         $aoe = '&amp;aoe=1';
         $q = '&amp;q=95';
         $zc = $mod_method_feat ? '&amp;zc=' . $mod_method_feat : '';
         $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
         $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
         $conf = $w . $h . $aoe . $q . $zc . $f;
         $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
         $thumb_default_feat = JURI::base() . 'components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
     }
     // Retrieve custom displayed field data (including their parameters and access):  hits/voting/etc
     if ($display_hits || $display_hits_feat || $display_voting || $display_voting_feat) {
         $query = 'SELECT * FROM #__flexicontent_fields';
         $disp_field_where = array();
         if ($display_hits || $display_hits_feat) {
             $disp_field_where[] = 'field_type="hits"';
         }
         if ($display_voting || $display_voting_feat) {
             $disp_field_where[] = 'field_type="voting"';
         }
         $query .= ' WHERE ' . implode($disp_field_where, ' OR ');
         $db->setQuery($query);
         $disp_fields_data = $db->loadObjectList('field_type');
         if ($display_hits || $display_hits_feat) {
             $hitsfield = $disp_fields_data['hits'];
             $hitsfield->parameters = new JRegistry($hitsfield->attribs);
             $has_access_hits = in_array($hitsfield->access, $aid_arr);
         }
         if ($display_voting || $display_voting_feat) {
             $votingfield = $disp_fields_data['voting'];
             $votingfield->parameters = new JRegistry($votingfield->attribs);
             $has_access_voting = in_array($votingfield->access, $aid_arr);
         }
     }
     // get module fields parameters
     $use_fields = $params->get('use_fields', 1);
     $display_label = $params->get('display_label');
     $fields = array_map('trim', explode(',', $params->get('fields')));
     if ($fields[0] == '') {
         $fields = array();
     }
     // get fields that when empty cause an item to be skipped
     $skip_items = (int) $params->get('skip_items', 0);
     $skiponempty_fields = array_map('trim', explode(',', $params->get('skiponempty_fields')));
     if ($skiponempty_fields[0] == '') {
         $skiponempty_fields = array();
     }
     if ($params->get('maxskipcount', 50) > 100) {
         $params->set('maxskipcount', 100);
     }
     $striptags_onempty_fields = $params->get('striptags_onempty_fields');
     $onempty_fields_combination = $params->get('onempty_fields_combination');
     // featured
     $use_fields_feat = $params->get('use_fields_feat', 1);
     $display_label_feat = $params->get('display_label_feat');
     $fields_feat = array_map('trim', explode(',', $params->get('fields_feat')));
     if ($fields_feat[0] == '') {
         $fields_feat = array();
     }
     //$mod_fc_run_times['query_items']= $modfc_jprof->getmicrotime();
     $cat_items_arr = array();
     if (!is_array($ordering)) {
         $ordering = explode(',', $ordering);
     }
     foreach ($ordering as $ord) {
         $items_arr = modFlexicontentHelper::getItems($params, $ord);
         if (empty($items_arr)) {
             continue;
         }
         foreach ($items_arr as $catid => $items) {
             if (!isset($cat_items_arr[$catid])) {
                 $cat_items_arr[$catid] = array();
             }
             for ($i = 0; $i < count($items); $i++) {
                 $items[$i]->featured = $i < $featured ? 1 : 0;
                 $items[$i]->fetching = $ord;
                 $cat_items_arr[$catid][] = $items[$i];
             }
         }
     }
     //$mod_fc_run_times['query_items'] = $modfc_jprof->getmicrotime() - $mod_fc_run_times['query_items'];
     // Impementation of Empty Field Filter.
     // The cost of the following code is minimal.
     // The big time cost goes into rendering the fields ...
     // We need to create the display of the fields before examining if they are empty.
     // The hardcoded limit of max items skipped is 100.
     if ($skip_items && count($skiponempty_fields)) {
         $mod_fc_run_times['empty_fields_filter'] = $modfc_jprof->getmicrotime();
         // 0. Add ONLY skipfields to the list of fields to be rendered
         $fields_list = implode(',', $skiponempty_fields);
         //$skip_params = new JRegistry();
         //$skip_params->set('fields',$fields_list);
         foreach ($cat_items_arr as $catid => $cat_items) {
             // 1. The filtered rows
             $filtered_rows = array();
             $order_count = array();
             // 2. Get field values (we pass null parameters to only retrieve field values and not render (YET) the 'skip-onempty' fields
             FlexicontentFields::getFields($cat_items, 'module', $skip_params = null);
             // 3. Skip Items with empty fields (if this filter is enabled)
             foreach ($cat_items as $i => $item) {
                 //echo "$i . {$item->title}<br/>";
                 // Check to initialize counter for this ordering
                 if (!isset($order_count[$item->fetching])) {
                     $order_count[$item->fetching] = 0;
                 }
                 // Check if enough encountered for this ordering
                 if ($order_count[$item->fetching] >= $count) {
                     continue;
                 }
                 // Initialize skip property ZERO for 'any' and ONE for 'all'
                 $skip_curritem = $onempty_fields_combination == 'any' ? 0 : 1;
                 // Now check for empty field display or empty field values, if so item must be skipped
                 foreach ($skiponempty_fields as $skipfield_name) {
                     if ($skip_items == 2) {
                         // We will check field's display
                         FlexicontentFields::getFieldDisplay($item, $skipfield_name, null, 'display', 'module');
                         $skipfield_data = @$item->fields[$skipfield_name]->display;
                     } else {
                         // We will check field's value
                         $skipfield_iscore = $item->fields[$skipfield_name]->iscore;
                         $skipfield_id = $item->fields[$skipfield_name]->id;
                         $skipfield_data = $skipfield_iscore ? $item->{$skipfield_name} : @$item->fieldvalues[$skipfield_id];
                     }
                     // Strip HTML Tags
                     if ($striptags_onempty_fields) {
                         $skipfield_data = strip_tags($skipfield_data);
                     }
                     // Decide if field is empty
                     $skipfield_isempty = is_array($skipfield_data) ? !count($skipfield_data) : !strlen(trim($skipfield_data));
                     if ($skipfield_isempty) {
                         if ($onempty_fields_combination == 'any') {
                             $skip_curritem = 1;
                             break;
                         }
                     } else {
                         if ($onempty_fields_combination == 'all') {
                             $skip_curritem = 0;
                             break;
                         }
                     }
                 }
                 if ($skip_curritem) {
                     //echo "Skip: $i . {$item->title}<br/>";
                     if (!isset($order_skipcount[$item->fetching])) {
                         $order_skipcount[$item->fetching] = 0;
                     }
                     $order_skipcount[$item->fetching]++;
                     continue;
                 }
                 // 4. Increment counter for item's ordering and Add item to list of displayed items
                 $order_count[$item->fetching]++;
                 $filtered_rows[] = $item;
             }
             $filtered_rows_arr[$catid] = $filtered_rows;
         }
         $mod_fc_run_times['empty_fields_filter'] = $modfc_jprof->getmicrotime() - $mod_fc_run_times['empty_fields_filter'];
     } else {
         $filtered_rows_arr =& $cat_items_arr;
     }
     $mod_fc_run_times['item_list_creation'] = $modfc_jprof->getmicrotime();
     // *** OPTIMIZATION: we only render the fields after skipping unwanted items
     if ($use_fields && count($fields) || $use_fields_feat && count($fields_feat)) {
         $all_fields = array();
         if ($use_fields && count($fields)) {
             $all_fields = array_merge($all_fields, $fields);
         }
         if ($use_fields_feat && count($fields_feat)) {
             $all_fields = array_merge($all_fields, $fields_feat);
         }
         $all_fields = array_unique($all_fields);
         $fields_list = implode(',', $all_fields);
         $params->set('fields', $fields_list);
     }
     // *** OPTIMIZATION: we should create some variables outside the loop ... TODO MORE
     if (($display_hits_feat || $display_hits) && $has_access_hits) {
         $hits_icon = FLEXI_J16GE ? JHTML::image('components/com_flexicontent/assets/images/' . 'user.png', JText::_('FLEXI_HITS_L')) : JHTML::_('image.site', 'user.png', 'components/com_flexicontent/assets/images/', NULL, NULL, JText::_('FLEXI_HITS_L'));
     }
     if ($display_comments_feat || $display_comments) {
         $comments_icon = FLEXI_J16GE ? JHTML::image('components/com_flexicontent/assets/images/' . 'comments.png', JText::_('FLEXI_COMMENTS_L')) : JHTML::_('image.site', 'comments.png', 'components/com_flexicontent/assets/images/', NULL, NULL, JText::_('FLEXI_COMMENTS_L'));
     }
     $option = JRequest::getVar('option');
     $view = JRequest::getVar('view');
     $isflexi_itemview = $option == 'com_flexicontent' && $view == FLEXI_ITEMVIEW;
     $active_item_id = JRequest::getInt('id', 0);
     $lists_arr = array();
     foreach ($filtered_rows_arr as $catid => $filtered_rows) {
         if (empty($filtered_rows)) {
             $rows = array();
         } else {
             if ($use_fields && count($fields) || $use_fields_feat && count($fields_feat)) {
                 $rows = FlexicontentFields::getFields($filtered_rows, 'module', $params);
             } else {
                 $rows =& $filtered_rows;
             }
         }
         // For Debuging
         /*foreach ($order_skipcount as $skipordering => $skipcount) {
         		  echo "SKIPS $skipordering ==> $skipcount<br>\n";
         		}*/
         $lists = array();
         foreach ($ordering as $ord) {
             $lists[$ord] = array();
         }
         $ord = "__start__";
         foreach ($rows as $row) {
             if ($ord != $row->fetching) {
                 // Detect change of next ordering group
                 $ord = $row->fetching;
                 $i = 0;
             }
             if ($row->featured) {
                 // image processing
                 $thumb = '';
                 $thumb_rendered = '';
                 if ($mod_use_image_feat) {
                     if ($mod_image_custom_display) {
                         @(list($fieldname, $varname) = preg_split('/##/', $mod_image_custom_display));
                         $fieldname = trim($fieldname);
                         $varname = trim($varname);
                         $varname = $varname ? $varname : 'display';
                         $thumb_rendered = FlexicontentFields::getFieldDisplay($row, $fieldname, null, $varname, 'module');
                         $src = '';
                     } else {
                         if ($mod_image_custom_url) {
                             @(list($fieldname, $varname) = preg_split('/##/', $mod_image_custom_url));
                             $fieldname = trim($fieldname);
                             $varname = trim($varname);
                             $varname = $varname ? $varname : 'display';
                             $src = FlexicontentFields::getFieldDisplay($row, $fieldname, null, $varname, 'module');
                         } else {
                             if ($mod_image) {
                                 FlexicontentFields::getFieldDisplay($row, $mod_image_name, null, 'display_large_src', 'module');
                                 // just makes sure thumbs are created by requesting a '*_src' display
                                 $img_field =& $row->fields[$mod_image_name];
                                 if ($mod_use_image_feat == 1) {
                                     $src = str_replace(JURI::root(), '', @$img_field->thumbs_src['large'][0]);
                                 } else {
                                     $src = '';
                                     $thumb = @$img_field->thumbs_src[$mod_use_image_feat][0];
                                 }
                                 if (!$src && $mod_image_fallback_img == 1 || $src && $mod_image_fallback_img == 2 && $img_field->using_default_value) {
                                     $src = flexicontent_html::extractimagesrc($row);
                                 }
                             } else {
                                 $src = flexicontent_html::extractimagesrc($row);
                             }
                         }
                     }
                     if (!$thumb && !$src && $mod_default_img_show) {
                         $thumb = $thumb_default_feat;
                     }
                     if ($src) {
                         $h = '&amp;h=' . $mod_height_feat;
                         $w = '&amp;w=' . $mod_width_feat;
                         $aoe = '&amp;aoe=1';
                         $q = '&amp;q=95';
                         $zc = $mod_method_feat ? '&amp;zc=' . $mod_method_feat : '';
                         $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
                         $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
                         $conf = $w . $h . $aoe . $q . $zc . $f;
                         $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
                         $thumb = JURI::base() . 'components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
                     }
                 }
                 $lists[$ord]['featured'][$i] = new stdClass();
                 $lists[$ord]['featured'][$i]->_row = $row;
                 $lists[$ord]['featured'][$i]->id = $row->id;
                 $lists[$ord]['featured'][$i]->is_active_item = $isflexi_itemview && $row->id == $active_item_id;
                 //date
                 if ($display_date_feat == 1) {
                     $dateformat = JText::_($params->get('date_format_feat', 'DATE_FORMAT_LC3'));
                     if ($dateformat == JText::_('custom')) {
                         $dateformat = $params->get('custom_date_format_feat', JText::_('DATE_FORMAT_LC3'));
                     }
                     $date_fields_feat = $params->get('date_fields_feat', array('created'));
                     $date_fields_feat = !is_array($date_fields_feat) ? array($date_fields_feat) : $date_fields_feat;
                     $lists[$ord]['featured'][$i]->date_created = "";
                     if (in_array('created', $date_fields_feat)) {
                         // Created
                         $lists[$ord]['featured'][$i]->date_created .= $params->get('date_label_feat', 1) ? '<span class="date_label_feat">' . JText::_('FLEXI_DATE_CREATED') . '</span> ' : '';
                         $lists[$ord]['featured'][$i]->date_created .= '<span class="date_value_feat">' . JHTML::_('date', $row->created, $dateformat) . '</span>';
                     }
                     $lists[$ord]['featured'][$i]->date_modified = "";
                     if (in_array('modified', $date_fields_feat)) {
                         // Modified
                         $lists[$ord]['featured'][$i]->date_modified .= $params->get('date_label_feat', 1) ? '<span class="date_label_feat">' . JText::_('FLEXI_DATE_MODIFIED') . '</span> ' : '';
                         $modified_date = $row->modified != $db->getNullDate() ? JHTML::_('date', $row->modified, $dateformat) : JText::_('FLEXI_DATE_NEVER');
                         $lists[$ord]['featured'][$i]->date_modified .= '<span class="date_value_feat">' . $modified_date . '</span>';
                     }
                 }
                 $lists[$ord]['featured'][$i]->image_rendered = $thumb_rendered;
                 $lists[$ord]['featured'][$i]->image = $thumb;
                 $lists[$ord]['featured'][$i]->hits = $row->hits;
                 $lists[$ord]['featured'][$i]->hits_rendered = '';
                 if ($display_hits_feat && $has_access_hits) {
                     FlexicontentFields::loadFieldConfig($hitsfield, $row);
                     $lists[$ord]['featured'][$i]->hits_rendered .= $params->get('hits_label_feat') ? '<span class="hits_label_feat">' . JText::_($hitsfield->label) . '</span> ' : '';
                     $lists[$ord]['featured'][$i]->hits_rendered .= $hits_icon;
                     $lists[$ord]['featured'][$i]->hits_rendered .= ' (' . $row->hits . (!$params->get('hits_label_feat') ? ' ' . JTEXT::_('FLEXI_HITS_L') : '') . ')';
                 }
                 $lists[$ord]['featured'][$i]->voting = '';
                 if ($display_voting_feat && $has_access_voting) {
                     FlexicontentFields::loadFieldConfig($votingfield, $row);
                     $lists[$ord]['featured'][$i]->voting .= $params->get('voting_label_feat') ? '<span class="voting_label_feat">' . JText::_($votingfield->label) . '</span> ' : '';
                     $lists[$ord]['featured'][$i]->voting .= '<div class="voting_value_feat">' . flexicontent_html::ItemVoteDisplay($votingfield, $row->id, $row->rating_sum, $row->rating_count, 'main', '', $params->get('vote_stars_feat', 1), $params->get('allow_vote_feat', 0), $params->get('vote_counter_feat', 1), !$params->get('voting_label_feat')) . '</div>';
                 }
                 if ($display_comments_feat) {
                     $lists[$ord]['featured'][$i]->comments = $row->comments_total;
                     $lists[$ord]['featured'][$i]->comments_rendered = $params->get('comments_label_feat') ? '<span class="comments_label_feat">' . JText::_('FLEXI_COMMENTS') . '</span> ' : '';
                     $lists[$ord]['featured'][$i]->comments_rendered .= $comments_icon;
                     $lists[$ord]['featured'][$i]->comments_rendered .= ' (' . $row->comments_total . (!$params->get('comments_label_feat') ? ' ' . JTEXT::_('FLEXI_COMMENTS_L') : '') . ')';
                 }
                 $lists[$ord]['featured'][$i]->catid = $row->catid;
                 $lists[$ord]['featured'][$i]->itemcats = explode(",", $row->itemcats);
                 $lists[$ord]['featured'][$i]->link = JRoute::_(FlexicontentHelperRoute::getItemRoute($row->slug, $row->categoryslug, $forced_itemid, $row) . ($method_curlang == 1 ? "&lang=" . substr($row->language, 0, 2) : ""));
                 $lists[$ord]['featured'][$i]->title = strlen($row->title) > $cuttitle_feat ? JString::substr($row->title, 0, $cuttitle_feat) . '...' : $row->title;
                 $lists[$ord]['featured'][$i]->alias = $row->alias;
                 $lists[$ord]['featured'][$i]->fulltitle = $row->title;
                 $lists[$ord]['featured'][$i]->text = $mod_do_stripcat_feat ? flexicontent_html::striptagsandcut($row->introtext, $mod_cut_text_feat) : $row->introtext;
                 $lists[$ord]['featured'][$i]->typename = $row->typename;
                 $lists[$ord]['featured'][$i]->access = $row->access;
                 $lists[$ord]['featured'][$i]->featured = 1;
                 if ($use_fields_feat && @$row->fields && $fields_feat) {
                     $lists[$ord]['featured'][$i]->fields = array();
                     foreach ($fields_feat as $field) {
                         if (!isset($row->fields[$field])) {
                             continue;
                         }
                         /*$lists[$ord]['featured'][$i]->fields[$field] = new stdClass();
                         		$lists[$ord]['featured'][$i]->fields[$field]->display 	= @$row->fields[$field]->display ? $row->fields[$field]->display : '';
                         		$lists[$ord]['featured'][$i]->fields[$field]->name = $row->fields[$field]->name;
                         		$lists[$ord]['featured'][$i]->fields[$field]->id   = $row->fields[$field]->id;*/
                         // Expose field to the module template  ... the template should NOT modify this ...
                         if (!isset($row->fields[$field]->display)) {
                             $row->fields[$field]->display = '';
                         }
                         $lists[$ord]['featured'][$i]->fields[$field] = $row->fields[$field];
                     }
                 }
                 $i++;
             } else {
                 // image processing
                 $thumb = '';
                 $thumb_rendered = '';
                 if ($mod_use_image) {
                     if ($mod_image_custom_display) {
                         @(list($fieldname, $varname) = preg_split('/##/', $mod_image_custom_display));
                         $fieldname = trim($fieldname);
                         $varname = trim($varname);
                         $varname = $varname ? $varname : 'display';
                         $thumb_rendered = FlexicontentFields::getFieldDisplay($row, $fieldname, null, $varname, 'module');
                         $src = '';
                         // Clear src no rendering needed
                     } else {
                         if ($mod_image_custom_url) {
                             @(list($fieldname, $varname) = preg_split('/##/', $mod_image_custom_url));
                             $fieldname = trim($fieldname);
                             $varname = trim($varname);
                             $varname = $varname ? $varname : 'display';
                             $src = FlexicontentFields::getFieldDisplay($row, $fieldname, null, $varname, 'module');
                         } else {
                             if ($mod_image) {
                                 FlexicontentFields::getFieldDisplay($row, $mod_image_name, null, 'display_large_src', 'module');
                                 // just makes sure thumbs are created by requesting a '*_src' display
                                 $img_field =& $row->fields[$mod_image_name];
                                 if ($mod_use_image == 1) {
                                     $src = str_replace(JURI::root(), '', @$img_field->thumbs_src['large'][0]);
                                 } else {
                                     $src = '';
                                     $thumb = @$img_field->thumbs_src[$mod_use_image][0];
                                 }
                                 if (!$src && $mod_image_fallback_img == 1 || $src && $mod_image_fallback_img == 2 && $img_field->using_default_value) {
                                     $src = flexicontent_html::extractimagesrc($row);
                                 }
                             } else {
                                 $src = flexicontent_html::extractimagesrc($row);
                             }
                         }
                     }
                     if (!$thumb && !$src && $mod_default_img_show) {
                         $thumb = $thumb_default;
                     }
                     if ($src) {
                         $h = '&amp;h=' . $mod_height;
                         $w = '&amp;w=' . $mod_width;
                         $aoe = '&amp;aoe=1';
                         $q = '&amp;q=95';
                         $zc = $mod_method ? '&amp;zc=' . $mod_method : '';
                         $ext = strtolower(pathinfo($src, PATHINFO_EXTENSION));
                         $f = in_array($ext, array('png', 'ico', 'gif')) ? '&amp;f=' . $ext : '';
                         $conf = $w . $h . $aoe . $q . $zc . $f;
                         $base_url = !preg_match("#^http|^https|^ftp|^/#i", $src) ? JURI::base(true) . '/' : '';
                         $thumb = JURI::base() . 'components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=' . $base_url . $src . $conf;
                     }
                 }
                 // START population of item's custom properties
                 $lists[$ord]['standard'][$i] = new stdClass();
                 $lists[$ord]['standard'][$i]->_row = $row;
                 $lists[$ord]['standard'][$i]->id = $row->id;
                 $lists[$ord]['standard'][$i]->is_active_item = $isflexi_itemview && $row->id == $active_item_id;
                 //date
                 if ($display_date == 1) {
                     $dateformat = JText::_($params->get('date_format', 'DATE_FORMAT_LC3'));
                     if ($dateformat == JText::_('custom')) {
                         $dateformat = $params->get('custom_date_format', JText::_('DATE_FORMAT_LC3'));
                     }
                     $date_fields = $params->get('date_fields', array('created'));
                     $date_fields = !is_array($date_fields) ? array($date_fields) : $date_fields;
                     $lists[$ord]['standard'][$i]->date_created = "";
                     if (in_array('created', $date_fields)) {
                         // Created
                         $lists[$ord]['standard'][$i]->date_created .= $params->get('date_label', 1) ? '<span class="date_label">' . JText::_('FLEXI_DATE_CREATED') . '</span> ' : '';
                         $lists[$ord]['standard'][$i]->date_created .= '<span class="date_value">' . JHTML::_('date', $row->created, $dateformat) . '</span>';
                     }
                     $lists[$ord]['standard'][$i]->date_modified = "";
                     if (in_array('modified', $date_fields)) {
                         // Modified
                         $lists[$ord]['standard'][$i]->date_modified .= $params->get('date_label', 1) ? '<span class="date_label">' . JText::_('FLEXI_DATE_MODIFIED') . '</span> ' : '';
                         $modified_date = $row->modified != $db->getNullDate() ? JHTML::_('date', $row->modified, $dateformat) : JText::_('FLEXI_DATE_NEVER');
                         $lists[$ord]['standard'][$i]->date_modified .= '<span class="date_value_feat">' . $modified_date . '</span>';
                     }
                 }
                 $lists[$ord]['standard'][$i]->image_rendered = $thumb_rendered;
                 $lists[$ord]['standard'][$i]->image = $thumb;
                 $lists[$ord]['standard'][$i]->hits = $row->hits;
                 $lists[$ord]['standard'][$i]->hits_rendered = '';
                 if ($display_hits && $has_access_hits) {
                     FlexicontentFields::loadFieldConfig($hitsfield, $row);
                     $lists[$ord]['standard'][$i]->hits_rendered .= $params->get('hits_label') ? '<span class="hits_label">' . JText::_($hitsfield->label) . '</span> ' : '';
                     $lists[$ord]['standard'][$i]->hits_rendered .= $hits_icon;
                     $lists[$ord]['standard'][$i]->hits_rendered .= ' (' . $row->hits . (!$params->get('hits_label') ? ' ' . JTEXT::_('FLEXI_HITS_L') : '') . ')';
                 }
                 $lists[$ord]['standard'][$i]->voting = '';
                 if ($display_voting && $has_access_voting) {
                     FlexicontentFields::loadFieldConfig($votingfield, $row);
                     $lists[$ord]['standard'][$i]->voting .= $params->get('voting_label') ? '<span class="voting_label">' . JText::_($votingfield->label) . '</span> ' : '';
                     $lists[$ord]['standard'][$i]->voting .= '<div class="voting_value">' . flexicontent_html::ItemVoteDisplay($votingfield, $row->id, $row->rating_sum, $row->rating_count, 'main', '', $params->get('vote_stars', 1), $params->get('allow_vote', 0), $params->get('vote_counter', 1), !$params->get('voting_label')) . '</div>';
                 }
                 if ($display_comments) {
                     $lists[$ord]['standard'][$i]->comments = $row->comments_total;
                     $lists[$ord]['standard'][$i]->comments_rendered = $params->get('comments_label') ? '<span class="comments_label">' . JText::_('FLEXI_COMMENTS') . '</span> ' : '';
                     $lists[$ord]['standard'][$i]->comments_rendered .= $comments_icon;
                     $lists[$ord]['standard'][$i]->comments_rendered .= ' (' . $row->comments_total . (!$params->get('comments_label') ? ' ' . JTEXT::_('FLEXI_COMMENTS_L') : '') . ')';
                 }
                 $lists[$ord]['standard'][$i]->catid = $row->catid;
                 $lists[$ord]['standard'][$i]->itemcats = explode(",", $row->itemcats);
                 $lists[$ord]['standard'][$i]->link = JRoute::_(FlexicontentHelperRoute::getItemRoute($row->slug, $row->categoryslug, $forced_itemid, $row) . ($method_curlang == 1 ? "&lang=" . substr($row->language, 0, 2) : ""));
                 $lists[$ord]['standard'][$i]->title = strlen($row->title) > $cuttitle ? JString::substr($row->title, 0, $cuttitle) . '...' : $row->title;
                 $lists[$ord]['standard'][$i]->alias = $row->alias;
                 $lists[$ord]['standard'][$i]->fulltitle = $row->title;
                 $lists[$ord]['standard'][$i]->text = $mod_do_stripcat ? flexicontent_html::striptagsandcut($row->introtext, $mod_cut_text) : $row->introtext;
                 $lists[$ord]['standard'][$i]->typename = $row->typename;
                 $lists[$ord]['standard'][$i]->access = $row->access;
                 $lists[$ord]['standard'][$i]->featured = 0;
                 if ($use_fields && @$row->fields && $fields) {
                     $lists[$ord]['standard'][$i]->fields = array();
                     foreach ($fields as $field) {
                         if (!isset($row->fields[$field])) {
                             continue;
                         }
                         /*$lists[$ord]['standard'][$i]->fields[$field] = new stdClass();
                         		$lists[$ord]['standard'][$i]->fields[$field]->display 	= @$row->fields[$field]->display ? $row->fields[$field]->display : '';
                         		$lists[$ord]['standard'][$i]->fields[$field]->name = $row->fields[$field]->name;
                         		$lists[$ord]['standard'][$i]->fields[$field]->id   = $row->fields[$field]->id;*/
                         // Expose field to the module template  ... the template should NOT modify this ...
                         if (!isset($row->fields[$field]->display)) {
                             $row->fields[$field]->display = '';
                         }
                         $lists[$ord]['standard'][$i]->fields[$field] = $row->fields[$field];
                         // Expose field to the module template  ... but template may modify it ...
                     }
                 }
                 $i++;
             }
         }
         $lists_arr[$catid] = $lists;
     }
     $mod_fc_run_times['item_list_creation'] = $modfc_jprof->getmicrotime() - $mod_fc_run_times['item_list_creation'];
     return $lists_arr;
 }
         continue;
     }
     $fc_item_classes .= ' fc' . implode(' fc', $css_markups);
     $ecss_markups = $item->ecss_markups[$grp];
     $title_markups = $item->title_markups[$grp];
     foreach ($css_markups as $mui => $css_markup) {
         $markup_tags .= '<span class="fc_markup mu' . $css_markups[$mui] . $ecss_markups[$mui] . '">' . $title_markups[$mui] . '</span>';
     }
 }
 $markup_tags .= '</span>';
 $custom_link = null;
 if ($intro_use_image) {
     if (!empty($img_field_name)) {
         // render method 'display_NNNN_src' to avoid CSS/JS being added to the page
         /* $src = */
         FlexicontentFields::getFieldDisplay($item, $img_field_name, $values = null, $method = 'display_' . $img_field_size . '_src');
         $img_field =& $item->fields[$img_field_name];
         $src = str_replace(JURI::root(), '', @$img_field->thumbs_src[$img_field_size][0]);
         if ($intro_link_image_to && isset($img_field->value[0])) {
             $custom_link = ($v = unserialize($img_field->value[0])) !== false ? @$v['link'] : @$img_field->value[0]['link'];
         }
     } else {
         $src = flexicontent_html::extractimagesrc($item);
     }
     // Use default image form layout parameters
     if (!$src && isset($intro_type_default_imgs[$item->typealias])) {
         $src = $intro_type_default_imgs[$item->typealias];
     }
     if (!$src && isset($intro_type_default_imgs['_OTHER_'])) {
         $src = $intro_type_default_imgs['_OTHER_'];
     }
Пример #9
0
    function onDisplayFieldValue(&$field, $item, $values = null, $prop = 'display')
    {
        if (!in_array($field->field_type, self::$field_types)) {
            return;
        }
        $view = JRequest::getString('view', FLEXI_ITEMVIEW);
        //if ($view != FLEXI_ITEMVIEW) return;
        if (JRequest::getCmd('print')) {
            return;
        }
        global $mainframe, $addthis;
        //$scheme = JURI::getInstance()->getScheme();  // we replaced http(s):// with //
        $document = JFactory::getDocument();
        $lang = $document->getLanguage();
        $lang = $item->params->get('language', $lang);
        $lang = $lang ? $lang : 'en-GB';
        $lang = substr($lang, 0, 2);
        $lang = in_array($lang, array('en', 'es', 'it', 'th')) ? $lang : 'en';
        // parameters shortcuts
        $display_comments = $field->parameters->get('display_comments', 1) && $item->parameters->get('comments', 0);
        $display_resizer = $field->parameters->get('display_resizer', 1);
        $display_print = $field->parameters->get('display_print', 1);
        $display_email = $field->parameters->get('display_email', 1);
        $display_voice = $field->parameters->get('display_voice', 1);
        $display_pdf = 0;
        //$field->parameters->get('display_pdf', 1);
        $load_css = $field->parameters->get('load_css', 1);
        $display_social = $field->parameters->get('display_social', 1);
        $addthis_user = $field->parameters->get('addthis_user', '');
        $addthis_pubid = $field->parameters->get('addthis_pubid', $addthis_user);
        $spacer_size = $field->parameters->get('spacer_size', 21);
        $module_position = $field->parameters->get('module_position', '');
        $default_size = $field->parameters->get('default_size', 12);
        $default_line = $field->parameters->get('default_line', 16);
        $target = $field->parameters->get('target', 'flexicontent');
        $voicetarget = $field->parameters->get('voicetarget', 'flexicontent');
        $spacer = ' style="width:' . $spacer_size . 'px;"';
        // define a global variable to be sure the script is loaded only once
        $addthis = isset($addthis) ? $addthis : 0;
        if ($load_css) {
            $document->addStyleSheet(JURI::root(true) . '/plugins/flexicontent_fields/toolbar/toolbar/toolbar.css');
        }
        if ($display_social || $display_comments || $display_email || $display_print) {
            $item_url = FlexicontentHelperRoute::getItemRoute($item->slug, $item->categoryslug);
            $server = JURI::getInstance()->toString(array('scheme', 'host', 'port'));
            $item_link = $server . JRoute::_($item_url);
            // NOTE: this uses current SSL setting (e.g menu item), and not URL scheme: http/https
            //$item_link = JRoute::_($item_url, true, -1);
        }
        $display = '<div class="flexitoolbar">';
        // begin of the toolbar container
        // comments button
        if ($display_comments) {
            $comment_link = $item_link . '#addcomments';
            $display .= '
			<div class="flexi-react toolbar-element">
				<span class="comments-bubble">' . ($module_position ? '<!-- jot ' . $module_position . ' s -->' : '') . $this->_getCommentsCount($item->id) . ($module_position ? '<!-- jot ' . $module_position . ' e -->' : '') . '</span>
				<span class="comments-legend flexi-legend"><a href="' . $comment_link . '" title="' . JText::_('FLEXI_FIELD_TOOLBAR_COMMENT') . '">' . JText::_('FLEXI_FIELD_TOOLBAR_COMMENT') . '</a></span>
			</div>
			<div class="toolbar-spacer"' . $spacer . '></div>
			';
        }
        // text resizer
        if ($display_resizer) {
            $document->addScriptDeclaration('var textsize = ' . $default_size . ';
			var lineheight = ' . $default_line . ';
			function fsize(size,line,unit,id){
				var vfontsize = document.getElementById(id);
				if(vfontsize){
					vfontsize.style.fontSize = size + unit;
					vfontsize.style.lineHeight = line + unit;
				}
			}
			function changetextsize(up){
				if(up){
					textsize 	= parseFloat(textsize)+2;
					lineheight 	= parseFloat(lineheight)+2;
				}else{
					textsize 	= parseFloat(textsize)-2;
					lineheight 	= parseFloat(lineheight)-2;
				}
			}');
            $display .= '
			<div class="flexi-resizer toolbar-element">
				<a class="decrease" href="javascript:fsize(textsize,lineheight,\'px\',\'' . $target . '\');" onclick="changetextsize(0);">' . JText::_("FLEXI_FIELD_TOOLBAR_DECREASE") . '</a>
				<a class="increase" href="javascript:fsize(textsize,lineheight,\'px\',\'' . $target . '\');" onclick="changetextsize(1);">' . JText::_("FLEXI_FIELD_TOOLBAR_INCREASE") . '</a>
				<span class="flexi-legend">' . JText::_("FLEXI_FIELD_TOOLBAR_SIZE") . '</span>
			</div>
			<div class="toolbar-spacer"' . $spacer . '></div>
			';
        }
        // email button
        if ($display_email) {
            require_once JPATH_SITE . DS . 'components' . DS . 'com_mailto' . DS . 'helpers' . DS . 'mailto.php';
            $url = 'index.php?option=com_mailto&tmpl=component&link=' . MailToHelper::addLink($item_link);
            $estatus = 'width=400,height=400,menubar=yes,resizable=yes';
            $display .= '
			<div class="flexi-email toolbar-element">
				<span class="email-legend flexi-legend"><a rel="nofollow" href="' . JRoute::_($url) . '" onclick="window.open(this.href,\'win2\',\'' . $estatus . '\'); return false;" title="' . JText::_('FLEXI_FIELD_TOOLBAR_SEND') . '">' . JText::_('FLEXI_FIELD_TOOLBAR_SEND') . '</a></span>
			</div>
			<div class="toolbar-spacer"' . $spacer . '></div>
			';
        }
        // print button
        if ($display_print) {
            $pop = JRequest::getInt('pop');
            $pstatus = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';
            $print_link = $pop ? '#' : $item_link . (strstr($item_link, '?') ? '&amp;' : '?') . 'pop=1&amp;print=1&amp;tmpl=component';
            $js_link = $pop ? 'onclick="window.print();return false;"' : 'onclick="window.open(this.href,\'win2\',\'' . $pstatus . '\'); return false;"';
            $display .= '
			<div class="flexi-print toolbar-element">
				<span class="print-legend flexi-legend"><a rel="nofollow" href="' . $print_link . '" ' . $js_link . ' title="' . JText::_('FLEXI_FIELD_TOOLBAR_PRINT') . '">' . JText::_('FLEXI_FIELD_TOOLBAR_PRINT') . '</a></span>
			</div>
			<div class="toolbar-spacer"' . $spacer . '></div>
			';
        }
        // pdf button
        if ($display_voice) {
            $display .= "\n\t\t\t<div class=\"flexi-voice toolbar-element\">";
            if ($lang == 'th') {
                // Special case language case, maybe la=laos, and Bhutan languages in the future (NECTEC support these languages)
                $document->addScript(JURI::root(true) . '/plugins/flexicontent_fields/toolbar/toolbar/th.js');
                $display .= "\n\t\t\t\t\t<span class=\"voice-legend flexi-legend\"><a href=\"javascript:void(0);\" onclick=\"openwindow('" . $voicetarget . "','" . $lang . "');\" class=\"mainlevel-toolbar-article-horizontal\" rel=\"nofollow\">" . JTEXT::_('FLEXI_FIELD_TOOLBAR_VOICE') . "</a></span>\n\t\t\t\t\t";
            } else {
                $document->addScript('//vozme.com/get_text.js');
                $display .= "\n\t\t\t\t\t<span class=\"voice-legend flexi-legend\"><a href=\"javascript:void(0);\" onclick=\"get_id('" . $voicetarget . "','" . $lang . "','fm');\" class=\"mainlevel-toolbar-article-horizontal\" rel=\"nofollow\">" . JTEXT::_('FLEXI_FIELD_TOOLBAR_VOICE') . "</a></span>\n\t\t\t\t\t";
            }
            $display .= "\n\t\t\t</div>\n\t\t\t<div class=\"toolbar-spacer\"" . $spacer . "></div>\n\t\t\t\t";
        }
        // pdf button
        if ($display_pdf) {
            $pdflink = 'index.php?view=items&cid=' . $item->categoryslug . '&id=' . $item->slug . '&format=pdf';
            $display .= '
			<div class="flexi-pdf toolbar-element">
				<span class="pdf-legend flexi-legend"><a href="' . JRoute::_($pdflink) . '" title="' . JText::_('FLEXI_FIELD_TOOLBAR_PDF') . '">' . JText::_('FLEXI_FIELD_TOOLBAR_PDF') . '</a></span>
			</div>
			<div class="toolbar-spacer"' . $spacer . '></div>
			';
        }
        // AddThis social SHARE buttons, also optionally add OPEN GRAPH TAGs
        if ($display_social) {
            // ***************
            // OPEN GRAPH TAGs
            // ***************
            // OPEN GRAPH: site name
            if ($field->parameters->get('add_og_site_name')) {
                $document->addCustomTag("<meta property=\"og:site_name\" content=\"" . JFactory::getApplication()->getCfg('sitename') . "\" />");
            }
            // OPEN GRAPH: title
            if ($field->parameters->get('add_og_title')) {
                $title = flexicontent_html::striptagsandcut($item->title);
                $document->addCustomTag("<meta property=\"og:title\" content=\"{$title}\" />");
            }
            // OPEN GRAPH: description
            if ($field->parameters->get('add_og_descr')) {
                if ($item->metadesc) {
                    $document->addCustomTag('<meta property="og:description" content="' . $item->metadesc . '" />');
                } else {
                    $text = flexicontent_html::striptagsandcut($item->text);
                    $document->addCustomTag("<meta property=\"og:description\" content=\"{$text}\" />");
                }
            }
            // OPEN GRAPH: type
            $og_type = (int) $field->parameters->get('add_og_type');
            if ($og_type) {
                if ($og_type > 2) {
                    $og_type = 1;
                }
                $og_type_names = array(1 => 'article', 2 => 'website');
                $document->addCustomTag("<meta property=\"og:type\" content=\"" . $og_type_names[$og_type] . "\">");
            }
            // OPEN GRAPH: image (extracted from item's description text)
            if ($field->parameters->get('add_og_image')) {
                $og_image_field = $field->parameters->get('og_image_field');
                $og_image_fallback = $field->parameters->get('og_image_fallback');
                $og_image_thumbsize = $field->parameters->get('og_image_thumbsize');
                if ($og_image_field) {
                    $imageurl = FlexicontentFields::getFieldDisplay($item, $og_image_field, null, 'display_' . $og_image_thumbsize . '_src', 'module');
                    if ($imageurl) {
                        $img_field = $item->fields[$og_image_field];
                        if (!$imageurl && $og_image_fallback == 1 || $imageurl && $og_image_fallback == 2 && $img_field->using_default_value) {
                            $imageurl = $this->_extractimageurl($item);
                        }
                    }
                } else {
                    $imageurl = $this->_extractimageurl($item);
                }
                // Add image if fould, making sure it is converted to ABSOLUTE URL
                if ($imageurl) {
                    $is_absolute = (bool) parse_url($imageurl, PHP_URL_SCHEME);
                    // preg_match("#^http|^https|^ftp#i", $imageurl);
                    $imageurl = $is_absolute ? $imageurl : JURI::root() . $imageurl;
                    $document->addCustomTag("<meta property=\"og:image\" content=\"{$imageurl}\" />");
                }
            }
            // Add og-URL explicitely as this is required by facebook ?
            if ($item_link) {
                $document->addCustomTag("<meta property=\"og:url\" content=\"" . $item_link . "\" />");
            }
            // ****************************
            // AddThis social SHARE buttons
            // ****************************
            $addthis_outside_toolbar = $field->parameters->get('addthis_outside_toolbar', 0);
            $addthis_custom_code = $field->parameters->get('addthis_custom_code', false);
            $addthis_custom_predefined = $field->parameters->get('addthis_custom_predefined', false);
            $addthis_code = '';
            if ($addthis_custom_code) {
                $addthis_code = str_replace('_item_url_', $item_link, $addthis_custom_code);
                $addthis_code = str_replace('_item_title_', htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'), $addthis_code);
            } else {
                switch ($addthis_custom_predefined) {
                    case 1:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_default_style addthis_counter_style" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
						<a class="addthis_button_tweet"></a>
						<a class="addthis_button_pinterest_pinit"></a>
						<a class="addthis_counter addthis_pill_style"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                    case 2:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_preferred_1"></a>
						<a class="addthis_button_preferred_2"></a>
						<a class="addthis_button_preferred_3"></a>
						<a class="addthis_button_preferred_4"></a>
						<a class="addthis_button_compact"></a>
						<a class="addthis_counter addthis_bubble_style"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                    default:
                    case 3:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_default_style addthis_16x16_style" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_preferred_1"></a>
						<a class="addthis_button_preferred_2"></a>
						<a class="addthis_button_preferred_3"></a>
						<a class="addthis_button_preferred_4"></a>
						<a class="addthis_button_compact"></a>
						<a class="addthis_counter addthis_bubble_style"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                    case 4:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<a class="addthis_button" href="//www.addthis.com/bookmark.php?v=300&pubid=' . $addthis_pubid . '"><img src="//s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" alt="' . JText::_('FLEXI_FIELD_TOOLBAR_SHARE') . '" style="border:0"/></a>
						<!-- AddThis Button END -->
						';
                        break;
                    case 5:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_floating_style addthis_counter_style" style="left:50px;top:50px;" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_facebook_like" fb:like:layout="box_count"></a>
						<a class="addthis_button_tweet" tw:count="vertical"></a>
						<a class="addthis_button_google_plusone" g:plusone:size="tall"></a>
						<a class="addthis_counter"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                    case 6:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_floating_style addthis_32x32_style" style="left:50px;top:50px;" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_preferred_1"></a>
						<a class="addthis_button_preferred_2"></a>
						<a class="addthis_button_preferred_3"></a>
						<a class="addthis_button_preferred_4"></a>
						<a class="addthis_button_compact"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                    case 7:
                        $addthis_code .= '
						<!-- AddThis Button BEGIN -->
						<div class="addthis_toolbox addthis_floating_style addthis_16x16_style" style="left:50px;top:50px;" addthis:url="' . $item_link . '" addthis:title="' . htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8') . '">
						<a class="addthis_button_preferred_1"></a>
						<a class="addthis_button_preferred_2"></a>
						<a class="addthis_button_preferred_3"></a>
						<a class="addthis_button_preferred_4"></a>
						<a class="addthis_button_compact"></a>
						</div>
						<!-- AddThis Button END -->
						';
                        break;
                }
            }
            if ($addthis_outside_toolbar) {
                $display .= '<div class="flexi-socials-outside">' . $addthis_code . '</div>';
            } else {
                $display .= '<div class="flexi-socials toolbar-element">' . $addthis_code . '</div>';
            }
            if (!$addthis) {
                $document->addCustomTag('	
					<script type="text/javascript">
					var addthis_config = {
						services_exclude: "print,email"
					}
					</script>
					<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js' . ($addthis_pubid ? '#pubid=' . $addthis_pubid : '') . '"></script>
				');
                $addthis = 1;
            }
        }
        $display .= '</div>';
        // end of the toolbar container
        $field->{$prop} = $display;
    }
Пример #10
0
 function getData($number)
 {
     nextendimport('nextend.database.database');
     $db = NextendDatabase::getInstance();
     $data = array();
     $query = 'SELECT ';
     $query .= 'con.id ';
     $query .= 'FROM #__content AS con ';
     $query .= 'LEFT JOIN #__flexicontent_cats_item_relations AS fcat ON fcat.itemid = con.id ';
     $query .= 'LEFT JOIN #__categories AS cat ON fcat.catid = cat.id ';
     $where = array();
     $category = array_map('intval', explode('||', $this->_data->get('sourcecategory', '')));
     if (!in_array('0', $category) && !in_array('1', $category)) {
         $where[] = 'fcat.catid IN (' . implode(',', $category) . ') ';
     }
     if ($this->_data->get('sourcepublished', 1)) {
         $where[] = 'con.state = 1 ';
     }
     if ($this->_data->get('sourcefeatured', 0)) {
         $where[] = 'con.featured = 1 ';
     }
     $language = $this->_data->get('sourcelanguage', '*');
     if ($language) {
         $where[] = 'con.language = ' . $db->quote($language) . ' ';
     }
     if (count($where)) {
         $query .= ' WHERE ' . implode(' AND ', $where);
     }
     $query .= 'GROUP BY con.id ';
     $order = NextendParse::parse($this->_data->get('order1', 'con.title|*|asc'));
     if ($order[0]) {
         $query .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' ';
         $order = NextendParse::parse($this->_data->get('order2', 'con.title|*|asc'));
         if ($order[0]) {
             $query .= ', ' . $order[0] . ' ' . $order[1] . ' ';
         }
     }
     $query .= 'LIMIT 0, ' . $number . ' ';
     $db->setQuery($query);
     $result = $db->loadAssocList();
     $lng = JFactory::getLanguage();
     $adminapp = JFactory::$application;
     $siteapp = JApplicationCms::getInstance('site');
     $siteapp->loadLanguage($lng);
     require_once JPATH_ADMINISTRATOR . DS . 'components/com_flexicontent/defineconstants.php';
     JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_flexicontent' . DS . 'tables');
     require_once JPATH_SITE . DS . 'components' . DS . 'com_flexicontent' . DS . 'helpers' . DS . 'permission.php';
     require_once JPATH_SITE . DS . "components/com_flexicontent/classes/flexicontent.fields.php";
     require_once JPATH_SITE . DS . "components/com_flexicontent/classes/flexicontent.helper.php";
     require_once JPATH_SITE . '/components/com_flexicontent/models/item.php';
     $app = JFactory::getApplication();
     $user = JFactory::getUser();
     $aid = FLEXI_J16GE ? $user->getAuthorisedViewLevels() : (int) $user->get('aid');
     $itemmodel = FLEXI_J16GE ? new FlexicontentModelItem() : new FlexicontentModelItems();
     for ($i = 0; $i < count($result); $i++) {
         $data[$i] = array();
         JFactory::$application = $siteapp;
         $item = $itemmodel->getItem($result[$i]['id'], $check_view_access = false);
         list($item) = FlexicontentFields::getFields($item, '', $item->parameters, $aid);
         JFactory::$application = $adminapp;
         $data[$i]['link'] = FlexicontentHelperRoute::getItemRoute($item->id, $item->catid);
         foreach ($item->fields as $k => $field) {
             $data[$i][$k] = FlexicontentFields::getFieldDisplay($item, $k, $values = null, $method = 'display');
         }
     }
     JFactory::$application = $adminapp;
     return $data;
 }
Пример #11
0
	</div>
	<!-- EOF afterdescription block -->
	<?php endif; ?>
	
	<?php if (($this->params->get('show_tags', 1)) || ($this->params->get('show_category', 1)))  : ?>
	<!-- BOF item categories, tags -->
	<div class="itemadditionnal group">
		<?php if ($this->params->get('show_category', 1)) : ?>
		<span class="categories">
			<?php FlexicontentFields::getFieldDisplay($item, 'categories', $values=null, $method='display'); ?>
			<span class="flexi label"><?php echo $this->fields['categories']->label; ?></span>
			<span class="flexi value"><?php echo $this->fields['categories']->display; ?></span>
		</span>
		<?php endif; ?>

		<?php FlexicontentFields::getFieldDisplay($item, 'tags', $values=null, $method='display'); ?>
		<?php if ($this->params->get('show_tags', 1) && $this->fields['tags']->display) : ?>
		<span class="tags">
			<span class="flexi label"><?php echo $this->fields['tags']->label; ?></span>
			<span class="flexi value"><?php echo $this->fields['tags']->display; ?></span>
		</span>
		<?php endif; ?>
	</div>
	<!-- EOF item categories, tags  -->
	<?php endif; ?>

	<?php if ($this->params->get('comments') && !JRequest::getVar('print')) : ?>
	<!-- BOF comments -->
	<div class="comments group">
	<?php
		if ($this->params->get('comments') == 1) :