//php version compatibility fix

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15345 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
vAugagneur
2012-05-16 14:16:20 +00:00
parent 92e91afc01
commit ab5affbb09
4 changed files with 85 additions and 90 deletions
+43 -5
View File
@@ -25,11 +25,12 @@
* International Registered Trademark & Property of PrestaShop SA
*/
class RangePriceCore extends Range
class RangePriceCore extends ObjectModel
{
protected static $range_table = 'range_price';
protected static $range_identifier = 'id_range_price';
public $id_carrier;
public $delimiter1;
public $delimiter2;
/**
* @see ObjectModel::$definition
*/
@@ -69,7 +70,7 @@ class RangePriceCore extends Range
foreach ($carrier->getZones() as $zone)
$price_list[] = array(
'id_range_price' => (int)$this->id,
'id_range_weight' => 0,
'id_price_weight' => 0,
'id_carrier' => (int)$this->id_carrier,
'id_zone' => (int)$zone['id_zone'],
'price' => 0,
@@ -78,4 +79,41 @@ class RangePriceCore extends Range
return true;
}
/**
* Get all available price ranges
*
* @return array Ranges
*/
public static function getRanges($id_carrier)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'range_price`
WHERE `id_carrier` = '.(int)$id_carrier.'
ORDER BY `delimiter1` ASC');
}
public static function rangeExist($id_carrier, $delimiter1, $delimiter2)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT count(*)
FROM `'._DB_PREFIX_.'range_price`
WHERE `id_carrier` = '.(int)$id_carrier.'
AND `delimiter1` = '.(float)$delimiter1.' AND `delimiter2`='.(float)$delimiter2);
}
public static function isOverlapping($id_carrier, $delimiter1, $delimiter2, $id_rang = null)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT count(*)
FROM `'._DB_PREFIX_.'range_price`
WHERE `id_carrier` = '.(int)$id_carrier.'
AND ((`delimiter1` >= '.(float)$delimiter1.' AND `delimiter1` < '.(float)$delimiter2.')
OR (`delimiter2` > '.(float)$delimiter1.' AND `delimiter2` < '.(float)$delimiter2.')
OR ('.(float)$delimiter1.' > `delimiter1` AND '.(float)$delimiter1.' < `delimiter2`)
OR ('.(float)$delimiter2.' < `delimiter1` AND '.(float)$delimiter2.' > `delimiter2`)
)
'.(!is_null($id_rang) ? ' AND `id_range_price` != '.(int)$id_rang : ''));
}
}