[ Index ]

PHP Cross Reference of Joomla 2.5.4 DE

title

Body

[close]

/administrator/components/com_banners/helpers/ -> banners.php (source)

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


Generated: Tue Apr 3 11:40:28 2012 Cross-referenced by PHPXref 0.7.1