Пример #1
0
 public function saveFormData($upc)
 {
     $db = $this->db();
     $new_rule = FormLib::get('price-rule-id', 0);
     $old_rule = FormLib::get('current-price-rule-id', 0);
     if ($new_rule != $old_rule) {
         $prod = new ProductsModel($db);
         $prod->upc(BarcodeLib::padUPC($upc));
         $prod->store_id(1);
         $rule = new PriceRulesModel($db);
         switch ($new_rule) {
             case 0:
                 // no custom rule
             // no custom rule
             case 1:
                 // generic variable pricing
                 /**
                   Update the product with the generic rule ID
                   If it was previously set to a custom rule,
                   that custom rule can be deleted
                 */
                 $prod->price_rule_id($new_rule);
                 if ($old_rule > 1) {
                     $rule->priceRuleID($old_rule);
                     $rule->delete();
                 }
                 break;
             default:
                 // custom rule
                 /**
                   If the product is already using a custom rule,
                   just update that rule record. Otherwise create
                   a new one.
                 */
                 $rule->reviewDate(FormLib::get('rule-review-date'));
                 $rule->details(FormLib::get('rule-details'));
                 $rule->priceRuleTypeID(FormLib::get('price-rule-type'));
                 if ($old_rule > 1) {
                     $rule->priceRuleID($old_rule);
                     $prod->price_rule_id($old_rule);
                     // just in case
                 } else {
                     $new_rule_id = $rule->save();
                     $prod->price_rule_id($new_rule_id);
                 }
         }
         $prod->save();
     }
     return true;
 }