uawdijnntqw1x1x1
IP : 216.73.216.84
Hostname : webm003.cluster107.gra.hosting.ovh.net
Kernel : Linux webm003.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
opticamezl
/
www
/
newok
/
07d6c
/
.
/
..
/
.
/
api
/
..
/
modules
/
mod_articles_category
/
..
/
.
/
..
/
osmap.tar
/
/
joomla/field/TraitShack.php000060400000003364151664164760011700 0ustar00<?php /** * @package OSMap * @contact www.joomlashack.com, help@joomlashack.com * @copyright 2021-2023 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; } } joomla/field/radio.php000060400000002347151664164760010741 0ustar00<?php /** * @package OSMap * @contact www.joomlashack.com, help@joomlashack.com * @copyright 2021-2023 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); } } joomla/language/en-GB/en-GB.plg_osmap_joomla.ini000060400000012702151664164760015430 0ustar00; @package OSMap ; @contact www.joomlashack.com, help@joomlashack.com ; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved. ; @copyright 2016-2023 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." joomla/language/en-GB/en-GB.plg_osmap_joomla.sys.ini000060400000002132151664164760016241 0ustar00; @package OSMap ; @contact www.joomlashack.com, help@joomlashack.com ; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved. ; @copyright 2016-2023 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" joomla/language/tr-TR/tr-TR.plg_osmap_joomla.ini000060400000013630151664164760015571 0ustar00; @package OSMap ; @contact www.joomlashack.com, help@joomlashack.com ; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved. ; @copyright 2016-2023 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." joomla/language/tr-TR/tr-TR.plg_osmap_joomla.sys.ini000060400000002136151664164760016405 0ustar00; @package OSMap ; @contact www.joomlashack.com, help@joomlashack.com ; @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved. ; @copyright 2016-2023 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." joomla/joomla.php000060400000062546151664164760010050 0ustar00<?php /** * @package OSMap * @contact www.joomlashack.com, help@joomlashack.com * @copyright 2007-2014 XMap - Joomla! Vargas - Guillermo Vargas. All rights reserved. * @copyright 2016-2023 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\Registry\Registry; use Joomla\Utilities\ArrayHelper; defined('_JEXEC') or die(); JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php'); JLoader::register('ContentHelperQuery', 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 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; /** * Returns the unique instance of the plugin * * @return self */ public static function getInstance() { if (empty(static::$instance)) { $dispatcher = Factory::getDispatcher(); static::$instance = new self($dispatcher); } return static::$instance; } /** * Returns the element of the component which this plugin supports. * * @return string */ public function getComponentElement() { return 'com_content'; } /** * This function is called before a menu item is used. We use it to set the * proper uniqueid for the item * * @param Item $node Menu item to be "prepared" * @param Registry $params The extension params * * @return bool * @throws Exception */ public static function prepareMenuItem($node, $params) { static::checkMemory(); $db = Factory::getDbo(); $container = Factory::getPimpleContainer(); $linkQuery = parse_url($node->link); if (!isset($linkQuery['query'])) { return false; } parse_str(html_entity_decode($linkQuery['query']), $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; } /** * Expands a com_content menu item * * @param Collector $collector * @param Item $parent * @param Registry $params * * @return void * @throws Exception */ public static function getTree($collector, $parent, $params) { $db = Factory::getDbo(); $linkQuery = parse_url($parent->link); if (!isset($linkQuery['query'])) { return; } parse_str(html_entity_decode($linkQuery['query']), $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')) { // 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 = ContentHelperRoute::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 $curlevel * * @return void * @throws Exception */ protected static function expandCategory( $collector, $parent, $catid, $params, $itemid, $curlevel = 0 ) { 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(); $curlevel++; $maxLevel = $parent->params->get('max_category_level', 100); if ($curlevel <= $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 = ContentHelperRoute::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, $curlevel); } } $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, $parent, $catid, $params) { 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 = ContentHelperRoute::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, $parent, $params, $subnodes, $item) { static::checkMemory(); $collector->changeLevel(1); $i = 0; foreach ($subnodes as $subnode) { $i++; $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 */ protected static function prepareContent(&$text, Registry $params) { 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'); } } } joomla/joomla.xml000060400000026741151664164760010056 0ustar00<?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-2023 Joomlashack.com</copyright> <license>GNU GPL; see LICENSE file</license> <description>PLG_OSMAP_JOOMLA_PLUGIN_DESCRIPTION</description> <version>5.0.11</version> <creationDate>June 14 2023</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> com_weblinks/com_weblinks.xml000060400000011506151664164760012435 0ustar00<?xml version="1.0" encoding="iso-8859-1"?> <extension type="plugin" group="osmap" version="1.6" method="upgrade"> <name>OSMap - WebLinks Plugin</name> <author>Alledia</author> <creationDate>March 10 2016</creationDate> <copyright>Copyright (C) 2016 Open Source Training, LLC. All rights reserved. / Forked from XMap - Guillermo Vargas - guille@vargas.co.cr</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>support@alledia.com</authorEmail> <authorUrl>http://www.alledia.com</authorUrl> <version>3.3.0</version> <description>OSMAP_WL_PLUGIN_DESCRIPTION</description> <files> <filename plugin="com_weblinks">com_weblinks.php</filename> </files> <languages folder="language"> <!-- these files will be installed in the administrator/language folder. --> <language tag="en-GB">en-GB.plg_osmap_com_weblinks.ini</language> </languages> <config> <fields name="params"> <fieldset name="basic"> <field name="include_links" type="list" default="1" label="OSMAP_WL_SETTING_SHOW_LINKS_LABEL" description="OSMAP_WL_SETTING_SHOW_LINKS_DESC"> <option value="0">OSMAP_OPTION_NEVER</option> <option value="1">OSMAP_OPTION_ALWAYS</option> <option value="2">OSMAP_OPTION_XML_ONLY</option> <option value="3">OSMAP_OPTION_HTML_ONLY</option> </field> <field name="max_links" type="text" default="" label="OSMAP_WL_SETTING_MAX_LINKS_LABEL" description="OSMAP_WL_SETTING_MAX_LINKS_DESC" /> </fieldset> <fieldset name="xml"> <field name="cat_priority" type="list" default="-1" label="OSMAP_WL_CATEGORY_PRIORITY_LABEL" description="OSMAP_WL_CATEGORY_PRIORITY_DESC"> <option value="-1">OSMAP_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="OSMAP_WL_CATEGORY_CHANGEFREQ_LABEL" description="OSMAP_WL_CATEGORY_CHANGEFREQ_DESC"> <option value="-1">OSMAP_OPTION_USE_PARENT_MENU</option> <option value="always">OSMAP_OPTION_ALWAYS</option> <option value="hourly">OSMAP_OPTION_HOURLY</option> <option value="daily">OSMAP_OPTION_DAILY</option> <option value="weekly">OSMAP_OPTION_WEEKLY</option> <option value="monthly">OSMAP_OPTION_MONTHLY</option> <option value="yearly">OSMAP_OPTION_YEARLY</option> <option value="never">OSMAP_OPTION_NEVER</option> </field> <field name="link_priority" type="list" default="-1" label="OSMAP_WL_LINK_PRIORITY_LABEL" description="OSMAP_WL_LINK_PRIORITY_DESC"> <option value="-1">OSMAP_OPTION_USE_PARENT_MENU</option> <option value="0.0">0.0</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="link_changefreq" type="list" default="-1" label="OSMAP_WL_LINK_CHANGEFREQ_LABEL" description="OSMAP_WL_LINK_CHANGEFREQ_DESC"> <option value="-1">OSMAP_OPTION_USE_PARENT_MENU</option> <option value="always">OSMAP_OPTION_ALWAYS</option> <option value="hourly">OSMAP_OPTION_HOURLY</option> <option value="daily">OSMAP_OPTION_DAILY</option> <option value="weekly">OSMAP_OPTION_WEEKLY</option> <option value="monthly">OSMAP_OPTION_MONTHLY</option> <option value="yearly">OSMAP_OPTION_YEARLY</option> <option value="never">OSMAP_OPTION_NEVER</option> </field> </fieldset> </fields> </config> </extension> com_weblinks/com_weblinks.php000060400000020112151664164760012415 0ustar00<?php /** * @package OSMap * @copyright 2007-2014 XMap - Joomla! Vargas. All rights reserved. * @copyright 2016 Open Source Training, LLC. All rights reserved.. * @author Guillermo Vargas <guille@vargas.co.cr> * @author Alledia <support@alledia.com> * @license GNU General Public License version 2 or later; see LICENSE.txt * * 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 * 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 <http://www.gnu.org/licenses/>. */ defined('_JEXEC') or die('Restricted access'); class osmap_com_weblinks { private static $views = array('categories', 'category'); private static $enabled = null; private static $instance = null; public function __construct() { if (static::isEnabled()) { JLoader::register('WeblinksHelperRoute', JPATH_SITE . '/components/com_weblinks/helpers/route.php'); } } public static function getInstance() { if (empty(static::$instance)) { $instance = new self; static::$instance = $instance; } return static::$instance; } public function getTree($osmap, $parent, &$params) { $uri = new JUri($parent->link); if (!static::isEnabled() || !in_array($uri->getVar('view'), static::$views)) { return; } $params['groups'] = implode(',', JFactory::getUser()->getAuthorisedViewLevels()); $params['language_filter'] = JFactory::getApplication()->getLanguageFilter(); $params['include_links'] = JArrayHelper::getValue($params, 'include_links', 1); $params['include_links'] = ($params['include_links'] == 1 || ($params['include_links'] == 2 && $osmap->view == 'xml') || ($params['include_links'] == 3 && $osmap->view == 'html')); $params['show_unauth'] = JArrayHelper::getValue($params, 'show_unauth', 0); $params['show_unauth'] = ($params['show_unauth'] == 1 || ($params['show_unauth'] == 2 && $osmap->view == 'xml') || ($params['show_unauth'] == 3 && $osmap->view == 'html')); $params['category_priority'] = JArrayHelper::getValue($params, 'category_priority', $parent->priority); $params['category_changefreq'] = JArrayHelper::getValue($params, 'category_changefreq', $parent->changefreq); if ($params['category_priority'] == -1) { $params['category_priority'] = $parent->priority; } if ($params['category_changefreq'] == -1) { $params['category_changefreq'] = $parent->changefreq; } $params['link_priority'] = JArrayHelper::getValue($params, 'link_priority', $parent->priority); $params['link_changefreq'] = JArrayHelper::getValue($params, 'link_changefreq', $parent->changefreq); if ($params['link_priority'] == -1) { $params['link_priority'] = $parent->priority; } if ($params['link_changefreq'] == -1) { $params['link_changefreq'] = $parent->changefreq; } switch ($uri->getVar('view')) { case 'categories': static::getCategoryTree($osmap, $parent, $params, $uri->getVar('id')); break; case 'category': static::getlinks($osmap, $parent, $params, $uri->getVar('id')); break; } } private static function getCategoryTree(&$osmap, &$parent, &$params, $parent_id) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select(array('c.id', 'c.alias', 'c.title', 'c.parent_id, params, metadata')) ->from('#__categories AS c') ->where('c.parent_id = ' . $db->quote($parent_id ? $parent_id : 1)) ->where('c.extension = ' . $db->quote('com_weblinks')) ->where('c.published = 1') ->order('c.lft'); if (!$params['show_unauth']) { $query->where('c.access IN(' . $params['groups'] . ')'); } if ($params['language_filter']) { $query->where('c.language IN(' . $db->quote(JFactory::getLanguage()->getTag()) . ', ' . $db->quote('*') . ')'); } $db->setQuery($query); $rows = $db->loadObjectList(); if (empty($rows)) { return; } $osmap->changeLevel(1); foreach ($rows as $row) { if (OSMAP_LICENSE === 'pro') { $content = new Alledia\OSMap\Pro\Joomla\Item($row); if (!$content->isVisibleForRobots()) { continue; } } $node = new stdclass; $node->id = $parent->id; $node->name = $row->title; $node->uid = $parent->uid . '_cid_' . $row->id; $node->browserNav = $parent->browserNav; $node->priority = $params['category_priority']; $node->changefreq = $params['category_changefreq']; $node->pid = $row->parent_id; $node->link = WeblinksHelperRoute::getCategoryRoute($row->id); if ($osmap->printNode($node) !== false) { static::getlinks($osmap, $parent, $params, $row->id); } } $osmap->changeLevel(-1); } private static function getlinks(&$osmap, &$parent, &$params, $catid) { static::getCategoryTree($osmap, $parent, $params, $catid); if (!$params['include_links']) { return; } $db = JFactory::getDbo(); $now = JFactory::getDate('now', 'UTC')->toSql(); $query = $db->getQuery(true) ->select(array('w.id', 'w.alias', 'w.title', 'params', 'metadata')) ->from('#__weblinks AS w') ->where('w.catid = ' . $db->Quote($catid)) ->where('w.state = 1') ->where('(w.publish_up = ' . $db->quote($db->getNullDate()) . ' OR w.publish_up <= ' . $db->quote($now) . ')') ->where('(w.publish_down = ' . $db->quote($db->getNullDate()) . ' OR w.publish_down >= ' . $db->quote($now) . ')') ->order('w.ordering'); if (!$params['show_unauth']) { $query->where('w.access IN(' . $params['groups'] . ')'); } if ($params['language_filter']) { $query->where('w.language IN(' . $db->quote(JFactory::getLanguage()->getTag()) . ', ' . $db->quote('*') . ')'); } $db->setQuery($query); $rows = $db->loadObjectList(); if (empty($rows)) { return; } $osmap->changeLevel(1); foreach ($rows as $row) { if (OSMAP_LICENSE === 'pro') { $content = new Alledia\OSMap\Pro\Joomla\Item($row); if (!$content->isVisibleForRobots()) { continue; } } $node = new stdclass; $node->id = $parent->id; $node->name = $row->title; $node->uid = $parent->uid . '_' . $row->id; $node->browserNav = $parent->browserNav; $node->priority = $params['link_priority']; $node->changefreq = $params['link_changefreq']; $node->link = WeblinksHelperRoute::getWeblinkRoute($row->id . ':' . $row->alias, $catid); $osmap->printNode($node); } $osmap->changeLevel(-1); } protected static function isEnabled() { if (null === static::$enabled) { $db = JFactory::getDbo(); $db->setQuery('Select enabled From #__extensions Where name=' . $db->quote('com_weblinks')); static::$enabled = (bool)$db->loadResult(); } return static::$enabled; } } com_mtree/com_mtree.xml000060400000015631151664164760011234 0ustar00<?xml version="1.0" encoding="iso-8859-1"?> <extension type="plugin" group="osmap" version="1.6" method="upgrade"> <name>OSMap - Mosets Tree Plugin</name> <author>Alledia</author> <creationDate>March 10 2016</creationDate> <copyright>Copyright (C) 2016 Open Source Training, LLC. All rights reserved. / Forked from XMap - Guillermo Vargas - guille@vargas.co.cr</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>guille@vargas.co.cr</authorEmail> <authorUrl>joomla.vargas.co.cr</authorUrl> <version>3.3.0</version> <description>OSMAP_MTREE_PLUGIN_DESCRIPTION</description> <files> <filename plugin="com_mtree">com_mtree.php</filename> </files> <languages folder="language"> <!-- these files will be installed in the administrator/language folder. --> <language tag="en-GB">en-GB.plg_osmap_com_mtree.ini</language> </languages> <config> <fields name="params"> <fieldset name="basic"> <field name="cats_order" type="list" default="cat_name" label="OSMAP_SETTING_CATEGORIES_ORDER_LABEL" description="OSMAP_SETTING_CATEGORIES_ORDER_DESC"> <option value="ordering">OSMAP_SETTING_OPTION_ORDERING_DEFAULT</option> <option value="cat_name">OSMAP_SETTING_OPTION_ORDERING_NAME</option> <option value="cat_created">OSMAP_SETTING_OPTION_ORDERING_CREATED</option> </field> <field name="cats_orderdir" type="list" default="ASC" label="OSMAP_SETTING_CATEGORIES_ORDER_DIR_LABEL" description="OSMAP_SETTING_CATEGORIES_ORDER_DIR_DESC"> <option value="ASC">OSMAP_SETTING_OPTION_ORDERING_DIR_ASC</option> <option value="DESC">OSMAP_SETTING_OPTION_ORDERING_DIR_DESC</option> </field> <field name="include_links" type="list" default="1" label="OSMAP_SETTING_SHOW_LISTINGS_LABEL" description="OSMAP_SETTING_SHOW_LISTINGS_DESC"> <option value="0">OSMAP_OPTION_NEVER</option> <option value="1">OSMAP_OPTION_ALWAYS</option> <option value="2">OSMAP_OPTION_XML_ONLY</option> <option value="3">OSMAP_OPTION_HTML_ONLY</option> </field> <field name="links_order" type="list" default="ordering" label="OSMAP_SETTING_LISTINGS_ORDER_LABEL" description="OSMAP_SETTING_LISTINGS_ORDER_DESC"> <option value="ordering">OSMAP_SETTING_OPTION_ORDERING_DEFAULT</option> <option value="link_name">OSMAP_SETTING_OPTION_ORDERING_NAME</option> <option value="link_created">OSMAP_SETTING_OPTION_ORDERING_CREATED</option> <option value="link_modified">OSMAP_SETTING_OPTION_ORDERING_MODIFIED</option> <option value="link_hits">OSMAP_SETTING_OPTION_ORDERING_HITS</option> </field> <field name="entries_orderdir" type="list" default="ASC" label="OSMAP_SETTING_LISTINGS_ORDER_DIR_LABEL" description="OSMAP_SETTING_LISTINGS_ORDER_DIR_DESC"> <option value="ASC">OSMAP_SETTING_OPTION_ORDERING_DIR_ASC</option> <option value="DESC">OSMAP_SETTING_OPTION_ORDERING_DIR_DESC</option> </field> <field name="max_links" type="text" default="" label="OSMAP_SETTING_MAX_ENTRIES_LABEL" description="OSMAP_SETTING_MAX_ENTRIES_DESC" /> <field name="max_age" type="text" default="" label="OSMAP_SETTING_LISTINGS_NEWER_THAN_LABEL" description="OSMAP_SETTING_LISTINGS_NEWER_THAN_LABEL" /> </fieldset> <fieldset name="xml"> <field name="cat_priority" type="list" default="0.5" label="OSMAP_MTREE_CATEGORY_PRIORITY_LABEL" description="OSMAP_MTREE_CATEGORY_PRIORITY_DESC"> <option value="-1">OSMAP_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="weekly" label="OSMAP_MTREE_CATEGORY_CHANGEFREQ_LABEL" description="OSMAP_MTREE_CATEGORY_CHANGEFREQ_DESC"> <option value="-1">OSMAP_OPTION_USE_PARENT_MENU</option> <option value="always">OSMAP_OPTION_ALWAYS</option> <option value="hourly">OSMAP_OPTION_HOURLY</option> <option value="daily">OSMAP_OPTION_DAILY</option> <option value="weekly">OSMAP_OPTION_WEEKLY</option> <option value="monthly">OSMAP_OPTION_MONTHLY</option> <option value="yearly">OSMAP_OPTION_YEARLY</option> <option value="never">OSMAP_OPTION_NEVER</option> </field> <field name="link_priority" type="list" default="0.5" label="OSMAP_MTREE_LISTING_PRIORITY_LABEL" description="OSMAP_MTREE_LISTING_PRIORITY_DESC"> <option value="-1">OSMAP_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="link_changefreq" type="list" default="weekly" label="OSMAP_MTREE_LISTING_CHANGEFREQ_LABEL" description="OSMAP_MTREE_LISTING_CHANGEFREQ_DESC"> <option value="-1">OSMAP_OPTION_USE_PARENT_MENU</option> <option value="always">OSMAP_OPTION_ALWAYS</option> <option value="hourly">OSMAP_OPTION_HOURLY</option> <option value="daily">OSMAP_OPTION_DAILY</option> <option value="weekly">OSMAP_OPTION_WEEKLY</option> <option value="monthly">OSMAP_OPTION_MONTHLY</option> <option value="yearly">OSMAP_OPTION_YEARLY</option> <option value="never">OSMAP_OPTION_NEVER</option> </field> </fieldset> </fields> </config> </extension> com_mtree/com_mtree.php000060400000016167151664164760011230 0ustar00<?php /** * @package OSMap * @copyright 2007-2014 XMap - Joomla! Vargas. All rights reserved. * @copyright 2016 Open Source Training, LLC. All rights reserved.. * @author Guillermo Vargas <guille@vargas.co.cr> * @author Alledia <support@alledia.com> * @license GNU General Public License version 2 or later; see LICENSE.txt * * 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 * 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 <http://www.gnu.org/licenses/>. */ defined('_JEXEC') or die('Restricted access'); /** Handles Mosets Tree component */ class osmap_com_mtree { static function getTree( $osmap, $parent, &$params ) { // This component does not provide news content. don't waste time/resources if ($osmap->isNews) { return false; } $db = JFactory::getDbo(); $catid=0; if ( strpos($parent->link, 'task=listcats') ) { $link_query = parse_url( $parent->link ); parse_str( html_entity_decode($link_query['query']), $link_vars); $catid = JArrayHelper::getValue($link_vars,'cat_id',0); } $include_links = JArrayHelper::getValue($params,'include_links',1); $include_links = ( $include_links == 1 || ( $include_links == 2 && $osmap->view == 'xml') || ( $include_links == 3 && $osmap->view == 'html') || $osmap->view == 'navigator'); $params['include_links'] = $include_links; $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; $priority = JArrayHelper::getValue($params,'link_priority',$parent->priority); $changefreq = JArrayHelper::getValue($params,'link_changefreq',$parent->changefreq); if ($priority == '-1') $priority = $parent->priority; if ($changefreq == '-1') $changefreq = $parent->changefreq; $params['link_priority'] = $priority; $params['link_changefreq'] = $changefreq; $ordering = JArrayHelper::getValue($params,'cats_order','cat_name'); $orderdir = JArrayHelper::getValue($params,'cats_orderdir','ASC'); if ( !in_array($ordering,array('ordering','cat_name','cat_created')) ) $ordering = 'cat_name'; if ( !in_array($orderdir,array('ASC','DESC')) ){ $orderdir = 'ASC'; } $params['cats_order'] = $db->quoteName($ordering)." $orderdir"; if ( $include_links ) { $ordering = JArrayHelper::getValue($params,'links_order','ordering'); $orderdir = JArrayHelper::getValue($params,'links_orderdir','ASC'); if ( !in_array($ordering,array('ordering','link_name','link_modified','link_created','link_hits')) ) $ordering = 'ordering'; if ( !in_array($orderdir,array('ASC','DESC')) ){ $orderdir = 'ASC'; } $params['links_order'] = $db->quoteName($ordering)." $orderdir"; $params['limit'] = ''; $params['days'] = ''; $limit = JArrayHelper::getValue($params,'max_links',0); if ( intval($limit) ) $params['limit'] = ' LIMIT '.intval($limit); $days = JArrayHelper::getValue($params,'max_age',''); if ( intval($days) ) $params['days'] = ' AND a.link_created >=\''.date('Y-m-d H:i:s',($osmap->now - ($days*86400))) ."' "; } osmap_com_mtree::getMtreeCategory($osmap,$parent,$params,$catid); } /* Returns URLs of all Categories and links in of one category using recursion */ static function getMtreeCategory ($osmap, $parent, &$params, $catid ) { $database = JFactory::getDbo(); $query = "SELECT cat_name, cat_id ". "FROM #__mt_cats WHERE cat_published='1' AND cat_approved='1' AND cat_parent = $catid " . "ORDER BY " . $params['cats_order']; $database->setQuery($query); $rows = $database->loadObjectList(); $osmap->changeLevel(1); foreach($rows as $row) { $node = new stdclass; $node->name = $row->cat_name; $node->link = 'index.php?option=com_mtree&task=listcats&cat_id='.$row->cat_id.'&Itemid='.$parent->id; $node->id = $parent->id; $node->uid = $parent->uid .'c'.$row->cat_id; $node->browserNav = $parent->browserNav; $node->modified = NULL; $node->priority = $params['cat_priority']; $node->changefreq = $params['cat_changefreq']; $node->expandible = true; $node->secure = $parent->secure; if ( $osmap->printNode($node) !== FALSE) { osmap_com_mtree::getMtreeCategory($osmap,$parent,$params,$row->cat_id); } } /* Returns URLs of all listings in the current category */ if ($params['include_links']) { $query = " SELECT a.link_name, a.link_id, a.link_created as created, a.link_modified as modified \n". " FROM #__mt_links AS a, #__mt_cl as b \n". " WHERE a.link_id = b.link_id \n". " AND b.cat_id = $catid " . " AND ( link_published='1' AND link_approved='1' ) " . $params['days'] . " ORDER BY " . $params['links_order'] . $params['limit']; $database->setQuery($query); $rows = $database->loadObjectList(); foreach($rows as $row) { if ( !$row->modified || ($row->modified == $database->getNullDate())) { $row->modified = $row->created; } $node = new stdclass; $node->name = $row->link_name; $node->link = 'index.php?option=com_mtree&task=viewlink&link_id='.$row->link_id.'&Itemid='.$parent->id; $node->id = $parent->id; $node->uid = $parent->uid.'l'.$row->link_id; $node->browserNav = $parent->browserNav; $node->modified = $row->modified; $node->priority = $params['link_priority']; $node->changefreq = $params['link_changefreq']; $node->expandible = false; $node->secure = $parent->secure; $osmap->printNode($node); } } $osmap->changeLevel(-1); } }
/home/opticamezl/www/newok/07d6c/./.././api/../modules/mod_articles_category/.././../osmap.tar