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