/** * overwritten method from baseclass * @param mixed $node * @return bool */ function isNodeClickable($node) { global $ilUser; switch ($node['type']) { case 'lm': case 'crs': case 'tst': case 'sahs': case 'file': case 'htlm': case 'exc': case 'glo': break; default: return false; } if ($this->classname == 'ilpaymentstatisticgui') { if (ilPaymentObject::_isPurchasable($node['ref_id'], $ilUser->getId(), true)) { return true; } } else { if ($this->classname == 'ilobjpaymentsettingsgui') { if (ilPaymentObject::_isPurchasable($node['ref_id'])) { return true; } } else { if ($this->classname == 'ilpaymentobjectgui') { // object doesn't exist in payment_object if (ilPaymentObject::_isNewObject($node['ref_id'])) { return true; } } else { if (ilPaymentObject::_isPurchasable($node['ref_id'])) { return true; } } } } return false; }
public function addObject() { if (!$_GET['sell_id']) { ilUtil::sendInfo($this->lng->txt('paya_no_object_selected')); return $this->showObjectSelector(); } if (!(int) $_POST['vendor']) { ilUtil::sendInfo($this->lng->txt('paya_no_vendor_selected')); return $this->showSelectedObject(); } include_once 'Services/Payment/classes/class.ilPaymentObject.php'; $p_obj = new ilPaymentObject($this->user_obj); if ($check_subtypes = ilPaymentObject::_checkExcSubtype($_GET['sell_id'])) { if (!in_array('download', $check_subtypes)) { $p_obj->setSubtype('download'); } else { if (!in_array('upload', $check_subtypes)) { $p_obj->setSubtype('upload'); } } } else { if (ilPaymentObject::_isPurchasable($_GET['sell_id'])) { // means that current object already exits in payment_objects _table ... ilUtil::sendInfo($this->lng->txt('paya_object_not_purchasable')); return $this->showObjectSelector(); } } $p_obj->setRefId((int) $_GET['sell_id']); $p_obj->setStatus($p_obj->STATUS_NOT_BUYABLE); $p_obj->setPayMethod($p_obj->PAY_METHOD_NOT_SPECIFIED); $p_obj->setVendorId((int) $_POST['vendor']); $p_obj->setTopicId((int) $_POST['topic_id']); $p_obj->setVatId((int) $_POST['vat_id']); $new_id = $p_obj->add(); if ($new_id) { ilUtil::sendInfo($this->lng->txt('paya_added_new_object')); $_GET['pobject_id'] = $new_id; $this->editPrices(); return true; } else { ilUtil::sendInfo($this->lng->txt('paya_err_adding_object')); return $this->showObjects(); } }