public function statisticObject()
 {
     global $rbacsystem, $ilToolbar, $ilObjDataCache;
     include_once './Services/Payment/classes/class.ilPayMethods.php';
     // MINIMUM ACCESS LEVEL = 'read'
     if (!$rbacsystem->checkAccess('read', $this->object->getRefId())) {
         $this->ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $this->ilErr->MESSAGE);
     }
     $ilToolbar->addButton($this->lng->txt('paya_add_customer'), $this->ctrl->getLinkTarget($this, 'showObjectSelector'));
     if ($_POST['updateView'] == 1) {
         $_SESSION['pay_statistics']['show_filter'] = $_POST['show_filter'];
         $_SESSION['pay_statistics']['updateView'] = true;
         $_SESSION['pay_statistics']['until_check'] = $_POST['until_check'];
         $_SESSION['pay_statistics']['from_check'] = $_POST['from_check'];
         $_SESSION['pay_statistics']['transaction_type'] = isset($_POST['transaction_type']) ? $_POST['transaction_type'] : '';
         $_SESSION['pay_statistics']['transaction_value'] = isset($_POST['transaction_value']) ? $_POST['transaction_value'] : '';
         $_SESSION['pay_statistics']['adm_filter_title_id'] = (int) $_POST['adm_filter_title_id'];
         if ($_SESSION['pay_statistics']['from_check'] == '1') {
             $_SESSION['pay_statistics']['from']['date']['d'] = $_POST['from']['date']['d'];
             $_SESSION['pay_statistics']['from']['date']['m'] = $_POST['from']['date']['m'];
             $_SESSION['pay_statistics']['from']['date']['y'] = $_POST['from']['date']['y'];
         } else {
             $_SESSION['pay_statistics']['from']['date']['d'] = '';
             $_SESSION['pay_statistics']['from']['date']['m'] = '';
             $_SESSION['pay_statistics']['from']['date']['y'] = '';
         }
         if ($_SESSION['pay_statistics']['until_check'] == '1') {
             $_SESSION['pay_statistics']['til']['date']['d'] = $_POST['til']['date']['d'];
             $_SESSION['pay_statistics']['til']['date']['m'] = $_POST['til']['date']['m'];
             $_SESSION['pay_statistics']['til']['date']['y'] = $_POST['til']['date']['y'];
         } else {
             $_SESSION['pay_statistics']['til']['date']['d'] = '';
             $_SESSION['pay_statistics']['til']['date']['m'] = '';
             $_SESSION['pay_statistics']['til']['date']['y'] = '';
         }
         $_SESSION['pay_statistics']['payed'] = $_POST['payed'];
         $_SESSION['pay_statistics']['access'] = $_POST['access'];
         $_SESSION['pay_statistics']['pay_method'] = $_POST['pay_method'];
         $_SESSION['pay_statistics']['customer'] = isset($_POST['customer']) ? $_POST['customer'] : '';
         $_SESSION['pay_statistics']['vendor'] = isset($_POST['vendor']) ? $_POST['vendor'] : '';
     }
     $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.main_view.html', 'Services/Payment');
     $filter_form = new ilPropertyFormGUI();
     $filter_form->setFormAction($this->ctrl->getFormAction($this));
     $filter_form->setTitle($this->lng->txt('pay_filter'));
     $filter_form->setId('formular');
     $filter_form->setTableWidth('100 %');
     //filter
     $o_hide_check = new ilCheckBoxInputGUI($this->lng->txt('show_filter'), 'show_filter');
     $o_hide_check->setValue(1);
     $o_hide_check->setChecked($_POST['show_filter'] ? 1 : 0);
     $o_hidden = new ilHiddenInputGUI('updateView');
     $o_hidden->setValue(1);
     $o_hidden->setPostVar('updateView');
     $o_hide_check->addSubItem($o_hidden);
     $o_transaction_type = new ilSelectInputGUI();
     $trans_option = array($this->lng->txt('pay_starting'), $this->lng->txt('pay_ending'));
     $trans_value = array('0', '1');
     $o_transaction_type->setTitle($this->lng->txt('paya_transaction'));
     $o_transaction_type->setOptions($trans_option);
     $o_transaction_type->setValue($_SESSION['pay_statistics']['transaction_type']);
     $o_transaction_type->setPostVar('transaction_type');
     $o_hide_check->addSubItem($o_transaction_type);
     $o_transaction_val = new ilTextInputGUI();
     $o_transaction_val->setValue($_SESSION['pay_statistics']['transaction_value']);
     $o_transaction_val->setPostVar('transaction_value');
     $o_hide_check->addSubItem($o_transaction_val);
     $o_customer = new ilTextInputGUI();
     $o_customer->setTitle($this->lng->txt('paya_customer'));
     $o_customer->setValue($_SESSION['pay_statistics']['customer']);
     $o_customer->setPostVar('customer');
     $o_hide_check->addSubItem($o_customer);
     $o_vendor = new ilTextInputGUI();
     $o_vendor->setTitle($this->lng->txt('paya_vendor'));
     $o_vendor->setValue($_SESSION['pay_statistics']['vendor']);
     $o_vendor->setPostVar('vendor');
     $o_hide_check->addSubItem($o_vendor);
     $o_from_check = new ilCheckBoxInputGUI($this->lng->txt('pay_order_date_from'), 'from_check');
     $o_from_check->setValue(1);
     $o_from_check->setChecked($_SESSION['pay_statistics']['from_check'] ? 1 : 0);
     $o_date_from = new ilDateTimeInputGUI();
     $o_date_from->setPostVar('from');
     if ($_SESSION['pay_statistics']['from_check'] == '1') {
         $o_date_from->setValueByArray($_SESSION['pay_statistics']['from']);
         $o_date_from->checkInput();
     }
     $o_from_check->addSubItem($o_date_from);
     $o_hide_check->addSubItem($o_from_check);
     $o_until_check = new ilCheckBoxInputGUI($this->lng->txt('pay_order_date_til'), 'until_check');
     $o_until_check->setValue(1);
     $o_until_check->setChecked($_SESSION['pay_statistics']['until_check'] ? 1 : 0);
     $o_date_until = new ilDateTimeInputGUI();
     $o_date_until->setPostVar('til');
     if ($_SESSION['pay_statistics']['until_check'] == '1') {
         $o_date_until->setValueByArray($_SESSION['pay_statistics']['til']);
         $o_date_until->checkInput();
     }
     $o_until_check->addSubItem($o_date_until);
     $o_hide_check->addSubItem($o_until_check);
     // title filter
     $this->__initBookingObject();
     $title_options['all'] = $this->lng->txt('pay_all');
     $unique_titles = $this->booking_obj->getUniqueTitles();
     if (is_array($unique_titles) && count($unique_titles)) {
         foreach ($unique_titles as $ref_id) {
             $title_options[$ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($ref_id));
         }
     }
     $o_object_title = new ilSelectInputGUI();
     $o_object_title->setTitle($this->lng->txt('title'));
     $o_object_title->setOptions($title_options);
     $o_object_title->setValue($_SESSION["pay_statistics"]["adm_filter_title_id"]);
     $o_object_title->setPostVar('adm_filter_title_id');
     $o_hide_check->addSubItem($o_object_title);
     $o_payed = new ilSelectInputGUI();
     $payed_option = array('all' => $this->lng->txt('pay_all'), '1' => $this->lng->txt('yes'), '0' => $this->lng->txt('no'));
     $o_payed->setTitle($this->lng->txt('paya_payed'));
     $o_payed->setOptions($payed_option);
     $o_payed->setValue($_SESSION['pay_statistics']['payed']);
     $o_payed->setPostVar('payed');
     $o_hide_check->addSubItem($o_payed);
     $o_access = new ilSelectInputGUI();
     $access_option = array('all' => $this->lng->txt('pay_all'), '1' => $this->lng->txt('yes'), '0' => $this->lng->txt('no'));
     $o_access->setTitle($this->lng->txt('paya_access'));
     $o_access->setOptions($access_option);
     $o_access->setValue($_SESSION['pay_statistics']['access']);
     $o_access->setPostVar('access');
     $o_hide_check->addSubItem($o_access);
     $o_paymethod = new ilSelectInputGUI();
     $o_paymethod->setTitle($this->lng->txt('payment_system'));
     $o_paymethod->setOptions(ilPaymethods::getPayMethodsOptions('all'));
     $o_paymethod->setValue($_SESSION['pay_statistics']['pay_method']);
     $o_paymethod->setPostVar('pay_method');
     $o_hide_check->addSubItem($o_paymethod);
     $filter_form->addCommandButton('statistic', $this->lng->txt('pay_update_view'));
     $filter_form->addCommandButton('resetFilter', $this->lng->txt('pay_reset_filter'));
     $filter_form->addItem($o_hide_check);
     $this->tpl->setVariable('FORM', $filter_form->getHTML());
     //else 	$filter_form->checkInput();
     // STATISTICS TABLE
     $this->__initBookingObject();
     if (!count($bookings = $this->booking_obj->getBookings())) {
         ilUtil::sendInfo($this->lng->txt('paya_no_bookings'));
         return true;
     }
     #		else
     #		{
     #			$this->__showButton('exportVendors',$this->lng->txt('excel_export'));
     #		}
     include_once 'Services/User/classes/class.ilObjUser.php';
     $object_title_cache = array();
     $user_title_cache = array();
     $counter = 0;
     foreach ($bookings as $booking) {
         if (array_key_exists($booking['ref_id'], $object_title_cache)) {
             $tmp_obj = $object_title_cache[$booking['ref_id']];
         } else {
             $tmp_obj = ilObject::_lookupTitle(ilObject::_lookupObjId($booking['ref_id']));
             $object_title_cache[$booking['ref_id']] = $tmp_obj;
         }
         if (array_key_exists($booking['b_vendor_id'], $user_title_cache)) {
             $tmp_vendor = $user_title_cache[$booking['b_vendor_id']];
         } else {
             $tmp_vendor = ilObjUser::_lookupLogin($booking['b_vendor_id']);
             $user_title_cache[$booking['b_vendor_id']] = $tmp_vendor;
         }
         if (array_key_exists($booking['customer_id'], $user_title_cache)) {
             $tmp_purchaser = $user_title_cache[$booking['customer_id']];
         } else {
             if (ANONYMOUS_USER_ID == $booking['customer_id']) {
                 $tmp_purchaser = ilObjUser::_lookupLogin($booking['customer_id']);
                 $purchaser_name = $booking['name_extern'];
                 $tmp_purchaser_email = $booking['email_extern'];
             } else {
                 $tmp_purchaser = ilObjUser::_lookupLogin($booking['customer_id']);
                 $tmp_purchaser_name = ilObjUser::_lookupName($booking['customer_id']);
                 $purchaser_name = $tmp_purchaser_name['firstname'] . ' ' . $tmp_purchaser_name['lastname'];
                 $tmp_purchaser_email = ilObjUser::_lookupEmail($booking['customer_id']);
             }
             $user_title_cache[$booking['customer_id']] = $tmp_purchaser;
         }
         $transaction = $booking['transaction_extern'];
         $str_paymethod = ilPayMethods::getStringByPaymethod($booking['b_pay_method']);
         $transaction .= $booking['transaction'] . "<br> (" . $str_paymethod . ")";
         $f_result[$counter]['transaction'] = $transaction;
         $f_result[$counter]['object_title'] = $tmp_obj != '' ? $tmp_obj : $this->lng->txt('object_deleted');
         $f_result[$counter]['vendor'] = $tmp_vendor != '' ? '[' . $tmp_vendor . ']' : $this->lng->txt('user_deleted');
         $f_result[$counter]['customer'] = $tmp_purchaser != '' ? $purchaser_name . ' [' . $tmp_purchaser . ']<br>' . $tmp_purchaser_email : $this->lng->txt('user_deleted');
         $f_result[$counter]['order_date'] = ilDatePresentation::formatDate(new ilDate($booking['order_date'], IL_CAL_UNIX));
         if ($booking['duration'] == 0 && $booking['access_enddate'] == NULL) {
             $f_result[$counter]['duration'] = $this->lng->txt("unlimited_duration");
         } else {
             //				if($booking['duration'] > 0 )
             //				{
             //					$f_result[$counter]['duration'] = $booking['duration'].' '.$this->lng->txt('paya_months').' / </br>';
             //				}
             $f_result[$counter]['duration'] .= ilDatePresentation::formatDate(new ilDate($booking['access_startdate'], IL_CAL_DATETIME)) . ' - ' . ilDatePresentation::formatDate(new ilDate($booking['access_enddate'], IL_CAL_DATETIME));
         }
         $f_result[$counter]['price'] = $booking['price'] . ' ' . $booking['currency_unit'];
         $f_result[$counter]['discount'] = $booking['discount'] != '' ? $booking['discount'] . ' ' . $booking['currency_unit'] : '&nbsp;';
         $payed_access = $booking['payed'] ? $this->lng->txt('yes') : $this->lng->txt('no');
         $payed_access .= '/';
         $payed_access .= $booking['access_granted'] ? $this->lng->txt('yes') : $this->lng->txt('no');
         $f_result[$counter]['payed_access'] = $payed_access;
         $this->ctrl->setParameter($this, "booking_id", $booking['booking_id']);
         $link_change = "<div class=\"il_ContainerItemCommands\"><a class=\"il_ContainerItemCommand\" href=\"" . $this->ctrl->getLinkTarget($this, "editStatistic") . "\">" . $this->lng->txt("edit") . "</a></div>";
         $f_result[$counter]['edit'] = $link_change;
         unset($tmp_obj);
         unset($tmp_vendor);
         unset($tmp_purchaser);
         ++$counter;
     }
     return $this->__showStatisticTable($f_result);
 }
 public function showObjects()
 {
     /** 
      * @var $ilToolbar ilToolbarGUI */
     global $ilToolbar;
     include_once './Services/Payment/classes/class.ilPayMethods.php';
     $ilToolbar->addButton($this->lng->txt('paya_sell_object'), $this->ctrl->getLinkTarget($this, 'showObjectSelector'));
     if (!$_POST['show_filter'] && $_POST['updateView'] == '1') {
         $this->resetObjectFilter();
     } else {
         if ($_POST['updateView'] == 1) {
             $_SESSION['pay_objects']['updateView'] = $_POST['updateView'];
             $_SESSION['pay_objects']['show_filter'] = $_POST['show_filter'];
             $_SESSION['pay_objects']['title_type'] = $_POST['title_type'];
             $_SESSION['pay_objects']['title_value'] = $_POST['title_value'];
             $_SESSION['pay_objects']['pay_method'] = $_POST['pay_method'];
             $_SESSION['pay_objects']['vendor'] = $_POST['vendor'];
         }
     }
     $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.main_view.html', 'Services/Payment');
     $this->__initPaymentObject();
     $this->lng->loadLanguageModule('search');
     $filter_form = new ilPropertyFormGUI();
     $filter_form->setFormAction($this->ctrl->getFormAction($this));
     $filter_form->setTitle($this->lng->txt('pay_filter'));
     $filter_form->setId('filter_form');
     $filter_form->setTableWidth('100 %');
     //hide_filter
     $o_hide_check = new ilCheckBoxInputGUI($this->lng->txt('show_filter'), 'show_filter');
     $o_hide_check->setValue(1);
     $o_hide_check->setChecked($_SESSION['pay_objects']['show_filter'] ? 1 : 0);
     $o_hidden = new ilHiddenInputGUI('updateView');
     $o_hidden->setValue(1);
     $o_hidden->setPostVar('updateView');
     $o_hide_check->addSubItem($o_hidden);
     //title
     $radio_group = new ilRadioGroupInputGUI($this->lng->txt('search_in_title'), 'title_type');
     $radio_option = new ilRadioOption($this->lng->txt('search_any_word'), 'or');
     $radio_group->addOption($radio_option);
     $radio_option = new ilRadioOption($this->lng->txt('search_all_words'), 'and');
     $radio_group->addOption($radio_option);
     $radio_group->setRequired(false);
     $radio_group->setValue('or');
     $radio_group->setPostVar('title_type');
     $o_title = new ilTextInputGUI();
     $o_title->setValue($_SESSION['pay_objects']['title_value']);
     $o_title->setPostVar('title_value');
     $o_title->setTitle($this->lng->txt('title'));
     $o_hide_check->addSubItem($radio_group);
     $o_hide_check->addSubItem($o_title);
     //vendor
     $o_vendor = new ilTextInputGUI();
     $o_vendor->setTitle($this->lng->txt('paya_vendor'));
     $o_vendor->setValue($_SESSION['pay_objects']['vendor']);
     $o_vendor->setPostVar('vendor');
     $o_hide_check->addSubItem($o_vendor);
     // paymethod
     $o_paymethod = new ilSelectInputGUI();
     $o_paymethod->setTitle($this->lng->txt('payment_system'));
     $o_paymethod->setOptions(ilPaymethods::getPayMethodsOptions('all'));
     $o_paymethod->setValue($_SESSION['pay_objects']['pay_method']);
     $o_paymethod->setPostVar('pay_method');
     $o_hide_check->addSubItem($o_paymethod);
     $filter_form->addCommandButton('showObjects', $this->lng->txt('pay_update_view'));
     $filter_form->addCommandButton('resetObjectFilter', $this->lng->txt('pay_reset_filter'));
     $filter_form->addItem($o_hide_check);
     if (!count($objects = ilPaymentObject::_getObjectsData($this->user_obj->getId()))) {
         ilUtil::sendInfo($this->lng->txt('paya_no_objects_assigned'));
         return true;
     }
     $this->tpl->setVariable('FORM', $filter_form->getHTML());
     $counter = 0;
     foreach ($objects as $data) {
         /** @var $tmp_obj ilObject */
         $tmp_obj = ilObjectFactory::getInstanceByRefId($data['ref_id'], false);
         if ($tmp_obj) {
             $f_result[$counter]['title'] = $tmp_obj->getTitle();
         } else {
             $f_result[$counter]['title'] = $this->lng->txt('object_not_found');
         }
         switch ($data['status']) {
             case $this->pobject->STATUS_BUYABLE:
                 $f_result[$counter]['status'] = $this->lng->txt('paya_buyable');
                 break;
             case $this->pobject->STATUS_NOT_BUYABLE:
                 $f_result[$counter]['status'] = $this->lng->txt('paya_not_buyable');
                 break;
             case $this->pobject->STATUS_EXPIRES:
                 $f_result[$counter]['status'] = $this->lng->txt('paya_expires');
                 break;
         }
         $str_paymethod = ilPayMethods::getStringByPaymethod($data['pay_method']);
         $f_result[$counter]['pay_method'] = $str_paymethod;
         if ($data['vat_id'] <= 0) {
             $vat_rate = $this->lng->txt('payment_vat_has_to_be_defined_by_administration_short');
         } else {
             try {
                 $oVAT = new ilShopVats((int) $data['vat_id']);
                 $vat_rate = ilShopUtils::_formatVAT((double) $oVAT->getRate());
             } catch (ilShopException $e) {
                 $vat_rate = $this->lng->txt('payment_vat_has_to_be_defined_by_administration_short');
             }
         }
         $f_result[$counter]['vat_rate'] = $vat_rate;
         /** @var $tmp_user ilObjUser */
         $tmp_user = ilObjectFactory::getInstanceByObjId($data['vendor_id']);
         $f_result[$counter]['vendor'] = $tmp_user->getFullname() . ' [' . $tmp_user->getLogin() . ']';
         // Get number of purchasers
         $f_result[$counter]['purchasers'] = ilPaymentBookings::_getCountBookingsByObject($data['pobject_id']);
         // edit link
         $this->ctrl->setParameter($this, 'pobject_id', $data['pobject_id']);
         $link_change = "<div class=\"il_ContainerItemCommands\"><a class=\"il_ContainerItemCommand\" href=\"" . $this->ctrl->getLinkTarget($this, "editDetails") . "\">" . $this->lng->txt("edit") . "</a></div>";
         $f_result[$counter]['options'] = $link_change;
         unset($tmp_user);
         unset($tmp_obj);
         ++$counter;
     }
     return $this->__showObjectsTable($f_result);
 }
 public function showGeneralFilter($a_count_result = 0)
 {
     global $ilUser;
     if (!$_POST['show_filter'] && $_POST['updateView'] == '1') {
         $this->resetFilter();
     } else {
         if ($_POST['updateView'] == 1) {
             $_SESSION['content_filter']['updateView'] = $_POST['updateView'];
             $_SESSION['content_filter']['show_filter'] = $_POST['show_filter'];
             $_SESSION['content_filter']['sel_filter_type'] = $_POST['sel_filter_type'];
             $_SESSION['content_filter']['filter_text'] = $_POST['filter_text'];
             $_SESSION['content_filter']['filter_topic_id'] = $_POST['filter_topic_id'];
             $_SESSION['content_filter']['order_field'] = $_POST['order_field'];
             $_SESSION['content_filter']['order_direction'] = $_POST['order_direction'];
             $_SESSION['content_filter']['topics_sorting_type'] = $_POST['topics_sorting_type'];
             $_SESSION['content_filter']['topics_sorting_direction'] = $_POST['topics_sorting_direction'];
         }
     }
     include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
     // FILTER FORM
     $filter_form = new ilPropertyFormGUI();
     $filter_form->setFormAction($this->ctrl->getFormAction($this));
     $filter_form->setTitle($this->lng->txt('pay_filter'));
     $filter_form->setId('formular');
     $filter_form->setTableWidth('100 %');
     $o_hide_check = new ilCheckBoxInputGUI($this->lng->txt('show_filter'), 'show_filter');
     $o_hide_check->setValue(1);
     $o_hide_check->setChecked($_SESSION['content_filter']['show_filter'] ? 1 : 0);
     $o_hidden = new ilHiddenInputGUI('updateView');
     $o_hidden->setValue(1);
     $o_hidden->setPostVar('updateView');
     $o_hide_check->addSubItem($o_hidden);
     $o_filter = new ilSelectInputGUI();
     $filter_option = array('title' => $this->lng->txt('title'), 'author' => $this->lng->txt('author'), 'metadata' => $this->lng->txt('meta_data'));
     $o_filter->setTitle($this->lng->txt('search_in'));
     $o_filter->setOptions($filter_option);
     $o_filter->setValue($_SESSION['content_filter']['sel_filter_type']);
     $o_filter->setPostVar('sel_filter_type');
     $o_hide_check->addSubItem($o_filter);
     $o_filter_by = new ilTextInputGUI($this->lng->txt('filter_by'));
     $o_filter_by->setValue($_SESSION['content_filter']['filter_text']);
     $o_filter_by->setPostVar('filter_text');
     $o_hide_check->addSubItem($o_filter_by);
     ilShopTopics::_getInstance()->setIdFilter(false);
     ilShopTopics::_getInstance()->read();
     $topic_option = array();
     if (count(ilShopTopics::_getInstance()->getTopics())) {
         $topic_option[''] = $this->lng->txt('please_select');
         foreach (ilShopTopics::_getInstance()->getTopics() as $oTopic) {
             $topic_option[$oTopic->getId()] = $oTopic->getTitle();
         }
     } else {
         $topic_option[''] = $this->lng->txt('no_topics_yet');
     }
     $o_topic = new ilSelectInputGUI();
     $o_topic->setTitle($this->lng->txt('topic'));
     $o_topic->setOptions($topic_option);
     $o_topic->setValue($_SESSION['content_filter']['filter_topic_id']);
     $o_topic->setPostVar('filter_topic_id');
     $o_hide_check->addSubItem($o_topic);
     #if(count($oResult->getResults()))
     if ($a_count_result) {
         $objects = (bool) $this->oGeneralSettings->get('objects_allow_custom_sorting');
         if ($objects) {
             // sorting form
             $allow_objects_option = array('title' => $this->lng->txt('title'), 'author' => $this->lng->txt('author'), 'price' => $this->lng->txt('price_a'));
             $o_allow_objects = new ilSelectInputGUI();
             $o_allow_objects->setTitle($this->lng->txt('sort_by'));
             $o_allow_objects->setOptions($allow_objects_option);
             $o_allow_objects->setValue($this->getSortField());
             $o_allow_objects->setPostVar('order_field');
             //objects_sorting_type
             $o_hide_check->addSubItem($o_allow_objects);
             $direction_option = array('asc' => $this->lng->txt('sort_asc'), 'desc' => $this->lng->txt('sort_desc'));
             $o_object_direction = new ilSelectInputGUI();
             $o_object_direction->setOptions($direction_option);
             $o_object_direction->setValue($this->getSortDirection());
             $o_object_direction->setPostVar('order_direction');
             //objects_sorting_direction
             $o_hide_check->addSubItem($o_object_direction);
         }
         $topics = (bool) $this->oGeneralSettings->get('topics_allow_custom_sorting');
         if ($topics) {
             // sorting form
             $allow_topics_option = array(ilShopTopics::TOPICS_SORT_BY_TITLE => $this->lng->txt('sort_topics_by_title'), ilShopTopics::TOPICS_SORT_BY_CREATEDATE => $this->lng->txt('sort_topics_by_date'));
             if (ANONYMOUS_USER_ID != $ilUser->getId()) {
                 $allow_topics_option[ilShopTopics::TOPICS_SORT_MANUALLY] = $this->lng->txt('sort_topics_manually');
             }
             $o_allow_topics = new ilSelectInputGUI();
             $o_allow_topics->setTitle($this->lng->txt('sort_topics_by'));
             $o_allow_topics->setOptions($allow_topics_option);
             $o_allow_topics->setValue($this->getSortingTypeTopics());
             $o_allow_topics->setPostVar('topics_sorting_type');
             $o_hide_check->addSubItem($o_allow_topics);
             $direction_option = array('asc' => $this->lng->txt('sort_asc'), 'desc' => $this->lng->txt('sort_desc'));
             $o_topics_direction = new ilSelectInputGUI();
             $o_topics_direction->setOptions($direction_option);
             $o_topics_direction->setValue($this->getSortingDirectionTopics());
             $o_topics_direction->setPostVar('topics_sorting_direction');
             //objects_sorting_type
             $o_hide_check->addSubItem($o_topics_direction);
         }
     }
     $filter_form->addCommandButton('setFilter', $this->lng->txt('pay_update_view'));
     $filter_form->addCommandButton('resetFilter', $this->lng->txt('pay_reset_filter'));
     $filter_form->addItem($o_hide_check);
     return $filter_form->getHTML();
 }
 public function addCoupon()
 {
     $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.main_view.html', 'Services/Payment');
     if (isset($_GET['coupon_id'])) {
         if ($this->error == '') {
             $this->coupon_obj->getCouponById($_GET['coupon_id']);
         }
         $this->ctrl->setParameter($this, 'coupon_id', $this->coupon_obj->getId());
         $this->__showButtons();
     }
     $oForm = new ilPropertyFormGUI();
     $oForm->setId('frm_add_coupon');
     $oForm->setFormAction($this->ctrl->getFormAction($this, 'saveCouponForm'));
     $oForm->setTitle($this->coupon_obj->getId() ? $this->lng->txt('paya_coupons_edit') : $this->lng->txt('paya_coupons_add'));
     // Title
     $oTitle = new ilTextInputGUI($this->lng->txt(paya_coupons_title), 'title');
     $oTitle->setValue($this->coupon_obj->getTitle());
     $oTitle->setRequired(true);
     $oForm->addItem($oTitle);
     // Description
     $oDescription = new ilTextAreaInputGUI($this->lng->txt(paya_coupons_description), 'description');
     $oDescription->setValue($this->coupon_obj->getDescription());
     $oForm->addItem($oDescription);
     // Type
     $o_coupon_type = new ilSelectInputGUI();
     $coupon_option = array('fix' => $this->lng->txt('paya_coupons_fix'), 'percent' => $this->lng->txt('paya_coupons_percentaged'));
     $o_coupon_type->setTitle($this->lng->txt('coupon_type'));
     $o_coupon_type->setOptions($coupon_option);
     $o_coupon_type->setValue($this->coupon_obj->getType());
     $o_coupon_type->setRequired(true);
     $o_coupon_type->setPostVar('coupon_type');
     $oForm->addItem($o_coupon_type);
     // Value
     $o_coupon_value = new ilNumberInputGUI($this->lng->txt('paya_coupons_value'), 'coupon_value');
     $o_coupon_value->setSize(5);
     $o_coupon_value->allowDecimals(true);
     $o_coupon_value->setValue($this->coupon_obj->getValue());
     $o_coupon_value->setRequired(true);
     $oForm->addItem($o_coupon_value);
     // Date Valid From
     $o_from_check = new ilCheckBoxInputGUI($this->lng->txt('paya_coupons_from'), 'from_check');
     $o_from_check->setValue(1);
     $o_from_check->setChecked($this->coupon_obj->getFromDateEnabled() ? 1 : 0);
     $o_date_from = new ilDateTimeInputGUI();
     $o_date_from->setPostVar('from');
     $from_date = explode('-', $this->coupon_obj->getFromDate());
     $date_f['from']['date']['d'] = $from_date[2] != '00' ? $from_date[2] : '';
     $date_f['from']['date']['m'] = $from_date[1] != '00' ? $from_date[1] : '';
     $date_f['from']['date']['y'] = $from_date[0] != '0000' ? $from_date[0] : '';
     $_POST['from'] = $date_f['from'];
     if ($this->coupon_obj->getFromDateEnabled() == '1') {
         $o_date_from->checkInput();
     }
     $o_from_check->addSubItem($o_date_from);
     $oForm->addItem($o_from_check);
     // Date Valid Until
     $o_until_check = new ilCheckBoxInputGUI($this->lng->txt('paya_coupons_till'), 'until_check');
     $o_until_check->setValue(1);
     $o_until_check->setChecked($this->coupon_obj->getTillDateEnabled() ? 1 : 0);
     $o_date_until = new ilDateTimeInputGUI();
     $o_date_until->setPostVar('til');
     $till_date = explode('-', $this->coupon_obj->getTillDate());
     $date_t['til']['date']['d'] = $till_date[2] != '00' ? $till_date[2] : '';
     $date_t['til']['date']['m'] = $till_date[1] != '00' ? $till_date[1] : '';
     $date_t['til']['date']['y'] = $till_date[0] != '0000' ? $till_date[0] : '';
     $_POST['til'] = $date_t['til'];
     if ($this->coupon_obj->getTillDateEnabled() == '1') {
         $o_date_until->checkInput();
     }
     $o_until_check->addSubItem($o_date_until);
     $oForm->addItem($o_until_check);
     $o_usage = new ilNumberInputGUI($this->lng->txt('paya_coupons_availability'), 'usage');
     $o_usage->setSize(5);
     $o_usage->setValue($this->coupon_obj->getUses());
     $oForm->addItem($o_usage);
     $oForm->addCommandButton('saveCouponForm', $this->lng->txt('save'));
     $oForm->addCommandButton('showCoupons', $this->lng->txt('cancel'));
     $this->tpl->setVariable('FORM', $oForm->getHTML());
 }