function jnewsbot_k2_transformall(&$html, &$text, &$subject, $queueInfo = null) { $mainframe = JFactory::getApplication(); $livesite = $mainframe->getCfg("live_site"); $sef = $mainframe->getCfg("sef"); $k2_items = array(); $k2_items_new = array(); $k2_items_old = array(); preg_match_all('/\\{k2item:(.{1,8})\\|(.{1})}/', $html, $k2_items_old, PREG_SET_ORDER); preg_match_all('/\\{k2item:(.{1,8})\\|(.{1})\\|(.{1})}/', $html, $k2_items_new, PREG_SET_ORDER); $k2_items = jnewsbot_class_transform_mergeArray($k2_items_new, $k2_items_old); foreach ($k2_items as $k2_item) { //j15 if (version_compare(JVERSION, '1.6.0', '<')) { $Itemid = $mainframe->getItemId($k2_item[1]); } if (empty($Itemid)) { $Itemid = $GLOBALS[JNEWS . 'itemidAca']; } $replacement = jnewsbot_k2_getitem($k2_item[1]); if ($GLOBALS[JNEWS . 'show_author'] == 1) { $author = '<br />' . $replacement->created_by_alias; } else { $author = ''; } $replacement->introtext = str_replace('{mospagebreak}', '<div style="clear: both;" ><div />', $replacement->introtext); $replacement->fulltext = str_replace('{mospagebreak}', '<div style="clear: both;" ><div />', $replacement->fulltext); // [0] => {k2item:3|1|1} // [1] => 3 // [2] => 1 // [3] => 1 if (isset($k2_item[3])) { if ($k2_item[3] == 1 && $k2_item[2] != 2) { $replacement->title = ""; } } if ($k2_item[2] == 0) { $html = str_replace($k2_item[0], '<div class="aca_content"><span class="aca_title">' . $replacement->title . '</span>' . "\r\n" . $author . '<br />' . $replacement->introtext . '<br />' . "\r\n" . $replacement->fulltext . "\r\n" . '</div>', $html); } else { if ($GLOBALS[JNEWS . 'use_sef'] == '1' and $sef == '1' and function_exists('sefRelToAbs')) { $link = sefRelToAbs('index.php?option=com_k2&view=item&id=' . $k2_item[1] . '&Itemid=' . $Itemid); } else { $link = $livesite . '/index.php?option=com_k2&view=item&id=' . $k2_item[1] . '&Itemid=' . $Itemid; } if ($k2_item[2] == 1) { $html = str_replace($k2_item[0], '<div class="aca_content"><span class="aca_title">' . $replacement->title . '</span>' . "\r\n" . $author . '<br />' . $replacement->introtext . '<br />' . "\r\n" . '<a href="' . $link . '"><span class="aca_readmore">' . _JNEWS_READMORE . '</span></a>' . "\r\n" . '</div>', $html); } else { $html = str_replace($k2_item[0], '<a href="' . $link . '"><span class="aca_title">' . $replacement->title . '</span></a>', $html); } } $image = jnewsbot_k2_getimage($replacement->image); if (version_compare(JVERSION, '1.6.0', '<')) { //j15 $imgfolders = '/images/stories'; } else { //j16 $imgfolders = '/images/sampledata'; } foreach ($image as $image) { $image_string = '<img src="' . $livesite . $imgfolders . $image['image'] . '" align="' . $image['align'] . '" alt="' . $image['alttext'] . '" border="' . $image['border'] . '" />'; $html = preg_replace('/{mosimage}/', $image_string, $html, 1); } } $k2_items = array(); $k2_items_new = array(); $k2_items_old = array(); preg_match_all('/\\{k2item:(.{1,5})\\|(.{1})}/', $text, $k2_items_old, PREG_SET_ORDER); preg_match_all('/\\{k2item:(.{1,5})\\|(.{1})\\|(.{1})}/', $text, $k2_items_new, PREG_SET_ORDER); $k2_items = jnewsbot_class_transform_mergeArray($k2_items_new, $k2_items_old); foreach ($k2_items as $k2_item) { //j15 if (version_compare(JVERSION, '1.6.0', '<')) { $Itemid = $mainframe->getItemId($k2_item[1]); } if (empty($Itemid)) { $Itemid = $GLOBALS[JNEWS . 'itemidAca']; } $replacement = jnewsbot_k2_getitem($k2_item[1]); if ($GLOBALS[JNEWS . 'show_author'] == 1) { $author = "\r\n" . $replacement->created_by_alias; } else { $author = ''; } $replacement->title = strtoupper(jNews_ProcessMail::htmlToText($replacement->title)); $replacement->introtext = jNews_ProcessMail::htmlToText($replacement->introtext); $replacement->fulltext = jNews_ProcessMail::htmlToText($replacement->fulltext); if (isset($k2_item[3])) { if ($k2_item[3] == 1 && $k2_item[2] != 2) { $replacement->title = ""; } } if ($k2_item[2] == 0) { $text = str_replace($k2_item[0], $replacement->title . $author . "\r\n" . $replacement->introtext . "\r\n" . $replacement->fulltext . "\r\n", $text); } else { if ($GLOBALS[JNEWS . 'use_sef'] == '1' and $sef == '1' and function_exists('sefRelToAbs')) { $link = sefRelToAbs('index.php?option=com_k2&view=item&id=' . $k2_item[1] . '&Itemid=' . $Itemid); } else { $link = $livesite . '/index.php?option=com_k2&view=item&id=' . $k2_item[1] . '&Itemid=' . $Itemid; } if ($k2_item[2] == 1) { $text = str_replace($k2_item[0], $replacement->title . $author . "\r\n" . $replacement->introtext . "\r\n" . '* ' . _JNEWS_READMORE . ' ( ' . $link . ' )' . "\r\n", $text); } else { $text = str_replace($k2_item[0], $replacement->title . ' ( ' . $link . ' )', $text); } } $text = str_replace('{mosimage}', '', $text); } $html = str_replace('{mospagebreak}', '<div style="clear: both;" ><div />', $html); $text = str_replace('{mospagebreak}', "\r\n \r\n", $text); }
function jnewsbot_content_transformall(&$html, &$text, &$subject, $queueInfo = null) { global $mainframe; $contentItemsNew = array(); $contentItemsOld = array(); preg_match_all('/\\{contentitem:(.{1,8})\\|(.{1})\\|(.{1})}/', $html, $contentItemsNew, PREG_SET_ORDER); preg_match_all('/\\{contentitem:(.{1,8})\\|(.{1})}/', $html, $contentItemsOld, PREG_SET_ORDER); $content_items = jnewsbot_class_transform_mergeArray($contentItemsNew, $contentItemsOld); /*$contentItemsNew [0] => {contentitem:10|0|1} [1] => 10 [2] => 0 [3] => 1 */ foreach ($content_items as $content_item) { if (version_compare(JVERSION, '1.6.0', '<')) { $Itemid = $mainframe->getItemId($content_item[1]); } if (empty($Itemid)) { $Itemid = $GLOBALS[JNEWS . 'itemidAca']; } $replacement = jnewsbot_content_getitem($content_item[1]); if (empty($replacement)) { continue; } if ($GLOBALS[JNEWS . 'show_author'] == 1) { $author = '<br />' . $replacement->created_by_alias; } else { $author = ''; } //hide title or no if (isset($content_item[3])) { if ($content_item[3] == 1 && $content_item[2] != 2) { $replacement->title = ""; } } if ($content_item[2] == 0) { $html = str_replace($content_item[0], '<div class="aca_content"><span class="aca_title">' . $replacement->title . '</span>' . "\r\n" . $author . '<br />' . $replacement->introtext . '<br />' . "\r\n" . $replacement->fulltext . "\r\n" . '</div>', $html); } else { $link = 'option=com_content&view=article&id=' . $content_item[1] . '&Itemid=' . $Itemid; $link = jNews_Tools::completeLink($link, false, $GLOBALS[JNEWS . 'use_sef']); if ($content_item[2] == 1) { if (empty($replacement->fulltext) && !empty($GLOBALS[JNEWS . 'word_wrap'])) { //Limit the number of words if (strlen($replacement->introtext) > $GLOBALS[JNEWS . 'word_wrap']) { static $requiredOnce = true; if ($requiredOnce) { require_once JNEWSPATH_CLASS . 'content.php'; $requiredOnce = false; } $convertContent = new jNews_Content(); $fulltext = $convertContent->HTMLtoText($replacement->introtext, false, false); // $fulltext = strip_tags($replacement->introtext,'<br><img>'); if (strlen($fulltext) > $GLOBALS[JNEWS . 'word_wrap']) { //We make sure we won't cut any html tag : // $open = 0; // $limitText = strlen($fulltext) - 1; // for($i=0;$i<strlen($fulltext);$i++){ // if($replacement->introtext[$i] == '<'){ $open++; continue;} // if($replacement->introtext[$i] == '>'){$open--; continue;} // if($replacement->introtext[$i] == " " AND $i>$GLOBALS[JNEWS.'word_wrap'] AND $open == 0){ // $limitText = $i-1; // break; // } // } $replacement->introtext = substr($fulltext, 0, $GLOBALS[JNEWS . 'word_wrap'] - 3) . '...'; } else { $replacement->introtext = $fulltext . '...'; } } } $html = str_replace($content_item[0], '<div class="aca_content"><span class="aca_title">' . $replacement->title . '</span>' . "\r\n" . $author . '<br />' . $replacement->introtext . '<br />' . "\r\n" . '<a href="' . $link . '"><span class="aca_readmore">' . _JNEWS_READMORE . '</span></a>' . "\r\n" . '</div>', $html); } else { $html = str_replace($content_item[0], '<a href="' . $link . '"><span class="aca_title">' . $replacement->title . '</span></a>', $html); } } $images = jnewsbot_content_getimage($replacement->images); foreach ($images as $image) { $image_string = '<img src="' . JNEWS_JPATH_LIVE_NO_HTTPS . '/images/stories/' . $image['image'] . '" align="' . $image['align'] . '" alt="' . $image['alttext'] . '" border="' . $image['border'] . '" />'; $html = preg_replace('/{mosimage}/', $image_string, $html, 1); } } //endfcy $contentItemsNew = array(); $contentItemsOld = array(); //use to be {contentitem:(.{1,5})\|(.{1})} preg_match_all('/\\{contentitem:(.{1,8})\\|(.{1})\\|(.{1})}/', $text, $contentItemsNew, PREG_SET_ORDER); preg_match_all('/\\{contentitem:(.{1,8})\\|(.{1})}/', $text, $contentItemsOld, PREG_SET_ORDER); $content_items = jnewsbot_class_transform_mergeArray($contentItemsNew, $contentItemsOld); foreach ($content_items as $content_item) { if (version_compare(JVERSION, '1.6.0', '<')) { $Itemid = $mainframe->getItemId($content_item[1]); } if (empty($Itemid)) { $Itemid = $GLOBALS[JNEWS . 'itemidAca']; } $replacement = jnewsbot_content_getitem($content_item[1]); if (empty($replacement)) { continue; } if ($GLOBALS[JNEWS . 'show_author'] == 1) { $author = "\r\n" . $replacement->created_by_alias; } else { $author = ''; } $replacement->title = "<b>" . strtoupper(jNews_ProcessMail::htmlToText($replacement->title)) . "</b>"; $replacement->introtext = jNews_ProcessMail::htmlToText($replacement->introtext); $replacement->fulltext = jNews_ProcessMail::htmlToText($replacement->fulltext); //hide title or no if (isset($content_item[3])) { if ($content_item[3] == 1 && $content_item[2] != 2) { $replacement->title = ""; } } if ($content_item[2] == 0) { $text = str_replace($content_item[0], $replacement->title . $author . "\r\n" . $replacement->introtext . "\r\n" . $replacement->fulltext . "\r\n", $text); } else { $link = 'option=com_content&view=article&id=' . $content_item[1] . '&Itemid=' . $Itemid; $link = jNews_Tools::completeLink($link, false, $GLOBALS[JNEWS . 'use_sef']); if ($content_item[2] == 1) { if (empty($replacement->fulltext) and !empty($GLOBALS[JNEWS . 'word_wrap'])) { if (strlen($replacement->introtext) > $GLOBALS[JNEWS . 'word_wrap']) { $replacement->introtext = substr(strip_tags($replacement->introtext), 0, $GLOBALS[JNEWS . 'word_wrap']) . '...'; } } $text = str_replace($content_item[0], $replacement->title . $author . "\r\n" . $replacement->introtext . "\r\n" . '* ' . _JNEWS_READMORE . ' ( ' . $link . ' )' . "\r\n", $text); } else { $text = str_replace($content_item[0], $replacement->title . ' ( ' . $link . ' )', $text); } } $text = str_replace('{mosimage}', '', $text); } $html = str_replace('{mospagebreak}', '<div style="clear: both;" ></div>', $html); $text = str_replace('{mospagebreak}', "\r\n \r\n", $text); }