%PDF- %PDF-
Direktori : /home1/lightco1/www/ilfanale.com.au/administrator/components/com_pagebuilder/helpers/ |
Current File : //home1/lightco1/www/ilfanale.com.au/administrator/components/com_pagebuilder/helpers/articles.php |
<?php /** * @version $Id$ * @package JSN_PageBuilder * @author JoomlaShine Team <support@joomlashine.com> * @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved. * @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html * * Websites: http://www.joomlashine.com * Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html */ // No direct access to this file. defined('_JEXEC') || die('Restricted access'); /** * Helper Article for JSN Pagebuilder * * @package JSN_PageBuilder * @since 1.0.0 */ class JSNPagebuilderHelpersArticles { /** * @return mixed */ public static function updateArticleUsedPageBuilderToPlugin(){ //get Last Article ID $db = JFactory::getDbo(); $limit = 6; $article = array(); $articles = self::getArticleUsedPB($article); // if(!count($articles)) return false; $query = $db->getQuery(true); $query->clear(); $query->select('*'); $query->from($db->quoteName('#__extensions')); $query->where($db->quoteName('type') .' = '. $db->quote('plugin') .' AND '. $db->quoteName('folder') .' = '. $db->quote('system') .' AND '. $db->quoteName('element') .' = '. $db->quote('pagebuilder')); $db->setQuery($query); $item = $db->loadObject(); if($item != null){ if($item->params != ''){ $params = json_decode($item->params, true); $params ['articles'] = $articles; }else{ $params = array(); $params['articles'] = $articles; } //Check total article used pagebuilder if < $limit -> coninues update parameter $count_article = count($params['articles']); if ($count_article < $limit) { $default = json_encode($params); $query = $db->getQuery(true); $query->clear(); $query->update($db->quoteName('#__extensions')); $query->set($db->quoteName('params') . ' = ' . $db->quote($default)); $query->where($db->quoteName('type') . ' = ' . $db->quote('plugin') . ' AND ' . $db->quoteName('folder') . ' = ' . $db->quote('system') . ' AND ' . $db->quoteName('element') . ' = ' . $db->quote('pagebuilder')); $db->setQuery($query); return $db->execute(); } } } /** * @return mixed */ public static function getArticleUsedPB(){ $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('id'); $query->from($db->quoteName('#__content')); $query->where($db->quoteName('introtext') .' LIKE '. $db->quote('%pb_row%') . ' AND ( ' .$db->quoteName('state') .' = ' . $db->quote('1') . ' OR ' . $db->quoteName('state') . ' = ' . $db->quote('0') . ')'); $db->setQuery($query); $article = $db->loadRowList(); return $article; } public static function buildQuery(){ $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->clear(); $query->select('*'); $query->from($db->quoteName('#__extensions')); $query->where($db->quoteName('type') .' = '. $db->quote('plugin') .' AND '. $db->quoteName('folder') .' = '. $db->quote('system') .' AND '. $db->quoteName('element') .' = '. $db->quote('pagebuilder')); $db->setQuery($query); $item = $db->loadObject(); return $item; } public static function getListArticleUedPagebuilderFromPlugin(){ $item = self::buildQuery(); $articleFromPlugin = array(); $params = json_decode($item->params, true); if(isset($params['articles'])) { $articles = $params['articles']; foreach ($articles as $article) { $implodeArticle = implode($article); $articleFromPlugin[] = $implodeArticle; } $listArticleId = join($articleFromPlugin, ','); }else{ $listArticleId = 0; } return $listArticleId; } /** * @return mixed */ public static function getCountArticleUsedPageBuilderFromPlugin(){ $item = self::buildQuery(); $params = json_decode($item->params, true); if(isset($params['articles'])) { $countArticle = count($params['articles']); }else{ $countArticle = 0; } return $countArticle; } }