primo commit
This commit is contained in:
63
plugins/osmap/joomla/field/TraitShack.php
Normal file
63
plugins/osmap/joomla/field/TraitShack.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* @package OSMap
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2021-2024 Joomlashack.com. All rights reserved
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of OSMap.
|
||||
*
|
||||
* OSMap is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* OSMap is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Alledia\Framework\Factory;
|
||||
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
trait TraitShack
|
||||
{
|
||||
protected static $frameworkLoaded = null;
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function isPro()
|
||||
{
|
||||
if ($this->isFrameworkLoaded()) {
|
||||
$license = Factory::getExtension('osmap', 'component');
|
||||
return $license->isPro();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null
|
||||
*/
|
||||
protected function isFrameworkLoaded()
|
||||
{
|
||||
if (static::$frameworkLoaded === null) {
|
||||
if (!defined('ALLEDIA_FRAMEWORK_LOADED')) {
|
||||
$path = JPATH_SITE . '/libraries/allediaframework/include.php';
|
||||
if (is_file($path)) {
|
||||
require_once $path;
|
||||
}
|
||||
}
|
||||
|
||||
static::$frameworkLoaded = defined('ALLEDIA_FRAMEWORK_LOADED');
|
||||
}
|
||||
|
||||
return static::$frameworkLoaded;
|
||||
}
|
||||
}
|
||||
40
plugins/osmap/joomla/field/radio.php
Normal file
40
plugins/osmap/joomla/field/radio.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* @package OSMap
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2021-2024 Joomlashack.com. All rights reserved
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of OSMap.
|
||||
*
|
||||
* OSMap is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* OSMap is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Joomla\CMS\Form\FormHelper;
|
||||
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
require_once __DIR__ . '/TraitShack.php';
|
||||
|
||||
FormHelper::loadFieldClass('radio');
|
||||
|
||||
class ShackFormFieldRadio extends JFormFieldRadio
|
||||
{
|
||||
use TraitShack;
|
||||
|
||||
public function setup(SimpleXMLElement $element, $value, $group = null)
|
||||
{
|
||||
return $this->isPro() && parent::setup($element, $value, $group);
|
||||
}
|
||||
}
|
||||
734
plugins/osmap/joomla/joomla.php
Normal file
734
plugins/osmap/joomla/joomla.php
Normal file
@ -0,0 +1,734 @@
|
||||
<?php
|
||||
/**
|
||||
* @package OSMap
|
||||
* @contact www.joomlashack.com, help@joomlashack.com
|
||||
* @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved.
|
||||
* @copyright 2016-2024 Joomlashack.com. All rights reserved.
|
||||
* @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
*
|
||||
* This file is part of OSMap.
|
||||
*
|
||||
* OSMap is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* OSMap is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Alledia\OSMap\Factory;
|
||||
use Alledia\OSMap\Helper\General;
|
||||
use Alledia\OSMap\Plugin\Base;
|
||||
use Alledia\OSMap\Plugin\ContentInterface;
|
||||
use Alledia\OSMap\Sitemap\Collector;
|
||||
use Alledia\OSMap\Sitemap\Item;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
use Joomla\Component\Content\Site\Helper\RouteHelper;
|
||||
use Joomla\Registry\Registry;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
if (class_exists(RouteHelper::class) == false) {
|
||||
$siteContentPath = JPATH_SITE . '/components/com_content/helpers/route.php';
|
||||
if (is_file($siteContentPath)) {
|
||||
require_once $siteContentPath;
|
||||
class_alias(ContentHelperRoute::class, RouteHelper::class);
|
||||
}
|
||||
}
|
||||
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
// phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace
|
||||
|
||||
/**
|
||||
* Handles standard Joomla's Content articles/categories
|
||||
*
|
||||
* This plugin is able to expand the categories keeping the right order of the
|
||||
* articles according 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 PlgOSMapJoomla extends Base implements ContentInterface
|
||||
{
|
||||
/**
|
||||
* @var self
|
||||
*/
|
||||
protected static $instance = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected static $prepareContent = null;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
if (empty(static::$instance)) {
|
||||
$dispatcher = Factory::getDispatcher();
|
||||
static::$instance = new self($dispatcher);
|
||||
}
|
||||
|
||||
return static::$instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function getComponentElement()
|
||||
{
|
||||
return 'com_content';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function prepareMenuItem($node, $params)
|
||||
{
|
||||
static::checkMemory();
|
||||
|
||||
$db = Factory::getDbo();
|
||||
$container = Factory::getPimpleContainer();
|
||||
|
||||
$link = parse_url($node->link);
|
||||
$linkQuery = $link['query'] ?? null;
|
||||
if ($linkQuery) {
|
||||
parse_str(html_entity_decode($linkQuery), $linkVars);
|
||||
|
||||
$view = ArrayHelper::getValue($linkVars, 'view', '');
|
||||
$id = ArrayHelper::getValue($linkVars, 'id', 0);
|
||||
|
||||
switch ($view) {
|
||||
case 'archive':
|
||||
$node->adapterName = 'JoomlaCategory';
|
||||
$node->uid = 'joomla.archive.' . $node->id;
|
||||
$node->expandible = true;
|
||||
|
||||
break;
|
||||
|
||||
case 'featured':
|
||||
$node->adapterName = 'JoomlaCategory';
|
||||
$node->uid = 'joomla.featured.' . $node->id;
|
||||
$node->expandible = true;
|
||||
|
||||
break;
|
||||
|
||||
case 'categories':
|
||||
case 'category':
|
||||
$node->adapterName = 'JoomlaCategory';
|
||||
$node->uid = 'joomla.category.' . $id;
|
||||
$node->expandible = true;
|
||||
|
||||
break;
|
||||
|
||||
case 'article':
|
||||
$node->adapterName = 'JoomlaArticle';
|
||||
$node->expandible = false;
|
||||
|
||||
$paramAddPageBreaks = $params->get('add_pagebreaks', 1);
|
||||
$paramAddImages = $params->get('add_images', 1);
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select([
|
||||
$db->quoteName('created'),
|
||||
$db->quoteName('modified'),
|
||||
$db->quoteName('publish_up'),
|
||||
$db->quoteName('metadata'),
|
||||
$db->quoteName('attribs'),
|
||||
])
|
||||
->from($db->quoteName('#__content'))
|
||||
->where($db->quoteName('id') . '=' . (int)$id);
|
||||
|
||||
if ($paramAddPageBreaks || $paramAddImages) {
|
||||
$query->select([
|
||||
$db->quoteName('introtext'),
|
||||
$db->quoteName('fulltext'),
|
||||
$db->quoteName('images'),
|
||||
]);
|
||||
}
|
||||
|
||||
$db->setQuery($query);
|
||||
|
||||
if (($item = $db->loadObject()) != null) {
|
||||
// Set the node UID
|
||||
$node->uid = 'joomla.article.' . $id;
|
||||
|
||||
// Set dates
|
||||
$node->modified = $item->modified;
|
||||
$node->created = $item->created;
|
||||
$node->publishUp = $item->publish_up;
|
||||
|
||||
$item->params = $item->attribs;
|
||||
|
||||
$text = '';
|
||||
if (isset($item->introtext) && isset($item->fulltext)) {
|
||||
$text = $item->introtext . $item->fulltext;
|
||||
}
|
||||
|
||||
static::prepareContent($text, $params);
|
||||
|
||||
if ($paramAddImages) {
|
||||
$maxImages = $params->get('max_images', 1000);
|
||||
|
||||
$node->images = [];
|
||||
|
||||
// Images from text
|
||||
$node->images = array_merge(
|
||||
$node->images,
|
||||
$container->imagesHelper->getImagesFromText($text, $maxImages)
|
||||
);
|
||||
|
||||
// Images from params
|
||||
if (!empty($item->images)) {
|
||||
$node->images = array_merge(
|
||||
$node->images,
|
||||
$container->imagesHelper->getImagesFromParams($item)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ($paramAddPageBreaks) {
|
||||
$node->subnodes = General::getPagebreaks($text, $node->link, $node->uid);
|
||||
$node->expandible = (count($node->subnodes) > 0); // This article has children
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function getTree($collector, $parent, $params)
|
||||
{
|
||||
$db = Factory::getDbo();
|
||||
|
||||
$link = parse_url($parent->link);
|
||||
$linkQuery = $link['query'] ?? null;
|
||||
if ($linkQuery == false) {
|
||||
return;
|
||||
}
|
||||
|
||||
parse_str(html_entity_decode($linkQuery), $linkVars);
|
||||
$view = ArrayHelper::getValue($linkVars, 'view', '');
|
||||
$id = intval(ArrayHelper::getValue($linkVars, 'id', ''));
|
||||
|
||||
/*
|
||||
* Parameters Initialisation
|
||||
*/
|
||||
$paramExpandCategories = $params->get('expand_categories', 1) > 0;
|
||||
$paramExpandFeatured = $params->get('expand_featured', 1);
|
||||
$paramIncludeArchived = $params->get('include_archived', 2);
|
||||
|
||||
$paramAddPageBreaks = $params->get('add_pagebreaks', 1);
|
||||
|
||||
$paramCatPriority = $params->get('cat_priority', $parent->priority);
|
||||
$paramCatChangefreq = $params->get('cat_changefreq', $parent->changefreq);
|
||||
|
||||
if ($paramCatPriority == '-1') {
|
||||
$paramCatPriority = $parent->priority;
|
||||
}
|
||||
if ($paramCatChangefreq == '-1') {
|
||||
$paramCatChangefreq = $parent->changefreq;
|
||||
}
|
||||
$params->set('cat_priority', $paramCatPriority);
|
||||
$params->set('cat_changefreq', $paramCatChangefreq);
|
||||
|
||||
$paramArtPriority = $params->get('art_priority', $parent->priority);
|
||||
$paramArtChangefreq = $params->get('art_changefreq', $parent->changefreq);
|
||||
|
||||
if ($paramArtPriority == '-1') {
|
||||
$paramArtPriority = $parent->priority;
|
||||
}
|
||||
|
||||
if ($paramArtChangefreq == '-1') {
|
||||
$paramArtChangefreq = $parent->changefreq;
|
||||
}
|
||||
|
||||
$params->set('art_priority', $paramArtPriority);
|
||||
$params->set('art_changefreq', $paramArtChangefreq);
|
||||
|
||||
// If enabled, loads the page break language
|
||||
if ($paramAddPageBreaks && defined('OSMAP_PLUGIN_JOOMLA_LOADED') == false) {
|
||||
// Load it just once
|
||||
define('OSMAP_PLUGIN_JOOMLA_LOADED', 1);
|
||||
|
||||
Factory::getLanguage()->load('plg_content_pagebreak');
|
||||
}
|
||||
|
||||
switch ($view) {
|
||||
case 'category':
|
||||
if (empty($id)) {
|
||||
$id = intval($params->get('id', 0));
|
||||
}
|
||||
|
||||
if ($paramExpandCategories && $id) {
|
||||
static::expandCategory($collector, $parent, $id, $params, $parent->id);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'featured':
|
||||
if ($paramExpandFeatured) {
|
||||
static::includeCategoryContent($collector, $parent, 'featured', $params);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'categories':
|
||||
if ($paramExpandCategories) {
|
||||
if (empty($id)) {
|
||||
$id = 1;
|
||||
}
|
||||
|
||||
static::expandCategory($collector, $parent, $id, $params, $parent->id);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'archive':
|
||||
if ($paramIncludeArchived) {
|
||||
static::includeCategoryContent($collector, $parent, 'archived', $params);
|
||||
}
|
||||
|
||||
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 ($paramAddPageBreaks) {
|
||||
$query = $db->getQuery(true)
|
||||
->select([
|
||||
$db->quoteName('introtext'),
|
||||
$db->quoteName('fulltext'),
|
||||
$db->quoteName('alias'),
|
||||
$db->quoteName('catid'),
|
||||
$db->quoteName('attribs') . ' AS params',
|
||||
$db->quoteName('metadata'),
|
||||
$db->quoteName('created'),
|
||||
$db->quoteName('modified'),
|
||||
$db->quoteName('publish_up'),
|
||||
])
|
||||
->from($db->quoteName('#__content'))
|
||||
->where($db->quoteName('id') . '=' . $id);
|
||||
$db->setQuery($query);
|
||||
|
||||
$item = $db->loadObject();
|
||||
|
||||
$item->uid = 'joomla.article.' . $id;
|
||||
|
||||
$parent->slug = $item->alias ? ($id . ':' . $item->alias) : $id;
|
||||
$parent->link = RouteHelper::getArticleRoute($parent->slug, $item->catid);
|
||||
|
||||
$parent->subnodes = General::getPagebreaks(
|
||||
$item->introtext . $item->fulltext,
|
||||
$parent->link,
|
||||
$item->uid
|
||||
);
|
||||
static::printSubNodes($collector, $parent, $params, $parent->subnodes, $item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all content items within a content category.
|
||||
* Returns an array of all contained content items.
|
||||
*
|
||||
* @param Collector $collector
|
||||
* @param Item $parent the menu item
|
||||
* @param int $catid the id of the category to be expanded
|
||||
* @param Registry $params parameters for this plugin on Xmap
|
||||
* @param int $itemid the itemid to use for this category's children
|
||||
* @param ?int $currentLevel
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
protected static function expandCategory(
|
||||
Collector $collector,
|
||||
Item $parent,
|
||||
int $catid,
|
||||
Registry $params,
|
||||
int $itemid,
|
||||
?int $currentLevel = 0
|
||||
): void {
|
||||
static::checkMemory();
|
||||
|
||||
$db = Factory::getDbo();
|
||||
|
||||
$where = [
|
||||
'a.parent_id = ' . $catid,
|
||||
'a.published = 1',
|
||||
'a.extension=' . $db->quote('com_content'),
|
||||
];
|
||||
|
||||
if (!$params->get('show_unauth', 0)) {
|
||||
$where[] = 'a.access IN (' . General::getAuthorisedViewLevels() . ') ';
|
||||
}
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select([
|
||||
'a.id',
|
||||
'a.title',
|
||||
'a.alias',
|
||||
'a.access',
|
||||
'a.path AS route',
|
||||
'a.created_time AS created',
|
||||
'a.modified_time AS modified',
|
||||
'a.params',
|
||||
'a.metadata',
|
||||
'a.metakey',
|
||||
])
|
||||
->from('#__categories AS a')
|
||||
->where($where)
|
||||
->order('a.lft');
|
||||
|
||||
$items = $db->setQuery($query)->loadObjectList();
|
||||
|
||||
$currentLevel++;
|
||||
|
||||
$maxLevel = $parent->params->get('max_category_level', 100);
|
||||
|
||||
if ($currentLevel <= $maxLevel) {
|
||||
if (count($items) > 0) {
|
||||
$collector->changeLevel(1);
|
||||
|
||||
foreach ($items as $item) {
|
||||
$node = (object)[
|
||||
'id' => $item->id,
|
||||
'uid' => 'joomla.category.' . $item->id,
|
||||
'browserNav' => $parent->browserNav,
|
||||
'priority' => $params->get('cat_priority'),
|
||||
'changefreq' => $params->get('cat_changefreq'),
|
||||
'name' => $item->title,
|
||||
'expandible' => true,
|
||||
'secure' => $parent->secure,
|
||||
'newsItem' => 1,
|
||||
'adapterName' => 'JoomlaCategory',
|
||||
'pluginParams' => &$params,
|
||||
'parentIsVisibleForRobots' => $parent->visibleForRobots,
|
||||
'created' => $item->created,
|
||||
'modified' => $item->modified,
|
||||
'publishUp' => $item->created,
|
||||
];
|
||||
|
||||
// Keywords
|
||||
$paramKeywords = $params->get('keywords', 'metakey');
|
||||
$keywords = null;
|
||||
if ($paramKeywords !== 'none') {
|
||||
$keywords = $item->metakey;
|
||||
}
|
||||
$node->keywords = $keywords;
|
||||
|
||||
$node->slug = $item->route ? ($item->id . ':' . $item->route) : $item->id;
|
||||
$node->link = RouteHelper::getCategoryRoute($node->slug);
|
||||
$node->itemid = $itemid;
|
||||
|
||||
// Correct for an issue in Joomla core with occasional empty variables
|
||||
$linkUri = new Uri($node->link);
|
||||
$linkUri->setQuery(array_filter((array)$linkUri->getQuery(true)));
|
||||
$node->link = $linkUri->toString();
|
||||
|
||||
if ($collector->printNode($node)) {
|
||||
static::expandCategory($collector, $parent, $item->id, $params, $node->itemid, $currentLevel);
|
||||
}
|
||||
}
|
||||
|
||||
$collector->changeLevel(-1);
|
||||
}
|
||||
}
|
||||
|
||||
// Include Category's content
|
||||
static::includeCategoryContent($collector, $parent, $catid, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all content items within a content category.
|
||||
* Returns an array of all contained content items.
|
||||
*
|
||||
* @param Collector $collector
|
||||
* @param Item $parent
|
||||
* @param int|string $catid
|
||||
* @param Registry $params
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*
|
||||
*/
|
||||
protected static function includeCategoryContent(
|
||||
Collector $collector,
|
||||
Item $parent,
|
||||
$catid,
|
||||
Registry $params
|
||||
): void {
|
||||
static::checkMemory();
|
||||
|
||||
$db = Factory::getDbo();
|
||||
$container = Factory::getPimpleContainer();
|
||||
|
||||
$nullDate = $db->quote($db->getNullDate());
|
||||
$nowDate = $db->quote(Factory::getDate()->toSql());
|
||||
|
||||
$selectFields = [
|
||||
'a.id',
|
||||
'a.title',
|
||||
'a.alias',
|
||||
'a.catid',
|
||||
'a.created',
|
||||
'a.modified',
|
||||
'a.publish_up',
|
||||
'a.attribs AS params',
|
||||
'a.metadata',
|
||||
'a.language',
|
||||
'a.metakey',
|
||||
'a.images',
|
||||
'c.title AS categMetakey',
|
||||
];
|
||||
if ($params->get('add_images', 1) || $params->get('add_pagebreaks', 1)) {
|
||||
$selectFields[] = 'a.introtext';
|
||||
$selectFields[] = 'a.fulltext';
|
||||
}
|
||||
|
||||
if ($params->get('include_archived', 2)) {
|
||||
$where = ['(a.state = 1 or a.state = 2)'];
|
||||
} else {
|
||||
$where = ['a.state = 1'];
|
||||
}
|
||||
|
||||
if ($catid == 'featured') {
|
||||
$where[] = 'a.featured=1';
|
||||
} elseif ($catid == 'archived') {
|
||||
$where = ['a.state=2'];
|
||||
} elseif (is_numeric($catid)) {
|
||||
$where[] = 'a.catid=' . (int)$catid;
|
||||
}
|
||||
|
||||
if (!$params->get('show_unauth', 0)) {
|
||||
$where[] = 'a.access IN (' . General::getAuthorisedViewLevels() . ') ';
|
||||
}
|
||||
|
||||
$where[] = sprintf(
|
||||
'(ISNULL(a.publish_up) OR a.publish_up = %s OR a.publish_up <= %s)',
|
||||
$nullDate,
|
||||
$nowDate
|
||||
);
|
||||
$where[] = sprintf(
|
||||
'(ISNULL(a.publish_down) OR a.publish_down = %s OR a.publish_down >= %s)',
|
||||
$nullDate,
|
||||
$nowDate
|
||||
);
|
||||
|
||||
//@todo: Do we need join for frontpage?
|
||||
$query = $db->getQuery(true)
|
||||
->select($selectFields)
|
||||
->from('#__content AS a')
|
||||
->join('LEFT', '#__content_frontpage AS fp ON (a.id = fp.content_id)')
|
||||
->join('LEFT', '#__categories AS c ON (a.catid = c.id)')
|
||||
->where($where);
|
||||
|
||||
// Ordering
|
||||
$orderOptions = [
|
||||
'a.created',
|
||||
'a.modified',
|
||||
'a.publish_up',
|
||||
'a.hits',
|
||||
'a.title',
|
||||
'a.ordering',
|
||||
];
|
||||
$orderDirOptions = [
|
||||
'ASC',
|
||||
'DESC',
|
||||
];
|
||||
|
||||
$order = ArrayHelper::getValue($orderOptions, $params->get('article_order', 0), 0);
|
||||
$orderDir = ArrayHelper::getValue($orderDirOptions, $params->get('article_orderdir', 0), 0);
|
||||
|
||||
$orderBy = ' ' . $order . ' ' . $orderDir;
|
||||
$query->order($orderBy);
|
||||
|
||||
$maxArt = (int)$params->get('max_art');
|
||||
$db->setQuery($query, 0, $maxArt);
|
||||
|
||||
$items = $db->loadObjectList();
|
||||
|
||||
if (count($items) > 0) {
|
||||
$collector->changeLevel(1);
|
||||
|
||||
$paramExpandCategories = $params->get('expand_categories', 1);
|
||||
$paramExpandFeatured = $params->get('expand_featured', 1);
|
||||
$paramIncludeArchived = $params->get('include_archived', 2);
|
||||
|
||||
foreach ($items as $item) {
|
||||
$node = (object)[
|
||||
'id' => $item->id,
|
||||
'uid' => 'joomla.article.' . $item->id,
|
||||
'browserNav' => $parent->browserNav,
|
||||
'priority' => $params->get('art_priority'),
|
||||
'changefreq' => $params->get('art_changefreq'),
|
||||
'name' => $item->title,
|
||||
'created' => $item->created,
|
||||
'modified' => $item->modified,
|
||||
'publishUp' => $item->publish_up,
|
||||
'expandible' => false,
|
||||
'secure' => $parent->secure,
|
||||
'newsItem' => 1,
|
||||
'language' => $item->language,
|
||||
'adapterName' => 'JoomlaArticle',
|
||||
'parentIsVisibleForRobots' => $parent->visibleForRobots,
|
||||
];
|
||||
|
||||
$keywords = [];
|
||||
|
||||
$paramKeywords = $params->get('keywords', 'metakey');
|
||||
if ($paramKeywords !== 'none') {
|
||||
if (in_array($paramKeywords, ['metakey', 'both'])) {
|
||||
$keywords[] = $item->metakey;
|
||||
}
|
||||
|
||||
if (in_array($paramKeywords, ['category', 'both'])) {
|
||||
$keywords[] = $item->categMetakey;
|
||||
}
|
||||
}
|
||||
$node->keywords = join(',', $keywords);
|
||||
|
||||
$node->slug = $item->alias ? ($item->id . ':' . $item->alias) : $item->id;
|
||||
$node->catslug = $item->catid;
|
||||
$node->link = RouteHelper::getArticleRoute($node->slug, $node->catslug);
|
||||
|
||||
// Set the visibility for XML or HTML sitempas
|
||||
if ($catid == 'featured') {
|
||||
// Check if the item is visible in the XML or HTML sitemaps
|
||||
$node->visibleForXML = in_array($paramExpandFeatured, [1, 2]);
|
||||
$node->visibleForHTML = in_array($paramExpandFeatured, [1, 3]);
|
||||
} elseif ($catid == 'archived') {
|
||||
// Check if the item is visible in the XML or HTML sitemaps
|
||||
$node->visibleForXML = in_array($paramIncludeArchived, [1, 2]);
|
||||
$node->visibleForHTML = in_array($paramIncludeArchived, [1, 3]);
|
||||
} elseif (is_numeric($catid)) {
|
||||
// Check if the item is visible in the XML or HTML sitemaps
|
||||
$node->visibleForXML = in_array($paramExpandCategories, [1, 2]);
|
||||
$node->visibleForHTML = in_array($paramExpandCategories, [1, 3]);
|
||||
}
|
||||
|
||||
// Add images to the article
|
||||
$text = '';
|
||||
if (isset($item->introtext) && isset($item->fulltext)) {
|
||||
$text = $item->introtext . $item->fulltext;
|
||||
}
|
||||
|
||||
if ($params->get('add_images', 1)) {
|
||||
$maxImages = $params->get('max_images', 1000);
|
||||
|
||||
$node->images = [];
|
||||
|
||||
// Images from text
|
||||
$node->images = array_merge(
|
||||
$node->images,
|
||||
$container->imagesHelper->getImagesFromText($text, $maxImages)
|
||||
);
|
||||
|
||||
// Images from params
|
||||
if (!empty($item->images)) {
|
||||
$node->images = array_merge(
|
||||
$node->images,
|
||||
$container->imagesHelper->getImagesFromParams($item)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ($params->get('add_pagebreaks', 1)) {
|
||||
$node->subnodes = General::getPagebreaks($text, $node->link, $node->uid);
|
||||
// This article has children
|
||||
$node->expandible = (count($node->subnodes) > 0);
|
||||
}
|
||||
|
||||
if ($collector->printNode($node) && $node->expandible) {
|
||||
static::printSubNodes($collector, $parent, $params, $node->subnodes, $node);
|
||||
}
|
||||
}
|
||||
|
||||
$collector->changeLevel(-1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Collector $collector
|
||||
* @param Item $parent
|
||||
* @param Registry $params
|
||||
* @param array $subnodes
|
||||
* @param object $item
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
protected static function printSubNodes(
|
||||
Collector $collector,
|
||||
Item $parent,
|
||||
Registry $params,
|
||||
array $subnodes,
|
||||
object $item
|
||||
): void {
|
||||
static::checkMemory();
|
||||
|
||||
$collector->changeLevel(1);
|
||||
|
||||
foreach ($subnodes as $subnode) {
|
||||
$subnode->browserNav = $parent->browserNav;
|
||||
$subnode->priority = $params->get('art_priority');
|
||||
$subnode->changefreq = $params->get('art_changefreq');
|
||||
$subnode->secure = $parent->secure;
|
||||
$subnode->created = $item->created;
|
||||
$subnode->modified = $item->modified;
|
||||
$subnode->publishUp = $item->publish_up ?? $item->created;
|
||||
|
||||
$collector->printNode($subnode);
|
||||
|
||||
$subnode = null;
|
||||
unset($subnode);
|
||||
}
|
||||
|
||||
$collector->changeLevel(-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $text
|
||||
* @param Registry $params
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected static function prepareContent(string &$text, Registry $params): void
|
||||
{
|
||||
if (static::$prepareContent === null) {
|
||||
$isPro = Factory::getExtension('osmap', 'component')->isPro();
|
||||
$isHtml = Factory::getDocument()->getType() == 'html';
|
||||
$prepare = $params->get('prepare_content', true);
|
||||
|
||||
static::$prepareContent = $isPro && $prepare && $isHtml;
|
||||
}
|
||||
|
||||
if (static::$prepareContent) {
|
||||
$text = HTMLHelper::_('content.prepare', $text, null, 'com_content.article');
|
||||
}
|
||||
}
|
||||
}
|
||||
227
plugins/osmap/joomla/joomla.xml
Normal file
227
plugins/osmap/joomla/joomla.xml
Normal file
@ -0,0 +1,227 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<extension type="plugin" group="osmap" method="upgrade">
|
||||
<name>PLG_OSMAP_JOOMLA</name>
|
||||
<author>Joomlashack</author>
|
||||
<authorEmail>help@joomlashack.com</authorEmail>
|
||||
<authorUrl>https://www.joomlashack.com/</authorUrl>
|
||||
<copyright>Copyright 2016-2024 Joomlashack</copyright>
|
||||
<license>GNU GPL; see LICENSE file</license>
|
||||
<description>PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION</description>
|
||||
<version>5.0.17</version>
|
||||
<creationDate>March 08 2024</creationDate>
|
||||
<variant>FREE</variant>
|
||||
|
||||
<files>
|
||||
<folder>field</folder>
|
||||
<folder>language</folder>
|
||||
|
||||
<filename plugin="joomla">joomla.php</filename>
|
||||
</files>
|
||||
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="basic">
|
||||
<field name="expand_categories"
|
||||
type="list"
|
||||
default="1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_XML_ONLY</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY</option>
|
||||
</field>
|
||||
|
||||
<field name="expand_featured"
|
||||
type="list"
|
||||
default="1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_XML_ONLY</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY</option>
|
||||
</field>
|
||||
|
||||
<field name="max_category_level"
|
||||
type="list"
|
||||
default="all"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_MAX_CATEG_LEVEL_LABEL">
|
||||
<option value="100">PLG_OSMAP_JOOMLA_OPTION_ALL</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
<option value="9">9</option>
|
||||
<option value="10">10</option>
|
||||
</field>
|
||||
|
||||
<field name="include_archived"
|
||||
type="list"
|
||||
default="2"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_XML_ONLY</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY</option>
|
||||
</field>
|
||||
|
||||
<field name="show_unauth"
|
||||
type="list"
|
||||
default="0"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_XML_ONLY</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY</option>
|
||||
</field>
|
||||
|
||||
<field name="add_pagebreaks"
|
||||
type="list"
|
||||
default="1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_XML_ONLY</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY</option>
|
||||
</field>
|
||||
|
||||
<field name="max_art"
|
||||
type="text"
|
||||
default="0"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT_DESC"/>
|
||||
<field name="article_order"
|
||||
type="list"
|
||||
default="0"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_CREATED</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_MODIFIED</option>
|
||||
<option value="2">PLG_OSMAP_JOOMLA_OPTION_PUBLISH</option>
|
||||
<option value="3">PLG_OSMAP_JOOMLA_OPTION_HITS</option>
|
||||
<option value="4">PLG_OSMAP_JOOMLA_OPTION_TITLE</option>
|
||||
<option value="5">PLG_OSMAP_JOOMLA_OPTION_ORDERING</option>
|
||||
</field>
|
||||
|
||||
<field name="article_orderdir"
|
||||
type="list"
|
||||
default="0"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_DESC">
|
||||
<option value="0">PLG_OSMAP_JOOMLA_OPTION_ASC</option>
|
||||
<option value="1">PLG_OSMAP_JOOMLA_OPTION_DESC</option>
|
||||
</field>
|
||||
|
||||
<field name="prepare_content"
|
||||
type="shack.radio"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="1">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="xml">
|
||||
<field name="add_images"
|
||||
type="list"
|
||||
default="1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_DESC">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="cat_priority"
|
||||
type="list"
|
||||
default="-1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY_DESC">
|
||||
<option value="-1">PLG_OSMAP_JOOMLA_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.0</option>
|
||||
</field>
|
||||
|
||||
<field name="cat_changefreq"
|
||||
type="list"
|
||||
default="-1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ_DESC">
|
||||
<option value="-1">PLG_OSMAP_JOOMLA_OPTION_USE_PARENT_MENU</option>
|
||||
<option value="always">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="hourly">PLG_OSMAP_JOOMLA_OPTION_HOURLY</option>
|
||||
<option value="daily">PLG_OSMAP_JOOMLA_OPTION_DAILY</option>
|
||||
<option value="weekly">PLG_OSMAP_JOOMLA_OPTION_WEEKLY</option>
|
||||
<option value="monthly">PLG_OSMAP_JOOMLA_OPTION_MONTHLY</option>
|
||||
<option value="yearly">PLG_OSMAP_JOOMLA_OPTION_YEARLY</option>
|
||||
<option value="never">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
</field>
|
||||
|
||||
<field name="art_priority"
|
||||
type="list"
|
||||
default="-1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY_DESC">
|
||||
<option value="-1">PLG_OSMAP_JOOMLA_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.0</option>
|
||||
</field>
|
||||
|
||||
<field name="art_changefreq"
|
||||
type="list"
|
||||
default="-1"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ_DESC">
|
||||
<option value="-1">PLG_OSMAP_JOOMLA_OPTION_USE_PARENT_MENU</option>
|
||||
<option value="always">PLG_OSMAP_JOOMLA_OPTION_ALWAYS</option>
|
||||
<option value="hourly">PLG_OSMAP_JOOMLA_OPTION_HOURLY</option>
|
||||
<option value="daily">PLG_OSMAP_JOOMLA_OPTION_DAILY</option>
|
||||
<option value="weekly">PLG_OSMAP_JOOMLA_OPTION_WEEKLY</option>
|
||||
<option value="monthly">PLG_OSMAP_JOOMLA_OPTION_MONTHLY</option>
|
||||
<option value="yearly">PLG_OSMAP_JOOMLA_OPTION_YEARLY</option>
|
||||
<option value="never">PLG_OSMAP_JOOMLA_OPTION_NEVER</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="news">
|
||||
<field name="keywords"
|
||||
type="list"
|
||||
default="metakey"
|
||||
label="PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_LABEL"
|
||||
description="PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_DESC">
|
||||
<option value="metakey">PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS</option>
|
||||
<option value="category">PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_CATTITLE</option>
|
||||
<option value="both">PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS_CATTITLE</option>
|
||||
<option value="none">PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_NONE</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
100
plugins/osmap/joomla/language/en-GB/en-GB.plg_osmap_joomla.ini
Normal file
100
plugins/osmap/joomla/language/en-GB/en-GB.plg_osmap_joomla.ini
Normal file
@ -0,0 +1,100 @@
|
||||
; @package OSMap
|
||||
; @contact www.joomlashack.com, help@joomlashack.com
|
||||
; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved.
|
||||
; @copyright 2016-2024 Joomlashack.com. All rights reserved.
|
||||
; @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
;
|
||||
; This file is part of OSMap.
|
||||
;
|
||||
; OSMap is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 2 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; OSMap is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
PLG_OSMAP_JOOMLA = "OSMap - Joomla Content"
|
||||
PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION = "Add support for articles and categories"
|
||||
|
||||
COM_PLUGINS_BASIC_FIELDSET_LABEL = "Basic Settings"
|
||||
COM_PLUGINS_NEWS_FIELDSET_LABEL = "News Sitemap Settings"
|
||||
COM_PLUGINS_XML_FIELDSET_LABEL = "XML Sitemap Settings"
|
||||
|
||||
JGLOBAL_FIELDSET_NEWS = "News"
|
||||
JGLOBAL_FIELDSET_XML = "XML"
|
||||
|
||||
PLG_OSMAP_JOOMLA_OPTION_ALL = "All"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ALWAYS = "Always"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ASC = "ASC"
|
||||
PLG_OSMAP_JOOMLA_OPTION_CREATED = "Creation Date"
|
||||
PLG_OSMAP_JOOMLA_OPTION_DAILY = "Daily"
|
||||
PLG_OSMAP_JOOMLA_OPTION_DESC = "DESC"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HITS = "Visits"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HOURLY = "Hourly"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY = "In HTML Sitemap Only"
|
||||
PLG_OSMAP_JOOMLA_OPTION_MODIFIED = "Modification Date"
|
||||
PLG_OSMAP_JOOMLA_OPTION_MONTHLY = "Monthly"
|
||||
PLG_OSMAP_JOOMLA_OPTION_NEVER = "Never"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ORDERING = "Ordering"
|
||||
PLG_OSMAP_JOOMLA_OPTION_PUBLISH = "Publish Date"
|
||||
PLG_OSMAP_JOOMLA_OPTION_TITLE = "Title"
|
||||
PLG_OSMAP_JOOMLA_OPTION_USE_PARENT_MENU = "Use Parent Menu Settings"
|
||||
PLG_OSMAP_JOOMLA_OPTION_WEEKLY = "Weekly"
|
||||
PLG_OSMAP_JOOMLA_OPTION_XML_ONLY = "In XML Sitemap Only"
|
||||
PLG_OSMAP_JOOMLA_OPTION_YEARLY = "Yearly"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_DESC = "If yes, will parse the content of the article searching for images to add them to the site map. Valid Only for XML site map (Search engines Sitemap) "
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_LABEL = "Add images?"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_DESC = "If yes, will include the sub-pages of the article into the sitemap."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_LABEL = "Add Pagebreak"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ = "Article Change frequency"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ_DESC = "Set the chage frequency for articles"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY = "Article Priority"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY_DESC = "Set the priority for articles"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DESC = "Specify how to sort the articles"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_DESC = "Specify the direction for article's ordering"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_LABEL = "Article ordering direction"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_LABEL = "Article ordering"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ = "Category Change frequency"
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ_DESC = "Set the chage frequency for the categories"
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY = "Category Priority"
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY_DESC = "Set the priority for the categories"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES = "Expand Categories"
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES_DESC = "Set true if OSMap should include the articles within each category link"
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED = "Expand Featured"
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED_DESC = "Set true if OSMap should include the articles within each "Featured Articles" link (usually the frontpage menu item)"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED = "Include Archived"
|
||||
PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED_DESC = "Select when should the archived articles be included in the sitemap"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_AGE = "Max. Article's Age in days"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_AGE_DESC = "The maximun number of days that an article must have to be included in the sitemap. (0 for no limit)"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT = "Max. Articles per Category"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT_DESC = "Maximum number of articles per category to include in the sitemap (0 for no limit)."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_CATEG_LEVEL_LABEL = "Max Subcategory Levels"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_CATTITLE = "Catetegory Title"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_DESC = "Which keywords should we use for Google News Sitemap?"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_LABEL = "Keywords"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS = "Article's Metakeys"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS_CATTITLE = "Article's Metakeys + Category Title"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_NONE = "None"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_DESC = "Optionally prepare the content with the Joomla Content Plugins."
|
||||
PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_LABEL = "Prepare Content"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS = "Show Unauthorized Links"
|
||||
PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS_DESC = "If yes, will show links to content to registered content even if you are not logged in. The user will need to login to see the item in full."
|
||||
@ -0,0 +1,26 @@
|
||||
; @package OSMap
|
||||
; @contact www.joomlashack.com, help@joomlashack.com
|
||||
; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved.
|
||||
; @copyright 2016-2024 Joomlashack.com. All rights reserved.
|
||||
; @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
;
|
||||
; This file is part of OSMap.
|
||||
;
|
||||
; OSMap is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 2 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; OSMap is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
PLG_OSMAP_JOOMLA = "OSMap - Joomla Content"
|
||||
|
||||
PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION = "Add support for articles and categories"
|
||||
100
plugins/osmap/joomla/language/tr-TR/tr-TR.plg_osmap_joomla.ini
Normal file
100
plugins/osmap/joomla/language/tr-TR/tr-TR.plg_osmap_joomla.ini
Normal file
@ -0,0 +1,100 @@
|
||||
; @package OSMap
|
||||
; @contact www.joomlashack.com, help@joomlashack.com
|
||||
; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved.
|
||||
; @copyright 2016-2024 Joomlashack.com. All rights reserved.
|
||||
; @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
;
|
||||
; This file is part of OSMap.
|
||||
;
|
||||
; OSMap is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 2 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; OSMap is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
PLG_OSMAP_JOOMLA="OSMap - Joomla İçeriği"
|
||||
PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION = "Makaleler ve kategoriler için destek eklenir."
|
||||
|
||||
COM_PLUGINS_BASIC_FIELDSET_LABEL = "Temel Ayarlar"
|
||||
COM_PLUGINS_NEWS_FIELDSET_LABEL = "Haber Site Haritası Ayarları"
|
||||
COM_PLUGINS_XML_FIELDSET_LABEL = "XML Site Haritası Ayarları"
|
||||
|
||||
JGLOBAL_FIELDSET_NEWS = "Haber"
|
||||
JGLOBAL_FIELDSET_XML = "XML"
|
||||
|
||||
PLG_OSMAP_JOOMLA_OPTION_ALL = "Tümü"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ALWAYS = "Her Zaman"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ASC = "Artan"
|
||||
PLG_OSMAP_JOOMLA_OPTION_CREATED = "Oluşturma Tarihi"
|
||||
PLG_OSMAP_JOOMLA_OPTION_DAILY = "Günlük"
|
||||
PLG_OSMAP_JOOMLA_OPTION_DESC = "Azalan"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HITS = "Ziyaretler"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HOURLY = "Saatlik"
|
||||
PLG_OSMAP_JOOMLA_OPTION_HTML_ONLY = "Yalnız HTML Site Haritasında"
|
||||
PLG_OSMAP_JOOMLA_OPTION_MODIFIED = "Değişiklik Tarihi"
|
||||
PLG_OSMAP_JOOMLA_OPTION_MONTHLY = "Aylık"
|
||||
PLG_OSMAP_JOOMLA_OPTION_NEVER = "Asla"
|
||||
PLG_OSMAP_JOOMLA_OPTION_ORDERING = "Sıralama"
|
||||
PLG_OSMAP_JOOMLA_OPTION_PUBLISH = "Yayınlama Tarihi"
|
||||
PLG_OSMAP_JOOMLA_OPTION_TITLE = "Başlık"
|
||||
PLG_OSMAP_JOOMLA_OPTION_USE_PARENT_MENU = "Üst Menü Ayarları Kullanılsın"
|
||||
PLG_OSMAP_JOOMLA_OPTION_WEEKLY = "Haftalık"
|
||||
PLG_OSMAP_JOOMLA_OPTION_XML_ONLY = "Yalnız XML Site Haritasında"
|
||||
PLG_OSMAP_JOOMLA_OPTION_YEARLY = "Yıllık"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_DESC = "Evetse, site haritasına eklemek için resim arayan makalenin içeriğini ayrıştırır. Yalnızca XML site haritası için geçerlidir (Arama Motorları Site Haritası)."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_IMAGES_LABEL = "Görüntüler Eklensin mi?"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_DESC = "Evetse, makalenin alt sayfaları site haritasına eklenir."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ADD_PAGEBREAKS_LABEL = "Sayfa Sonu Eklensin"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ = "Makale Değişiklik Sıklığı"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_CHANCE_FREQ_DESC = "Makaleler için değiştirme sıklığını ayarlayın."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY = "Makale Önceliği"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ART_PRIORITY_DESC = "Makaleler için önceliği ayarlayın."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DESC = "Makalelerin nasıl sıralanacağını belirtin."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_DESC = "Makalelerin sıralama yönünü belirtin."
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_DIR_LABEL = "Makale Sıralama Yönü"
|
||||
PLG_OSMAP_JOOMLA_SETTING_ARTICLE_ORDER_LABEL = "Makale Sıralaması"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ = "Kategori Değişiklik Sıklığı"
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_CHANCE_FREQ_DESC = "Kategoriler için değiştirme sıklığını ayarlayın."
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY = "Kategori Önceliği"
|
||||
PLG_OSMAP_JOOMLA_SETTING_CAT_PRIORITY_DESC = "Kategoriler için önceliği ayarlayın."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES = "Kategoriler Genişletilsin"
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_CATEGORIES_DESC = "OSMap'in her kategori bağlantısındaki makaleleri içermesi gerekiyorsa doğru olarak ayarlayın."
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED = "Öne Çıkanlar Genişletilsin"
|
||||
PLG_OSMAP_JOOMLA_SETTING_EXPAND_FEATURED_DESC = "OSMap'in "Öne Çıkan Makaleler" bağlantılarındaki (genellikle ön sayfa menü öğesi) makaleleri içermesi gerekiyorsa doğru olarak ayarlayın."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED = "Arşivlenen Eklensin"
|
||||
PLG_OSMAP_JOOMLA_SETTING_INCLUDE_ARCHIVED_DESC = "Arşivlenen makalelerin site haritasına ne zaman dahil edileceğini seçin."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_AGE = "Gün Içinde Makalenin Maksimum Ömrü"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_AGE_DESC = "Bir makalenin site haritasına eklenmesi gereken maksiumum gün sayısı. (sınırsız için 0)"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT = "Kategori Başına Maksimum Makale"
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_ART_CAT_DESC = "Site haritasına dahil edilecek kategori başına maksimum makale sayısı (sınırsız için 0)."
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_MAX_CATEG_LEVEL_LABEL = "Maksimum Alt Kategori Seviyesi"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_CATTITLE = "Kategori Başlığı"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_DESC = "Google Haberler Site Haritası için hangi anahtar kelimeler kullanılsın?"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_LABEL = "Anahtar Kelimeler"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS = "Makalenin Meta Anahtarları"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_METAKEYS_CATTITLE = "Makalenin Meta Anahtarları + Kategori Başlığı"
|
||||
PLG_OSMAP_JOOMLA_SETTING_NEWS_KEYWORDS_NONE = "Hiçbiri"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_DESC = "İsteğe bağlı olarak Joomla İçerik Eklentileri ile içeriği hazırlayın."
|
||||
PLG_OSMAP_JOOMLA_SETTING_PREPARE_CONTENT_LABEL = "İçerik Hazırlama"
|
||||
|
||||
PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS = "Yetkisiz Bağlantılar Gösterilsin"
|
||||
PLG_OSMAP_JOOMLA_SETTING_SHOW_UNAUTH_LINKS_DESC = "Evet ise, oturum açmamış olsanız bile kayıtlı içeriğe içerik bağlantıları gösterilir. Kullanıcının öğeyi tam olarak görebilmesi için giriş yapması gerekir."
|
||||
@ -0,0 +1,26 @@
|
||||
; @package OSMap
|
||||
; @contact www.joomlashack.com, help@joomlashack.com
|
||||
; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved.
|
||||
; @copyright 2016-2024 Joomlashack.com. All rights reserved.
|
||||
; @license https://www.gnu.org/licenses/gpl.html GNU/GPL
|
||||
;
|
||||
; This file is part of OSMap.
|
||||
;
|
||||
; OSMap is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 2 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; OSMap is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with OSMap. If not, see <https://www.gnu.org/licenses/>.
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
PLG_OSMAP_JOOMLA="OSMap - Joomla İçerik"
|
||||
|
||||
PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION="Makaleler ve kategoriler için destek eklenir."
|
||||
Reference in New Issue
Block a user