| Current Path : /home/wuectly/www/03cbe/ |
| Current File : /home/wuectly/www/03cbe/com_content.zip |
PK �E$]��QX�S �S com_content.phpnu &1i� <?php
/**
* @version $Id$
* @copyright Copyright (C) 2007 - 2009 Joomla! Vargas. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Guillermo Vargas (guille@vargas.co.cr)
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once JPATH_SITE . '/components/com_content/helpers/route.php';
require_once JPATH_SITE . '/components/com_content/helpers/query.php';
/**
* Handles standard Joomla's Content articles/categories
*
* This plugin is able to expand the categories keeping the right order of the
* articles acording to the menu settings and the user session data (user state).
*
* This is a very complex plugin, if you are trying to build your own plugin
* for other component, I suggest you to take a look to another plugis as
* they are usually most simple. ;)
*/
class xmap_com_content
{
/**
* This function is called before a menu item is printed. We use it to set the
* proper uniqueid for the item
*
* @param object Menu item to be "prepared"
* @param array The extension params
*
* @return void
* @since 1.2
*/
static function prepareMenuItem($node, &$params)
{
$db = JFactory::getDbo();
$link_query = parse_url($node->link);
if (!isset($link_query['query'])) {
return;
}
parse_str(html_entity_decode($link_query['query']), $link_vars);
$view = JArrayHelper::getValue($link_vars, 'view', '');
$layout = JArrayHelper::getValue($link_vars, 'layout', '');
$id = JArrayHelper::getValue($link_vars, 'id', 0);
//----- Set add_images param
$params['add_images'] = JArrayHelper::getValue($params, 'add_images', 0);
//----- Set add pagebreaks param
$add_pagebreaks = JArrayHelper::getValue($params, 'add_pagebreaks', 1);
$params['add_pagebreaks'] = JArrayHelper::getValue($params, 'add_pagebreaks', 1);
switch ($view) {
case 'category':
if ($id) {
$node->uid = 'com_contentc' . $id;
} else {
$node->uid = 'com_content' . $layout;
}
$node->expandible = true;
break;
case 'article':
$node->uid = 'com_contenta' . $id;
$node->expandible = false;
$query = $db->getQuery(true);
$query->select($db->quoteName('created'))
->select($db->quoteName('modified'))
->from($db->quoteName('#__content'))
->where($db->quoteName('id').'='.intval($id));
if ($params['add_pagebreaks'] || $params['add_images']){
$query->select($db->quoteName('introtext'))
->select($db->quoteName('fulltext'));
}
$db->setQuery($query);
if (($row = $db->loadObject()) != NULL) {
$node->modified = $row->modified;
$text = @$item->introtext . @$item->fulltext;
if ($params['add_images']) {
$node->images = XmapHelper::getImages($text,JArrayHelper::getValue($params, 'max_images', 1000));
}
if ($params['add_pagebreaks']) {
$node->subnodes = XmapHelper::getPagebreaks($text,$node->link);
$node->expandible = (count($node->subnodes) > 0); // This article has children
}
}
break;
case 'archive':
$node->expandible = true;
break;
case 'featured':
$node->uid = 'com_contentfeatured';
$node->expandible = false;
}
}
/**
* Expands a com_content menu item
*
* @return void
* @since 1.0
*/
static function getTree($xmap, $parent, &$params)
{
$db = JFactory::getDBO();
$app = JFactory::getApplication();
$user = JFactory::getUser();
$result = null;
$link_query = parse_url($parent->link);
if (!isset($link_query['query'])) {
return;
}
parse_str(html_entity_decode($link_query['query']), $link_vars);
$view = JArrayHelper::getValue($link_vars, 'view', '');
$id = intval(JArrayHelper::getValue($link_vars, 'id', ''));
/* * *
* Parameters Initialitation
* */
//----- Set expand_categories param
$expand_categories = JArrayHelper::getValue($params, 'expand_categories', 1);
$expand_categories = ( $expand_categories == 1
|| ( $expand_categories == 2 && $xmap->view == 'xml')
|| ( $expand_categories == 3 && $xmap->view == 'html')
|| $xmap->view == 'navigator');
$params['expand_categories'] = $expand_categories;
//----- Set expand_featured param
$expand_featured = JArrayHelper::getValue($params, 'expand_featured', 1);
$expand_featured = ( $expand_featured == 1
|| ( $expand_featured == 2 && $xmap->view == 'xml')
|| ( $expand_featured == 3 && $xmap->view == 'html')
|| $xmap->view == 'navigator');
$params['expand_featured'] = $expand_featured;
//----- Set expand_featured param
$include_archived = JArrayHelper::getValue($params, 'include_archived', 2);
$include_archived = ( $include_archived == 1
|| ( $include_archived == 2 && $xmap->view == 'xml')
|| ( $include_archived == 3 && $xmap->view == 'html')
|| $xmap->view == 'navigator');
$params['include_archived'] = $include_archived;
//----- Set show_unauth param
$show_unauth = JArrayHelper::getValue($params, 'show_unauth', 1);
$show_unauth = ( $show_unauth == 1
|| ( $show_unauth == 2 && $xmap->view == 'xml')
|| ( $show_unauth == 3 && $xmap->view == 'html'));
$params['show_unauth'] = $show_unauth;
//----- Set add_images param
$add_images = JArrayHelper::getValue($params, 'add_images', 0) && $xmap->isImages;
$add_images = ( $add_images && $xmap->view == 'xml');
$params['add_images'] = $add_images;
$params['max_images'] = JArrayHelper::getValue($params, 'max_images', 1000);
//----- Set add pagebreaks param
$add_pagebreaks = JArrayHelper::getValue($params, 'add_pagebreaks', 1);
$add_pagebreaks = ( $add_pagebreaks == 1
|| ( $add_pagebreaks == 2 && $xmap->view == 'xml')
|| ( $add_pagebreaks == 3 && $xmap->view == 'html')
|| $xmap->view == 'navigator');
$params['add_pagebreaks'] = $add_pagebreaks;
if ($params['add_pagebreaks'] && !defined('_XMAP_COM_CONTENT_LOADED')) {
define('_XMAP_COM_CONTENT_LOADED',1); // Load it just once
$lang = JFactory::getLanguage();
$lang->load('plg_content_pagebreak');
}
//----- Set cat_priority and cat_changefreq params
$priority = JArrayHelper::getValue($params, 'cat_priority', $parent->priority);
$changefreq = JArrayHelper::getValue($params, 'cat_changefreq', $parent->changefreq);
if ($priority == '-1')
$priority = $parent->priority;
if ($changefreq == '-1')
$changefreq = $parent->changefreq;
$params['cat_priority'] = $priority;
$params['cat_changefreq'] = $changefreq;
//----- Set art_priority and art_changefreq params
$priority = JArrayHelper::getValue($params, 'art_priority', $parent->priority);
$changefreq = JArrayHelper::getValue($params, 'art_changefreq', $parent->changefreq);
if ($priority == '-1')
$priority = $parent->priority;
if ($changefreq == '-1')
$changefreq = $parent->changefreq;
$params['art_priority'] = $priority;
$params['art_changefreq'] = $changefreq;
$params['max_art'] = intval(JArrayHelper::getValue($params, 'max_art', 0));
$params['max_art_age'] = intval(JArrayHelper::getValue($params, 'max_art_age', 0));
$params['nullDate'] = $db->Quote($db->getNullDate());
$params['nowDate'] = $db->Quote(JFactory::getDate()->toSql());
$params['groups'] = implode(',', $user->getAuthorisedViewLevels());
// Define the language filter condition for the query
$params['language_filter'] = $app->getLanguageFilter();
switch ($view) {
case 'category':
if (!$id) {
$id = intval(JArrayHelper::getValue($params, 'id', 0));
}
if ($params['expand_categories'] && $id) {
$result = self::expandCategory($xmap, $parent, $id, $params, $parent->id);
}
break;
case 'featured':
if ($params['expand_featured']) {
$result = self::includeCategoryContent($xmap, $parent, 'featured', $params,$parent->id);
}
break;
case 'categories':
if ($params['expand_categories']) {
$result = self::expandCategory($xmap, $parent, ($id ? $id : 1), $params, $parent->id);
}
break;
case 'archive':
if ($params['expand_featured']) {
$result = self::includeCategoryContent($xmap, $parent, 'archived', $params,$parent->id);
}
break;
case 'article':
// if it's an article menu item, we have to check if we have to expand the
// article's page breaks
if ($params['add_pagebreaks']){
$query = $db->getQuery(true);
$query->select($db->quoteName('introtext'))
->select($db->quoteName('fulltext'))
->select($db->quoteName('alias'))
->select($db->quoteName('catid'))
->from($db->quoteName('#__content'))
->where($db->quoteName('id').'='.intval($id));
$db->setQuery($query);
$row = $db->loadObject();
$parent->slug = $row->alias ? ($id . ':' . $row->alias) : $id;
$parent->link = ContentHelperRoute::getArticleRoute($parent->slug, $row->catid);
$subnodes = XmapHelper::getPagebreaks($row->introtext.$row->fulltext,$parent->link);
self::printNodes($xmap, $parent, $params, $subnodes);
}
}
return $result;
}
/**
* Get all content items within a content category.
* Returns an array of all contained content items.
*
* @param object $xmap
* @param object $parent the menu item
* @param int $catid the id of the category to be expanded
* @param array $params an assoc array with the params for this plugin on Xmap
* @param int $itemid the itemid to use for this category's children
*/
static function expandCategory($xmap, $parent, $catid, &$params, $itemid)
{
$db = JFactory::getDBO();
$where = array('a.parent_id = ' . $catid . ' AND a.published = 1 AND a.extension=\'com_content\'');
if ($params['language_filter'] ) {
$where[] = 'a.language in ('.$db->quote(JFactory::getLanguage()->getTag()).','.$db->quote('*').')';
}
if (!$params['show_unauth']) {
$where[] = 'a.access IN (' . $params['groups'] . ') ';
}
$orderby = 'a.lft';
$query = 'SELECT a.id, a.title, a.alias, a.access, a.path AS route, '
. 'a.created_time created, a.modified_time modified '
. 'FROM #__categories AS a '
. 'WHERE '. implode(' AND ',$where)
. ( $xmap->view != 'xml' ? "\n ORDER BY " . $orderby . "" : '' );
$db->setQuery($query);
#echo nl2br(str_replace('#__','jos_',$db->getQuery()));exit;
$items = $db->loadObjectList();
if (count($items) > 0) {
$xmap->changeLevel(1);
foreach ($items as $item) {
$node = new stdclass();
$node->id = $parent->id;
$node->uid = $parent->uid . 'c' . $item->id;
$node->browserNav = $parent->browserNav;
$node->priority = $params['cat_priority'];
$node->changefreq = $params['cat_changefreq'];
$node->name = $item->title;
$node->expandible = true;
$node->secure = $parent->secure;
// TODO: Should we include category name or metakey here?
// $node->keywords = $item->metakey;
$node->newsItem = 0;
// For the google news we should use te publication date instead
// the last modification date. See
if ($xmap->isNews || !$item->modified)
$item->modified = $item->created;
$node->slug = $item->route ? ($item->id . ':' . $item->route) : $item->id;
$node->link = ContentHelperRoute::getCategoryRoute($node->slug);
if (strpos($node->link,'Itemid=')===false) {
$node->itemid = $itemid;
$node->link .= '&Itemid='.$itemid;
} else {
$node->itemid = preg_replace('/.*Itemid=([0-9]+).*/','$1',$node->link);
}
if ($xmap->printNode($node)) {
self::expandCategory($xmap, $parent, $item->id, $params, $node->itemid);
}
}
$xmap->changeLevel(-1);
}
// Include Category's content
self::includeCategoryContent($xmap, $parent, $catid, $params, $itemid);
return true;
}
/**
* Get all content items within a content category.
* Returns an array of all contained content items.
*
* @since 2.0
*/
static function includeCategoryContent($xmap, $parent, $catid, &$params,$Itemid)
{
$db = JFactory::getDBO();
// We do not do ordering for XML sitemap.
if ($xmap->view != 'xml') {
$orderby = self::buildContentOrderBy($parent->params,$parent->id,$Itemid);
//$orderby = !empty($menuparams['orderby']) ? $menuparams['orderby'] : (!empty($menuparams['orderby_sec']) ? $menuparams['orderby_sec'] : 'rdate' );
//$orderby = self::orderby_sec($orderby);
}
if ($params['include_archived']) {
$where = array('(a.state = 1 or a.state = 2)');
} else {
$where = array('a.state = 1');
}
if ($catid=='featured') {
$where[] = 'a.featured=1';
} elseif ($catid=='archived') {
$where = array('a.state=2');
} elseif(is_numeric($catid)) {
$where[] = 'a.catid='.(int) $catid;
}
if ($params['max_art_age'] || $xmap->isNews) {
$days = (($xmap->isNews && ($params['max_art_age'] > 3 || !$params['max_art_age'])) ? 3 : $params['max_art_age']);
$where[] = "( a.created >= '"
. date('Y-m-d H:i:s', time() - $days * 86400) . "' ) ";
}
if ($params['language_filter'] ) {
$where[] = 'a.language in ('.$db->quote(JFactory::getLanguage()->getTag()).','.$db->quote('*').')';
}
if (!$params['show_unauth'] ){
$where[] = 'a.access IN (' . $params['groups'] . ') ';
}
$query = 'SELECT a.id, a.title, a.alias, a.catid, '
. 'a.created created, a.modified modified'
. ',a.language'
. (($params['add_images'] || $params['add_pagebreaks']) ? ',a.introtext, a.fulltext ' : ' ')
. 'FROM #__content AS a '
. ($catid =='featured'? 'LEFT JOIN #__content_frontpage AS fp ON a.id = fp.content_id ' : ' ')
. 'WHERE ' . implode(' AND ',$where) . ' AND '
. ' (a.publish_up = ' . $params['nullDate']
. ' OR a.publish_up <= ' . $params['nowDate'] . ') AND '
. ' (a.publish_down = ' . $params['nullDate']
. ' OR a.publish_down >= ' . $params['nowDate'] . ') '
. ( $xmap->view != 'xml' ? "\n ORDER BY $orderby " : '' )
. ( $params['max_art'] ? "\n LIMIT {$params['max_art']}" : '');
$db->setQuery($query);
//echo nl2br(str_replace('#__','mgbj2_',$db->getQuery()));
$items = $db->loadObjectList();
if (count($items) > 0) {
$xmap->changeLevel(1);
foreach ($items as $item) {
$node = new stdclass();
$node->id = $parent->id;
$node->uid = $parent->uid . 'a' . $item->id;
$node->browserNav = $parent->browserNav;
$node->priority = $params['art_priority'];
$node->changefreq = $params['art_changefreq'];
$node->name = $item->title;
$node->modified = $item->modified;
$node->expandible = false;
$node->secure = $parent->secure;
// TODO: Should we include category name or metakey here?
// $node->keywords = $item->metakey;
$node->newsItem = 1;
$node->language = $item->language;
// For the google news we should use te publication date instead
// the last modification date. See
if ($xmap->isNews || !$node->modified)
$node->modified = $item->created;
$node->slug = $item->alias ? ($item->id . ':' . $item->alias) : $item->id;
//$node->catslug = $item->category_route ? ($catid . ':' . $item->category_route) : $catid;
$node->catslug = $item->catid;
$node->link = ContentHelperRoute::getArticleRoute($node->slug, $node->catslug);
// Add images to the article
$text = @$item->introtext . @$item->fulltext;
if ($params['add_images']) {
$node->images = XmapHelper::getImages($text,$params['max_images']);
}
if ($params['add_pagebreaks']) {
$subnodes = XmapHelper::getPagebreaks($text,$node->link);
$node->expandible = (count($subnodes) > 0); // This article has children
}
if ($xmap->printNode($node) && $node->expandible) {
self::printNodes($xmap, $parent, $params, $subnodes);
}
}
$xmap->changeLevel(-1);
}
return true;
}
static private function printNodes($xmap, $parent, &$params, &$subnodes)
{
$xmap->changeLevel(1);
$i=0;
foreach ($subnodes as $subnode) {
$i++;
$subnode->id = $parent->id;
$subnode->uid = $parent->uid.'p'.$i;
$subnode->browserNav = $parent->browserNav;
$subnode->priority = $params['art_priority'];
$subnode->changefreq = $params['art_changefreq'];
$subnode->secure = $parent->secure;
$xmap->printNode($subnode);
}
$xmap->changeLevel(-1);
}
/**
* Generates the order by part of the query according to the
* menu/component/user settings. It checks if the current user
* has already changed the article's ordering column in the frontend
*
* @param JRegistry $params
* @param int $parentId
* @param int $itemid
* @return string
*/
static function buildContentOrderBy(&$params,$parentId,$itemid)
{
$app = JFactory::getApplication('site');
// Case when the child gets a different menu itemid than it's parent
if ($parentId != $itemid) {
$menu = $app->getMenu();
$item = $menu->getItem($itemid);
$menuParams = clone($params);
$itemParams = new JRegistry($item->params);
$menuParams->merge($itemParams);
} else {
$menuParams =& $params;
}
$filter_order = $app->getUserStateFromRequest('com_content.category.list.' . $itemid . '.filter_order', 'filter_order', '', 'string');
$filter_order_Dir = $app->getUserStateFromRequest('com_content.category.list.' . $itemid . '.filter_order_Dir', 'filter_order_Dir', '', 'cmd');
$orderby = ' ';
if ($filter_order && $filter_order_Dir) {
$orderby .= $filter_order . ' ' . $filter_order_Dir . ', ';
}
$articleOrderby = $menuParams->get('orderby_sec', 'rdate');
$articleOrderDate = $menuParams->get('order_date');
//$categoryOrderby = $menuParams->def('orderby_pri', '');
$secondary = ContentHelperQuery::orderbySecondary($articleOrderby, $articleOrderDate) . ', ';
//$primary = ContentHelperQuery::orderbyPrimary($categoryOrderby);
//$orderby .= $primary . ' ' . $secondary . ' a.created ';
$orderby .= $secondary . ' a.created ';
return $orderby;
}
}PK �E$]nPō� � com_content.xmlnu &1i� <?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->
<extension type="plugin" group="xmap" version="2.5" method="upgrade">
<name>Xmap Content Plugin</name>
<author>Guillermo Vargas</author>
<creationDate>02-05-2014</creationDate>
<copyright>GNU GPL</copyright>
<license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
<authorEmail>guille@vargas.co.cr</authorEmail>
<authorUrl>joomla.vargas.co.cr</authorUrl>
<version>2.0.4c</version>
<description>XMAP_CONTENT_PLUGIN_DESCRIPTION</description>
<files>
<filename plugin="com_content">com_content.php</filename>
<filename>index.html</filename>
</files>
<languages folder="language">
<!--
these files will be installed in the administrator/language folder.
-->
<language tag="en-GB">en-GB.plg_xmap_com_content.ini</language>
<language tag="es-ES">es-ES.plg_xmap_com_content.ini</language>
<language tag="fr-FR">fr-FR.plg_xmap_com_content.ini</language>
<language tag="fa-IR">fa-IR.plg_xmap_com_content.ini</language>
<language tag="cs-CZ">cs-CZ.plg_xmap_com_content.ini</language>
<language tag="nl-NL">nl-NL.plg_xmap_com_content.ini</language>
<language tag="ru-RU">ru-RU.plg_xmap_com_content.ini</language>
</languages>
<config>
<fields name="params">
<fieldset name="basic">
<field name="expand_categories" type="list" default="1" label="XMAP_SETTING_EXPAND_CATEGORIES" description="XMAP_SETTING_EXPAND_CATEGORIES_DESC">
<option value="0">XMAP_OPTION_NEVER</option>
<option value="1">XMAP_OPTION_ALWAYS</option>
<option value="2">XMAP_OPTION_XML_ONLY</option>
<option value="3">XMAP_OPTION_HTML_ONLY</option>
</field>
<field name="expand_featured" type="list" default="1" label="XMAP_SETTING_EXPAND_FEATURED" description="XMAP_SETTING_EXPAND_FEATURED_DESC">
<option value="0">XMAP_OPTION_NEVER</option>
<option value="1">XMAP_OPTION_ALWAYS</option>
<option value="2">XMAP_OPTION_XML_ONLY</option>
<option value="3">XMAP_OPTION_HTML_ONLY</option>
</field>
<field name="include_archived" type="list" default="2" label="XMAP_SETTING_INCLUDE_ARCHIVED" description="XMAP_SETTING_INCLUDE_ARCHIVED_DESC">
<option value="0">XMAP_OPTION_NEVER</option>
<option value="1">XMAP_OPTION_ALWAYS</option>
<option value="2">XMAP_OPTION_XML_ONLY</option>
<option value="3">XMAP_OPTION_HTML_ONLY</option>
</field>
<field name="show_unauth" type="list" default="0" label="XMAP_SETTING_SHOW_UNAUTH_LINKS" description="XMAP_SETTING_SHOW_UNAUTH_LINKS_DESC">
<option value="0">XMAP_OPTION_NEVER</option>
<option value="1">XMAP_OPTION_ALWAYS</option>
<option value="2">XMAP_OPTION_XML_ONLY</option>
<option value="3">XMAP_OPTION_HTML_ONLY</option>
</field>
<field name="add_pagebreaks" type="list" default="1" label="XMAP_SETTING_ADD_PAGEBREAKS_LABEL" description="XMAP_SETTING_ADD_PAGEBREAKS_DESC">
<option value="0">XMAP_OPTION_NEVER</option>
<option value="1">XMAP_OPTION_ALWAYS</option>
<option value="2">XMAP_OPTION_XML_ONLY</option>
<option value="3">XMAP_OPTION_HTML_ONLY</option>
</field>
<field name="max_art" type="text" default="0" label="XMAP_SETTING_MAX_ART_CAT" description="XMAP_SETTING_MAX_ART_CAT_DESC" />
<field name="max_art_age" type="text" default="0" label="XMAP_SETTING_MAX_ART_AGE" description="XMAP_SETTING_MAX_ART_AGE_DESC" />
</fieldset>
<fieldset name="xml">
<field name="add_images" type="list" default="1" label="XMAP_SETTING_ADD_IMAGES_LABEL" description="XMAP_SETTING_ADD_IMAGES_DESC">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="cat_priority" type="list" default="-1" label="XMAP_SETTING_CAT_PRIORITY" description="XMAP_SETTING_CAT_PRIORITY_DESC">
<option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
<option value="0.0">0.0</option>
<option value="0.1">0.1</option>
<option value="0.2">0.2</option>
<option value="0.3">0.3</option>
<option value="0.4">0.4</option>
<option value="0.5">0.5</option>
<option value="0.6">0.6</option>
<option value="0.7">0.7</option>
<option value="0.8">0.8</option>
<option value="0.9">0.9</option>
<option value="1">1</option>
</field>
<field name="cat_changefreq" type="list" default="-1" label="XMAP_SETTING_CAT_CHANCE_FREQ" description="XMAP_SETTING_CAT_CHANCE_FREQ_DESC">
<option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
<option value="always">XMAP_OPTION_ALWAYS</option>
<option value="hourly">XMAP_OPTION_HOURLY</option>
<option value="daily">XMAP_OPTION_DAILY</option>
<option value="weekly">XMAP_OPTION_WEEKLY</option>
<option value="monthly">XMAP_OPTION_MONTHLY</option>
<option value="yearly">XMAP_OPTION_YEARLY</option>
<option value="never">XMAP_OPTION_NEVER</option>
</field>
<field name="art_priority" type="list" default="-1" label="XMAP_SETTING_ART_PRIORITY" description="XMAP_SETTING_ART_PRIORITY_DESC">
<option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
<option value="0.0">0.0</option>
<option value="0.1">0.1</option>
<option value="0.2">0.2</option>
<option value="0.3">0.3</option>
<option value="0.4">0.4</option>
<option value="0.5">0.5</option>
<option value="0.6">0.6</option>
<option value="0.7">0.7</option>
<option value="0.8">0.8</option>
<option value="0.9">0.9</option>
<option value="1">1</option>
</field>
<field name="art_changefreq" type="list" default="-1" label="XMAP_SETTING_ART_CHANCE_FREQ" description="XMAP_SETTING_ART_CHANCE_FREQ_DESC">
<option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
<option value="always">XMAP_OPTION_ALWAYS</option>
<option value="hourly">XMAP_OPTION_HOURLY</option>
<option value="daily">XMAP_OPTION_DAILY</option>
<option value="weekly">XMAP_OPTION_WEEKLY</option>
<option value="monthly">XMAP_OPTION_MONTHLY</option>
<option value="yearly">XMAP_OPTION_YEARLY</option>
<option value="never">XMAP_OPTION_NEVER</option>
</field>
</fieldset>
<fieldset name="news">
<field name="keywords" type="list" default="1" label="XMAP_SETTING_NEWS_KEYWORDS_LABEL" description="XMAP_SETTING_NEWS_KEYWORDS_DESC">
<option value="metakey">XMAP_SETTING_NEWS_KEYWORDS_METAKEYS</option>
<option value="category">XMAP_SETTING_NEWS_KEYWORDS_CATTITLE</option>
<option value="both">XMAP_SETTING_NEWS_KEYWORDS_METAKEYS_CATTITLE</option>
<option value="none">XMAP_SETTING_NEWS_KEYWORDS_NONE</option>
</field>
</fieldset>
</fields>
</config>
</extension>
PK �E$]�6�
index.htmlnu &1i� <!DOCTYPE html><title></title>PK �\$]���Ts s js/admin-article-readmore.jsnu &1i� /**
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
window.insertReadmore = function(editor) {
"use strict";
if (!Joomla.getOptions('xtd-readmore')) {
// Something went wrong!
return false;
}
var content, options = window.Joomla.getOptions('xtd-readmore');
if (window.Joomla && window.Joomla.editors && window.Joomla.editors.instances && window.Joomla.editors.instances.hasOwnProperty(editor)) {
content = window.Joomla.editors.instances[editor].getValue();
} else {
content = (new Function('return ' + options.editor))();
}
if (content.match(/<hr\s+id=("|')system-readmore("|')\s*\/*>/i)) {
alert(options.exists);
return false;
} else {
/** Use the API, if editor supports it **/
if (window.Joomla && window.Joomla.editors && window.Joomla.editors.instances && window.Joomla.editors.instances.hasOwnProperty(editor)) {
window.Joomla.editors.instances[editor].replaceSelection('<hr id="system-readmore" />');
} else {
window.jInsertEditorText('<hr id="system-readmore" />', editor);
}
}
};
PK �\$]��� � js/admin-articles-modal.min.jsnu &1i� !function(){"use strict";window.jSelectArticle=function(a,b,c,d,e,f){var h,i,g="";return Joomla.getOptions("xtd-articles")?(h=Joomla.getOptions("xtd-articles").editor,""!==f&&(g=' hreflang="'+f+'"'),i="<a"+g+' href="'+e+'">'+b+"</a>",window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(h)?window.parent.Joomla.editors.instances[h].replaceSelection(i):window.parent.jInsertEditorText(i,h),void window.parent.jModalClose()):(window.parent.jModalClose(),!1)},document.addEventListener("DOMContentLoaded",function(){for(var a=document.querySelectorAll(".select-link"),b=0,c=a.length;c>b;b++)a[b].addEventListener("click",function(a){a.preventDefault();var b=a.target.getAttribute("data-function");"jSelectArticle"===b?window[b](a.target.getAttribute("data-id"),a.target.getAttribute("data-title"),a.target.getAttribute("data-cat-id"),null,a.target.getAttribute("data-uri"),a.target.getAttribute("data-language")):window.parent[b](a.target.getAttribute("data-id"),a.target.getAttribute("data-title"),a.target.getAttribute("data-cat-id"),null,a.target.getAttribute("data-uri"),a.target.getAttribute("data-language"))})})}();PK �\$]-T3�� � js/admin-article-pagebreak.jsnu &1i� /**
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
(function() {
"use strict";
window.insertPagebreak = function(editor) {
/** Get the pagebreak title **/
var alt, tag, title = document.getElementById('title').value;
if (!window.parent.Joomla.getOptions('xtd-pagebreak')) {
// Something went wrong!
window.parent.jModalClose();
return false;
}
/** Get the pagebreak toc alias -- not inserting for now **/
/** don't know which attribute to use... **/
alt = document.getElementById('alt').value;
title = (title != '') ? 'title="' + title + '"' : '';
alt = (alt != '') ? 'alt="' + alt + '"' : '';
tag = '<hr class="system-pagebreak" ' + title + ' ' + alt + '/>';
/** Use the API, if editor supports it **/
if (window.parent.Joomla && window.parent.Joomla.editors && window.parent.Joomla.editors.instances && window.parent.Joomla.editors.instances.hasOwnProperty(editor)) {
window.parent.Joomla.editors.instances[editor].replaceSelection(tag)
} else {
window.parent.jInsertEditorText(tag, editor);
}
window.parent.jModalClose();
return false;
};
})();
PK �\$]_(zZ� � js/admin-article-readmore.min.jsnu &1i� window.insertReadmore=function(a){"use strict";if(!Joomla.getOptions("xtd-readmore"))return!1;var b,c=window.Joomla.getOptions("xtd-readmore");if(b=window.Joomla&&window.Joomla.editors&&window.Joomla.editors.instances&&window.Joomla.editors.instances.hasOwnProperty(a)?window.Joomla.editors.instances[a].getValue():new Function("return "+c.editor)(),b.match(/<hr\s+id=("|')system-readmore("|')\s*\/*>/i))return alert(c.exists),!1;window.Joomla&&window.Joomla.editors&&window.Joomla.editors.instances&&window.Joomla.editors.instances.hasOwnProperty(a)?window.Joomla.editors.instances[a].replaceSelection('<hr id="system-readmore" />'):window.jInsertEditorText('<hr id="system-readmore" />',a)};PK �\$]�h�mm m ! js/admin-article-pagebreak.min.jsnu &1i� !function(){"use strict";window.insertPagebreak=function(a){var b,c,d=document.getElementById("title").value;return window.parent.Joomla.getOptions("xtd-pagebreak")?(b=document.getElementById("alt").value,d=""!=d?'title="'+d+'"':"",b=""!=b?'alt="'+b+'"':"",c='<hr class="system-pagebreak" '+d+" "+b+"/>",window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(a)?window.parent.Joomla.editors.instances[a].replaceSelection(c):window.parent.jInsertEditorText(c,a),window.parent.jModalClose(),!1):(window.parent.jModalClose(),!1)}}();PK �\$]�Ƽ{� � js/admin-articles-modal.jsnu &1i� /**
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
(function() {
"use strict";
/**
* Javascript to insert the link
* View element calls jSelectArticle when an article is clicked
* jSelectArticle creates the link tag, sends it to the editor,
* and closes the select frame.
**/
window.jSelectArticle = function (id, title, catid, object, link, lang) {
var hreflang = '', editor, tag;
if (!Joomla.getOptions('xtd-articles')) {
// Something went wrong!
window.parent.jModalClose();
return false;
}
editor = Joomla.getOptions('xtd-articles').editor;
if (lang !== '')
{
hreflang = ' hreflang="' + lang + '"';
}
tag = '<a' + hreflang + ' href="' + link + '">' + title + '</a>';
/** Use the API, if editor supports it **/
if (window.parent.Joomla && window.parent.Joomla.editors && window.parent.Joomla.editors.instances && window.parent.Joomla.editors.instances.hasOwnProperty(editor)) {
window.parent.Joomla.editors.instances[editor].replaceSelection(tag)
} else {
window.parent.jInsertEditorText(tag, editor);
}
window.parent.jModalClose();
};
document.addEventListener('DOMContentLoaded', function(){
// Get the elements
var elements = document.querySelectorAll('.select-link');
for(var i = 0, l = elements.length; l>i; i++) {
// Listen for click event
elements[i].addEventListener('click', function (event) {
event.preventDefault();
var functionName = event.target.getAttribute('data-function');
if (functionName === 'jSelectArticle') {
// Used in xtd_contacts
window[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), event.target.getAttribute('data-cat-id'), null, event.target.getAttribute('data-uri'), event.target.getAttribute('data-language'));
} else {
// Used in com_menus
window.parent[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), event.target.getAttribute('data-cat-id'), null, event.target.getAttribute('data-uri'), event.target.getAttribute('data-language'));
}
})
}
});
})();
PK �E$]��QX�S �S com_content.phpnu &1i� PK �E$]nPō� �
T com_content.xmlnu &1i� PK �E$]�6�
�s index.htmlnu &1i� PK �\$]���Ts s It js/admin-article-readmore.jsnu &1i� PK �\$]��� � y js/admin-articles-modal.min.jsnu &1i� PK �\$]-T3�� � ~ js/admin-article-pagebreak.jsnu &1i� PK �\$]_(zZ� � "� js/admin-article-readmore.min.jsnu &1i� PK �\$]�h�mm m ! '� js/admin-article-pagebreak.min.jsnu &1i� PK �\$]�Ƽ{� � � js/admin-articles-modal.jsnu &1i� PK ӑ