public function performAddPriceObject() { $po = new ilPaymentPrices((int) $_GET['pobject_id']); switch ($_POST['price_type']) { case 'unlimited_duration': $po->setType(ilPaymentPrices::TYPE_UNLIMITED_DURATION); $po->setDuration(0); $po->setDurationFrom(NULL); $po->setDurationUntil(NULL); $po->setUnlimitedDuration(1); break; case 'duration_date': $po->setType(ilPaymentPrices::TYPE_DURATION_DATE); $po->setDuration(NULL); $po->setDurationFrom(ilUtil::stripSlashes($_POST['duration_date_from']['date']['y'] . '-' . $_POST['duration_date_from']['date']['m'] . '-' . $_POST['duration_date_from']['date']['d'])); $po->setDurationUntil(ilUtil::stripSlashes($_POST['duration_date_until']['date']['y'] . '-' . $_POST['duration_date_until']['date']['m'] . '-' . $_POST['duration_date_until']['date']['d'])); break; default: case 'duration_month': $po->setType(ilPaymentPrices::TYPE_DURATION_MONTH); $po->setDuration($_POST['duration_month']); $po->setDurationFrom(NULL); $po->setDurationUntil(NULL); break; } $po->setDescription($_POST['description'] ? ilUtil::stripSlashes($_POST['description']) : NULL); $po->setPrice(ilUtil::stripSlashes($_POST['price'])); // $po->setCurrency($currency[1]['currency_id']); if ($_POST['extension_price']) { $po->setExtension(1); } else { $po->setExtension(0); } try { $po->validate(); $po->add(); ilUtil::sendInfo($this->lng->txt('paya_added_new_price')); return $this->editPricesObject(); } catch (ilShopException $e) { ilUtil::sendInfo($e->getMessage()); return $this->addPriceObject(); } }