%PDF- %PDF-
Direktori : /home/lightco1/luminero.com.au/administrator/components/com_cmc/helpers/ |
Current File : /home/lightco1/luminero.com.au/administrator/components/com_cmc/helpers/basic.php |
<?php /** * @package CMC * @author Compojoom <contact-us@compojoom.com> * @date 2016-04-15 * * @copyright Copyright (C) 2008 - 2016 compojoom.com - Daniel Dimitrov, Yves Hoppe. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); /** * Class CmcHelperBasic * * @since 1.0 */ class CmcHelperBasic { /** * The component list cache * * @var array * @since 1.1 */ protected static $components = array(); /** * Checks if the required settings are set * * @static * @return bool */ public static function checkRequiredSettings() { $params = JComponentHelper::getParams('com_cmc'); $api_key = $params->get("api_key", ''); $webhook = $params->get("webhooks_key", ''); if (!empty($api_key) && !empty($webhook)) { return true; } return false; } /** * Gets the lists * * @return mixed */ public static function getLists() { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('*') ->from('#__cmc_lists'); $db->setQuery($query); return $db->loadObjectList(); } /** * Unsubscribes a user from the mailchimp list * * @param object $user - the user object * * @throws Exception * * @return bool|string */ public static function unsubscribeList($user) { $api = new CmcHelperChimp; $api->listUnsubscribe($user->list_id, $user->email, true); if ($api->getLastError()) { $response = $api->getLastResponse(); throw new Exception(JTEXT::_("COM_CMC_UNSUBSCRIBE_FAILED") . ": " . $api->getLastError(), $response['headers']['http_code'] ); } return true; } /** * @param string $option * * @return bool || object */ public static function getComponent($option = 'com_cmc') { if (!isset(self::$components[$option])) { if (self::_load($option)) { $result = self::$components[$option]; } else { $result = false; } } else { $result = self::$components[$option]; } return $result; } /** * */ public static function footer() { $footer = '<p style="text-align: center; margin-top: 15px;" class="copyright"> '; $footer .= 'CMC - <a href="https://mailchimp.com/?pid=compojoom&source=website" target="_blank">Mailchimp</a>® integration for <a href="http://joomla.org" target="_blank">Joomla!™</a>'; $footer .= ' by <a href="https://compojoom.com">compojoom.com</a>'; $footer .= '</p>'; return $footer; } /** * TODO: with the next update figure out why are we doing that instead of using * JComponentHelper::getComponent ???? * * @param string $option - the component name * * @return mixed * * @since 1.0 */ private static function _load($option) { $db = JFactory::getDbo(); $query = $db->getQuery('true'); $query->select('*')->from('#__extensions'); $query->where($query->qn('type') . ' = ' . $db->quote('component')); $query->where($query->qn('element') . ' = ' . $db->quote($option)); $db->setQuery($query, 0, 1); self::$components[$option] = $db->loadObject(); // Convert the params to an object. if (is_string(self::$components[$option]->params)) { $temp = new JRegistry; $temp->loadString(self::$components[$option]->params); self::$components[$option]->params = $temp; } if (is_string(self::$components[$option]->manifest_cache)) { $temp = new JRegistry; $temp->loadString(self::$components[$option]->manifest_cache); self::$components[$option]->manifest_cache = $temp; } return self::$components[$option]; } /** * Generates the menu * * @return array */ public static function getMenu() { $menu = array( 'cpanel' => array( 'link' => 'index.php?option=com_cmc&view=cpanel', 'title' => 'COM_CMC_CPANEL', 'icon' => 'fa-dashboard', 'anchor' => '', 'children' => array(), 'label' => '', 'keywords' => 'dashboard home overview cpanel' ), 'lists' => array( 'link' => 'index.php?option=com_cmc&view=lists', 'title' => 'COM_CMC_LISTS', 'icon' => 'fa-list-alt', 'anchor' => '', 'children' => array(), 'label' => '', 'keywords' => 'lists' ), 'users' => array( 'link' => 'index.php?option=com_cmc&view=users', 'title' => 'COM_CMC_USERS', 'icon' => 'fa-users', 'anchor' => '', 'children' => array(), 'label' => '', 'keywords' => 'users' ), 'ecommerce' => array( 'link' => 'index.php?option=com_cmc&view=ecommerce', 'title' => 'COM_CMC_ECOMMERCE', 'icon' => 'fa-money', 'anchor' => '', 'children' => array(), 'label' => '', 'keywords' => 'ecommerce shop ecom' ), ); return $menu; } /** * Get the available lists as select * * @return JHtmlSelect * * @since __DEPLOY_VERSION__ */ public static function getListSelect() { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('mc_id as value, list_name as text') ->from('#__cmc_lists'); $db->setQuery($query); $lists = $db->loadObjectList(); if (empty($lists)) { return null; } return JHtml::_('select.genericlist', $lists, 'list_id', 'class="form-control"'); } }