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; }
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; }