1 : <?php
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 1 : class PromoCodes extends BasePromoCodes {
14 :
15 : public static function findWhereCodeIn($codes) {
16 1 : $reg = Doctrine_Core::getTable('PromoCodes')
17 1 : ->createQuery()
18 1 : ->whereIn($codes)
19 1 : ->execute();
20 1 : }
21 :
22 : public static function calculatePromos($price, $promos) {
23 1 : $codes = explode(', ', $promos);
24 1 : $results = PromoCodes::findWhereCodeIn($codes);
25 1 : foreach ($results as $result) {
26 0 : if ($result->isActive) {
27 0 : if (strpos($result->action, '+')) {
28 0 : $price = $price + preg_replace("/[^0-9\.]/", '', $result->action);
29 0 : } elseif (strpos($result->action, '-')) {
30 0 : $price = $price - preg_replace("/[^0-9\.]/", '', $result->action);
31 0 : } else {
32 0 : $price = $result->action;
33 0 : break;
34 : }
35 0 : }
36 0 : }
37 0 : return $price;
38 : }
39 :
|