Source for file banners.php

Documentation is available at banners.php

  1. <?php
  2. /**
  3.  * @package     Joomla.Administrator
  4.  * @subpackage  com_banners
  5.  *
  6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
  7.  * @license     GNU General Public License version 2 or later; see LICENSE.txt
  8.  */
  9.  
  10. defined('_JEXEC'or die;
  11.  
  12. /**
  13.  * Banners component helper.
  14.  *
  15.  * @package     Joomla.Administrator
  16.  * @subpackage  com_banners
  17.  * @since       1.6
  18.  */
  19. class BannersHelper extends JHelperContent
  20. {
  21.     /**
  22.      * Configure the Linkbar.
  23.      *
  24.      * @param   string    The name of the active view.
  25.      *
  26.      * @return  void 
  27.      * @since   1.6
  28.      */
  29.     public static function addSubmenu($vName)
  30.     {
  31.         JHtmlSidebar::addEntry(
  32.             JText::_('COM_BANNERS_SUBMENU_BANNERS'),
  33.             'index.php?option=com_banners&view=banners',
  34.             $vName == 'banners'
  35.         );
  36.  
  37.         JHtmlSidebar::addEntry(
  38.             JText::_('COM_BANNERS_SUBMENU_CATEGORIES'),
  39.             'index.php?option=com_categories&extension=com_banners',
  40.             $vName == 'categories'
  41.         );
  42.  
  43.         JHtmlSidebar::addEntry(
  44.             JText::_('COM_BANNERS_SUBMENU_CLIENTS'),
  45.             'index.php?option=com_banners&view=clients',
  46.             $vName == 'clients'
  47.         );
  48.  
  49.         JHtmlSidebar::addEntry(
  50.             JText::_('COM_BANNERS_SUBMENU_TRACKS'),
  51.             'index.php?option=com_banners&view=tracks',
  52.             $vName == 'tracks'
  53.         );
  54.     }
  55.  
  56.     /**
  57.      * @return  boolean 
  58.      * @since   1.6
  59.      */
  60.     public static function updateReset()
  61.     {
  62.         $user JFactory::getUser();
  63.         $db JFactory::getDbo();
  64.         $nullDate $db->getNullDate();
  65.         $now JFactory::getDate();
  66.         $query $db->getQuery(true)
  67.             ->select('*')
  68.             ->from('#__banners')
  69.             ->where($db->quote($now' >= ' $db->quote('reset'))
  70.             ->where($db->quoteName('reset'' != ' $db->quote($nullDate' AND ' $db->quoteName('reset''!=NULL')
  71.             ->where('(' $db->quoteName('checked_out'' = 0 OR ' $db->quoteName('checked_out'' = ' . (int) $db->quote($user->id')');
  72.         $db->setQuery($query);
  73.  
  74.         try
  75.         {
  76.             $rows $db->loadObjectList();
  77.         }
  78.         catch (RuntimeException $e)
  79.         {
  80.             JError::raiseWarning(500$e->getMessage());
  81.             return false;
  82.         }
  83.  
  84.         JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR '/tables');
  85.  
  86.         foreach ($rows as $row)
  87.         {
  88.             $purchase_type $row->purchase_type;
  89.  
  90.             if ($purchase_type && $row->cid)
  91.             {
  92.                 $client JTable::getInstance('Client''BannersTable');
  93.                 $client->load($row->cid);
  94.                 $purchase_type $client->purchase_type;
  95.             }
  96.  
  97.             if ($purchase_type 0)
  98.             {
  99.                 $params JComponentHelper::getParams('com_banners');
  100.                 $purchase_type $params->get('purchase_type');
  101.             }
  102.  
  103.             switch($purchase_type)
  104.             {
  105.                 case 1:
  106.                     $reset $nullDate;
  107.                     break;
  108.                 case 2:
  109.                     $date JFactory::getDate('+1 year '.date('Y-m-d'strtotime('now')));
  110.                     $reset $db->quote($date->toSql());
  111.                     break;
  112.                 case 3:
  113.                     $date JFactory::getDate('+1 month '.date('Y-m-d'strtotime('now')));
  114.                     $reset $db->quote($date->toSql());
  115.                     break;
  116.                 case 4:
  117.                     $date JFactory::getDate('+7 day '.date('Y-m-d'strtotime('now')));
  118.                     $reset $db->quote($date->toSql());
  119.                     break;
  120.                 case 5:
  121.                     $date JFactory::getDate('+1 day '.date('Y-m-d'strtotime('now')));
  122.                     $reset $db->quote($date->toSql());
  123.                     break;
  124.             }
  125.  
  126.             // Update the row ordering field.
  127.             $query->clear()
  128.                 ->update($db->quoteName('#__banners'))
  129.                 ->set($db->quoteName('reset'' = ' $db->quote($reset))
  130.                 ->set($db->quoteName('impmade'' = ' $db->quote(0))
  131.                 ->set($db->quoteName('clicks'' = ' $db->quote(0))
  132.                 ->where($db->quoteName('id'' = ' $db->quote($row->id));
  133.             $db->setQuery($query);
  134.  
  135.             try
  136.             {
  137.                 $db->execute();
  138.             }
  139.             catch (RuntimeException $e)
  140.             {
  141.                 JError::raiseWarning(500$db->getMessage());
  142.                 return false;
  143.             }
  144.         }
  145.  
  146.         return true;
  147.     }
  148.  
  149.     public static function getClientOptions()
  150.     {
  151.         $options array();
  152.  
  153.         $db JFactory::getDbo();
  154.         $query $db->getQuery(true)
  155.             ->select('id As value, name As text')
  156.             ->from('#__banner_clients AS a')
  157.             ->order('a.name');
  158.  
  159.         // Get the options.
  160.         $db->setQuery($query);
  161.  
  162.         try
  163.         {
  164.             $options $db->loadObjectList();
  165.         }
  166.         catch (RuntimeException $e)
  167.         {
  168.             JError::raiseWarning(500$e->getMessage());
  169.         }
  170.  
  171.         // Merge any additional options in the XML definition.
  172.         //$options = array_merge(parent::getOptions(), $options);
  173.  
  174.         array_unshift($optionsJHtml::_('select.option''0'JText::_('COM_BANNERS_NO_CLIENT')));
  175.  
  176.         return $options;
  177.     }
  178. }

Documentation generated on Tue, 19 Nov 2013 14:54:23 +0100 by phpDocumentor 1.4.3