| [ Index ] |
PHP Cross Reference of Joomla 2.5.4 DE |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Apr 3 11:40:28 2012 | Cross-referenced by PHPXref 0.7.1 |