4include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
    5include_once 
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
 
    6include_once 
'./Services/Payment/classes/class.ilShopTableGUI.php';
 
   20                parent::__construct();
 
   22                $this->ctrl->saveParameter($this, 
'baseClass');
 
   31                parent::prepareOutput();
 
   33                $ilTabs->setTabActive(
'paya_header');
 
   34                $ilTabs->setSubTabActive(
'paya_coupons_coupons');               
 
   39                $cmd = $this->ctrl->getCmd();
 
   40                switch ($this->ctrl->getNextClass($this))
 
   43                                if (!
$cmd = $this->ctrl->getCmd())
 
   56                unset(
$_POST[
"title_type"]);
 
   57                unset(
$_POST[
"title_value"]);
 
   58                unset(
$_POST[
"coupon_type"]);
 
   59                unset(
$_POST[
"updateView"]);
 
   60                unset(
$_POST[
'from_check']);
 
   61                unset(
$_POST[
'until_check']);           
 
   72                include_once(
"Services/User/classes/class.ilObjUser.php");
 
   74                $ilToolbar->addButton($this->lng->txt(
'paya_coupons_add'), $this->ctrl->getLinkTarget($this,
'addCoupon'));
 
   75                if(!
$_POST[
'show_filter'] && 
$_POST[
'updateView'] == 
'1')
 
   80                if (
$_POST[
'updateView'] == 1)
 
   83                        $_SESSION[
'pay_coupons'][
'updateView'] = 
true;
 
   89                        if(
$_SESSION[
'pay_coupons'][
'from_check'] == 
'1')
 
   91                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'd'] = 
$_POST[
'from'][
'date'][
'd'];
 
   92                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'm'] = 
$_POST[
'from'][
'date'][
'm'];
 
   93                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'y'] = 
$_POST[
'from'][
'date'][
'y'];
 
   97                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'd'] = 
'';
 
   98                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'm'] = 
'';
 
   99                                $_SESSION[
'pay_coupons'][
'from'][
'date'][
'y'] = 
'';
 
  102                        if(
$_SESSION[
'pay_coupons'][
'until_check']== 
'1')
 
  104                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'd'] = 
$_POST[
'til'][
'date'][
'd'];
 
  105                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'm'] = 
$_POST[
'til'][
'date'][
'm'];
 
  106                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'y'] = 
$_POST[
'til'][
'date'][
'y'];
 
  110                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'd'] = 
'';
 
  111                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'm'] = 
'';
 
  112                                $_SESSION[
'pay_coupons'][
'til'][
'date'][
'y'] = 
'';
 
  123                $this->tpl->addBlockfile(
'ADM_CONTENT', 
'adm_content', 
'tpl.main_view.html', 
'Services/Payment');               
 
  126                $filter_form->setFormAction($this->ctrl->getFormAction($this));
 
  127                $filter_form->setTitle($this->lng->txt(
'pay_filter'));
 
  128                $filter_form->setId(
'formular');
 
  129                $filter_form->setTableWidth(
'100 %');
 
  131                $o_hide_check = 
new ilCheckBoxInputGUI($this->lng->txt(
'show_filter'),
'show_filter');
 
  132                $o_hide_check->setValue(1);             
 
  133                $o_hide_check->setChecked(
$_SESSION[
'pay_coupons'][
'show_filter'] ? 1 : 0);     
 
  136                $o_hidden->setValue(1);
 
  137                $o_hidden->setPostVar(
'updateView');
 
  138                $o_hide_check->addSubItem($o_hidden);
 
  142                $title_option = array($this->lng->txt(
'pay_starting'),$this->lng->txt(
'pay_ending'));
 
  143                $title_value = array(
'0',
'1'); 
 
  144                $o_title_type->setTitle($this->lng->txt(
'title'));
 
  145                $o_title_type->setOptions($title_option);
 
  146                $o_title_type->setValue(
$_SESSION[
'pay_coupons'][
'title_type']);                
 
  147                $o_title_type->setPostVar(
'title_type');
 
  148                $o_hide_check->addSubItem($o_title_type);
 
  152                $o_title_val->setValue(
$_SESSION[
'pay_coupons'][
'title_value']);                
 
  153                $o_title_val->setPostVar(
'title_value');
 
  154                $o_hide_check->addSubItem($o_title_val);
 
  158                $coupon_option = array(
''=>
'',
'fix'=>$this->lng->txt(
'paya_coupons_fix'),
'percent'=>$this->lng->txt(
'paya_coupons_percentaged'));
 
  160                $o_coupon_type->setTitle($this->lng->txt(
'coupon_type'));
 
  161                $o_coupon_type->setOptions($coupon_option);
 
  162                $o_coupon_type->setValue(
$_SESSION[
'pay_coupons'][
'coupon_type']);              
 
  163                $o_coupon_type->setPostVar(
'coupon_type');
 
  165                $o_hide_check->addSubItem($o_coupon_type);
 
  168                $o_from_check = 
new ilCheckBoxInputGUI($this->lng->txt(
'pay_order_date_from'),
'from_check');
 
  169                $o_from_check->setValue(1);             
 
  170                $o_from_check->setChecked(
$_SESSION[
'pay_coupons'][
'from_check'] ? 1 : 0);              
 
  173                $o_date_from->setPostVar(
'from');                       
 
  175                if(
$_SESSION[
'pay_coupons'][
'from_check'] == 
'1') 
 
  177                        $o_date_from->checkInput();     
 
  180                $o_from_check->addSubItem($o_date_from);
 
  181                $o_hide_check->addSubItem($o_from_check);
 
  184                $o_until_check = 
new ilCheckBoxInputGUI($this->lng->txt(
'pay_order_date_til'), 
'until_check');
 
  185                $o_until_check->setValue(1);    
 
  186                $o_until_check->setChecked(
$_SESSION[
'pay_coupons'][
'until_check'] ? 1 : 0);                            
 
  189                $o_date_until->setPostVar(
'til');
 
  191                if(
$_SESSION[
'pay_coupons'][
'until_check'] == 
'1') 
 
  193                        $o_date_until->checkInput();    
 
  196                $o_until_check->addSubItem($o_date_until);
 
  197                $o_hide_check->addSubItem($o_until_check);      
 
  199                $filter_form->addCommandButton(
'showCoupons', $this->lng->txt(
'pay_update_view'));
 
  200                $filter_form->addCommandButton(
'resetFilter', $this->lng->txt(
'pay_reset_filter'));
 
  202                $filter_form->addItem($o_hide_check);           
 
  204                $this->tpl->setVariable(
'FORM', $filter_form->getHTML());
 
  206                if (!count($coupons = $this->coupon_obj->getCoupons()))
 
  216                foreach ($coupons as $coupon)
 
  218                        $f_result[$counter][
'pc_title'] = $coupon[
'pc_title'];
 
  219                        $f_result[$counter][
'number_of_codes'] = $coupon[
'number_of_codes'];
 
  220                        $f_result[$counter][
'usage_of_codes'] = $coupon[
'usage_of_codes'];
 
  222                        if (!empty($coupon[
'objects']))
 
  225                                for ($i = 0; $i < count($coupon[
'objects']); $i++)
 
  230                                                $objects .= $tmp_obj->getTitle();
 
  234                                                $objects .= $this->lng->txt(
'object_not_found');
 
  237                                        if ($i < count($coupon[
'objects']) - 1) $objects .= 
"<br />";
 
  247                        $f_result[$counter][
'objects'] = $objects;
 
  248                        $f_result[$counter][
'pc_from'] = ($coupon[
'pc_from'] != NULL && $coupon[
'pc_from_enabled'] == 
'1') ? $coupon[
'pc_from'] : 
'';
 
  249                        $f_result[$counter][
'pc_till'] = ($coupon[
'pc_till'] != NULL && $coupon[
'pc_till_enabled'] == 
'1') ? $coupon[
'pc_till'] : 
'';
 
  250                        $f_result[$counter][
'pc_last_changed'] = ($coupon[
'pc_last_changed'] != NULL ? $coupon[
'pc_last_changed'] : 
''); 
 
  252                        $this->ctrl->setParameter($this, 
'coupon_id', $coupon[
'pc_pk']);
 
  253                        $f_result[$counter][
'options'] = 
"<div class=\"il_ContainerItemCommands\"><a class=\"il_ContainerItemCommand\" href=\"".$this->ctrl->getLinkTarget($this, 
"addCoupon").
"\">".$this->lng->txt(
"edit").
"</a>";
 
  254                        $f_result[$counter][
'options'] .= 
" <a class=\"il_ContainerItemCommand\" href=\"".$this->ctrl->getLinkTarget($this, 
"deleteCoupon").
"\">".$this->lng->txt(
"delete").
"</a></div>";
 
  264                require_once 
'Services/Payment/classes/class.ilShopCouponsTableGUI.php';
 
  266                $tbl->setTitle($this->lng->txt(
"paya_coupons_coupons"));
 
  267                $tbl->setId(
'tbl_show_coupons');
 
  268                $tbl->setRowTemplate(
"tpl.shop_coupons_row.html", 
"Services/Payment");
 
  270                $tbl->addColumn($this->lng->txt(
'paya_coupons_title'), 
'pc_title', 
'10%');
 
  271                $tbl->addColumn($this->lng->txt(
'paya_coupons_number_of_codes'), 
'number_of_codes', 
'10%');
 
  272                $tbl->addColumn($this->lng->txt(
'paya_coupons_usage_of_codes'), 
'usage_of_codes', 
'10%');
 
  273                $tbl->addColumn($this->lng->txt(
'paya_coupons_objects'), 
'objects', 
'10%');
 
  274                $tbl->addColumn($this->lng->txt(
'paya_coupons_from'), 
'pc_from', 
'10%');
 
  275                $tbl->addColumn($this->lng->txt(
'paya_coupons_till'), 
'pc_till', 
'10%');
 
  276                $tbl->addColumn($this->lng->txt(
'last_change'), 
'pc_last_changed', 
'10%');
 
  277                $tbl->addColumn($this->lng->txt(
'author'), 
'pc_last_changed_author', 
'10%');            
 
  278                $tbl->addColumn(
'', 
'options',
'30%');
 
  280                $tbl->setData($f_result);
 
  281                $this->tpl->setVariable(
'TABLE', $tbl->getHTML());      
 
  290                if (
$_POST[
'title'] == 
'') $this->
error .= 
'paya_coupons_title,';
 
  291                if (
$_POST[
'coupon_type'] == 
'') $this->
error .= 
'paya_coupons_type,';
 
  292                if (
$_POST[
'coupon_value'] == 
'') $this->
error .= 
'paya_coupons_value,';
 
  295                $this->coupon_obj->setId(
$_GET[
'coupon_id']);
 
  296                $this->coupon_obj->setCouponUser($this->user_obj->getId());
 
  301                $this->coupon_obj->setFromDate( date(
"Y-m-d",mktime(0,0,0,
$_POST[
'from'][
'date'][
'm'],
$_POST[
'from'][
'date'][
'd'],
$_POST[
'from'][
'date'][
'y'])));
 
  302                $this->coupon_obj->setTillDate( date(
"Y-m-d",mktime(0,0,0,
$_POST[
'til'][
'date'][
'm'],
$_POST[
'til'][
'date'][
'd'],
$_POST[
'til'][
'date'][
'y'])));          
 
  306                $this->coupon_obj->setFromDateEnabled(
$_POST[
'from_check']);
 
  307                $this->coupon_obj->setTillDateEnabled(
$_POST[
'until_check']);
 
  309                $this->coupon_obj->setChangeDate(date(
'Y-m-d H:i:s'));                          
 
  311                if ($this->
error == 
'')
 
  313                        if (
$_GET[
'coupon_id'] != 
"")
 
  315                                $this->coupon_obj->update();
 
  319                                $_GET[
'coupon_id'] = $this->coupon_obj->add();                           
 
  326                        if (is_array($e = explode(
',', $this->
error)))
 
  329                                for ($i = 0; $i < count($e); $i++)
 
  331                                        $e[$i] = trim($e[$i]);
 
  334                                                $mandatory .= $this->lng->txt($e[$i]);
 
  335                                                if (array_key_exists($i + 1, $e) && $e[$i + 1] != 
'') $mandatory .= 
', ';
 
  338                                ilUtil::sendInfo($this->lng->txt(
'fill_out_all_required_fields') . 
': ' . $mandatory);
 
  349                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');  
 
  351                if (isset(
$_GET[
'coupon_id']))
 
  353                        if ($this->
error == 
'') $this->coupon_obj->getCouponById(
$_GET[
'coupon_id']);
 
  355                        $this->ctrl->setParameter($this, 
'coupon_id', $this->coupon_obj->getId());                                              
 
  362                $oForm->setId(
'frm_add_coupon');
 
  363                $oForm->setFormAction($this->ctrl->getFormAction($this,
'saveCouponForm'));
 
  364                $oForm->setTitle($this->coupon_obj->getId() ? $this->lng->txt(
'paya_coupons_edit') : $this->lng->txt(
'paya_coupons_add'));
 
  367                $oTitle = 
new ilTextInputGUI($this->lng->txt(paya_coupons_title),
'title');
 
  368                $oTitle->setValue($this->coupon_obj->getTitle());
 
  369                $oTitle->setRequired(
true);
 
  370                $oForm->addItem($oTitle);
 
  373                $oDescription = 
new ilTextAreaInputGUI($this->lng->txt(paya_coupons_description),
'description');
 
  374                $oDescription->setValue($this->coupon_obj->getDescription());
 
  375                $oForm->addItem($oDescription);
 
  379                $coupon_option = array(
'fix'=>$this->lng->txt(
'paya_coupons_fix'),
'percent'=>$this->lng->txt(
'paya_coupons_percentaged'));
 
  381                $o_coupon_type->setTitle($this->lng->txt(
'coupon_type'));
 
  382                $o_coupon_type->setOptions($coupon_option);
 
  383                $o_coupon_type->setValue($this->coupon_obj->getType());         
 
  384                $o_coupon_type->setRequired(
true);
 
  385                $o_coupon_type->setPostVar(
'coupon_type');
 
  387                $oForm->addItem($o_coupon_type);
 
  391                $o_coupon_value = 
new ilNumberInputGUI($this->lng->txt(
'paya_coupons_value'),
'coupon_value');
 
  392                $o_coupon_value->setSize(5);
 
  393                $o_coupon_value->allowDecimals(
true);
 
  394                $o_coupon_value->setValue($this->coupon_obj->getValue());
 
  396                $o_coupon_value->setRequired(
true);
 
  397                $oForm->addItem($o_coupon_value);
 
  400                $o_from_check = 
new ilCheckBoxInputGUI($this->lng->txt(
'paya_coupons_from'),
'from_check');
 
  401                $o_from_check->setValue(1);
 
  402                $o_from_check->setChecked($this->coupon_obj->getFromDateEnabled() ? 1 : 0);
 
  405                $o_date_from->setPostVar(
'from');                       
 
  407                $from_date = explode(
'-', $this->coupon_obj->getFromDate());
 
  408                $date_f[
'from'][
'date'][
'd'] = $from_date[2] != 
'00' ? $from_date[2] : 
'';
 
  409                $date_f[
'from'][
'date'][
'm'] = $from_date[1] != 
'00' ? $from_date[1] : 
'';
 
  410                $date_f[
'from'][
'date'][
'y'] = $from_date[0] != 
'0000' ? $from_date[0] : 
'';
 
  412                $_POST[
'from'] = $date_f[
'from'];
 
  413                if($this->coupon_obj->getFromDateEnabled() == 
'1') 
 
  415                        $o_date_from->checkInput();
 
  418                $o_from_check->addSubItem($o_date_from);
 
  419                $oForm->addItem($o_from_check);
 
  422                $o_until_check = 
new ilCheckBoxInputGUI($this->lng->txt(
'paya_coupons_till'), 
'until_check');
 
  423                $o_until_check->setValue(1);
 
  424                $o_until_check->setChecked($this->coupon_obj->getTillDateEnabled() ? 1 : 0);                            
 
  427                $o_date_until->setPostVar(
'til');
 
  429                $till_date = explode(
'-', $this->coupon_obj->getTillDate());
 
  430                $date_t[
'til'][
'date'][
'd']= $till_date[2] != 
'00' ? $till_date[2] : 
'';
 
  431                $date_t[
'til'][
'date'][
'm'] = $till_date[1] != 
'00' ? $till_date[1] : 
'';
 
  432                $date_t[
'til'][
'date'][
'y'] = $till_date[0] != 
'0000' ? $till_date[0] : 
'';
 
  434                $_POST[
'til'] = $date_t[
'til'];
 
  435                if($this->coupon_obj->getTillDateEnabled() == 
'1') 
 
  437                        $o_date_until->checkInput();    
 
  440                $o_until_check->addSubItem($o_date_until);
 
  441                $oForm->addItem($o_until_check);        
 
  443                $o_usage = 
new ilNumberInputGUI($this->lng->txt(
'paya_coupons_availability'),
'usage');
 
  444                $o_usage->setSize(5);
 
  445                $o_usage->setValue($this->coupon_obj->getUses());
 
  446                $oForm->addItem($o_usage);
 
  448                $oForm->addCommandButton(
'saveCouponForm', $this->lng->txt(
'save'));
 
  449                $oForm->addCommandButton(
'showCoupons', $this->lng->txt(
'cancel'));
 
  451                $this->tpl->setVariable(
'FORM',$oForm->getHTML());
 
  463                $this->coupon_obj->deleteAllCodesByCouponId(
$_GET[
'coupon_id']);        
 
  474                if (!is_array(
$_POST[
'codes']))
 
  490                if (is_array(
$_SESSION[
'paya_delete_codes']))
 
  492                        foreach(
$_SESSION[
'paya_delete_codes'] as $id)
 
  494                                $this->coupon_obj->deleteCode($id);
 
  498                ilUtil::sendInfo($this->lng->txt(
'paya_coupons_code_deleted_successfully'));
 
  516                $this->coupon_obj->setId(
$_GET[
'coupon_id']);
 
  518                if (!count($codes = $this->coupon_obj->getCodesByCouponId(
$_GET[
'coupon_id'])))
 
  528                $this->ctrl->setParameter($this, 
'coupon_id', 
$_GET[
'coupon_id']);              
 
  531                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');  
 
  535                        switch($a_show_delete)
 
  537                                case 'all': $del_cmd = 
'performDeleteAllCodes';
 
  538                                                        $del_info = $this->lng->txt(
'paya_coupons_sure_delete_all_codes');
 
  540                                case 'selected': $del_cmd = 
'performDeleteCodes';
 
  541                                                        $del_info = $this->lng->txt(
'paya_coupons_sure_delete_selected_codes');
 
  547                        $oConfirmationGUI->setFormAction($this->ctrl->getFormAction($this, $del_cmd));
 
  548                        $oConfirmationGUI->setHeaderText($del_info);
 
  549                        $oConfirmationGUI->setCancel($this->lng->txt(
"cancel"), 
"cancelDelete");
 
  550                        $oConfirmationGUI->setConfirm($this->lng->txt(
"confirm"), $del_cmd);                    
 
  552                        foreach ($codes as $code)
 
  554                                if(in_array($code[
'pcc_pk'],
$_SESSION[
'paya_delete_codes']))
 
  556                                        $oConfirmationGUI->addItem(
'',$code[
'pcc_code'], $code[
'pcc_code']);                                    
 
  560                        $this->tpl->setVariable(
'CONFIRMATION', $oConfirmationGUI->getHTML());
 
  567                foreach ($codes as $code)
 
  570                                                                                "codes[]", $code[
'pcc_pk']);
 
  571                        $f_result[$counter][
'coupon_code'] = $code[
'pcc_code'];
 
  572                        $f_result[$counter][
'usage_of_codes'] = $code[
'pcc_used'].
" ".strtolower($this->lng->txt(
'of')).
" ".$this->coupon_obj->getUses();
 
  578                $tbl->setTitle($this->lng->txt(
"paya_coupons_coupons"));
 
  579                $tbl->setId(
'tbl_show_codes');
 
  580                $tbl->setRowTemplate(
"tpl.shop_coupons_row.html", 
"Services/Payment");
 
  582                $tbl->addColumn(
'', 
'coupon_id', 
'1%');
 
  583                $tbl->addColumn($this->lng->txt(
'paya_coupons_code'), 
'coupon_code', 
'30%');
 
  584                $tbl->addColumn($this->lng->txt(
'paya_coupons_usage_of_codes'), 
'usage_of_codes', 
'60%');
 
  586                $tbl->setSelectAllCheckbox(
'codes[]');
 
  588                $tbl->addCommandButton(
'generateCodes',$this->lng->txt(
'paya_coupons_generate_codes'));
 
  589                $tbl->addCommandButton(
'exportCodes',$this->lng->txt(
'export'));
 
  591                $tbl->addMultiCommand(
"deleteCodes", $this->lng->txt(
"delete"));
 
  593                $tbl->setData($f_result);
 
  594                $this->tpl->setVariable(
'TABLE', $tbl->getHTML());
 
  601                $codes = $this->coupon_obj->getCodesByCouponId(
$_GET[
"coupon_id"]);
 
  603                if (is_array($codes))
 
  605                        include_once(
'./Services/Utilities/classes/class.ilCSVWriter.php');                     
 
  608                        $csv->setDelimiter(
"");                 
 
  610                        foreach($codes as 
$data)
 
  612                                if (
$data[
"pcc_code"])
 
  614                                        $csv->addColumn(
$data[
"pcc_code"]);
 
  629                if (isset(
$_POST[
"generate_length"])) 
$_SESSION[
"pay_coupons"][
"code_length"] = 
$_POST[
"generate_length"];
 
  630                else $_POST[
"generate_length"] = 
$_SESSION[
"pay_coupons"][
"code_length"];
 
  635                if (
$_POST[
"generate_type"] == 
"self")
 
  637                        if (
$_GET[
"coupon_id"] && is_array(
$_POST[
"codes"]))
 
  641                                for ($i = 0; $i < count(
$_POST[
"codes"]); $i++)
 
  645                                        if (
$_POST[
"codes"][$i] != 
"")
 
  670                        else if ((!is_numeric(
$_POST[
"generate_number"]) ||  
$_POST[
"generate_number"] <= 0)
 
  671                                        || (!is_numeric(
$_POST[
"generate_length"]) ||  
$_POST[
"generate_length"] <= 0))  
 
  682                else if (
$_POST[
"generate_type"] == 
"auto")
 
  684                        if (
$_GET[
"coupon_id"] && is_numeric(
$_POST[
"generate_number"]) && 
$_POST[
"generate_number"] > 0)
 
  686                                for ($i = 0; $i < 
$_POST[
"generate_number"]; $i++)
 
  692                                                $this->coupon_obj->addCode($code, 
$_GET[
"coupon_id"]);
 
  711                if ($a_code == 
"") $a_code = md5(uniqid(rand()));
 
  713                if (is_numeric($a_length) && strlen($a_code) > $a_length)
 
  715                        $a_code = substr($a_code, 0, $a_length);
 
  723                $this->coupon_obj->setId(
$_GET[
'coupon_id']);
 
  725                $this->ctrl->setParameter($this, 
'coupon_id', 
$_GET[
'coupon_id']);
 
  730                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');
 
  732                $oForm_1->setId(
'save_frm');
 
  733                $oForm_1->setFormAction($this->ctrl->getFormAction($this),
'saveCodeForm');
 
  734                $oForm_1->setTitle($this->lng->txt(
"paya_coupons_coupon").
" ".$this->coupon_obj->getTitle().
": ".$this->lng->txt(
'paya_coupons_code_generation'));
 
  736                if ($view == 
"choice")
 
  738                        $oTypeRadio = 
new ilRadioGroupInputGUI($this->lng->txt(
'paya_coupons_generate_codes'), 
'generate_type');
 
  740                        $radio_option = 
new ilRadioOption($this->lng->txt(
'paya_coupons_type_auto'), 
'auto');
 
  741                        $oTypeRadio->addOption($radio_option);
 
  742                        $radio_option = 
new ilRadioOption($this->lng->txt(
'paya_coupons_type_self'), 
'self');
 
  743                        $oTypeRadio->addOption($radio_option);
 
  745                        $oTypeRadio->setValue(isset(
$_POST[
"generate_type"]) ? 
$_POST[
"generate_type"] : 
"auto");
 
  746                        $oTypeRadio->setPostVar(
'generate_type'); 
 
  747                        $oForm_1->addItem($oTypeRadio);
 
  749                        $oNumCodes = 
new ilNumberInputGUI($this->lng->txt(
"paya_coupons_number_of_codes"),
'generate_number');
 
  750                        $oNumCodes->setSize(5);
 
  751                        $oNumCodes->setValue(
$_POST[
'generate_number']);
 
  752                        $oNumCodes->setRequired(
true);
 
  753                        $oForm_1->addItem($oNumCodes);
 
  755                        $oLength = 
new ilNumberInputGUI($this->lng->txt(
"paya_coupons_code_length"),
'generate_length');
 
  756                        $oLength->setSize(5);
 
  757                        $oLength->setValue(
$_POST[
'generate_length']);
 
  758                        $oLength->setRequired(
true);
 
  759                        $oLength->setInfo($this->lng->txt(
'paya_coupons_type_self'));
 
  760                        $oForm_1->addItem($oLength);
 
  762                        $oForm_1->addCommandButton(
'saveCodeForm',$this->lng->txt(
'save'));
 
  764                        $this->tpl->setVariable(
'FORM', $oForm_1->getHTML());
 
  766                        $oForm_2 = 
new ilPropertyformGUI();
 
  767                        $oForm_2->setId(
'import_frm');
 
  768                        $oForm_2->setFormAction($this->ctrl->getFormAction($this), 
'showCodeImport');
 
  769                        $oForm_2->addCommandButton(
'showCodeImport',$this->lng->txt(
'import'));
 
  770                        $this->tpl->setVariable(
'FORM_2', $oForm_2->getHTML());
 
  773                else if ($view == 
"input")
 
  775                        if (is_numeric(
$_POST[
'generate_number']) && 
$_POST[
'generate_number'] > 0)
 
  777                                for ($i = 0; $i < 
$_POST[
'generate_number']; $i++)
 
  781                                        $oForm_1->addItem($oLoopCode);
 
  783                                        $oForm_1->addCommandButton(
'saveCodeForm',$this->lng->txt(
'save'));
 
  786                        $this->tpl->setVariable(
'FORM',$oForm_1->getHTML());
 
  796                if (is_array(
$_POST[
'object_id']))
 
  798                        $this->coupon_obj->setId(
$_GET[
"coupon_id"]);           
 
  799                        foreach(
$_POST[
'object_id'] as $id)
 
  803                                        $this->coupon_obj->assignObjectToCoupon($id);
 
  815                if (is_array(
$_POST[
'object_id']))
 
  817                        $this->coupon_obj->setId(
$_GET[
"coupon_id"]);                           
 
  818                        foreach(
$_POST[
'object_id'] as $id)
 
  822                                        $this->coupon_obj->unassignObjectFromCoupon($id);
 
  834                $this->coupon_obj->setId(
$_GET[
'coupon_id']);
 
  838                $this->ctrl->setParameter($this, 
'coupon_id', 
$_GET[
'coupon_id']);
 
  841                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');          
 
  843                $objects = $this->pobject->_getObjectsData($this->user_obj->getId());
 
  847                $counter_assigned = 0;
 
  848                $counter_unassigned = 0;
 
  849                $f_result_assigned = array();
 
  850                $f_result_unassigned = array();
 
  851                foreach($objects as 
$data)
 
  853                        if ($this->coupon_obj->isObjectAssignedToCoupon(
$data[
'ref_id']))
 
  855                                $p_counter =& $counter_assigned;
 
  856                                $p_result =& $f_result_assigned;
 
  860                                $p_counter =& $counter_unassigned;
 
  861                                $p_result =& $f_result_unassigned;
 
  868                                $p_result[$p_counter][
'title'] = $tmp_obj->getTitle();
 
  870                                switch(
$data[
'status'])
 
  872                                        case $this->pobject->STATUS_BUYABLE:
 
  873                                                $p_result[$p_counter][
'status'] = $this->lng->txt(
'paya_buyable');
 
  876                                        case $this->pobject->STATUS_NOT_BUYABLE:
 
  877                                                $p_result[$p_counter][
'status'] = $this->lng->txt(
'paya_not_buyable');
 
  880                                        case $this->pobject->STATUS_EXPIRES:
 
  881                                                $p_result[$p_counter][
'status'] = $this->lng->txt(
'paya_expires');
 
  884                                include_once 
'./Services/Payment/classes/class.ilPayMethods.php';
 
  885                                $p_result[$p_counter][
'pay_method'] = ilPaymethods::getStringByPaymethod(
$data[
'pay_method']);
 
  889                                $p_result[$p_counter][
'object_id']      = 
'';
 
  890                                $p_result[$p_counter][
'title'] = $this->lng->txt(
'object_not_found');
 
  891                                $p_result[$p_counter][
'status'] = 
'';
 
  892                                $p_result[$p_counter][
'pay_method'] =
'';
 
  899                $this->ctrl->setParameter($this, 
"cmd", 
"showObjects");
 
  901                if (count($f_result_assigned) > 0)
 
  904                        $tbl->setTitle($this->lng->txt(
"paya_coupons_coupon").
" ".$this->coupon_obj->getTitle().
": ".$this->lng->txt(
"paya_coupons_assigned_objects"));
 
  905                        $tbl->setId(
'tbl_show_assigned');
 
  906                        $tbl->setPrefix(
'assigned');
 
  907                        $tbl->setRowTemplate(
"tpl.shop_objects_row.html", 
"Services/Payment");
 
  909                        $tbl->addColumn(
'', 
'object_id', 
'1%');
 
  910                        $tbl->addColumn($this->lng->txt(
'title'),
'title', 
'10%');
 
  911                        $tbl->addColumn($this->lng->txt(
'status'), 
'status', 
'30%');
 
  912                        $tbl->addColumn($this->lng->txt(
'paya_pay_method'), 
'paya_pay_method', 
'60%');
 
  914                        $tbl->setSelectAllCheckbox(
'object_id');
 
  916                        $tbl->addMultiCommand(
'unassignObjects',$this->lng->txt(
'remove'));
 
  919                        $tbl->setData($f_result_assigned);
 
  921                        $this->tpl->setVariable(
'TABLE', $tbl->getHTML());
 
  924                if (count($f_result_unassigned) > 0)
 
  927                        $tbl_2->setTitle($this->lng->txt(
"paya_coupons_coupon").
" ".$this->coupon_obj->getTitle().
": ".$this->lng->txt(
"paya_coupons_unassigned_objects"));
 
  928                        $tbl_2->setId(
'tbl_show_unassigned');
 
  929                        $tbl_2->setPrefix(
'unassigned');
 
  930                        $tbl_2->setRowTemplate(
"tpl.shop_objects_row.html", 
"Services/Payment");
 
  932                        $tbl_2->addColumn(
'', 
'object_id', 
'1%');
 
  933                        $tbl_2->addColumn($this->lng->txt(
'title'),
'title', 
'10%');
 
  934                        $tbl_2->addColumn($this->lng->txt(
'status'), 
'status', 
'30%');
 
  935                        $tbl_2->addColumn($this->lng->txt(
'paya_pay_method'), 
'pay_method', 
'60%');
 
  937                        $tbl_2->setSelectAllCheckbox(
'object_id');
 
  939                        $tbl_2->addMultiCommand(
'assignObjects',$this->lng->txt(
'add'));
 
  942                        $tbl_2->setData($f_result_unassigned);
 
  944                        $this->tpl->setVariable(
'TABLE_2', $tbl_2->getHTML());
 
  952                include_once(
'./Services/Utilities/classes/class.ilCSVReader.php');
 
  954                if ($_FILES[
"codesfile"][
"tmp_name"] != 
"")
 
  957                        $csv->setDelimiter(
"");
 
  959                        if ($csv->open($_FILES[
"codesfile"][
"tmp_name"]))
 
  961                                $data = $csv->getDataArrayFromCSVFile();
 
  963                                for ($i = 0; $i < count(
$data); $i++)
 
  965                                        for ($j = 0; $j < count(
$data[$i]); $j++)
 
  977                                ilUtil::sendInfo($this->lng->txt(
"paya_coupons_import_error_opening_file"));
 
  994                $this->ctrl->setParameter($this, 
'coupon_id', 
$_GET[
'coupon_id']);
 
  996                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');
 
 1000                $oForm->setId(
'coup_form');
 
 1001                $oForm->setFormAction($this->ctrl->getFormAction($this), 
'importCodes');
 
 1002                $oForm->setTitle( $this->lng->txt(
"paya_coupons_coupon").
" ".$this->coupon_obj->getTitle().
": ".$this->lng->txt(
'paya_coupons_codes_import'));
 
 1004                $oFile = 
new ilFileInputGUI($this->lng->txt(
'file'),
'codesfile');
 
 1005                $oFile->setSuffixes(array(
"txt"));
 
 1006                $oFile->setRequired(
true);
 
 1007                $oFile->setInfo($this->lng->txt(
'import_use_only_textfile'));
 
 1008                $oForm->addItem($oFile);
 
 1010                $oForm->addCommandButton(
'importCodes',$this->lng->txt(
'upload'));
 
 1012                $this->tpl->setVariable(
'FORM', $oForm->getHTML());
 
 1021                $ilToolbar->addButton($this->lng->txt(
'paya_coupons_edit'), $this->ctrl->getLinkTarget($this, 
'addCoupon'));
 
 1022                $ilToolbar->addButton($this->lng->txt(
'paya_coupons_edit_codes'), $this->ctrl->getLinkTarget($this, 
'showCodes'));
 
 1023                $ilToolbar->addButton($this->lng->txt(
'paya_coupons_edit_objects'), $this->ctrl->getLinkTarget($this, 
'showObjects'));
 
 1030                include_once 
'./Services/Payment/classes/class.ilPaymentObject.php';
 
 1039                include_once 
'./Services/Payment/classes/class.ilPaymentCoupons.php';   
 
 1047                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.main_view.html',
'Services/Payment');  
 
 1049                if (!isset(
$_GET[
'coupon_id']))
 
 1054#               $this->ctrl->setParameter($this, 'coupon_id', $this->coupon_obj->getId());                                               
 1061                $oConfirmationGUI->setFormAction($this->ctrl->getFormAction($this, 
'performDeleteCoupon'));             
 
 1062                $oConfirmationGUI->setHeaderText(
'');
 
 1063                $oConfirmationGUI->setCancel($this->lng->txt(
"cancel"), 
"showCoupons");
 
 1064                $oConfirmationGUI->setConfirm($this->lng->txt(
"confirm"), 
'performDeleteCoupon');                       
 
 1066                $oConfirmationGUI->addHiddenItem(
'coupon_id', 
$_GET[
'coupon_id']);
 
 1067                $this->tpl->setVariable(
'CONFIRMATION', $oConfirmationGUI->getHTML());
 
 1074                if (!isset(
$_POST[
'coupon_id']))
 
 1078                $this->coupon_obj->deleteCouponByCouponId((
int)
$_POST[
'coupon_id']);
 
error($a_errmsg)
set error message @access public
Helper class to generate CSV files.
Confirmation screen class.
_lookupLogin($a_user_id)
lookup login
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
generateCodes($view="choice")
showCodes($a_show_delete="")
__showCouponsTable($f_result)
__makeCode($a_code="", $a_length=32)
__initPaymentObject($a_pobject_id=0)
static _lookupTitle($a_coupon_id)
This class represents an option in a radio group.
Class ilShopCouponsTableGUI.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.