Public Member Functions | |
ilConditionHandlerInterface (&$gui_obj, $a_ref_id=null) | |
setBackButtons ($a_btn_arr) | |
getBackButtons () | |
& | executeCommand () |
setAutomaticValidation ($a_status) | |
getAutomaticValidation () | |
setTargetId ($a_target_id) | |
set target id | |
getTargetId () | |
get target id | |
setTargetRefId ($a_target_ref_id) | |
set target ref id | |
getTargetRefId () | |
get target ref id | |
setTargetType ($a_target_type) | |
set target type | |
getTargetType () | |
get target type | |
setTargetTitle ($a_target_title) | |
set target title | |
getTargetTitle () | |
get target title | |
chi_init (&$chi_target_obj, $a_ref_id=null) | |
listConditions () | |
get conditioni list | |
delete () | |
selector () | |
add () | |
assign () | |
assign new trigger condition to target | |
chi_update () | |
__getConditionsOfTarget () | |
__showButtons () | |
Data Fields | |
$ctrl = null | |
$lng | |
$tpl | |
$tree | |
$ch_obj | |
$target_obj | |
$client_obj | |
$target_id | |
$target_type | |
$target_title | |
$target_ref_id | |
$automatic_validation = true |
Definition at line 37 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::__getConditionsOfTarget | ( | ) |
Definition at line 483 of file class.ilConditionHandlerInterface.php.
References ilConditionHandler::_getConditionsOfTarget(), getTargetId(), and getTargetType().
Referenced by chi_update(), and listConditions().
{ include_once './classes/class.ilConditionHandler.php'; foreach(ilConditionHandler::_getConditionsOfTarget($this->getTargetId(), $this->getTargetType()) as $condition) { if($condition['operator'] == 'not_member') { continue; } else { $cond[] = $condition; } } return $cond ? $cond : array(); }
ilConditionHandlerInterface::__showButtons | ( | ) |
Definition at line 501 of file class.ilConditionHandlerInterface.php.
References getBackButtons().
Referenced by add(), listConditions(), and selector().
{ if(!$this->getBackButtons()) { return false; } $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html"); foreach($this->getBackButtons() as $name => $link) { $this->tpl->setCurrentBlock("btn_cell"); $this->tpl->setVariable("BTN_LINK",$link); $this->tpl->setVariable("BTN_TXT",$this->lng->txt($name)); $this->tpl->parseCurrentBlock(); } }
ilConditionHandlerInterface::add | ( | ) |
Definition at line 361 of file class.ilConditionHandlerInterface.php.
References $_GET, $ch_obj, __showButtons(), ilUtil::formSelect(), ilUtil::getImagePath(), ilObjectFactory::getInstanceByRefId(), and getTargetType().
Referenced by assign().
{ // TODO: ONLY FOR REFERENCED OBJECTS $tmp_source_obj =& ilObjectFactory::getInstanceByRefId((int) $_GET['source_id']); include_once "./classes/class.ilConditionHandler.php"; $ch_obj =& new ilConditionHandler(); $operators[] = $this->lng->txt('condition_select_one'); foreach($ch_obj->getOperatorsByTargetType($tmp_source_obj->getType()) as $operator) { $operators[$operator] = $this->lng->txt('condition_'.$operator); } $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.condition_handler_add.html'); $this->__showButtons(); // does not work in the moment #this->tpl->setCurrentBlock("btn_cell"); #this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTarget($this,'selector')); #this->tpl->setVariable("BTN_TXT",$this->lng->txt('new_selection')); #this->tpl->parseCurrentBlock(); $this->ctrl->setParameter($this,'source_id',(int) $_GET['source_id']); $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this)); $this->tpl->setVariable("CSS_TABLE",'std'); $this->tpl->setVariable("WIDTH",'50%'); $this->tpl->setVariable("TBL_TITLE_IMG",ilUtil::getImagePath('icon_'.$this->getTargetType().'.gif')); $this->tpl->setVariable("TBL_TITLE_ALT",$this->lng->txt('obj_',$this->getTargetType())); $this->tpl->setVariable("CONDITION_SELECT",ilUtil::formSelect('', "operator", $operators, false, true)); $title = $this->lng->txt('add_condition').' ('.$tmp_source_obj->getTitle().')'; unset($tmp_source_obj); $this->tpl->setVariable("TBL_TITLE",$title); $this->tpl->setVariable("TXT_ADD",$this->lng->txt('add_condition')); $this->tpl->setVariable("CMD_ADD",'assign'); return true; }
ilConditionHandlerInterface::assign | ( | ) |
assign new trigger condition to target
Definition at line 415 of file class.ilConditionHandlerInterface.php.
References $_GET, $_POST, add(), getAutomaticValidation(), ilObjectFactory::getInstanceByRefId(), getTargetId(), getTargetRefId(), getTargetType(), listConditions(), and sendInfo().
{ if(!isset($_GET['source_id'])) { echo "class.ilConditionHandlerInterface: no source_id given"; return false; } if(!strlen($_POST['operator'])) { sendInfo($this->lng->txt('no_operator_selected')); $this->add(); return false; } $this->ch_obj->setTargetRefId($this->getTargetRefId()); $this->ch_obj->setTargetObjId($this->getTargetId()); $this->ch_obj->setTargetType($this->getTargetType()); // this has to be changed, if non referenced trigger are implemted if(!$trigger_obj =& ilObjectFactory::getInstanceByRefId((int) $_GET['source_id'],false)) { echo 'ilConditionHandler: Trigger object does not exist'; } $this->ch_obj->setTriggerRefId($trigger_obj->getRefId()); $this->ch_obj->setTriggerObjId($trigger_obj->getId()); $this->ch_obj->setTriggerType($trigger_obj->getType()); $this->ch_obj->setOperator($_POST['operator']); $this->ch_obj->setValue(''); $this->ch_obj->enableAutomaticValidation($this->getAutomaticValidation()); if(!$this->ch_obj->storeCondition()) { sendInfo($this->ch_obj->getErrorMessage()); } else { sendInfo($this->lng->txt('added_new_condition')); } $this->listConditions(); return true; }
ilConditionHandlerInterface::chi_init | ( | &$ | chi_target_obj, | |
$ | a_ref_id = null | |||
) |
Definition at line 189 of file class.ilConditionHandlerInterface.php.
References ilObjectFactory::getInstanceByRefId().
{ echo 'deprecated'; include_once "./classes/class.ilConditionHandler.php"; $this->ch_obj =& new ilConditionHandler(); if($a_ref_id) { $this->target_obj =& ilObjectFactory::getInstanceByRefId($a_ref_id); } else { $this->target_obj =& $this->object; } return true; }
ilConditionHandlerInterface::chi_update | ( | ) |
Definition at line 462 of file class.ilConditionHandlerInterface.php.
References $_POST, __getConditionsOfTarget(), and sendInfo().
{ #if(in_array('',$_POST['operator'])) #{ # sendInfo($this->lng->txt('select_one_operator')); # return false; #} foreach($this->__getConditionsOfTarget() as $condition) { $this->ch_obj->setOperator($_POST['operator'][$condition["id"]]); $this->ch_obj->setValue($_POST['value'][$condition["id"]]); $this->ch_obj->updateCondition($condition['id']); } sendInfo($this->lng->txt('conditions_updated')); $this->ctrl->returnToParent($this); return true; }
ilConditionHandlerInterface::delete | ( | ) |
Definition at line 313 of file class.ilConditionHandlerInterface.php.
References $_POST, listConditions(), and sendInfo().
{ if(!count($_POST['conditions'])) { sendInfo('no_condition_selected'); return true; } foreach($_POST['conditions'] as $condition_id) { $this->ch_obj->deleteCondition($condition_id); } sendInfo($this->lng->txt('condition_deleted')); $this->listConditions(); return true; }
& ilConditionHandlerInterface::executeCommand | ( | ) |
ilConditionHandlerInterface::getAutomaticValidation | ( | ) |
Definition at line 119 of file class.ilConditionHandlerInterface.php.
Referenced by assign().
{
return $this->automatic_validation;
}
ilConditionHandlerInterface::getBackButtons | ( | ) |
Definition at line 94 of file class.ilConditionHandlerInterface.php.
References $_SESSION.
Referenced by __showButtons().
ilConditionHandlerInterface::getTargetId | ( | ) |
get target id
Definition at line 136 of file class.ilConditionHandlerInterface.php.
Referenced by __getConditionsOfTarget(), and assign().
{
return $this->target_id;
}
ilConditionHandlerInterface::getTargetRefId | ( | ) |
get target ref id
Definition at line 152 of file class.ilConditionHandlerInterface.php.
Referenced by assign(), listConditions(), and selector().
{
return $this->target_ref_id;
}
ilConditionHandlerInterface::getTargetTitle | ( | ) |
get target title
Definition at line 184 of file class.ilConditionHandlerInterface.php.
Referenced by listConditions().
{
return $this->target_title;
}
ilConditionHandlerInterface::getTargetType | ( | ) |
get target type
Definition at line 168 of file class.ilConditionHandlerInterface.php.
Referenced by __getConditionsOfTarget(), add(), and assign().
{
return $this->target_type;
}
ilConditionHandlerInterface::ilConditionHandlerInterface | ( | &$ | gui_obj, | |
$ | a_ref_id = null | |||
) |
Definition at line 55 of file class.ilConditionHandlerInterface.php.
References $ilCtrl, $lng, $tpl, $tree, ilObjectFactory::getInstanceByRefId(), setTargetId(), setTargetRefId(), setTargetTitle(), and setTargetType().
{ global $lng,$tpl,$tree,$ilCtrl; include_once "./classes/class.ilConditionHandler.php"; $this->ch_obj =& new ilConditionHandler(); $this->ctrl =& $ilCtrl; $this->gui_obj =& $gui_obj; $this->lng =& $lng; $this->tpl =& $tpl; $this->tree =& $tree; if($a_ref_id) { $this->target_obj =& ilObjectFactory::getInstanceByRefId($a_ref_id); } else { $this->target_obj =& $this->gui_obj->object; } // this only works for ilObject derived objects (other objects // should call set() methods manually if (is_object($this->target_obj)) { $this->setTargetId($this->target_obj->getId()); $this->setTargetRefId($this->target_obj->getRefId()); $this->setTargetType($this->target_obj->getType()); $this->setTargetTitle($this->target_obj->getTitle()); } }
ilConditionHandlerInterface::listConditions | ( | ) |
get conditioni list
Definition at line 212 of file class.ilConditionHandlerInterface.php.
References $_GET, $counter, $rbacsystem, $tbl, $tpl, __getConditionsOfTarget(), __showButtons(), ilUtil::formCheckbox(), ilUtil::getImagePath(), ilObjectFactory::getInstanceByRefId(), getTargetRefId(), getTargetTitle(), and ilUtil::switchColor().
Referenced by assign(), and delete().
{ global $rbacsystem; $this->lng->loadLanguageModule('crs'); $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.condition_handler_edit.html'); $this->__showButtons(); $tpl =& new ilTemplate("tpl.table.html", true, true); $tpl->setCurrentBlock("tbl_form_header"); $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this)); $tpl->setVariable("WIDTH",'width="60%"'); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("COLUMN_COUNTS",4); $tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif")); if(count($conditions = $this->__getConditionsOfTarget())) { $tpl->setCurrentBlock("tbl_action_btn"); $tpl->setVariable("BTN_NAME","delete"); $tpl->setVariable("BTN_VALUE",$this->lng->txt("delete")); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("plain_button"); $tpl->setVariable("PBTN_NAME","selector"); $tpl->setVariable("PBTN_VALUE",$this->lng->txt("add_condition")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("TPLPATH",$this->tpl->tplPath); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.condition_handler_row.html"); $counter = 0; #foreach(ilConditionHandler::_getConditionsOfTarget($this->getTargetId(), $this->getTargetType()) as $condition) foreach($conditions as $condition) { $tmp_obj =& ilObjectFactory::getInstanceByRefId($condition['trigger_ref_id']); $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("CHECKBOX",ilUtil::formCheckbox(0,"conditions[]",$condition['id'])); $tpl->setVariable("OBJ_TITLE",$tmp_obj->getTitle()); $tpl->setVariable("OBJ_DESCRIPTION",$tmp_obj->getDescription()); $tpl->setVariable("ROWCOL", ilUtil::switchColor($counter++,"tblrow2","tblrow1")); $tpl->setVariable("OBJ_CONDITION",$this->lng->txt('condition_'.$condition['operator'])); $tpl->setVariable("OBJ_CONDITION_VALUE",$condition['value'] ? $condition['value'] : $this->lng->txt('crs_not_available')); $tpl->parseCurrentBlock(); } // create table include_once './classes/class.ilTableGUI.php'; $tbl =& new ilTableGUI(); $tbl->setStyle('table','std'); // title & header columns $tbl->setTitle($this->getTargetTitle()." ".$this->lng->txt("preconditions"),"icon_".$this->getTargetType().".gif", $this->lng->txt("preconditions")); $tbl->setHeaderNames(array("",$this->lng->txt("title"),$this->lng->txt("condition"), $this->lng->txt("value"))); $tbl->setHeaderVars(array("","title","condition","value"), array("ref_id" => $this->getTargetRefId(), "cmdClass" => "ilobjcoursegui", "cmdNode" => $_GET["cmdNode"], "cmd" => "cci_edit")); $tbl->setColumnWidth(array("1%","40%","30%","30%")); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount(10); // footer $tbl->disable("footer"); $tbl->disable('sort'); // render table $tbl->setTemplate($tpl); $tbl->render(); $this->tpl->setVariable("PRECONDITION_TABLE",$tpl->get()); return true; }
ilConditionHandlerInterface::selector | ( | ) |
Definition at line 332 of file class.ilConditionHandlerInterface.php.
References $_GET, $exp, __showButtons(), getTargetRefId(), and sendInfo().
{ include_once ("classes/class.ilConditionSelector.php"); $this->tpl->addBlockFile('ADM_CONTENT', "adm_content", "tpl.condition_selector.html"); $this->__showButtons(); sendInfo($this->lng->txt("condition_select_object")); $exp = new ilConditionSelector($this->ctrl->getLinkTarget($this,'copySelector')); $exp->setExpand($_GET["condition_selector_expand"] ? $_GET["condition_selector_expand"] : $this->tree->readRootId()); $exp->setExpandTarget($this->ctrl->getLinkTarget($this,'selector')); $exp->setTargetGet("ref_id"); $exp->setRefId($this->getTargetRefId()); $exp->addFilter('crs'); $exp->addFilter('tst'); $exp->setSelectableTypes($this->ch_obj->getTriggerTypes()); $exp->setControlClass($this); // build html-output $exp->setOutput(0); $this->tpl->setCurrentBlock("adm_content"); $this->tpl->setVariable("EXPLORER",$exp->getOutput()); $this->tpl->parseCurrentBlock(); }
ilConditionHandlerInterface::setAutomaticValidation | ( | $ | a_status | ) |
Definition at line 115 of file class.ilConditionHandlerInterface.php.
{ $this->automatic_validation = $a_status; }
ilConditionHandlerInterface::setBackButtons | ( | $ | a_btn_arr | ) |
Definition at line 90 of file class.ilConditionHandlerInterface.php.
References $_SESSION.
{ $_SESSION['precon_btn'] = $a_btn_arr; }
ilConditionHandlerInterface::setTargetId | ( | $ | a_target_id | ) |
set target id
Definition at line 128 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().
{ $this->target_id = $a_target_id; }
ilConditionHandlerInterface::setTargetRefId | ( | $ | a_target_ref_id | ) |
set target ref id
Definition at line 144 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().
{ $this->target_ref_id = $a_target_ref_id; }
ilConditionHandlerInterface::setTargetTitle | ( | $ | a_target_title | ) |
set target title
Definition at line 176 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().
{ $this->target_title = $a_target_title; }
ilConditionHandlerInterface::setTargetType | ( | $ | a_target_type | ) |
set target type
Definition at line 160 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().
{ $this->target_type = $a_target_type; }
ilConditionHandlerInterface::$automatic_validation = true |
Definition at line 53 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$ch_obj |
Definition at line 45 of file class.ilConditionHandlerInterface.php.
Referenced by add().
ilConditionHandlerInterface::$client_obj |
Definition at line 47 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$ctrl = null |
Definition at line 39 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$lng |
Definition at line 41 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().
ilConditionHandlerInterface::$target_id |
Definition at line 48 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$target_obj |
Definition at line 46 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$target_ref_id |
Definition at line 51 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$target_title |
Definition at line 50 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$target_type |
Definition at line 49 of file class.ilConditionHandlerInterface.php.
ilConditionHandlerInterface::$tpl |
Definition at line 42 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface(), and listConditions().
ilConditionHandlerInterface::$tree |
Definition at line 43 of file class.ilConditionHandlerInterface.php.
Referenced by ilConditionHandlerInterface().