ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilPaymentObjectGUI Class Reference
+ Inheritance diagram for ilPaymentObjectGUI:
+ Collaboration diagram for ilPaymentObjectGUI:

Public Member Functions

 ilPaymentObjectGUI ($user_obj)
 executeCommand ()
 forwardToPageObject ()
 showObjects ()
 editDetails ($a_show_confirm=false)
 deleteObject ()
 performDelete ()
 editPayMethod ()
 editPrices ($a_show_delete=false)
 addPrice ()
 performAddPrice ()
 performDeletePrice ()
 deletePrice ()
 updatePrice ()
 updateDetails ()
 showObjectSelector ()
 showSelectedObject ()
 addObject ()
 __showPayMethodLink ()
 __showObjectsTable ($a_result_set)
 __getHTMLPath ($a_ref_id)
 __initPaymentObject ($a_pobject_id=0)
- Public Member Functions inherited from ilShopBaseGUI
 __construct ()

Data Fields

 $ctrl
 $lng
 $user_obj
 $pobject = null

Protected Member Functions

 prepareOutput ()
- Protected Member Functions inherited from ilShopBaseGUI
 addPager ($result, $a_session_key)
 buildSubTabs ()
 setSection ($a_section)
 getSection ()
 setSubSection ($a_sub_section)
 getSubSection ()
 showButton ($a_cmd, $a_text, $a_target= '')
 initTableGUI ()
 setTableGUIBasicData ($tbl, $result_set, $a_default_order_column= '')

Private Member Functions

 __getVendors ()
 __getStatus ()
 __getPayMethods ()

Additional Inherited Members

- Protected Attributes inherited from ilShopBaseGUI
 $ctrl = null
 $ilias = null
 $lng = null
 $tpl = null
 $oGeneralSettings = null
 $section = 0
 $sub_section = 0

Detailed Description

Definition at line 37 of file class.ilPaymentObjectGUI.php.

Member Function Documentation

ilPaymentObjectGUI::__getHTMLPath (   $a_ref_id)

Definition at line 1164 of file class.ilPaymentObjectGUI.php.

References $data.

Referenced by editDetails(), and showSelectedObject().

{
global $tree;
$path = $tree->getPathFull($a_ref_id);
unset($path[0]);
foreach($path as $data)
{
$html .= $data['title'].' > ';
}
return substr($html,0,-2);
}

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__getPayMethods ( )
private

Definition at line 1043 of file class.ilPaymentObjectGUI.php.

References ilPayMethods\_enabled().

Referenced by editDetails().

{
include_once 'payment/classes/class.ilPayMethods.php';
$options = array();
$options[$this->pobject->PAY_METHOD_NOT_SPECIFIED] = $this->lng->txt('paya_pay_method_not_specified');
if(ilPayMethods::_enabled('pm_bill'))
{
$options[$this->pobject->PAY_METHOD_BILL] = $this->lng->txt('pays_bill');
}
if(ilPayMethods::_enabled('pm_bmf'))
{
$options[$this->pobject->PAY_METHOD_BMF] = $this->lng->txt('pays_bmf');
}
if(ilPayMethods::_enabled('pm_paypal'))
{
$options[$this->pobject->PAY_METHOD_PAYPAL] = $this->lng->txt('pays_paypal');
}
return $options;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__getStatus ( )
private

Definition at line 1033 of file class.ilPaymentObjectGUI.php.

Referenced by editDetails().

{
$option = array();
$option[$this->pobject->STATUS_NOT_BUYABLE] = $this->lng->txt('paya_not_buyable');
$option[$this->pobject->STATUS_BUYABLE] = $this->lng->txt('paya_buyable');
$option[$this->pobject->STATUS_EXPIRES] = $this->lng->txt('paya_expires');
return $option;
}

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__getVendors ( )
private

Definition at line 1010 of file class.ilPaymentObjectGUI.php.

References $vendor, ilPaymentTrustees\_getVendorsForObjects(), ilPaymentVendors\_isVendor(), and ilObjectFactory\getInstanceByObjId().

Referenced by editDetails(), and showSelectedObject().

{
include_once 'payment/classes/class.ilPaymentVendors.php';
$options = array();
$vendors = array();
if(ilPaymentVendors::_isVendor($this->user_obj->getId()))
{
$vendors[] = $this->user_obj->getId();
}
if($vend = ilPaymentTrustees::_getVendorsForObjects($this->user_obj->getId()))
{
$vendors = array_merge($vendors, $vend);
}
foreach($vendors as $vendor)
{
$tmp_obj = ilObjectFactory::getInstanceByObjId($vendor, false);
$options[$vendor] = $tmp_obj->getFullname().' ['.$tmp_obj->getLogin().']';
}
return $options;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__initPaymentObject (   $a_pobject_id = 0)

Definition at line 1178 of file class.ilPaymentObjectGUI.php.

Referenced by addPrice(), editDetails(), editPayMethod(), editPrices(), forwardToPageObject(), performDelete(), performDeletePrice(), showObjects(), and updateDetails().

{
include_once './payment/classes/class.ilPaymentObject.php';
$this->pobject =& new ilPaymentObject($this->user_obj,$a_pobject_id);
return true;
}

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__showObjectsTable (   $a_result_set)

Definition at line 1093 of file class.ilPaymentObjectGUI.php.

References $_GET, ilShopBaseGUI\$tpl, and ilShopBaseGUI\initTableGUI().

Referenced by showObjects().

{
$tbl =& $this->initTableGUI();
$tpl =& $tbl->getTemplateObject();
// SET FORMAACTION
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
/*
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setCurrentBlock("plain_buttons");
$tpl->parseCurrentBlock();
$tpl->setVariable("COLUMN_COUNTS",6);
$tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
$tpl->setCurrentBlock("tbl_action_button");
$tpl->setVariable("BTN_NAME","deleteTrustee");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("delete"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setVariable("TPLPATH",$this->tpl->tplPath);
$tpl->parseCurrentBlock();
*/
$tbl->setTitle($this->lng->txt("objects"),"icon_pays.gif",$this->lng->txt("objects"));
$tbl->setHeaderNames(array($this->lng->txt("title"),
$this->lng->txt("status"),
$this->lng->txt("paya_pay_method"),
$this->lng->txt("paya_vendor"),
$this->lng->txt("paya_count_purchaser"),
''));
$header_params = $this->ctrl->getParameterArray($this,'');
$tbl->setHeaderVars(array("title",
"status",
"pay_method",
"vendor",
"purchasers",
"options"),$header_params);
/*
array("cmd" => "",
"cmdClass" => "ilpaymentobjectgui",
"cmdNode" => $_GET["cmdNode"]));
*/
$tbl->setColumnWidth(array("15%","15%","15%","20%","20%"));
# $this->setTableGUIBasicData($tbl,$a_result_set);
$offset = $_GET["offset"];
$order = $_GET["sort_by"];
$direction = $_GET["sort_order"] ? $_GET['sort_order'] : 'desc';
$tbl->setOrderColumn($order,'order_date');
$tbl->setOrderDirection($direction);
$tbl->setOffset($offset);
$tbl->setLimit($_GET["limit"]);
$tbl->setMaxCount(count($a_result_set));
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
$tbl->setData($a_result_set);
$tbl->render();
$this->tpl->setVariable("OBJECTS_TABLE",$tbl->tpl->get());
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::__showPayMethodLink ( )

Definition at line 1066 of file class.ilPaymentObjectGUI.php.

References $_GET, and ilShopBaseGUI\showButton().

{
switch($this->pobject->getPayMethod())
{
case $this->pobject->PAY_METHOD_NOT_SPECIFIED:
$this->showButton('editPayMethod',$this->lng->txt('paya_edit_pay_method'));
break;
case $this->pobject->PAY_METHOD_BILL:
$this->ctrl->setParameterByClass('ilpaymentbilladmingui','pobject_id',(int) $_GET['pobject_id']);
$this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTargetByClass('ilpaymentbilladmingui'));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt('paya_edit_pay_method'));
$this->tpl->parseCurrentBlock();
break;
case $this->pobject->PAY_METHOD_BMF:
$this->showButton('editPayMethod',$this->lng->txt('paya_edit_pay_method'));
break;
case $this->pobject->PAY_METHOD_PAYPAL:
$this->showButton('editPayMethod',$this->lng->txt('paya_edit_pay_method'));
break;
}
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::addObject ( )

Definition at line 966 of file class.ilPaymentObjectGUI.php.

References $_GET, ilPaymentObject\_isPurchasable(), editDetails(), ilUtil\sendInfo(), showObjects(), showObjectSelector(), and showSelectedObject().

{
if(!$_GET['sell_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
return $this->showObjectSelector();
}
if(!(int)$_POST['vendor'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_vendor_selected'));
return $this->showSelectedObject();
}
{
ilUtil::sendInfo($this->lng->txt('paya_object_not_purchasable'));
return $this->showObjectSelector();
}
include_once 'payment/classes/class.ilPaymentObject.php';
$p_obj = new ilPaymentObject($this->user_obj);
$p_obj->setRefId((int)$_GET['sell_id']);
$p_obj->setStatus($p_obj->STATUS_NOT_BUYABLE);
$p_obj->setPayMethod($p_obj->PAY_METHOD_NOT_SPECIFIED);
$p_obj->setVendorId((int)$_POST['vendor']);
$p_obj->setTopicId((int)$_POST['topic_id']);
if($new_id = $p_obj->add())
{
ilUtil::sendInfo($this->lng->txt('paya_added_new_object'));
$_GET['pobject_id'] = $new_id;
return $this->editDetails();
}
else
{
ilUtil::sendInfo($this->lng->txt('paya_err_adding_object'));
return $this->showObjects();
}
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::addPrice ( )

Definition at line 583 of file class.ilPaymentObjectGUI.php.

References $_GET, __initPaymentObject(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendInfo(), ilShopBaseGUI\showButton(), and showObjects().

Referenced by performAddPrice().

{
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
include_once './payment/classes/class.ilGeneralSettings.php';
$genSet = new ilGeneralSettings();
$this->ctrl->setParameter($this,'pobject_id',(int) $_GET['pobject_id']);
$this->__initPaymentObject((int) $_GET['pobject_id']);
$this->showButton('editDetails',$this->lng->txt('paya_edit_details'));
$this->showButton('editPrices',$this->lng->txt('paya_edit_prices'));
# $this->__showPayMethodLink();
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.paya_add_price.html','payment');
$this->tpl->setVariable("ADD_FORMACTION",$this->ctrl->getFormAction($this));
$tmp_obj =& ilObjectFactory::getInstanceByRefId($this->pobject->getRefId());
$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_'.$tmp_obj->getType().'_b.gif'));
$this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_'.$tmp_obj->getType()));
$this->tpl->setVariable("TITLE",$tmp_obj->getTitle());
$this->tpl->setVariable("DESCRIPTION",$this->lng->txt('paya_add_price_title'));
// TODO show curency selector
# $this->tpl->setVariable("TXT_PRICE_A",$this->lng->txt('currency_euro'));
# $this->tpl->setVariable("TXT_PRICE_B",$this->lng->txt('currency_cent'));
$this->tpl->setVariable("TXT_PRICE_A",$genSet->get("currency_unit"));
$this->tpl->setVariable("TXT_PRICE_B",$genSet->get("currency_subunit"));
$this->tpl->setVariable("MONTH",$this->lng->txt('paya_months'));
$this->tpl->setVariable("TXT_DURATION",$this->lng->txt('duration'));
$this->tpl->setVariable("TXT_PRICE",$this->lng->txt('price_a'));
$this->tpl->setVariable("CANCEL",$this->lng->txt('cancel'));
$this->tpl->setVariable("ADD",$this->lng->txt('paya_add_price'));
$this->tpl->setVariable("DURATION",$_POST['duration']);
$this->tpl->setVariable("UNIT_VALUE",$_POST['unit']);
$this->tpl->setVariable("SUB_UNIT",$_POST['SUB_UNIT']);
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::deleteObject ( )

Definition at line 328 of file class.ilPaymentObjectGUI.php.

References $_GET, ilPaymentBookings\_getCountBookingsByObject(), editDetails(), ilUtil\sendInfo(), and showObjects().

{
include_once './payment/classes/class.ilPaymentBookings.php';
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
{
ilUtil::sendInfo($this->lng->txt('paya_bookings_available'));
$this->editDetails();
return false;
}
else
{
ilUtil::sendInfo($this->lng->txt('paya_sure_delete_object'));
$this->editDetails(true);
return true;
}
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::deletePrice ( )

Definition at line 716 of file class.ilPaymentObjectGUI.php.

References $_GET, $_SESSION, editPrices(), ilUtil\sendInfo(), and showObjects().

{
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
if(!count($_POST['price_ids']))
{
ilUtil::sendInfo($this->lng->txt('paya_no_prices_selected'));
$this->editPrices();
return true;
}
$_SESSION['price_ids'] = $_POST['price_ids'];
$this->editPrices(true);
return true;
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::editDetails (   $a_show_confirm = false)

Definition at line 226 of file class.ilPaymentObjectGUI.php.

References $_GET, __getHTMLPath(), __getPayMethods(), __getStatus(), __getVendors(), __initPaymentObject(), ilPaymentBookings\_getCountBookingsByObject(), ilShopTopics\_getInstance(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendInfo(), ilSelectInputGUI\setOptions(), ilNonEditableValueGUI\setValue(), ilShopBaseGUI\showButton(), and showObjects().

Referenced by addObject(), deleteObject(), editPayMethod(), and updateDetails().

{
if(!(int)$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
return $this->showObjects();
}
$this->__initPaymentObject((int)$_GET['pobject_id']);
$this->ctrl->setParameter($this,'pobject_id', (int)$_GET['pobject_id']);
$this->showButton('editDetails', $this->lng->txt('paya_edit_details'));
$this->showButton('editPrices', $this->lng->txt('paya_edit_prices'));
// edit abstract
$this->tpl->setCurrentBlock('btn_cell');
$this->tpl->setVariable('BTN_LINK', $this->ctrl->getLinkTargetByClass(array('ilpageobjectgui'), 'edit'));
$this->tpl->setVariable('BTN_TXT', $this->lng->txt('pay_edit_abstract'));
$this->tpl->parseCurrentBlock();
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.paya_edit.html','payment');
if($a_show_confirm)
{
$this->tpl->setCurrentBlock("confirm_delete");
$this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
$this->tpl->setVariable("CONFIRM_CMD",'performDelete');
$this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('confirm'));
$this->tpl->parseCurrentBlock();
}
$tmp_obj = ilObjectFactory::getInstanceByRefId($this->pobject->getRefId());
include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
$oForm = new ilPropertyFormGUI();
$oForm->setFormAction($this->ctrl->getFormAction($this, 'updateDetails'));
$oForm->setTitle($tmp_obj->getTitle());
$oForm->setTitleIcon(ilUtil::getImagePath('icon_'.$tmp_obj->getType().'_b.gif'));
// repository path
$oPathGUI = new ilNonEditableValueGUI($this->lng->txt('path'));
$oPathGUI->setValue($this->__getHTMLPath($this->pobject->getRefId()));
$oForm->addItem($oPathGUI);
// number of purchasers
$oPurchasersGUI = new ilNonEditableValueGUI($this->lng->txt('paya_count_purchaser'));
$oPurchasersGUI->setValue(ilPaymentBookings::_getCountBookingsByObject((int)$_GET['pobject_id']));
$oForm->addItem($oPurchasersGUI);
// vendors
$oVendorsGUI = new ilSelectInputGUI($this->lng->txt('paya_vendor'), 'vendor');
$oVendorsGUI->setOptions($this->__getVendors());
$oVendorsGUI->setValue($this->pobject->getVendorId());
$oForm->addItem($oVendorsGUI);
// status
$oStatusGUI = new ilSelectInputGUI($this->lng->txt('status'), 'status');
$oStatusGUI->setOptions($this->__getStatus());
$oStatusGUI->setValue($this->pobject->getStatus());
$oForm->addItem($oStatusGUI);
// pay methods
$oPayMethodsGUI = new ilSelectInputGUI($this->lng->txt('paya_pay_method'), 'pay_method');
$oPayMethodsGUI->setOptions($this->__getPayMethods());
$oPayMethodsGUI->setValue($this->pobject->getPayMethod());
$oForm->addItem($oPayMethodsGUI);
// topics
if(is_array($topics = ilShopTopics::_getInstance()->getTopics()) && count($topics))
{
$oTopicsGUI = new ilSelectInputGUI($this->lng->txt('topic'), 'topic_id');
include_once 'Services/Payment/classes/class.ilShopTopics.php';
$topic_options = array();
$topic_options[''] = $this->lng->txt('please_choose');
foreach($topics as $oTopic)
{
$topic_options[$oTopic->getId()] = $oTopic->getTitle();
}
$oTopicsGUI->setOptions($topic_options);
$oTopicsGUI->setValue($this->pobject->getTopicId());
$oForm->addItem($oTopicsGUI);
}
$oThumbnail = new ilImageFileInputGUI($this->lng->txt('pay_thumbnail'), 'thumbnail');
$oFile = new ilFileDataShop($this->pobject->getPobjectId());
if(($webpath_file = $oFile->getCurrentImageWebPath()) !== false)
{
$oThumbnail->setImage($webpath_file);
}
$oForm->addItem($oThumbnail);
// buttons
$oForm->addCommandButton('updateDetails', $this->lng->txt('save'));
$oForm->addCommandButton('deleteObject', $this->lng->txt('delete'));
$this->tpl->setVariable('PAYMENT_OBJECT_FORM', $oForm->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::editPayMethod ( )

Definition at line 391 of file class.ilPaymentObjectGUI.php.

References $_GET, __initPaymentObject(), editDetails(), and ilUtil\sendInfo().

{
$this->__initPaymentObject((int) $_GET['pobject_id']);
switch($this->pobject->getPayMethod())
{
case $this->pobject->PAY_METHOD_NOT_SPECIFIED:
ilUtil::sendInfo($this->lng->txt('paya_select_pay_method_first'));
$this->editDetails();
return true;
case $this->pobject->PAY_METHOD_BMF:
ilUtil::sendInfo($this->lng->txt('paya_no_settings_necessary'));
$this->editDetails();
return true;
case $this->pobject->PAY_METHOD_PAYPAL:
ilUtil::sendInfo($this->lng->txt('paya_no_settings_necessary'));
$this->editDetails();
return true;
}
$this->editDetails();
return true;
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::editPrices (   $a_show_delete = false)

Definition at line 418 of file class.ilPaymentObjectGUI.php.

References $_GET, $_SESSION, ilShopBaseGUI\$tpl, __initPaymentObject(), ilPaymentCurrency\_getCurrency(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendInfo(), ilShopBaseGUI\showButton(), showObjects(), and ilUtil\switchColor().

Referenced by deletePrice(), performAddPrice(), performDeletePrice(), and updatePrice().

{
include_once './payment/classes/class.ilPaymentPrices.php';
include_once './payment/classes/class.ilPaymentCurrency.php';
include_once "./Services/Table/classes/class.ilTableGUI.php";
include_once './payment/classes/class.ilGeneralSettings.php';
$genSet = new ilGeneralSettings();
$_SESSION['price_ids'] = $_SESSION['price_ids'] ? $_SESSION['price_ids'] : array();
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
$this->ctrl->setParameter($this,'pobject_id',(int) $_GET['pobject_id']);
$this->showButton('editDetails',$this->lng->txt('paya_edit_details'));
$this->showButton('editPrices',$this->lng->txt('paya_edit_prices'));
// edit abstract
$this->tpl->setCurrentBlock('btn_cell');
$this->tpl->setVariable('BTN_LINK', $this->ctrl->getLinkTargetByClass(array('ilpageobjectgui'), 'edit'));
$this->tpl->setVariable('BTN_TXT', $this->lng->txt('pay_edit_abstract'));
$this->tpl->parseCurrentBlock();
$this->__initPaymentObject((int) $_GET['pobject_id']);
# $this->__showPayMethodLink();
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.paya_edit_prices.html','payment');
$price_obj =& new ilPaymentPrices((int) $_GET['pobject_id']);
$prices = $price_obj->getPrices();
// No prices created
if(!count($prices))
{
ilUtil::sendInfo($this->lng->txt('paya_no_price_available'));
$this->tpl->setCurrentBlock("price_info");
$this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("CONFIRM_CMD",'addPrice');
$this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('paya_add_price'));
$this->tpl->parseCurrentBlock();
return true;
}
// Show confirm delete
if($a_show_delete)
{
ilUtil::sendInfo($this->lng->txt('paya_sure_delete_selected_prices'));
$this->tpl->setCurrentBlock("cancel");
$this->tpl->setVariable("CANCEL_CMD",'editPrices');
$this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("price_info");
$this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("CONFIRM_CMD",'performDeletePrice');
$this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('paya_delete_price'));
$this->tpl->parseCurrentBlock();
}
// Fill table cells
$tpl =& new ilTemplate('tpl.table.html',true,true);
// set table header
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
$tpl->addBlockfile("TBL_CONTENT", "tbl_content",'tpl.paya_edit_prices_row.html','payment');
$counter = 0;
foreach($prices as $price)
{
$currency = ilPaymentCurrency::_getCurrency($price['currency']);
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("ROWCOL", ilUtil::switchColor($counter,"tblrow2","tblrow1"));
$tpl->setVariable("CHECKBOX",ilUtil::formCheckBox(in_array($price['price_id'],$_SESSION['price_ids']) ? 1 : 0,
'price_ids[]',
$price['price_id']));
$tpl->setVariable("DURATION_NAME",'prices['.$price['price_id'].'][duration]');
$tpl->setVariable("DURATION",$price['duration']);
$tpl->setVariable("MONTH",$this->lng->txt('paya_months'));
$tpl->setVariable("UNIT_NAME",'prices['.$price['price_id'].'][unit_value]');
$tpl->setVariable("UNIT",$price['unit_value']);
# $tpl->setVariable("SHORTFORM",$this->lng->txt('currency_'.$currency['unit']));
$tpl->setVariable("SHORTFORM",$genSet->get("currency_unit"));
$tpl->setVariable("SUB_UNIT_NAME",'prices['.$price['price_id'].'][sub_unit_value]');
$tpl->setVariable("SUB_UNIT",$price['sub_unit_value']);
# $tpl->setVariable("SUB_UNIT_TXT",$this->lng->txt('currency_'.$currency['sub_unit']));
$tpl->setVariable("SUB_UNIT_TXT",$genSet->get("currency_subunit"));
$tpl->parseCurrentBlock();
++$counter;
}
// SET FOOTER
$tpl->setCurrentBlock("tbl_action_button");
$tpl->setVariable("BTN_NAME","deletePrice");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("paya_delete_price"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("plain_buttons");
$tpl->setVariable("PBTN_NAME","updatePrice");
$tpl->setVariable("PBTN_VALUE",$this->lng->txt("paya_update_price"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("plain_buttons");
$tpl->setVariable("PBTN_NAME","addPrice");
$tpl->setVariable("PBTN_VALUE",$this->lng->txt("paya_add_price"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setVariable("TPLPATH",$this->tpl->tplPath);
$tpl->setVariable("COLUMN_COUNTS",4);
$tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
$tpl->parseCurrentBlock();
$tbl = new ilTableGUI();
$tbl->setTemplate($tpl);
// title & header columns
$tbl->setStyle('table','std');
$tmp_obj =& ilObjectFactory::getInstanceByRefId($this->pobject->getRefId());
$tbl->setTitle($tmp_obj->getTitle(),
"icon_".$tmp_obj->getType()."_b.gif",
$this->lng->txt("objs_".$tmp_obj->getType()));
$tbl->setHeaderNames(array('',
$this->lng->txt('duration'),
$this->lng->txt('price_a'),
''));
$tbl->setHeaderVars(array("",
"duration",
"price_unit",
"price_sub_unit"),
array("ref_id" => $this->cur_ref_id));
// control
$tbl->setLimit($_GET["limit"]);
$tbl->setOffset($_GET["offset"]);
$tbl->setMaxCount(count($price_obj->getPrices()));
$tbl->disable("sort");
// render table
$tbl->render();
$this->tpl->setVariable("PRICES_TABLE",$tpl->get());
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::executeCommand ( )

Definition at line 64 of file class.ilPaymentObjectGUI.php.

References $cmd, $ret, forwardToPageObject(), and prepareOutput().

{
$cmd = $this->ctrl->getCmd();
switch($this->ctrl->getNextClass($this))
{
case 'ilpageobjectgui':
$this->prepareOutput();
if($ret != '')
{
$this->tpl->setContent($ret);
}
break;
default:
if(!$cmd = $this->ctrl->getCmd())
{
$cmd = 'showObjects';
}
$this->prepareOutput();
$this->$cmd();
break;
}
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::forwardToPageObject ( )

Definition at line 89 of file class.ilPaymentObjectGUI.php.

References $_GET, __initPaymentObject(), ilPageObject\_exists(), ilObjStyleSheet\getContentStylePath(), ilUtil\sendInfo(), ilPageObjectGUI\setIntLinkHelpDefault(), and showObjects().

Referenced by executeCommand().

{
global $ilTabs;
if(!(int)$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
return $this->showObjects();
}
$this->ctrl->setParameter($this, 'pobject_id', (int)$_GET['pobject_id']);
$this->__initPaymentObject((int)$_GET['pobject_id']);
$this->lng->loadLanguageModule('content');
$ilTabs->clearTargets();
$ilTabs->clearSubTabs();
$ilTabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'editDetails'), '_top');
// page objec
include_once 'Services/COPage/classes/class.ilPageObject.php';
include_once 'Services/COPage/classes/class.ilPageObjectGUI.php';
include_once('./Services/Style/classes/class.ilObjStyleSheet.php');
$this->tpl->setVariable('LOCATION_CONTENT_STYLESHEET', ilObjStyleSheet::getContentStylePath(0));
if(!ilPageObject::_exists('shop', $this->pobject->getPobjectId()))
{
// doesn't exist -> create new one
$new_page_object = new ilPageObject('shop');
$new_page_object->setParentId(0);
$new_page_object->setId($this->pobject->getPobjectId());
$new_page_object->createFromXML();
}
$this->ctrl->setReturnByClass('ilpageobjectgui', 'edit');
$page_gui = new ilPageObjectGUI('shop', $this->pobject->getPobjectId());
$this->ctrl->setParameter($page_gui, 'pobject_id', (int)$_GET['pobject_id']);
$page_gui->setIntLinkHelpDefault('StructureObject', $this->pobject->getPobjectId());
$page_gui->setTemplateTargetVar('ADM_CONTENT');
$page_gui->setLinkXML('');
$page_gui->setFileDownloadLink($this->ctrl->getLinkTargetByClass(array('ilpageobjectgui'), 'downloadFile'));
$page_gui->setFullscreenLink($this->ctrl->getLinkTargetByClass(array('ilpageobjectgui'), 'displayMediaFullscreen'));
$page_gui->setSourcecodeDownloadScript($this->ctrl->getLinkTargetByClass(array('ilpageobjectgui'), 'download_paragraph'));
$page_gui->setPresentationTitle('');
$page_gui->setTemplateOutput(false);
$page_gui->setHeader('');
$page_gui->setEnabledRepositoryObjects(false);
$page_gui->setEnabledFileLists(true);
$page_gui->setEnabledMaps(true);
$page_gui->setEnabledPCTabs(true);
return $this->ctrl->forwardCommand($page_gui);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::ilPaymentObjectGUI (   $user_obj)

Definition at line 44 of file class.ilPaymentObjectGUI.php.

References $user_obj, and ilShopBaseGUI\__construct().

{
$this->user_obj = $user_obj;
$this->lng->loadLanguageModule('crs');
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::performAddPrice ( )

Definition at line 634 of file class.ilPaymentObjectGUI.php.

References $_GET, ilPaymentCurrency\_getAvailableCurrencies(), addPrice(), editPrices(), ilUtil\sendInfo(), and showObjects().

{
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
include_once './payment/classes/class.ilPaymentPrices.php';
include_once './payment/classes/class.ilPaymentCurrency.php';
$prices =& new ilPaymentPrices((int) $_GET['pobject_id']);
$prices->setDuration($_POST['duration']);
$prices->setUnitValue($_POST['unit']);
$prices->setSubUnitValue($_POST['sub_unit']);
$prices->setCurrency($currency[1]['currency_id']);
if(!$prices->validate())
{
ilUtil::sendInfo($this->lng->txt('paya_price_not_valid'));
$this->addPrice();
return true;
}
$prices->add();
ilUtil::sendInfo($this->lng->txt('paya_added_new_price'));
$this->editPrices();
return true;
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::performDelete ( )

Definition at line 355 of file class.ilPaymentObjectGUI.php.

References $_GET, __initPaymentObject(), ilUtil\sendInfo(), and showObjects().

{
include_once './payment/classes/class.ilPaymentPrices.php';
include_once './payment/classes/class.ilPaymentBillVendor.php';
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
$this->__initPaymentObject((int) $_GET['pobject_id']);
// delete object data
$this->pobject->delete();
// delete payment prices
$price_obj =& new ilPaymentPrices((int) $_GET['pobject_id']);
$price_obj->deleteAllPrices();
unset($price_obj);
$bv =& new ilPaymentBillVendor((int) $_GET['pobject_id']);
$bv->delete();
unset($bv);
// delete bill vendor data if exists
ilUtil::sendInfo($this->lng->txt('paya_deleted_object'));
$this->showObjects();
return true;
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::performDeletePrice ( )

Definition at line 673 of file class.ilPaymentObjectGUI.php.

References $_GET, $_SESSION, __initPaymentObject(), editPrices(), ilUtil\sendInfo(), and showObjects().

{
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
if(!count($_SESSION['price_ids']))
{
ilUtil::sendInfo($this->lng->txt('paya_no_prices_selected'));
$this->editPrices();
return true;
}
include_once './payment/classes/class.ilPaymentPrices.php';
$prices =& new ilPaymentPrices((int) $_GET['pobject_id']);
foreach($_SESSION['price_ids'] as $price_id)
{
$prices->delete($price_id);
}
// check if it was last price otherwise set status to 'not_buyable'
if(!count($prices->getPrices()))
{
$this->__initPaymentObject((int) $_GET['pobject_id']);
$this->pobject->setStatus($this->pobject->STATUS_NOT_BUYABLE);
$this->pobject->update();
ilUtil::sendInfo($this->lng->txt('paya_deleted_last_price'));
}
unset($prices);
unset($_SESSION['price_ids']);
return $this->editPrices();
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::prepareOutput ( )
protected

Reimplemented from ilShopBaseGUI.

Definition at line 52 of file class.ilPaymentObjectGUI.php.

References ilShopBaseGUI\setSection().

Referenced by executeCommand().

{
global $ilTabs;
$this->setSection(6);
$ilTabs->setTabActive('paya_header');
$ilTabs->setSubTabActive('paya_object');
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::showObjects ( )

Definition at line 144 of file class.ilPaymentObjectGUI.php.

References $data, __initPaymentObject(), __showObjectsTable(), ilPaymentBookings\_getCountBookingsByObject(), ilPaymentObject\_getObjectsData(), ilObjectFactory\getInstanceByObjId(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendInfo(), and ilShopBaseGUI\showButton().

Referenced by addObject(), addPrice(), deleteObject(), deletePrice(), editDetails(), editPrices(), forwardToPageObject(), performAddPrice(), performDelete(), performDeletePrice(), updateDetails(), and updatePrice().

{
$this->showButton('showObjectSelector', $this->lng->txt('paya_sell_object'));
$this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.paya_objects.html', 'payment');
if(!count($objects = ilPaymentObject::_getObjectsData($this->user_obj->getId())))
{
ilUtil::sendInfo($this->lng->txt('paya_no_objects_assigned'));
return true;
}
$img_change = "<img src=\"".ilUtil::getImagePath("edit.gif")."\" alt=\"".
$this->lng->txt("edit")."\" title=\"".$this->lng->txt("edit").
"\" border=\"0\" vspace=\"0\"/>";
$counter = 0;
foreach($objects as $data)
{
$tmp_obj =& ilObjectFactory::getInstanceByRefId($data['ref_id']);
$f_result[$counter][] = $tmp_obj->getTitle();
switch($data['status'])
{
case $this->pobject->STATUS_BUYABLE:
$f_result[$counter][] = $this->lng->txt('paya_buyable');
break;
case $this->pobject->STATUS_NOT_BUYABLE:
$f_result[$counter][] = $this->lng->txt('paya_not_buyable');
break;
case $this->pobject->STATUS_EXPIRES:
$f_result[$counter][] = $this->lng->txt('paya_expires');
break;
}
switch($data['pay_method'])
{
case $this->pobject->PAY_METHOD_NOT_SPECIFIED:
$f_result[$counter][] = $this->lng->txt('paya_pay_method_not_specified');
break;
case $this->pobject->PAY_METHOD_BILL:
$f_result[$counter][] = $this->lng->txt('pays_bill');
break;
case $this->pobject->PAY_METHOD_BMF:
$f_result[$counter][] = $this->lng->txt('pays_bmf');
break;
case $this->pobject->PAY_METHOD_PAYPAL:
$f_result[$counter][] = $this->lng->txt('pays_paypal');
break;
}
$tmp_user =& ilObjectFactory::getInstanceByObjId($data['vendor_id']);
$f_result[$counter][] = $tmp_user->getFullname().' ['.$tmp_user->getLogin().']';
// Get number of purchasers
$f_result[$counter][] = ilPaymentBookings::_getCountBookingsByObject($data['pobject_id']);
// edit link
$this->ctrl->setParameter($this,"pobject_id",$data['pobject_id']);
# $link_change = "<a href=\"".$this->ctrl->getLinkTarget($this,"editDetails")."\"> ".
# $img_change."</a>";
$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][] = $link_change;
unset($tmp_user);
unset($tmp_obj);
++$counter;
}
return $this->__showObjectsTable($f_result);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::showObjectSelector ( )

Definition at line 890 of file class.ilPaymentObjectGUI.php.

References $_GET, ilUtil\sendInfo(), ilExplorer\setExpand(), and ilShopBaseGUI\showButton().

Referenced by addObject(), and showSelectedObject().

{
global $tree;
include_once './payment/classes/class.ilPaymentObjectSelector.php';
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.paya_object_selector.html",'payment');
$this->showButton('showObjects',$this->lng->txt('back'));
ilUtil::sendInfo($this->lng->txt("paya_select_object_to_sell"));
$exp = new ilPaymentObjectSelector($this->ctrl->getLinkTarget($this,'showObjectSelector'), strtolower(get_class($this)));
$exp->setExpand($_GET["paya_link_expand"] ? $_GET["paya_link_expand"] : $tree->readRootId());
$exp->setExpandTarget($this->ctrl->getLinkTarget($this,'showObjectSelector'));
$exp->setOutput(0);
$this->tpl->setVariable("EXPLORER",$exp->getOutput());
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::showSelectedObject ( )

Definition at line 913 of file class.ilPaymentObjectGUI.php.

References $_GET, __getHTMLPath(), __getVendors(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendInfo(), ilSelectInputGUI\setOptions(), ilNonEditableValueGUI\setValue(), ilShopBaseGUI\showButton(), and showObjectSelector().

Referenced by addObject().

{
if(!(int)$_GET['sell_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
return $this->showObjectSelector();
}
$this->showButton('showObjectSelector',$this->lng->txt('back'));
// save ref_id of selected object
$this->ctrl->setParameter($this, 'sell_id', (int)$_GET['sell_id']);
include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
$oForm = new ilPropertyFormGUI();
$oForm->setFormAction($this->ctrl->getFormAction($this, 'updateDetails'));
$oForm->setTitle($this->lng->txt('details'));
$oForm->setTitleIcon(ilUtil::getImagePath('icon_pays.gif', false));
$tmp_obj = ilObjectFactory::getInstanceByRefId($_GET['sell_id']);
// title
$oTitleGUI = new ilNonEditableValueGUI($this->lng->txt('title'));
$oTitleGUI->setValue($tmp_obj->getTitle());
$oForm->addItem($oTitleGUI);
// description
$oDescriptionGUI = new ilNonEditableValueGUI($this->lng->txt('description'));
$oDescriptionGUI->setValue($tmp_obj->getDescription());
$oForm->addItem($oDescriptionGUI);
// owner
$oOwnerGUI = new ilNonEditableValueGUI($this->lng->txt('owner'));
$oOwnerGUI->setValue($tmp_obj->getOwnerName());
$oForm->addItem($oOwnerGUI);
// path
$oPathGUI = new ilNonEditableValueGUI($this->lng->txt('paya_count_purchaser'));
$oPathGUI->setValue($this->__getHTMLPath((int)$_GET['sell_id']));
$oForm->addItem($oPathGUI);
// vendors
$oVendorsGUI = new ilSelectInputGUI($this->lng->txt('paya_vendor'), 'vendor');
$oVendorsGUI->setOptions($this->__getVendors());
$oForm->addItem($oVendorsGUI);
// buttons
$oForm->addCommandButton('addObject', $this->lng->txt('next'));
$oForm->addCommandButton('showObjects', $this->lng->txt('cancel'));
$this->tpl->setVariable('ADM_CONTENT', $oForm->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPaymentObjectGUI::updateDetails ( )

Definition at line 794 of file class.ilPaymentObjectGUI.php.

References $_GET, __initPaymentObject(), ilFileDataShop\assignFileToPaymentObject(), ilFileDataShop\deassignFileFromPaymentObject(), editDetails(), ilUtil\sendInfo(), and showObjects().

{
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
$this->__initPaymentObject((int)$_GET['pobject_id']);
$this->ctrl->setParameter($this, 'pobject_id', (int)$_GET['pobject_id']);
// read old settings
$old_pay_method = $this->pobject->getPayMethod();
$old_status = $this->pobject->getStatus();
// check status changed from not_buyable
if($old_status == $this->pobject->STATUS_NOT_BUYABLE and
(int) $_POST['status'] != $old_status)
{
// check pay_method edited
switch((int) $_POST['pay_method'])
{
case $this->pobject->PAY_METHOD_NOT_SPECIFIED:
ilUtil::sendInfo($this->lng->txt('paya_select_pay_method_first'));
$this->editDetails();
return false;
case $this->pobject->PAY_METHOD_BILL:
include_once './payment/classes/class.ilPaymentBillVendor.php';
$bill_vendor =& new ilPaymentBillVendor((int) $_GET['pobject_id']);
if(!$bill_vendor->validate())
{
ilUtil::sendInfo($this->lng->txt('paya_select_pay_method_first'));
$this->editDetails();
return false;
}
break;
default:
;
}
// check minimum one price
include_once './payment/classes/class.ilPaymentPrices.php';
$prices_obj =& new ilPaymentPrices((int) $_GET['pobject_id']);
if(!count($prices_obj->getPrices()))
{
ilUtil::sendInfo($this->lng->txt('paya_edit_prices_first'));
$this->editDetails();
return false;
}
}
$this->pobject->setStatus((int)$_POST['status']);
$this->pobject->setVendorId((int)$_POST['vendor']);
$this->pobject->setPayMethod((int)$_POST['pay_method']);
$this->pobject->setTopicId((int)$_POST['topic_id']);
if((int)$_POST['thumbnail_delete'])
{
$oFile = new ilFileDataShop($this->pobject->getPobjectId());
}
else if($_FILES['thumbnail']['tmp_name'] != '')
{
$this->lng->loadLanguageModule('form');
include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
$oThumbnail = new ilImageFileInputGUI($this->lng->txt('pay_thumbnail'), 'thumbnail');
if($oThumbnail->checkInput())
{
$oFile = new ilFileDataShop($this->pobject->getPobjectId());
if(($oFile->storeUploadedFile($_FILES['thumbnail'])) !== false)
{
}
}
else
{
ilUtil::sendInfo($oThumbnail->getAlert());
return $this->editDetails();
}
}
$this->pobject->update();
ilUtil::sendInfo($this->lng->txt('paya_details_updated'));
$this->editDetails();
return true;
}

+ Here is the call graph for this function:

ilPaymentObjectGUI::updatePrice ( )

Definition at line 739 of file class.ilPaymentObjectGUI.php.

References $_GET, editPrices(), ilUtil\sendInfo(), and showObjects().

{
include_once './payment/classes/class.ilPaymentPrices.php';
if(!$_GET['pobject_id'])
{
ilUtil::sendInfo($this->lng->txt('paya_no_object_selected'));
$this->showObjects();
return true;
}
$po =& new ilPaymentPrices((int) $_GET['pobject_id']);
$this->ctrl->setParameter($this,'pobject_id',(int) $_GET['pobject_id']);
// validate
foreach($_POST['prices'] as $price_id => $price)
{
$old_price = $po->getPrice($price_id);
$po->setDuration($price['duration']);
$po->setUnitValue($price['unit_value']);
$po->setSubUnitValue($price['sub_unit_value']);
$po->setCurrency($old_price['currency']);
if(!$po->validate())
{
$error = true;
}
}
if($error)
{
ilUtil::sendInfo($this->lng->txt('paya_insert_only_numbers'));
$this->editPrices();
return false;
}
foreach($_POST['prices'] as $price_id => $price)
{
$old_price = $po->getPrice($price_id);
$po->setDuration($price['duration']);
$po->setUnitValue($price['unit_value']);
$po->setSubUnitValue($price['sub_unit_value']);
$po->setCurrency($old_price['currency']);
$po->update($price_id);
}
ilUtil::sendInfo($this->lng->txt('paya_updated_prices'));
$this->editPrices();
return true;
}

+ Here is the call graph for this function:

Field Documentation

ilPaymentObjectGUI::$ctrl

Definition at line 39 of file class.ilPaymentObjectGUI.php.

ilPaymentObjectGUI::$lng

Definition at line 40 of file class.ilPaymentObjectGUI.php.

ilPaymentObjectGUI::$pobject = null

Definition at line 42 of file class.ilPaymentObjectGUI.php.

ilPaymentObjectGUI::$user_obj

Definition at line 41 of file class.ilPaymentObjectGUI.php.

Referenced by ilPaymentObjectGUI().


The documentation for this class was generated from the following file: