00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00036 require_once "./classes/class.ilObjectGUI.php";
00037
00038 class ilObjPaymentSettingsGUI extends ilObjectGUI
00039 {
00040 var $user_obj = null;
00041 var $pobject = null;
00042
00047 function ilObjPaymentSettingsGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output = true)
00048 {
00049 global $ilias;
00050
00051 $this->user_obj =& $ilias->account;
00052
00053 include_once "./payment/classes/class.ilPaymentObject.php";
00054
00055 $this->pobject =& new ilPaymentObject($this->user_obj);
00056
00057
00058 $this->type = "pays";
00059 $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
00060
00061 $this->lng->loadLanguageModule('payment');
00062 }
00063
00064 function gatewayObject()
00065 {
00066 switch($_POST["action"])
00067 {
00068 case "deleteVendorsObject":
00069 $this->deleteVendors();
00070 break;
00071
00072 case "editVendorObject":
00073 $this->editVendor();
00074 break;
00075
00076 case "performEditVendorObject":
00077 $this->performEditVendorObject();
00078 break;
00079
00080 default:
00081 $this->vendorsObject();
00082 break;
00083 }
00084 return true;
00085 }
00086
00087 function resetFilterObject()
00088 {
00089 unset($_SESSION["pay_statistics"]);
00090 unset($_POST["transaction_type"]);
00091 unset($_POST["transaction_value"]);
00092 unset($_POST["from"]["day"]);
00093 unset($_POST["from"]["month"]);
00094 unset($_POST["from"]["year"]);
00095 unset($_POST["til"]["day"]);
00096 unset($_POST["til"]["month"]);
00097 unset($_POST["til"]["year"]);
00098 unset($_POST["payed"]);
00099 unset($_POST["access"]);
00100 unset($_POST["customer"]);
00101
00102 sendInfo($this->lng->txt('paya_filter_reseted'));
00103
00104 return $this->statisticObject();
00105 }
00106
00107 function statisticObject()
00108 {
00109 global $rbacsystem;
00110
00111
00112 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00113 {
00114 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00115 }
00116
00117 if ($_POST["updateView"] == 1)
00118 {
00119 $_SESSION["pay_statistics"]["transaction_type"] = $_POST["transaction_type"];
00120 $_SESSION["pay_statistics"]["transaction_value"] = $_POST["transaction_value"];
00121 $_SESSION["pay_statistics"]["from"]["day"] = $_POST["from"]["day"];
00122 $_SESSION["pay_statistics"]["from"]["month"] = $_POST["from"]["month"];
00123 $_SESSION["pay_statistics"]["from"]["year"] = $_POST["from"]["year"];
00124 $_SESSION["pay_statistics"]["til"]["day"] = $_POST["til"]["day"];
00125 $_SESSION["pay_statistics"]["til"]["month"] = $_POST["til"]["month"];
00126 $_SESSION["pay_statistics"]["til"]["year"] = $_POST["til"]["year"];
00127 $_SESSION["pay_statistics"]["payed"] = $_POST["payed"];
00128 $_SESSION["pay_statistics"]["access"] = $_POST["access"];
00129 $_SESSION["pay_statistics"]["customer"] = $_POST["customer"];
00130 $_SESSION["pay_statistics"]["vendor"] = $_POST["vendor"];
00131 }
00132
00133 $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.paya_adm_statistic.html','payment');
00134
00135 $this->tpl->setVariable("TXT_FILTER",$this->lng->txt('pay_filter'));
00136 $this->tpl->setVariable("FORM_ACTION",$this->ctrl->getFormAction($this));
00137 $this->tpl->setVariable("TXT_TRANSACTION",$this->lng->txt('paya_transaction'));
00138 $this->tpl->setVariable("TXT_STARTING",$this->lng->txt('pay_starting'));
00139 $this->tpl->setVariable("TXT_ENDING",$this->lng->txt('pay_ending'));
00140 $this->tpl->setVariable("TXT_PAYED",$this->lng->txt('paya_payed'));
00141 $this->tpl->setVariable("TXT_ALL",$this->lng->txt('pay_all'));
00142 $this->tpl->setVariable("TXT_YES",$this->lng->txt('yes'));
00143 $this->tpl->setVariable("TXT_NO",$this->lng->txt('no'));
00144 $this->tpl->setVariable("TXT_CUSTOMER",$this->lng->txt('paya_customer'));
00145 $this->tpl->setVariable("TXT_VENDOR",$this->lng->txt('paya_vendor'));
00146 $this->tpl->setVariable("TXT_ACCESS",$this->lng->txt('paya_access'));
00147 $this->tpl->setVariable("TXT_ORDER_DATE_FROM",$this->lng->txt('pay_order_date_from'));
00148 $this->tpl->setVariable("TXT_ORDER_DATE_TIL",$this->lng->txt('pay_order_date_til'));
00149 $this->tpl->setVariable("TXT_UPDATE_VIEW",$this->lng->txt('pay_update_view'));
00150 $this->tpl->setVariable("TXT_RESET_FILTER",$this->lng->txt('pay_reset_filter'));
00151
00152 $this->tpl->setVariable("TRANSACTION_TYPE_" . $_SESSION["pay_statistics"]["transaction_type"], " selected");
00153 $this->tpl->setVariable("TRANSACTION_VALUE", ilUtil::prepareFormOutput($_SESSION["pay_statistics"]["transaction_value"], true));
00154 $this->tpl->setVariable("PAYED_" . $_SESSION["pay_statistics"]["payed"], " selected");
00155 $this->tpl->setVariable("ACCESS_" . $_SESSION["pay_statistics"]["access"], " selected");
00156 $this->tpl->setVariable("CUSTOMER", ilUtil::prepareFormOutput($_SESSION["pay_statistics"]["customer"], true));
00157 $this->tpl->setVariable("VENDOR", ilUtil::prepareFormOutput($_SESSION["pay_statistics"]["vendor"], true));
00158
00159 for ($i = 1; $i <= 31; $i++)
00160 {
00161 $this->tpl->setCurrentBlock("loop_from_day");
00162 $this->tpl->setVariable("LOOP_FROM_DAY", $i < 10 ? "0" . $i : $i);
00163 if ($_SESSION["pay_statistics"]["from"]["day"] == $i)
00164 {
00165 $this->tpl->setVariable("LOOP_FROM_DAY_SELECTED", " selected");
00166 }
00167 $this->tpl->parseCurrentBlock("loop_from_day");
00168 $this->tpl->setCurrentBlock("loop_til_day");
00169 $this->tpl->setVariable("LOOP_TIL_DAY", $i < 10 ? "0" . $i : $i);
00170 if ($_SESSION["pay_statistics"]["til"]["day"] == $i)
00171 {
00172 $this->tpl->setVariable("LOOP_TIL_DAY_SELECTED", " selected");
00173 }
00174 $this->tpl->parseCurrentBlock("loop_til_day");
00175 }
00176 for ($i = 1; $i <= 12; $i++)
00177 {
00178 $this->tpl->setCurrentBlock("loop_from_month");
00179 $this->tpl->setVariable("LOOP_FROM_MONTH", $i < 10 ? "0" . $i : $i);
00180 if ($_SESSION["pay_statistics"]["from"]["month"] == $i)
00181 {
00182 $this->tpl->setVariable("LOOP_FROM_MONTH_SELECTED", " selected");
00183 }
00184 $this->tpl->parseCurrentBlock("loop_from_month");
00185 $this->tpl->setCurrentBlock("loop_til_month");
00186 $this->tpl->setVariable("LOOP_TIL_MONTH", $i < 10 ? "0" . $i : $i);
00187 if ($_SESSION["pay_statistics"]["til"]["month"] == $i)
00188 {
00189 $this->tpl->setVariable("LOOP_TIL_MONTH_SELECTED", " selected");
00190 }
00191 $this->tpl->parseCurrentBlock("loop_til_month");
00192 }
00193 for ($i = 2004; $i <= date("Y"); $i++)
00194 {
00195 $this->tpl->setCurrentBlock("loop_from_year");
00196 $this->tpl->setVariable("LOOP_FROM_YEAR", $i);
00197 if ($_SESSION["pay_statistics"]["from"]["year"] == $i)
00198 {
00199 $this->tpl->setVariable("LOOP_FROM_YEAR_SELECTED", " selected");
00200 }
00201 $this->tpl->parseCurrentBlock("loop_from_year");
00202 $this->tpl->setCurrentBlock("loop_til_year");
00203 $this->tpl->setVariable("LOOP_TIL_YEAR", $i);
00204 if ($_SESSION["pay_statistics"]["til"]["year"] == $i)
00205 {
00206 $this->tpl->setVariable("LOOP_TIL_YEAR_SELECTED", " selected");
00207 }
00208 $this->tpl->parseCurrentBlock("loop_til_year");
00209 }
00210
00211 $this->__initBookingObject();
00212
00213 if(!count($bookings = $this->booking_obj->getBookings()))
00214 {
00215 sendInfo($this->lng->txt('paya_no_bookings'));
00216
00217 return true;
00218 }
00219 else
00220 {
00221 $this->__showButton('exportVendors',$this->lng->txt('excel_export'));
00222 }
00223 $img_change = "<img src=\"".ilUtil::getImagePath("edit.gif")."\" alt=\"".
00224 $this->lng->txt("edit")."\" title=\"".$this->lng->txt("edit").
00225 "\" border=\"0\" vspace=\"0\"/>";
00226
00227 $counter = 0;
00228 foreach($bookings as $booking)
00229 {
00230 $tmp_obj =& ilObjectFactory::getInstanceByRefId($booking['ref_id']);
00231 $tmp_vendor =& ilObjectFactory::getInstanceByObjId($booking['b_vendor_id']);
00232 $tmp_purchaser =& ilObjectFactory::getInstanceByObjId($booking['customer_id']);
00233
00234 $f_result[$counter][] = $booking['transaction_extern'];
00235 $f_result[$counter][] = $tmp_obj->getTitle();
00236 $f_result[$counter][] = '['.$tmp_vendor->getLogin().']';
00237 $f_result[$counter][] = '['.$tmp_purchaser->getLogin().']';
00238 $f_result[$counter][] = date('Y m d H:i:s',$booking['order_date']);
00239 $f_result[$counter][] = $booking['duration'];
00240 $f_result[$counter][] = $booking['price'];
00241
00242 $payed_access = $booking['payed'] ?
00243 $this->lng->txt('yes') :
00244 $this->lng->txt('no');
00245
00246 $payed_access .= '/';
00247 $payed_access .= $booking['access'] ?
00248 $this->lng->txt('yes') :
00249 $this->lng->txt('no');
00250
00251 $f_result[$counter][] = $payed_access;
00252
00253 $this->ctrl->setParameter($this,"booking_id",$booking['booking_id']);
00254 $link_change = "<a href=\"".$this->ctrl->getLinkTarget($this,"editStatistic")."\"> ".
00255 $img_change."</a>";
00256
00257 $f_result[$counter][] = $link_change;
00258
00259 unset($tmp_obj);
00260 unset($tmp_vendor);
00261 unset($tmp_purchaser);
00262
00263 ++$counter;
00264 }
00265 return $this->__showStatisticTable($f_result);
00266 }
00267
00268 function editStatisticObject($a_show_confirm_delete = false)
00269 {
00270 if(!isset($_GET['booking_id']))
00271 {
00272 sendInfo($this->lng->txt('paya_no_booking_id_given'));
00273 $this->showStatistics();
00274
00275 return true;
00276 }
00277
00278 $this->__showButton('statistic',$this->lng->txt('back'));
00279
00280 $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.paya_adm_edit_statistic.html','payment');
00281 $this->ctrl->setParameter($this,'booking_id',(int) $_GET['booking_id']);
00282
00283
00284 if($a_show_confirm_delete)
00285 {
00286 $this->tpl->setCurrentBlock("confirm_delete");
00287 $this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
00288 $this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
00289 $this->tpl->setVariable("CONFIRM_CMD",'performDelete');
00290 $this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('confirm'));
00291 $this->tpl->parseCurrentBlock();
00292 }
00293
00294
00295 $this->__initBookingObject();
00296 $bookings = $this->booking_obj->getBookings();
00297 $booking = $bookings[(int) $_GET['booking_id']];
00298
00299
00300 $tmp_user =& ilObjectFactory::getInstanceByObjId($booking['customer_id']);
00301
00302
00303
00304 $this->tpl->setVariable("STAT_FORMACTION",$this->ctrl->getFormAction($this));
00305 $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_usr_b.gif'));
00306 $this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_usr'));
00307 $this->tpl->setVariable("TITLE",$tmp_user->getFullname().' ['.$tmp_user->getLogin().']');
00308
00309
00310 $this->tpl->setVariable("TXT_TRANSACTION",$this->lng->txt('paya_transaction'));
00311 $this->tpl->setVariable("TXT_VENDOR",$this->lng->txt('paya_vendor'));
00312 $this->tpl->setVariable("TXT_PAY_METHOD",$this->lng->txt('paya_pay_method'));
00313 $this->tpl->setVariable("TXT_ORDER_DATE",$this->lng->txt('paya_order_date'));
00314 $this->tpl->setVariable("TXT_DURATION",$this->lng->txt('duration'));
00315 $this->tpl->setVariable("TXT_PRICE",$this->lng->txt('price_a'));
00316 $this->tpl->setVariable("TXT_PAYED",$this->lng->txt('paya_payed'));
00317 $this->tpl->setVariable("TXT_ACCESS",$this->lng->txt('paya_access'));
00318
00319 $this->tpl->setVariable("TRANSACTION",$booking['transaction']);
00320
00321 $tmp_vendor =& ilObjectFactory::getInstanceByObjId($booking['b_vendor_id']);
00322
00323 $this->tpl->setVariable("VENDOR",$tmp_vendor->getFullname().' ['.$tmp_vendor->getLogin().']');
00324
00325 switch($booking['b_pay_method'])
00326 {
00327 case $this->pobject->PAY_METHOD_BILL:
00328 $this->tpl->setVariable("PAY_METHOD",$this->lng->txt('pays_bill'));
00329 break;
00330
00331 case $this->pobject->PAY_METHOD_BMF:
00332 $this->tpl->setVariable("PAY_METHOD",$this->lng->txt('pays_bmf'));
00333 break;
00334
00335 default:
00336 $this->tpl->setVariable("PAY_METHOD",$this->lng->txt('paya_pay_method_not_specified'));
00337 break;
00338 }
00339 $this->tpl->setVariable("ORDER_DATE",date('Y m d H:i:s',$booking['order_date']));
00340 $this->tpl->setVariable("DURATION",$booking['duration'].' '.$this->lng->txt('paya_months'));
00341 $this->tpl->setVariable("PRICE",$booking['price']);
00342
00343 $yes_no = array(0 => $this->lng->txt('no'),1 => $this->lng->txt('yes'));
00344
00345 $this->tpl->setVariable("PAYED",ilUtil::formSelect((int) $booking['payed'],'payed',$yes_no,false,true));
00346 $this->tpl->setVariable("ACCESS",ilUtil::formSelect((int) $booking['access'],'access',$yes_no,false,true));
00347
00348
00349 $this->tpl->setVariable("INPUT_CMD",'updateStatistic');
00350 $this->tpl->setVariable("INPUT_VALUE",$this->lng->txt('save'));
00351
00352 $this->tpl->setVariable("DELETE_CMD",'deleteStatistic');
00353 $this->tpl->setVariable("DELETE_VALUE",$this->lng->txt('delete'));
00354 }
00355 function updateStatisticObject()
00356 {
00357 if(!isset($_GET['booking_id']))
00358 {
00359 sendInfo($this->lng->txt('paya_no_booking_id_given'));
00360 $this->statisticObject();
00361
00362 return true;
00363 }
00364 $this->__initBookingObject();
00365
00366 $this->booking_obj->setBookingId((int) $_GET['booking_id']);
00367 $this->booking_obj->setAccess((int) $_POST['access']);
00368 $this->booking_obj->setPayed((int) $_POST['payed']);
00369
00370 if($this->booking_obj->update())
00371 {
00372 sendInfo($this->lng->txt('paya_updated_booking'));
00373
00374 $this->statisticObject();
00375 return true;
00376 }
00377 else
00378 {
00379 sendInfo($this->lng->txt('paya_error_update_booking'));
00380
00381 $this->statisticObject();
00382
00383 return true;
00384 }
00385 }
00386
00387 function deleteStatisticObject()
00388 {
00389 if(!isset($_GET['booking_id']))
00390 {
00391 sendInfo($this->lng->txt('paya_no_booking_id_given'));
00392 $this->statisticObject();
00393
00394 return true;
00395 }
00396 sendInfo($this->lng->txt('paya_sure_delete_stat'));
00397
00398 $this->editStatisticObject(true);
00399
00400 return true;
00401 }
00402 function performDeleteObject()
00403 {
00404 if(!isset($_GET['booking_id']))
00405 {
00406 sendInfo($this->lng->txt('paya_no_booking_id_given'));
00407 $this->statisticObject();
00408
00409 return true;
00410 }
00411
00412 $this->__initBookingObject();
00413 $this->booking_obj->setBookingId((int) $_GET['booking_id']);
00414 if(!$this->booking_obj->delete())
00415 {
00416 die('Error deleting booking');
00417 }
00418 sendInfo($this->lng->txt('pay_deleted_booking'));
00419
00420 $this->statisticObject();
00421
00422 return true;
00423 }
00424
00425
00431 function getTabs(&$tabs_gui)
00432 {
00433
00434
00435 }
00436
00437 function generalSettingsObject($a_show_confirm = false)
00438 {
00439 include_once './payment/classes/class.ilGeneralSettings.php';
00440
00441 $genSet = new ilGeneralSettings();
00442 $genSetData = $genSet->getAll();
00443
00444 global $rbacsystem;
00445
00446
00447 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00448 {
00449 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00450 }
00451
00452 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.pays_general_settings.html",'payment');
00453
00454 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
00455 $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_pays.gif'));
00456 $this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_pays'));
00457 $this->tpl->setVariable("TITLE",$this->lng->txt('pays_general_settings'));
00458 $this->tpl->setVariable("TXT_CURRENCY_UNIT",$this->lng->txt('pays_currency_unit'));
00459 $this->tpl->setVariable("TXT_CURRENCY_SUBUNIT",$this->lng->txt('pays_currency_subunit'));
00460 $this->tpl->setVariable("TXT_ADDRESS",$this->lng->txt('pays_address'));
00461 $this->tpl->setVariable("TXT_BANK_DATA",$this->lng->txt('pays_bank_data'));
00462 $this->tpl->setVariable("TXT_ADD_INFO",$this->lng->txt('pays_add_info'));
00463 $this->tpl->setVariable("TXT_VAT_RATE",$this->lng->txt('pays_vat_rate'));
00464 $this->tpl->setVariable("TXT_PDF_PATH",$this->lng->txt('pays_pdf_path'));
00465 $this->tpl->setVariable("CURRENCY_UNIT",
00466 $this->error != "" && isset($_POST['currency_unit'])
00467 ? ilUtil::prepareFormOutput($_POST['currency_unit'],true)
00468 : ilUtil::prepareFormOutput($genSetData['currency_unit'],true));
00469 $this->tpl->setVariable("CURRENCY_SUBUNIT",
00470 $this->error != "" && isset($_POST['currency_subunit'])
00471 ? ilUtil::prepareFormOutput($_POST['currency_subunit'],true)
00472 : ilUtil::prepareFormOutput($genSetData['currency_subunit'],true));
00473 $this->tpl->setVariable("ADDRESS",
00474 $this->error != "" && isset($_POST['address'])
00475 ? ilUtil::prepareFormOutput($_POST['address'],true)
00476 : ilUtil::prepareFormOutput($genSetData['address'],true));
00477 $this->tpl->setVariable("BANK_DATA",
00478 $this->error != "" && isset($_POST['bank_data'])
00479 ? ilUtil::prepareFormOutput($_POST['bank_data'],true)
00480 : ilUtil::prepareFormOutput($genSetData['bank_data'],true));
00481 $this->tpl->setVariable("ADD_INFO",
00482 $this->error != "" && isset($_POST['add_info'])
00483 ? ilUtil::prepareFormOutput($_POST['add_info'],true)
00484 : ilUtil::prepareFormOutput($genSetData['add_info'],true));
00485 $this->tpl->setVariable("VAT_RATE",
00486 $this->error != "" && isset($_POST['vat_rate'])
00487 ? ilUtil::prepareFormOutput($_POST['vat_rate'],true)
00488 : ilUtil::prepareFormOutput($genSetData['vat_rate'],true));
00489 $this->tpl->setVariable("PDF_PATH",
00490 $this->error != "" && isset($_POST['pdf_path'])
00491 ? ilUtil::prepareFormOutput($_POST['pdf_path'],true)
00492 : ilUtil::prepareFormOutput($genSetData['pdf_path'],true));
00493
00494
00495 $this->tpl->setVariable("COLUMN_COUNT",2);
00496 $this->tpl->setVariable("PBTN_NAME",'saveGeneralSettings');
00497 $this->tpl->setVariable("PBTN_VALUE",$this->lng->txt('save'));
00498
00499 }
00500
00501 function saveGeneralSettingsObject()
00502 {
00503 include_once './payment/classes/class.ilGeneralSettings.php';
00504
00505 $genSet = new ilGeneralSettings();
00506
00507 global $rbacsystem;
00508
00509
00510 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00511 {
00512 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00513 }
00514
00515 if ($_POST["currency_unit"] == "" ||
00516 $_POST["currency_subunit"] == "" ||
00517 $_POST["address"] == "" ||
00518 $_POST["bank_data"] == "" ||
00519 $_POST["pdf_path"] == "")
00520 {
00521 $this->error = $this->lng->txt('pays_general_settings_not_valid');
00522 sendInfo($this->error);
00523 $this->generalSettingsObject();
00524 return;
00525 }
00526
00527 $genSet->clearAll();
00528 $values = array(
00529 "currency_unit" => $_POST['currency_unit'],
00530 "currency_subunit" => $_POST['currency_subunit'],
00531 "address" => $_POST['address'],
00532 "bank_data" => $_POST['bank_data'],
00533 "add_info" => $_POST['add_info'],
00534 "vat_rate" => (float) str_replace(",", ".", $_POST['vat_rate']),
00535 "pdf_path" => $_POST['pdf_path']
00536 );
00537 $genSet->setAll($values);
00538 $this->generalSettingsObject();
00539
00540 sendInfo($this->lng->txt('pays_updated_general_settings'));
00541
00542 return true;
00543 }
00544
00545 function vendorsObject($a_show_confirm = false)
00546 {
00547 include_once './payment/classes/class.ilPaymentBookings.php';
00548
00549 global $rbacsystem;
00550
00551
00552 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00553 {
00554 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00555 }
00556
00557 $_SESSION['pays_vendor'] = is_array($_SESSION['pays_vendor']) ? $_SESSION['pays_vendor'] : array();
00558
00559
00560 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.pays_vendors.html",'payment');
00561
00562 $this->__showButton('searchUser',$this->lng->txt('search_user'));
00563
00564 $this->object->initPaymentVendorsObject();
00565 if(!count($vendors = $this->object->payment_vendors_obj->getVendors()))
00566 {
00567 sendInfo($this->lng->txt('pay_no_vendors_created'));
00568 }
00569 else
00570 {
00571 $this->__showButton('exportVendors',$this->lng->txt('excel_export'));
00572 }
00573
00574
00575
00576 if($a_show_confirm)
00577 {
00578 $this->tpl->setCurrentBlock("confirm_delete");
00579 $this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
00580 $this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
00581 $this->tpl->setVariable("CONFIRM_CMD",'performDeleteVendors');
00582 $this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('delete'));
00583 $this->tpl->parseCurrentBlock();
00584 }
00585
00586 $counter = 0;
00587 $f_result = array();
00588 foreach($vendors as $vendor)
00589 {
00590
00591 if($tmp_obj = ilObjectFactory::getInstanceByObjId($vendor['vendor_id'],false))
00592 {
00593 $f_result[$counter][] = ilUtil::formCheckbox(in_array($vendor['vendor_id'],$_SESSION['pays_vendor']) ? 1 : 0,
00594 "vendor[]",
00595 $vendor['vendor_id']);
00596 $f_result[$counter][] = $tmp_obj->getLogin();
00597 $f_result[$counter][] = $vendor['cost_center'];
00598 $f_result[$counter][] = ilPaymentBookings::_getCountBookingsByVendor($vendor['vendor_id']);
00599
00600 unset($tmp_obj);
00601 ++$counter;
00602 }
00603 $this->__showVendorsTable($f_result);
00604
00605 }
00606
00607 return true;
00608 }
00609
00610 function exportVendorsObject()
00611 {
00612 include_once './payment/classes/class.ilPaymentExcelWriterAdapter.php';
00613
00614 $pewa =& new ilPaymentExcelWriterAdapter('payment_vendors.xls');
00615
00616
00617 $this->addVendorWorksheet($pewa);
00618 $this->addStatisticWorksheet($pewa);
00619
00620
00621
00622 $workbook =& $pewa->getWorkbook();
00623 $workbook->close();
00624 }
00625
00626 function addStatisticWorksheet(&$pewa)
00627 {
00628 include_once './payment/classes/class.ilPaymentVendors.php';
00629
00630 $this->__initBookingObject();
00631
00632 if(!count($bookings = $this->booking_obj->getBookings()))
00633 {
00634 return false;
00635 }
00636
00637 $workbook =& $pewa->getWorkbook();
00638 $worksheet =& $workbook->addWorksheet($this->lng->txt('paya_statistic'));
00639
00640 $worksheet->mergeCells(0,0,0,8);
00641 $worksheet->setColumn(0,0,32);
00642 $worksheet->setColumn(0,1,32);
00643 $worksheet->setColumn(0,2,16);
00644 $worksheet->setColumn(0,3,16);
00645 $worksheet->setColumn(0,4,16);
00646 $worksheet->setColumn(0,5,24);
00647 $worksheet->setColumn(0,6,8);
00648 $worksheet->setColumn(0,7,12);
00649 $worksheet->setColumn(0,8,16);
00650
00651 $title = $this->lng->txt('paya_statistic');
00652 $title .= ' '.$this->lng->txt('as_of');
00653 $title .= strftime('%Y-%m-%d %R',time());
00654
00655 $worksheet->writeString(0,0,$title,$pewa->getFormatTitle());
00656
00657 $worksheet->writeString(1,0,$this->lng->txt('paya_transaction'),$pewa->getFormatHeader());
00658 $worksheet->writeString(1,1,$this->lng->txt('title'),$pewa->getFormatHeader());
00659 $worksheet->writeString(1,2,$this->lng->txt('paya_vendor'),$pewa->getFormatHeader());
00660 $worksheet->writeString(1,3,$this->lng->txt('pays_cost_center'),$pewa->getFormatHeader());
00661 $worksheet->writeString(1,4,$this->lng->txt('paya_customer'),$pewa->getFormatHeader());
00662 $worksheet->writeString(1,5,$this->lng->txt('paya_order_date'),$pewa->getFormatHeader());
00663 $worksheet->writeString(1,6,$this->lng->txt('duration'),$pewa->getFormatHeader());
00664 $worksheet->writeString(1,7,$this->lng->txt('price_a'),$pewa->getFormatHeader());
00665 $worksheet->writeString(1,8,$this->lng->txt('paya_payed_access'),$pewa->getFormatHeader());
00666
00667 $counter = 2;
00668 foreach($bookings as $booking)
00669 {
00670 $tmp_obj =& ilObjectFactory::getInstanceByRefId($booking['ref_id']);
00671 $tmp_vendor =& ilObjectFactory::getInstanceByObjId($booking['b_vendor_id']);
00672 $tmp_purchaser =& ilObjectFactory::getInstanceByObjId($booking['customer_id']);
00673
00674 $worksheet->writeString($counter,0,$booking['transaction_extern']);
00675 $worksheet->writeString($counter,1,$tmp_obj->getTitle());
00676 $worksheet->writeString($counter,2,$tmp_vendor->getLogin());
00677 $worksheet->writeString($counter,3,ilPaymentVendors::_getCostCenter($tmp_vendor->getId()));
00678 $worksheet->writeString($counter,4,$tmp_purchaser->getLogin());
00679 $worksheet->writeString($counter,5,strftime('%Y-%m-%d %R',$booking['order_date']));
00680
00681
00682
00683
00684
00685
00686
00687
00688 $worksheet->writeString($counter,6,$booking['duration']);
00689 $worksheet->writeString($counter,7,$booking['price']);
00690
00691 $payed_access = $booking['payed'] ?
00692 $this->lng->txt('yes') :
00693 $this->lng->txt('no');
00694
00695 $payed_access .= '/';
00696 $payed_access .= $booking['access'] ?
00697 $this->lng->txt('yes') :
00698 $this->lng->txt('no');
00699
00700 $worksheet->writeString($counter,8,$payed_access);
00701
00702 unset($tmp_obj);
00703 unset($tmp_vendor);
00704 unset($tmp_purchaser);
00705
00706 ++$counter;
00707 }
00708 }
00709
00710 function addVendorWorksheet(&$pewa)
00711 {
00712 $this->object->initPaymentVendorsObject();
00713 if(!count($vendors = $this->object->payment_vendors_obj->getVendors()))
00714 {
00715 return false;
00716 }
00717
00718 $workbook =& $pewa->getWorkbook();
00719 $worksheet =& $workbook->addWorksheet($this->lng->txt('pays_vendor'));
00720
00721
00722 $worksheet->mergeCells(0,0,0,2);
00723 $worksheet->setColumn(1,0,32);
00724 $worksheet->setColumn(1,1,32);
00725 $worksheet->setColumn(1,2,32);
00726
00727 $title = $this->lng->txt('paya_vendor_list');
00728 $title .= ' '.$this->lng->txt('as_of');
00729 $title .= strftime('%Y-%m-%d %R',time());
00730
00731 $worksheet->writeString(0,0,$title,$pewa->getFormatTitle());
00732
00733 $worksheet->writeString(1,0,$this->lng->txt('login'),$pewa->getFormatHeader());
00734 $worksheet->writeString(1,1,$this->lng->txt('fullname'),$pewa->getFormatHeader());
00735 $worksheet->writeString(1,2,$this->lng->txt('pays_cost_center'),$pewa->getFormatHeader());
00736
00737 $counter = 2;
00738 foreach($vendors as $vendor)
00739 {
00740
00741 if($tmp_obj = ilObjectFactory::getInstanceByObjId($vendor['vendor_id'],false))
00742 {
00743 $worksheet->writeString($counter,0,$tmp_obj->getLogin());
00744 $worksheet->writeString($counter,1,$tmp_obj->getFullname());
00745 $worksheet->writeString($counter,2,$vendor['cost_center']);
00746 }
00747 unset($tmp_obj);
00748 ++$counter;
00749 }
00750 }
00751
00752 function payMethodsObject()
00753 {
00754 include_once './payment/classes/class.ilPayMethods.php';
00755
00756 global $rbacsystem;
00757
00758
00759 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00760 {
00761 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00762 }
00763
00764 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.pays_pay_methods.html",'payment');
00765
00766 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
00767 $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_pays.gif'));
00768 $this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_pays'));
00769 $this->tpl->setVariable("TITLE",$this->lng->txt('pays_pay_methods'));
00770 $this->tpl->setVariable("TXT_OFFLINE",$this->lng->txt('pays_offline'));
00771 $this->tpl->setVariable("TXT_BILL",$this->lng->txt('pays_bill'));
00772 $this->tpl->setVariable("BILL_CHECK",ilUtil::formCheckbox(
00773 (int) ilPayMethods::_enabled('pm_bill') ? 1 : 0,'pm_bill',1,true));
00774
00775 $this->tpl->setVariable("TXT_ENABLED",$this->lng->txt('enabled'));
00776 $this->tpl->setVariable("TXT_ONLINE",$this->lng->txt('pays_online'));
00777 $this->tpl->setVariable("TXT_BMF",$this->lng->txt('pays_bmf'));
00778 $this->tpl->setVariable("ONLINE_CHECK",ilUtil::formCheckbox((int) ilPayMethods::_enabled('pm_bmf'),'pm_bmf',1));
00779
00780
00781 $this->tpl->setVariable("COLUMN_COUNT",3);
00782 $this->tpl->setVariable("PBTN_NAME",'savePayMethods');
00783 $this->tpl->setVariable("PBTN_VALUE",$this->lng->txt('save'));
00784
00785 }
00786
00787 function savePayMethodsObject()
00788 {
00789 include_once './payment/classes/class.ilPayMethods.php';
00790 include_once './payment/classes/class.ilPaymentObject.php';
00791
00792
00793 global $rbacsystem;
00794
00795
00796 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
00797 {
00798 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00799 }
00800
00801
00802
00803 if(ilPayMethods::_enabled('pm_bill') and !$_POST['pm_bill'])
00804 {
00805 if(ilPaymentObject::_getCountObjectsByPayMethod('pm_bill'))
00806 {
00807 sendInfo($this->lng->txt('pays_objects_bill_exist'));
00808 $this->payMethodsObject();
00809
00810 return false;
00811 }
00812 }
00813
00814 if(ilPayMethods::_enabled('pm_bmf') and !$_POST['pm_bmf'])
00815 {
00816 if(ilPaymentObject::_getCountObjectsByPayMethod('pm_bmf'))
00817 {
00818 sendInfo($this->lng->txt('pays_objects_bmf_exist'));
00819 $this->payMethodsObject();
00820
00821 return false;
00822 }
00823 }
00824
00825 ilPayMethods::_disableAll();
00826 if(isset($_POST['pm_bill']))
00827 {
00828 ilPayMethods::_enable('pm_bill');
00829 }
00830 if(isset($_POST['pm_bmf']))
00831 {
00832 ilPayMethods::_enable('pm_bmf');
00833 }
00834 $this->payMethodsObject();
00835
00836 sendInfo($this->lng->txt('pays_updated_pay_method'));
00837
00838 return true;
00839 }
00840
00841 function cancelDeleteVendorsObject()
00842 {
00843 unset($_SESSION['pays_vendor']);
00844 $this->vendorsObject();
00845
00846 return true;
00847 }
00848
00849 function deleteVendors()
00850 {
00851 include_once './payment/classes/class.ilPaymentBookings.php';
00852
00853 if(!count($_POST['vendor']))
00854 {
00855 sendInfo($this->lng->txt('pays_no_vendor_selected'));
00856 $this->vendorsObject();
00857
00858 return true;
00859 }
00860
00861 foreach($_POST['vendor'] as $vendor)
00862 {
00863 if(ilPaymentBookings::_getCountBookingsByVendor($vendor))
00864 {
00865 sendInfo($this->lng->txt('pays_active_bookings'));
00866 $this->vendorsObject();
00867
00868 return true;
00869 }
00870 }
00871
00872 $_SESSION["pays_vendor"] = $_POST["vendor"];
00873 sendInfo($this->lng->txt("pays_sure_delete_selected_vendors"));
00874 $this->vendorsObject(true);
00875
00876 return true;
00877 }
00878 function performDeleteVendorsObject()
00879 {
00880 include_once './payment/classes/class.ilPaymentTrustees.php';
00881
00882 global $rbacsystem;
00883
00884
00885 if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
00886 {
00887 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
00888 }
00889
00890 $this->object->initPaymentVendorsObject();
00891
00892 foreach($_SESSION['pays_vendor'] as $vendor)
00893 {
00894 $this->object->payment_vendors_obj->delete($vendor);
00895 ilPaymentTrustees::_deleteTrusteesOfVendor($vendor);
00896 }
00897
00898 sendInfo($this->lng->txt('pays_deleted_number_vendors').' '.count($_SESSION['pays_vendor']));
00899 unset($_SESSION['pays_vendor']);
00900
00901 $this->vendorsObject();
00902
00903 return true;
00904 }
00905
00906 function editVendor()
00907 {
00908 global $rbacsystem;
00909
00910
00911 if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
00912 {
00913 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
00914 }
00915
00916 if(!count($_POST['vendor']))
00917 {
00918 sendInfo($this->lng->txt('pays_no_vendor_selected'));
00919 $this->vendorsObject();
00920
00921 return true;
00922 }
00923 if(count($_POST['vendor']) > 1)
00924 {
00925 sendInfo($this->lng->txt('pays_too_many_vendors_selected'));
00926 $this->vendorsObject();
00927
00928 return true;
00929 }
00930
00931 $_SESSION["pays_vendor"] = $_POST["vendor"][0];
00932
00933 $this->object->initPaymentVendorsObject();
00934
00935 if (!is_array($this->object->payment_vendors_obj->vendors[$_SESSION["pays_vendor"]]))
00936 {
00937 $this->vendorsObject();
00938
00939 return true;
00940 }
00941
00942 $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.pays_vendor.html','payment');
00943
00944 $this->tpl->setVariable("VENDOR_FORMACTION",$this->ctrl->getFormAction($this));
00945
00946
00947 $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_usr_b.gif'));
00948 $this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_usr'));
00949 $this->tpl->setVariable("TITLE",$this->lng->txt('pays_vendor'));
00950
00951
00952 $this->tpl->setVariable("TXT_VENDOR",$this->lng->txt('pays_vendor'));
00953 $this->tpl->setVariable("TXT_COST_CENTER",$this->lng->txt('pays_cost_center'));
00954
00955 $this->tpl->setVariable("INPUT_VALUE",ucfirst($this->lng->txt('save')));
00956
00957
00958
00959 $this->tpl->setVariable("VENDOR",
00960 ilObjUser::getLoginByUserId($this->object->payment_vendors_obj->vendors[$_SESSION["pays_vendor"]]["vendor_id"]), true);
00961 $this->tpl->setVariable("COST_CENTER",
00962 $this->error != "" && isset($_POST['cost_center'])
00963 ? ilUtil::prepareFormOutput($_POST['cost_center'],true)
00964 : ilUtil::prepareFormOutput($this->object->payment_vendors_obj->vendors[$_SESSION["pays_vendor"]]["cost_center"],true));
00965
00966
00967 $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
00968 $this->tpl->setCurrentBlock("btn_cell");
00969 $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "vendors"));
00970 $this->tpl->setVariable("BTN_TXT", $this->lng->txt('pay_bmf_back'));
00971 $this->tpl->parseCurrentBlock("btn_cell");
00972
00973 }
00974 function performEditVendorObject()
00975 {
00976 global $rbacsystem;
00977
00978
00979 if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
00980 {
00981 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
00982 }
00983
00984 if(!count($_SESSION['pays_vendor']))
00985 {
00986 sendInfo($this->lng->txt('pays_no_vendor_selected'));
00987 $this->vendorsObject();
00988
00989 return true;
00990 }
00991 if(count($_SESSION['pays_vendor']) > 1)
00992 {
00993 sendInfo($this->lng->txt('pays_too_many_vendors_selected'));
00994 $this->vendorsObject();
00995
00996 return true;
00997 }
00998
00999 $this->object->initPaymentVendorsObject();
01000
01001 if (!is_array($this->object->payment_vendors_obj->vendors[$_SESSION["pays_vendor"]]))
01002 {
01003 $this->vendorsObject();
01004
01005 return true;
01006 }
01007
01008 if ($_POST["cost_center"] == "")
01009 {
01010 $this->error = $this->lng->txt('pays_cost_center_not_valid');
01011 sendInfo($this->error);
01012 $_POST["vendor"] = array($_SESSION["pays_vendor"]);
01013 $this->editVendor();
01014 return;
01015 }
01016
01017 $this->object->initPaymentVendorsObject();
01018 $this->object->payment_vendors_obj->update($_SESSION["pays_vendor"], $_POST["cost_center"]);
01019
01020 unset($_SESSION['pays_vendor']);
01021
01022 $this->vendorsObject();
01023
01024 return true;
01025 }
01026
01027 function searchUserObject()
01028 {
01029 global $rbacsystem;
01030
01031
01032 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
01033 {
01034 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
01035 }
01036
01037 $this->tpl->addBlockFile("ADM_CONTENT","adm_content","tpl.pays_user_search.html",'payment');
01038
01039 $this->lng->loadLanguageModule('search');
01040
01041 $this->tpl->setVariable("F_ACTION",$this->ctrl->getFormAction($this));
01042 $this->tpl->setVariable("SEARCH_ASSIGN_USR",$this->lng->txt("crs_search_members"));
01043 $this->tpl->setVariable("SEARCH_SEARCH_TERM",$this->lng->txt("search_search_term"));
01044 $this->tpl->setVariable("SEARCH_VALUE",$_SESSION["pays_search_str"] ? $_SESSION["pays_search_str"] : "");
01045 $this->tpl->setVariable("BTN2_VALUE",$this->lng->txt("cancel"));
01046 $this->tpl->setVariable("BTN1_VALUE",$this->lng->txt("search"));
01047
01048 return true;
01049 }
01050
01051 function searchObject()
01052 {
01053 global $rbacsystem,$tree;
01054
01055 if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
01056 {
01057 $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
01058 }
01059
01060 $_SESSION["pays_search_str"] = $_POST["search_str"] = $_POST["search_str"] ? $_POST["search_str"] : $_SESSION["pays_search_str"];
01061
01062 if(!isset($_POST["search_str"]))
01063 {
01064 sendInfo($this->lng->txt("crs_search_enter_search_string"));
01065 $this->searchUserObject();
01066
01067 return false;
01068 }
01069 if(!count($result = $this->__search(ilUtil::stripSlashes($_POST["search_str"]))))
01070 {
01071 sendInfo($this->lng->txt("crs_no_results_found"));
01072 $this->searchUserObject();
01073
01074 return false;
01075 }
01076
01077 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.pays_usr_selection.html",'payment');
01078 $this->__showButton("searchUser",$this->lng->txt("crs_new_search"));
01079
01080 $counter = 0;
01081 $f_result = array();
01082 foreach($result as $user)
01083 {
01084 if(!$tmp_obj = ilObjectFactory::getInstanceByObjId($user["id"],false))
01085 {
01086 continue;
01087 }
01088 $f_result[$counter][] = ilUtil::formCheckbox(0,"user[]",$user["id"]);
01089 $f_result[$counter][] = $tmp_obj->getLogin();
01090 $f_result[$counter][] = $tmp_obj->getLastname();
01091 $f_result[$counter][] = $tmp_obj->getFirstname();
01092
01093 unset($tmp_obj);
01094 ++$counter;
01095 }
01096 $this->__showSearchUserTable($f_result);
01097
01098 return true;
01099 }
01100 function addVendorObject()
01101 {
01102 global $rbacsystem;
01103
01104
01105 if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
01106 {
01107 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
01108 }
01109 if(!$_POST['vendor_login'])
01110 {
01111 sendInfo($this->lng->txt('pays_no_username_given'));
01112 $this->vendorsObject();
01113
01114 return true;
01115 }
01116 if(!($usr_id = ilObjUser::getUserIdByLogin(ilUtil::stripSlashes($_POST['vendor_login']))))
01117 {
01118 sendInfo($this->lng->txt('pays_no_valid_username_given'));
01119 $this->vendorsObject();
01120
01121 return true;
01122 }
01123
01124 $this->object->initPaymentVendorsObject();
01125
01126 if($this->object->payment_vendors_obj->isAssigned($usr_id))
01127 {
01128 sendInfo($this->lng->txt('pays_user_already_assigned'));
01129 $this->vendorsObject();
01130
01131 return true;
01132 }
01133 $this->object->payment_vendors_obj->add($usr_id);
01134
01135 sendInfo($this->lng->txt('pays_added_vendor'));
01136 $this->vendorsObject();
01137
01138 return true;
01139 }
01140
01141 function addUserObject()
01142 {
01143 global $rbacsystem;
01144
01145
01146 if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
01147 {
01148 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
01149 }
01150
01151 $this->lng->loadLanguageModule('crs');
01152 if(!is_array($_POST["user"]))
01153 {
01154 sendInfo($this->lng->txt("crs_no_users_selected"));
01155 $this->searchObject();
01156
01157 return false;
01158 }
01159
01160 $this->object->initPaymentVendorsObject();
01161
01162 $already_assigned = $assigned = 0;
01163 foreach($_POST['user'] as $usr_id)
01164 {
01165 if($this->object->payment_vendors_obj->isAssigned($usr_id))
01166 {
01167 ++$already_assigned;
01168
01169 continue;
01170 }
01171 $this->object->payment_vendors_obj->add($usr_id);
01172 ++$assigned;
01173
01174
01175 }
01176 $message = '';
01177 if($assigned)
01178 {
01179 $message .= $this->lng->txt('pays_assigned_vendors').' '.$assigned;
01180 }
01181 if($already_assigned)
01182 {
01183 $message .= '<br />'.$this->lng->txt('pays_already_assigned_vendors').' '.$already_assigned;
01184 }
01185
01186 sendInfo($message);
01187 $this->vendorsObject();
01188
01189 return true;
01190 }
01191
01192
01193
01194 function __showStatisticTable($a_result_set)
01195 {
01196 $tbl =& $this->__initTableGUI();
01197 $tpl =& $tbl->getTemplateObject();
01198
01199
01200 $tpl->setCurrentBlock("tbl_form_header");
01201
01202 $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
01203 $tpl->parseCurrentBlock();
01204
01205
01206 $tbl->setTitle($this->lng->txt("paya_statistic"),"icon_pays_b.gif",$this->lng->txt("paya_statistic"));
01207 $tbl->setHeaderNames(array($this->lng->txt("paya_transaction"),
01208 $this->lng->txt("title"),
01209 $this->lng->txt("paya_vendor"),
01210 $this->lng->txt("paya_customer"),
01211 $this->lng->txt("paya_order_date"),
01212 $this->lng->txt("duration"),
01213 $this->lng->txt("price_a"),
01214 $this->lng->txt("paya_payed_access"),
01215 $this->lng->txt("edit")));
01216
01217 $tbl->setHeaderVars(array("transaction",
01218 "title",
01219 "vendor",
01220 "customer",
01221 "order_date",
01222 "duration",
01223 "price",
01224 "payed_access",
01225 "options"),
01226 $this->ctrl->getParameterArray($this,"statistic",false));
01227
01228 $offset = $_GET["offset"];
01229 $order = $_GET["sort_by"];
01230 $direction = $_GET["sort_order"] ? $_GET['sort_order'] : 'desc';
01231
01232 $tbl->setOrderColumn($order,'order_date');
01233 $tbl->setOrderDirection($direction);
01234 $tbl->setOffset($offset);
01235 $tbl->setLimit($_GET["limit"]);
01236 $tbl->setMaxCount(count($a_result_set));
01237 $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
01238 $tbl->setData($a_result_set);
01239
01240
01241 $tbl->render();
01242
01243 $this->tpl->setVariable("STATISTIC_TABLE",$tbl->tpl->get());
01244
01245 return true;
01246 }
01247
01248 function __initBookingObject()
01249 {
01250 include_once './payment/classes/class.ilPaymentBookings.php';
01251
01252 $this->booking_obj =& new ilPaymentBookings($this->user_obj->getId(),true);
01253 }
01254
01255 function __showVendorsTable($a_result_set)
01256 {
01257 $actions = array(
01258 "editVendorObject" => $this->lng->txt("pays_edit_vendor"),
01259 "deleteVendorsObject" => $this->lng->txt("pays_delete_vendor")
01260 );
01261
01262 $tbl =& $this->__initTableGUI();
01263 $tpl =& $tbl->getTemplateObject();
01264
01265
01266 $tpl->setCurrentBlock("tbl_form_header");
01267
01268 $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
01269 $tpl->parseCurrentBlock();
01270
01271 $tpl->setCurrentBlock("tbl_action_row");
01272
01273 $tpl->setCurrentBlock("input_text");
01274 $tpl->setVariable("PB_TXT_NAME",'vendor_login');
01275 $tpl->parseCurrentBlock();
01276
01277 $tpl->setCurrentBlock("plain_button");
01278 $tpl->setVariable("PBTN_NAME","addVendor");
01279 $tpl->setVariable("PBTN_VALUE",$this->lng->txt("pays_add_vendor"));
01280 $tpl->parseCurrentBlock();
01281 $tpl->setCurrentBlock("plain_buttons");
01282 $tpl->parseCurrentBlock();
01283
01284 $tpl->setVariable("COLUMN_COUNTS",4);
01285
01286 $tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
01287
01288 $tpl->setCurrentBlock("tbl_action_select");
01289 $tpl->setVariable("SELECT_ACTION",ilUtil::formSelect(1,"action",$actions,false,true));
01290 $tpl->setVariable("BTN_NAME","gateway");
01291 $tpl->setVariable("BTN_VALUE",$this->lng->txt("execute"));
01292 $tpl->parseCurrentBlock();
01293 $tpl->setCurrentBlock("tbl_action_row");
01294 $tpl->setVariable("TPLPATH",$this->tpl->tplPath);
01295 $tpl->parseCurrentBlock();
01296
01297 $tbl->setTitle($this->lng->txt("vendors"),"icon_usr_b.gif",$this->lng->txt("vendors"));
01298 $tbl->setHeaderNames(array('',
01299 $this->lng->txt("pays_vendor"),
01300 $this->lng->txt("pays_cost_center"),
01301 $this->lng->txt("pays_number_bookings")));
01302 $tbl->setHeaderVars(array("",
01303 "login",
01304 "cost_center",
01305 "bookings"),
01306 array("ref_id" => $this->object->getRefId(),
01307 "cmd" => "vendors",
01308 "update_members" => 1,
01309 "cmdClass" => "ilobjpaymentsettingsgui",
01310 "cmdNode" => $_GET["cmdNode"]));
01311 # $tbl->setColumnWidth(array("4%","48%","25%","24%"));
01312
01313
01314 $this->__setTableGUIBasicData($tbl,$a_result_set);
01315 $tbl->render();
01316
01317 $this->tpl->setVariable("VENDOR_TABLE",$tbl->tpl->get());
01318
01319 return true;
01320 }
01321
01322
01323 function __showSearchUserTable($a_result_set,$a_cmd = "search")
01324 {
01325 $tbl =& $this->__initTableGUI();
01326 $tpl =& $tbl->getTemplateObject();
01327
01328
01329
01330 $tpl->setCurrentBlock("tbl_form_header");
01331 $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
01332 $tpl->parseCurrentBlock();
01333
01334 $tpl->setCurrentBlock("tbl_action_btn");
01335 $tpl->setVariable("BTN_NAME","vendors");
01336 $tpl->setVariable("BTN_VALUE",$this->lng->txt("cancel"));
01337 $tpl->parseCurrentBlock();
01338
01339 $tpl->setCurrentBlock("tbl_action_btn");
01340 $tpl->setVariable("BTN_NAME","addUser");
01341 $tpl->setVariable("BTN_VALUE",$this->lng->txt("add"));
01342 $tpl->parseCurrentBlock();
01343
01344 $tpl->setCurrentBlock("tbl_action_row");
01345 $tpl->setVariable("COLUMN_COUNTS",5);
01346 $tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
01347 $tpl->parseCurrentBlock();
01348
01349 $tbl->setTitle($this->lng->txt("pays_header_select_vendor"),"icon_usr_b.gif",$this->lng->txt("pays_header_select_vendor"));
01350 $tbl->setHeaderNames(array("",
01351 $this->lng->txt("login"),
01352 $this->lng->txt("firstname"),
01353 $this->lng->txt("lastname")));
01354 $tbl->setHeaderVars(array("",
01355 "login",
01356 "firstname",
01357 "lastname"),
01358 array("ref_id" => $this->object->getRefId(),
01359 "cmd" => $a_cmd,
01360 "cmdClass" => "ilobjpaymentsettingsgui",
01361 "cmdNode" => $_GET["cmdNode"]));
01362
01363 $tbl->setColumnWidth(array("3%","32%","32%","32%"));
01364
01365 $this->__setTableGUIBasicData($tbl,$a_result_set);
01366 $tbl->render();
01367
01368 $this->tpl->setVariable("SEARCH_RESULT_TABLE",$tbl->tpl->get());
01369
01370 return true;
01371 }
01372
01373 function __showButton($a_cmd,$a_text,$a_target = '')
01374 {
01375 $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
01376
01377
01378 $this->tpl->setCurrentBlock("btn_cell");
01379 $this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTarget($this,$a_cmd));
01380 $this->tpl->setVariable("BTN_TXT",$a_text);
01381 if($a_target)
01382 {
01383 $this->tpl->setVariable("BTN_TARGET",$a_target);
01384 }
01385
01386 $this->tpl->parseCurrentBlock();
01387 }
01388
01389 function &__initTableGUI()
01390 {
01391 include_once "./classes/class.ilTableGUI.php";
01392
01393 return new ilTableGUI(0,false);
01394 }
01395
01396 function __setTableGUIBasicData(&$tbl,&$result_set,$from = "")
01397 {
01398
01399 $offset = $_GET["offset"];
01400 $order = $_GET["sort_by"];
01401 $direction = $_GET["sort_order"];
01402
01403 $tbl->setOrderColumn($order);
01404 $tbl->setOrderDirection($direction);
01405 $tbl->setOffset($offset);
01406 $tbl->setLimit($_GET["limit"]);
01407 $tbl->setMaxCount(count($result_set));
01408 $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
01409 $tbl->setData($result_set);
01410 }
01411
01412 function __search($a_search_string)
01413 {
01414 include_once("./classes/class.ilSearch.php");
01415
01416 $this->lng->loadLanguageModule("content");
01417
01418 $search =& new ilSearch($_SESSION["AccountId"]);
01419 $search->setPerformUpdate(false);
01420 $search->setSearchString(ilUtil::stripSlashes($a_search_string));
01421 $search->setCombination("and");
01422 $search->setSearchFor(array(0 => 'usr'));
01423 $search->setSearchType('new');
01424
01425 if($search->validate($message))
01426 {
01427 $search->performSearch();
01428 }
01429 else
01430 {
01431 sendInfo($message,true);
01432 $this->ctrl->redirect($this,"searchUser");
01433 }
01434 return $search->getResultByType('usr');
01435 }
01436
01437 }
01438 ?>