Пример #1
0
 public function toApiArray(\Model_Product $model, $deep = true, $identity = null)
 {
     $repo = $model->getTable();
     $addons = $this->getAddonsApiArray($model);
     $config = $this->di['tools']->decodeJ($model->config, 1);
     $pricing = $repo->getPricingArray($model);
     $starting_from = $this->getStartingFromPrice($model);
     $result = array('id' => $model->id, 'product_category_id' => $model->product_category_id, 'type' => $model->type, 'title' => $model->title, 'form_id' => $model->form_id, 'slug' => $model->slug, 'description' => $model->description, 'unit' => $model->unit, 'priority' => $model->priority, 'created_at' => $model->created_at, 'updated_at' => $model->updated_at, 'pricing' => $pricing, 'config' => $config, 'addons' => $addons, 'price_starting_from' => $starting_from, 'icon_url' => $model->icon_url, 'allow_quantity_select' => $model->allow_quantity_select, 'quantity_in_stock' => $model->quantity_in_stock, 'stock_control' => $model->stock_control);
     if ($identity instanceof \Model_Admin) {
         $result['upgrades'] = $this->getUpgradablePairs($model);
         $result['status'] = $model->status;
         $result['hidden'] = $model->hidden;
         $result['setup'] = $model->setup;
         if ($model->product_category_id) {
             $productCategory = $this->di['db']->load('ProductCategory', $model->product_category_id);
             $result['category'] = array('id' => $productCategory->id, 'title' => $productCategory->title);
         }
     }
     return $result;
 }
Пример #2
0
 public function isPeriodEnabledForProduct(\Model_Product $model, $period)
 {
     $productTable = $model->getTable();
     $pricing = $productTable->getPricingArray($model);
     if ($pricing['type'] == \Model_ProductPayment::RECURRENT) {
         return (bool) $pricing['recurrent'][$period]['enabled'];
     }
     return true;
 }