| Current Path : /home/wuectly/www/03cbe/ |
| Current File : /home/wuectly/www/03cbe/blog.php.tar |
home/wuectly/www/plugins/sampledata/blog/blog.php 0000604 00000076003 15245551621 0016177 0 ustar 00 <?php
/**
* @package Joomla.Plugin
* @subpackage Sampledata.Blog
*
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Session\Session;
/**
* Sampledata - Blog Plugin
*
* @since 3.8.0
*/
class PlgSampledataBlog extends JPlugin
{
/**
* Database object
*
* @var JDatabaseDriver
*
* @since 3.8.0
*/
protected $db;
/**
* Application object
*
* @var JApplicationCms
*
* @since 3.8.0
*/
protected $app;
/**
* Affects constructor behavior. If true, language files will be loaded automatically.
*
* @var boolean
*
* @since 3.8.0
*/
protected $autoloadLanguage = true;
/**
* Holds the menuitem model
*
* @var MenusModelItem
*
* @since 3.8.0
*/
private $menuItemModel;
/**
* Get an overview of the proposed sampledata.
*
* @return boolean True on success.
*
* @since 3.8.0
*/
public function onSampledataGetOverview()
{
if (!Factory::getUser()->authorise('core.create', 'com_content'))
{
return;
}
$data = new stdClass;
$data->name = $this->_name;
$data->title = JText::_('PLG_SAMPLEDATA_BLOG_OVERVIEW_TITLE');
$data->description = JText::_('PLG_SAMPLEDATA_BLOG_OVERVIEW_DESC');
$data->icon = 'broadcast';
$data->steps = 3;
return $data;
}
/**
* First step to enter the sampledata. Content.
*
* @return array or void Will be converted into the JSON response to the module.
*
* @since 3.8.0
*/
public function onAjaxSampledataApplyStep1()
{
if (!Session::checkToken('get') || $this->app->input->get('type') != $this->_name)
{
return;
};
if (!JComponentHelper::isEnabled('com_content') || !Factory::getUser()->authorise('core.create', 'com_content'))
{
$response = array();
$response['success'] = true;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_SKIPPED', 1, 'com_content');
return $response;
}
// Get some metadata.
$access = (int) $this->app->get('access', 1);
$user = JFactory::getUser();
// Detect language to be used.
$language = Multilanguage::isEnabled() ? JFactory::getLanguage()->getTag() : '*';
$langSuffix = ($language !== '*') ? ' (' . $language . ')' : '';
// Add Include Paths.
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/models/', 'ContentModel');
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/tables/');
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_categories/models/', 'CategoriesModel');
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_categories/tables/');
// Create "blog" category.
$categoryModel = JModelLegacy::getInstance('Category', 'CategoriesModel');
$catIds = array();
$categoryTitle = JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_CATEGORY_0_TITLE');
$alias = JApplicationHelper::stringURLSafe($categoryTitle);
// Set unicodeslugs if alias is empty
if (trim(str_replace('-', '', $alias) == ''))
{
$unicode = JFactory::getConfig()->set('unicodeslugs', 1);
$alias = JApplicationHelper::stringURLSafe($categoryTitle);
JFactory::getConfig()->set('unicodeslugs', $unicode);
}
$category = array(
'title' => $categoryTitle . $langSuffix,
'parent_id' => 1,
'id' => 0,
'published' => 1,
'access' => $access,
'created_user_id' => $user->id,
'extension' => 'com_content',
'level' => 1,
'alias' => $alias . $langSuffix,
'associations' => array(),
'description' => '',
'language' => $language,
'params' => '',
);
try
{
if (!$categoryModel->save($category))
{
throw new Exception($categoryModel->getError());
}
}
catch (Exception $e)
{
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 1, $e->getMessage());
return $response;
}
// Get ID from category we just added
$catIds[] = $categoryModel->getItem()->id;
// Create "help" category.
$categoryTitle = JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_CATEGORY_1_TITLE');
$alias = JApplicationHelper::stringURLSafe($categoryTitle);
// Set unicodeslugs if alias is empty
if (trim(str_replace('-', '', $alias) == ''))
{
$unicode = JFactory::getConfig()->set('unicodeslugs', 1);
$alias = JApplicationHelper::stringURLSafe($categoryTitle);
JFactory::getConfig()->set('unicodeslugs', $unicode);
}
$category = array(
'title' => $categoryTitle . $langSuffix,
'parent_id' => 1,
'id' => 0,
'published' => 1,
'access' => $access,
'created_user_id' => $user->id,
'extension' => 'com_content',
'level' => 1,
'alias' => $alias . $langSuffix,
'associations' => array(),
'description' => '',
'language' => $language,
'params' => '',
);
try
{
if (!$categoryModel->save($category))
{
throw new Exception($categoryModel->getError());
}
}
catch (Exception $e)
{
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 1, $e->getMessage());
return $response;
}
// Get ID from category we just added
$catIds[] = $categoryModel->getItem()->id;
// Create Articles.
$articleModel = JModelLegacy::getInstance('Article', 'ContentModel');
$articles = array(
array(
'catid' => $catIds[1],
'ordering' => 2,
),
array(
'catid' => $catIds[1],
'ordering' => 1,
'access' => 3,
),
array(
'catid' => $catIds[0],
'ordering' => 2,
),
array(
'catid' => $catIds[0],
'ordering' => 1,
),
array(
'catid' => $catIds[0],
'ordering' => 0,
),
array(
'catid' => $catIds[0],
'ordering' => 0,
),
);
foreach ($articles as $i => $article)
{
// Set values from language strings.
$title = JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_' . $i . '_TITLE');
$alias = JApplicationHelper::stringURLSafe($title);
$article['title'] = $title . $langSuffix;
$article['introtext'] = JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_' . $i . '_INTROTEXT');
$article['fulltext'] = JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_' . $i . '_FULLTEXT');
// Set values which are always the same.
$article['id'] = 0;
$article['created_user_id'] = $user->id;
$article['alias'] = JApplicationHelper::stringURLSafe($article['title']);
// Set unicodeslugs if alias is empty
if (trim(str_replace('-', '', $alias) == ''))
{
$unicode = JFactory::getConfig()->set('unicodeslugs', 1);
$article['alias'] = JApplicationHelper::stringURLSafe($article['title']);
JFactory::getConfig()->set('unicodeslugs', $unicode);
}
$article['language'] = $language;
$article['associations'] = array();
$article['state'] = 1;
$article['featured'] = 0;
$article['images'] = '';
$article['metakey'] = '';
$article['metadesc'] = '';
$article['xreference'] = '';
if (!isset($article['access']))
{
$article['access'] = $access;
}
if (!$articleModel->save($article))
{
JFactory::getLanguage()->load('com_content');
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 1, JText::_($articleModel->getError()));
return $response;
}
// Get ID from article we just added
$ids[] = $articleModel->getItem()->id;
}
$this->app->setUserState('sampledata.blog.articles', $ids);
$this->app->setUserState('sampledata.blog.articles.catids', $catIds);
$response = new stdClass;
$response->success = true;
$response->message = JText::_('PLG_SAMPLEDATA_BLOG_STEP1_SUCCESS');
return $response;
}
/**
* Second step to enter the sampledata. Menus.
*
* @return array or void Will be converted into the JSON response to the module.
*
* @since 3.8.0
*/
public function onAjaxSampledataApplyStep2()
{
if (!Session::checkToken('get') || $this->app->input->get('type') != $this->_name)
{
return;
}
if (!JComponentHelper::isEnabled('com_menus') || !Factory::getUser()->authorise('core.create', 'com_menus'))
{
$response = array();
$response['success'] = true;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_SKIPPED', 2, 'com_menus');
return $response;
}
// Detect language to be used.
$language = Multilanguage::isEnabled() ? JFactory::getLanguage()->getTag() : '*';
$langSuffix = ($language !== '*') ? ' (' . $language . ')' : '';
// Create the menu types.
$menuTable = JTable::getInstance('Type', 'JTableMenu');
$menuTypes = array();
for ($i = 0; $i <= 2; $i++)
{
$menu = array(
'id' => 0,
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_MENU_' . $i . '_TITLE') . $langSuffix,
'description' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_MENU_' . $i . '_DESCRIPTION'),
);
// Calculate menutype. The number of characters allowed is 24.
$type = JHtml::_('string.truncate', $menu['title'], 23, true, false);
$menu['menutype'] = $i . $type;
try
{
$menuTable->load();
$menuTable->bind($menu);
if (!$menuTable->check())
{
throw new Exception($menuTable->getError());
}
$menuTable->store();
}
catch (Exception $e)
{
JFactory::getLanguage()->load('com_menus');
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 2, $e->getMessage());
return $response;
}
$menuTypes[] = $menuTable->menutype;
}
// Storing IDs in UserState for later usage.
$this->app->setUserState('sampledata.blog.menutypes', $menuTypes);
// Get previously entered Data from UserStates.
$articleIds = $this->app->getUserState('sampledata.blog.articles');
// Get MenuItemModel.
JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php');
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_menus/models/', 'MenusModel');
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_menus/tables/');
$this->menuItemModel = JModelLegacy::getInstance('Item', 'MenusModel');
// Get previously entered categories ids
$catids = $this->app->getUserState('sampledata.blog.articles.catids');
// Insert menuitems level 1.
$menuItems = array(
array(
'menutype' => $menuTypes[0],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_0_TITLE'),
'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $catids[0],
'component_id' => 22,
'params' => array(
'layout_type' => 'blog',
'show_category_title' => 0,
'num_leading_articles' => 4,
'num_intro_articles' => 0,
'num_columns' => 1,
'num_links' => 2,
'multi_column_order' => 1,
'orderby_sec' => 'rdate',
'order_date' => 'published',
'show_pagination' => 2,
'show_pagination_results' => 1,
'show_category' => 0,
'info_bloc_position' => 0,
'show_publish_date' => 0,
'show_hits' => 0,
'show_feed_link' => 1,
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[0],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_1_TITLE'),
'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[0],
'component_id' => 22,
'params' => array(
'info_block_position' => 0,
'show_category' => 0,
'link_category' => 0,
'show_author' => 0,
'show_create_date' => 0,
'show_publish_date' => 0,
'show_hits' => 0,
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[0],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_2_TITLE'),
'link' => 'index.php?option=com_users&view=login',
'component_id' => 25,
'params' => array(
'logindescription_show' => 1,
'logoutdescription_show' => 1,
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_3_TITLE'),
'link' => 'index.php?option=com_content&view=form&layout=edit',
'component_id' => 22,
'access' => 3,
'params' => array(
'enable_category' => 1,
'catid' => $catids[0],
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_4_TITLE'),
'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[1],
'component_id' => 22,
'params' => array(
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_5_TITLE'),
'link' => 'administrator',
'type' => 'url',
'component_id' => 0,
'browserNav' => 1,
'access' => 3,
'params' => array(
'menu_text' => 1,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_6_TITLE'),
'link' => 'index.php?option=com_users&view=profile&layout=edit',
'component_id' => 25,
'access' => 2,
'params' => array(
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_7_TITLE'),
'link' => 'index.php?option=com_users&view=login',
'component_id' => 25,
'params' => array(
'logindescription_show' => 1,
'logoutdescription_show' => 1,
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
);
try
{
$menuIdsLevel1 = $this->addMenuItems($menuItems, 1);
}
catch (Exception $e)
{
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 2, $e->getMessage());
return $response;
}
// Insert another level 1.
$menuItems = array(
array(
'menutype' => $menuTypes[2],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_8_TITLE'),
'link' => 'index.php?option=com_users&view=login',
'component_id' => 25,
'params' => array(
'login_redirect_url' => 'index.php?Itemid=' . $menuIdsLevel1[0],
'logindescription_show' => 1,
'logoutdescription_show' => 1,
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
);
try
{
$menuIdsLevel1 = array_merge($menuIdsLevel1, $this->addMenuItems($menuItems, 1));
}
catch (Exception $e)
{
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 2, $e->getMessage());
return $response;
}
// Insert menuitems level 2.
$menuItems = array(
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_9_TITLE'),
'link' => 'index.php?option=com_config&view=config&controller=config.display.config',
'parent_id' => $menuIdsLevel1[4],
'component_id' => 23,
'access' => 6,
'params' => array(
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
array(
'menutype' => $menuTypes[1],
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MENUS_ITEM_10_TITLE'),
'link' => 'index.php?option=com_config&view=templates&controller=config.display.templates',
'parent_id' => $menuIdsLevel1[4],
'component_id' => 23,
'params' => array(
'menu_text' => 1,
'show_page_heading' => 0,
'secure' => 0,
),
),
);
try
{
$this->addMenuItems($menuItems, 2);
}
catch (Exception $e)
{
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 2, $e->getMessage());
return $response;
}
$response = array();
$response['success'] = true;
$response['message'] = JText::_('PLG_SAMPLEDATA_BLOG_STEP2_SUCCESS');
return $response;
}
/**
* Third step to enter the sampledata. Modules.
*
* @return array or void Will be converted into the JSON response to the module.
*
* @since 3.8.0
*/
public function onAjaxSampledataApplyStep3()
{
if (!Session::checkToken('get') || $this->app->input->get('type') != $this->_name)
{
return;
}
if (!JComponentHelper::isEnabled('com_modules') || !Factory::getUser()->authorise('core.create', 'com_modules'))
{
$response = array();
$response['success'] = true;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_SKIPPED', 3, 'com_modules');
return $response;
}
// Detect language to be used.
$language = Multilanguage::isEnabled() ? JFactory::getLanguage()->getTag() : '*';
$langSuffix = ($language !== '*') ? ' (' . $language . ')' : '';
// Add Include Paths.
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_modules/models/', 'ModulesModelModule');
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_modules/tables/');
$model = JModelLegacy::getInstance('Module', 'ModulesModel');
$access = (int) $this->app->get('access', 1);
// Get previously entered Data from UserStates
$menuTypes = $this->app->getUserState('sampledata.blog.menutypes');
$catids = $this->app->getUserState('sampledata.blog.articles.catids');
$modules = array(
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_0_TITLE'),
'ordering' => 1,
'position' => 'position-1',
'module' => 'mod_menu',
'showtitle' => 0,
'params' => array(
'menutype' => $menuTypes[0],
'startLevel' => 1,
'endLevel' => 0,
'showAllChildren' => 0,
'class_sfx' => ' nav-pills',
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'itemid',
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_1_TITLE'),
'ordering' => 1,
'position' => 'position-1',
'module' => 'mod_menu',
'access' => 3,
'showtitle' => 0,
'params' => array(
'menutype' => $menuTypes[1],
'startLevel' => 1,
'endLevel' => 0,
'showAllChildren' => 1,
'class_sfx' => ' nav-pills',
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'itemid',
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_2_TITLE'),
'ordering' => 6,
'position' => 'position-7',
'module' => 'mod_syndicate',
'showtitle' => 0,
'params' => array(
'display_text' => 1,
'text' => 'My Blog',
'format' => 'rss',
'layout' => '_:default',
'cache' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_3_TITLE'),
'ordering' => 4,
'position' => 'position-7',
'module' => 'mod_articles_archive',
'params' => array(
'count' => 10,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'static',
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_4_TITLE'),
'ordering' => 5,
'position' => 'position-7',
'module' => 'mod_articles_popular',
'params' => array(
'catid' => $catids[0],
'count' => 5,
'show_front' => 1,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'static',
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_5_TITLE'),
'ordering' => 2,
'position' => 'position-7',
'module' => 'mod_articles_category',
'params' => array(
'mode' => 'normal',
'show_on_article_page' => 0,
'show_front' => 'show',
'count' => 6,
'category_filtering_type' => 1,
'catid' => $catids[0],
'show_child_category_articles' => 0,
'levels' => 1,
'author_filtering_type' => 1,
'author_alias_filtering_type' => 1,
'date_filtering' => 'off',
'date_field' => 'a.created',
'relative_date' => 30,
'article_ordering' => 'a.created',
'article_ordering_direction' => 'DESC',
'article_grouping' => 'none',
'article_grouping_direction' => 'krsort',
'month_year_format' => 'F Y',
'item_heading' => 5,
'link_titles' => 1,
'show_date' => 0,
'show_date_field' => 'created',
'show_date_format' => JText::_('DATE_FORMAT_LC5'),
'show_category' => 0,
'show_hits' => 0,
'show_author' => 0,
'show_introtext' => 0,
'introtext_limit' => 100,
'show_readmore' => 0,
'show_readmore_title' => 1,
'readmore_limit' => 15,
'layout' => '_:default',
'owncache' => 1,
'cache_time' => 900,
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_6_TITLE'),
'ordering' => 1,
'position' => 'footer',
'module' => 'mod_menu',
'showtitle' => 0,
'params' => array(
'menutype' => $menuTypes[2],
'startLevel' => 1,
'endLevel' => 0,
'showAllChildren' => 0,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'itemid',
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_7_TITLE'),
'ordering' => 1,
'position' => 'position-0',
'module' => 'mod_search',
'params' => array(
'width' => 20,
'button_pos' => 'right',
'opensearch' => 1,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'itemid',
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_8_TITLE'),
'content' => '<p><img src="images/headers/raindrops.jpg" alt="" /></p>',
'ordering' => 1,
'position' => 'position-3',
'module' => 'mod_custom',
'showtitle' => 0,
'params' => array(
'prepare_content' => 1,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'static',
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_9_TITLE'),
'ordering' => 1,
'position' => 'position-7',
'module' => 'mod_tags_popular',
'params' => array(
'maximum' => 8,
'timeframe' => 'alltime',
'order_value' => 'count',
'order_direction' => 1,
'display_count' => 0,
'no_results_text' => 0,
'minsize' => 1,
'maxsize' => 2,
'layout' => '_:default',
'owncache' => 1,
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_10_TITLE'),
'ordering' => 0,
'position' => '',
'module' => 'mod_tags_similar',
'params' => array(
'maximum' => 5,
'matchtype' => 'any',
'layout' => '_:default',
'owncache' => 1,
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_11_TITLE'),
'ordering' => 4,
'position' => 'cpanel',
'module' => 'mod_stats_admin',
'access' => 6,
'client_id' => 1,
'params' => array(
'serverinfo' => 1,
'siteinfo' => 1,
'counter' => 0,
'increase' => 0,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'cachemode' => 'static',
'module_tag' => 'div',
'bootstrap_size' => 6,
'header_tag' => 'h3',
'style' => 0,
),
),
array(
'title' => JText::_('PLG_SAMPLEDATA_BLOG_SAMPLEDATA_MODULES_MODULE_12_TITLE'),
'ordering' => 1,
'position' => 'postinstall',
'module' => 'mod_feed',
'client_id' => 1,
'params' => array(
'rssurl' => 'https://www.joomla.org/announcements/release-news.feed',
'rssrtl' => 0,
'rsstitle' => 1,
'rssdesc' => 1,
'rssimage' => 1,
'rssitems' => 3,
'rssitemdesc' => 1,
'word_count' => 0,
'layout' => '_:default',
'cache' => 1,
'cache_time' => 900,
'module_tag' => 'div',
'bootstrap_size' => 0,
'header_tag' => 'h3',
'style' => 0,
),
),
);
foreach ($modules as $module)
{
// Append language suffix to title.
$module['title'] .= $langSuffix;
// Set values which are always the same.
$module['id'] = 0;
$module['asset_id'] = 0;
$module['language'] = $language;
$module['note'] = '';
$module['published'] = 1;
$module['assignment'] = 0;
if (!isset($module['content']))
{
$module['content'] = '';
}
if (!isset($module['access']))
{
$module['access'] = $access;
}
if (!isset($module['showtitle']))
{
$module['showtitle'] = 1;
}
if (!isset($module['client_id']))
{
$module['client_id'] = 0;
}
if (!$model->save($module))
{
JFactory::getLanguage()->load('com_modules');
$response = array();
$response['success'] = false;
$response['message'] = JText::sprintf('PLG_SAMPLEDATA_BLOG_STEP_FAILED', 3, JText::_($model->getError()));
return $response;
}
}
$response = array();
$response['success'] = true;
$response['message'] = JText::_('PLG_SAMPLEDATA_BLOG_STEP3_SUCCESS');
return $response;
}
/**
* Adds menuitems.
*
* @param array $menuItems Array holding the menuitems arrays.
* @param integer $level Level in the category tree.
*
* @return array IDs of the inserted menuitems.
*
* @since 3.8.0
*
* @throws Exception
*/
private function addMenuItems(array $menuItems, $level)
{
$itemIds = array();
$access = (int) $this->app->get('access', 1);
$user = JFactory::getUser();
// Detect language to be used.
$language = Multilanguage::isEnabled() ? JFactory::getLanguage()->getTag() : '*';
$langSuffix = ($language !== '*') ? ' (' . $language . ')' : '';
foreach ($menuItems as $menuItem)
{
// Reset item.id in model state.
$this->menuItemModel->setState('item.id', 0);
// Set values which are always the same.
$menuItem['id'] = 0;
$menuItem['created_user_id'] = $user->id;
$menuItem['alias'] = JApplicationHelper::stringURLSafe($menuItem['title']);
// Set unicodeslugs if alias is empty
if (trim(str_replace('-', '', $menuItem['alias']) == ''))
{
$unicode = JFactory::getConfig()->set('unicodeslugs', 1);
$menuItem['alias'] = JApplicationHelper::stringURLSafe($menuItem['title']);
JFactory::getConfig()->set('unicodeslugs', $unicode);
}
// Append language suffix to title.
$menuItem['title'] .= $langSuffix;
$menuItem['published'] = 1;
$menuItem['language'] = $language;
$menuItem['note'] = '';
$menuItem['img'] = '';
$menuItem['associations'] = array();
$menuItem['client_id'] = 0;
$menuItem['level'] = $level;
$menuItem['home'] = 0;
// Set browserNav to default if not set
if (!isset($menuItem['browserNav']))
{
$menuItem['browserNav'] = 0;
}
// Set access to default if not set
if (!isset($menuItem['access']))
{
$menuItem['access'] = $access;
}
// Set type to 'component' if not set
if (!isset($menuItem['type']))
{
$menuItem['type'] = 'component';
}
// Set template_style_id to global if not set
if (!isset($menuItem['template_style_id']))
{
$menuItem['template_style_id'] = 0;
}
// Set parent_id to root (1) if not set
if (!isset($menuItem['parent_id']))
{
$menuItem['parent_id'] = 1;
}
if (!$this->menuItemModel->save($menuItem))
{
// Try two times with another alias (-1 and -2).
$menuItem['alias'] .= '-1';
if (!$this->menuItemModel->save($menuItem))
{
$menuItem['alias'] = substr_replace($menuItem['alias'], '2', -1);
if (!$this->menuItemModel->save($menuItem))
{
throw new Exception($menuItem['title'] . ' => ' . $menuItem['alias'] . ' : ' . $this->menuItemModel->getError());
}
}
}
// Get ID from menuitem we just added
$itemIds[] = $this->menuItemModel->getstate('item.id');
}
return $itemIds;
}
}
home/wuectly/www/components/com_content/views/category/tmpl/blog.php 0000604 00000013331 15245673553 0022107 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_content
*
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
JHtml::_('behavior.caption');
$dispatcher = JEventDispatcher::getInstance();
$this->category->text = $this->category->description;
$dispatcher->trigger('onContentPrepare', array($this->category->extension . '.categories', &$this->category, &$this->params, 0));
$this->category->description = $this->category->text;
$results = $dispatcher->trigger('onContentAfterTitle', array($this->category->extension . '.categories', &$this->category, &$this->params, 0));
$afterDisplayTitle = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentBeforeDisplay', array($this->category->extension . '.categories', &$this->category, &$this->params, 0));
$beforeDisplayContent = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentAfterDisplay', array($this->category->extension . '.categories', &$this->category, &$this->params, 0));
$afterDisplayContent = trim(implode("\n", $results));
?>
<div class="blog<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="https://schema.org/Blog">
<?php if ($this->params->get('show_page_heading')) : ?>
<div class="page-header">
<h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1>
</div>
<?php endif; ?>
<?php if ($this->params->get('show_category_title', 1) or $this->params->get('page_subheading')) : ?>
<h2> <?php echo $this->escape($this->params->get('page_subheading')); ?>
<?php if ($this->params->get('show_category_title')) : ?>
<span class="subheading-category"><?php echo $this->category->title; ?></span>
<?php endif; ?>
</h2>
<?php endif; ?>
<?php echo $afterDisplayTitle; ?>
<?php if ($this->params->get('show_cat_tags', 1) && !empty($this->category->tags->itemTags)) : ?>
<?php $this->category->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
<?php echo $this->category->tagLayout->render($this->category->tags->itemTags); ?>
<?php endif; ?>
<?php if ($beforeDisplayContent || $afterDisplayContent || $this->params->get('show_description', 1) || $this->params->def('show_description_image', 1)) : ?>
<div class="category-desc clearfix">
<?php if ($this->params->get('show_description_image') && $this->category->getParams()->get('image')) : ?>
<img src="<?php echo $this->category->getParams()->get('image'); ?>" alt="<?php echo htmlspecialchars($this->category->getParams()->get('image_alt'), ENT_COMPAT, 'UTF-8'); ?>"/>
<?php endif; ?>
<?php echo $beforeDisplayContent; ?>
<?php if ($this->params->get('show_description') && $this->category->description) : ?>
<?php echo JHtml::_('content.prepare', $this->category->description, '', 'com_content.category'); ?>
<?php endif; ?>
<?php echo $afterDisplayContent; ?>
</div>
<?php endif; ?>
<?php if (empty($this->lead_items) && empty($this->link_items) && empty($this->intro_items)) : ?>
<?php if ($this->params->get('show_no_articles', 1)) : ?>
<p><?php echo JText::_('COM_CONTENT_NO_ARTICLES'); ?></p>
<?php endif; ?>
<?php endif; ?>
<?php $leadingcount = 0; ?>
<?php if (!empty($this->lead_items)) : ?>
<div class="items-leading clearfix">
<?php foreach ($this->lead_items as &$item) : ?>
<div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<?php
$this->item = &$item;
echo $this->loadTemplate('item');
?>
</div>
<?php $leadingcount++; ?>
<?php endforeach; ?>
</div><!-- end items-leading -->
<?php endif; ?>
<?php
$introcount = count($this->intro_items);
$counter = 0;
?>
<?php if (!empty($this->intro_items)) : ?>
<?php foreach ($this->intro_items as $key => &$item) : ?>
<?php $rowcount = ((int) $key % (int) $this->columns) + 1; ?>
<?php if ($rowcount === 1) : ?>
<?php $row = $counter / $this->columns; ?>
<div class="items-row cols-<?php echo (int) $this->columns; ?> <?php echo 'row-' . $row; ?> row-fluid clearfix">
<?php endif; ?>
<div class="span<?php echo round(12 / $this->columns); ?>">
<div class="item column-<?php echo $rowcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<?php
$this->item = &$item;
echo $this->loadTemplate('item');
?>
</div>
<!-- end item -->
<?php $counter++; ?>
</div><!-- end span -->
<?php if (($rowcount == $this->columns) or ($counter == $introcount)) : ?>
</div><!-- end row -->
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
<?php if (!empty($this->link_items)) : ?>
<div class="items-more">
<?php echo $this->loadTemplate('links'); ?>
</div>
<?php endif; ?>
<?php if ($this->maxLevel != 0 && !empty($this->children[$this->category->id])) : ?>
<div class="cat-children">
<?php if ($this->params->get('show_category_heading_title_text', 1) == 1) : ?>
<h3> <?php echo JText::_('JGLOBAL_SUBCATEGORIES'); ?> </h3>
<?php endif; ?>
<?php echo $this->loadTemplate('children'); ?> </div>
<?php endif; ?>
<?php if (($this->params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> </p>
<?php endif; ?>
<?php echo $this->pagination->getPagesLinks(); ?> </div>
<?php endif; ?>
</div>