ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilExcCriteriaGUI Class Reference

Class ilExcCriteriaGUI. More...

+ Collaboration diagram for ilExcCriteriaGUI:

Public Member Functions

 __construct ($a_cat_id)
 
 executeCommand ()
 

Protected Member Functions

 view ()
 
 saveOrder ()
 
 confirmDeletion ()
 
 delete ()
 
 initForm (ilExcCriteria $a_crit_obj)
 
 add (ilPropertyFormGUI $a_form=null)
 
 exportForm (ilExcCriteria $a_crit_obj, ilPropertyFormGUI $a_form)
 
 importForm (ilExcCriteria $a_crit_obj)
 
 create ()
 
 getCurrentCritera ()
 
 edit (ilPropertyFormGUI $a_form=null)
 
 update ()
 

Protected Attributes

 $cat_id
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilExcCriteriaGUI::__construct (   $a_cat_id)

Definition at line 18 of file class.ilExcCriteriaGUI.php.

19  {
20  $this->cat_id = $a_cat_id;
21  }

Member Function Documentation

◆ add()

ilExcCriteriaGUI::add ( ilPropertyFormGUI  $a_form = null)
protected

Definition at line 185 of file class.ilExcCriteriaGUI.php.

References $ilCtrl, $tpl, ilExcCriteria\getInstanceByType(), and initForm().

186  {
187  global $tpl, $ilCtrl;
188 
189  $new_type = trim($_REQUEST["type"]);
190  if(!$new_type)
191  {
192  $ilCtrl->redirect($this, "view");
193  }
194 
195  $ilCtrl->setParameter($this, "type", $new_type);
196 
197  if(!$a_form)
198  {
199  $crit_obj = ilExcCriteria::getInstanceByType($new_type);
200  $a_form = $this->initForm($crit_obj);
201  }
202 
203  $tpl->setContent($a_form->getHTML());
204  }
static getInstanceByType($a_type)
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
initForm(ilExcCriteria $a_crit_obj)
+ Here is the call graph for this function:

◆ confirmDeletion()

ilExcCriteriaGUI::confirmDeletion ( )
protected

Definition at line 87 of file class.ilExcCriteriaGUI.php.

References $_POST, $ilCtrl, $lng, $tpl, ilExcCriteria\getInstancesByParentId(), and ilUtil\sendInfo().

88  {
89  global $ilCtrl, $lng, $tpl;
90 
91  $ids = $_POST["id"];
92  if(!sizeof($ids))
93  {
94  ilUtil::sendInfo($lng->txt("select_one"), true);
95  $ilCtrl->redirect($this, "view");
96  }
97 
98  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
99  $confirmation_gui = new ilConfirmationGUI();
100  $confirmation_gui->setFormAction($ilCtrl->getFormAction($this, "delete"));
101  $confirmation_gui->setHeaderText($lng->txt("exc_criteria_deletion_confirmation"));
102  $confirmation_gui->setCancel($lng->txt("cancel"), "view");
103  $confirmation_gui->setConfirm($lng->txt("delete"), "delete");
104 
105  foreach(ilExcCriteria::getInstancesByParentId($this->cat_id) as $item)
106  {
107  if(in_array($item->getId(), $ids))
108  {
109  $confirmation_gui->addItem("id[]", $item->getId(), $item->getTitle());
110  }
111  }
112 
113  $tpl->setContent($confirmation_gui->getHTML());
114  }
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getInstancesByParentId($a_parent_id)
global $lng
Definition: privfeed.php:17
$_POST["username"]
Confirmation screen class.
+ Here is the call graph for this function:

◆ create()

ilExcCriteriaGUI::create ( )
protected

Definition at line 248 of file class.ilExcCriteriaGUI.php.

References $ilCtrl, ilExcCriteria\getInstanceByType(), and importForm().

249  {
250  global $ilCtrl;
251 
252  $new_type = trim($_REQUEST["type"]);
253  if(!$new_type)
254  {
255  $ilCtrl->redirect($this, "view");
256  }
257 
258  $crit_obj = ilExcCriteria::getInstanceByType($new_type);
259  $this->importForm($crit_obj);
260  }
static getInstanceByType($a_type)
global $ilCtrl
Definition: ilias.php:18
importForm(ilExcCriteria $a_crit_obj)
+ Here is the call graph for this function:

◆ delete()

ilExcCriteriaGUI::delete ( )
protected

Definition at line 116 of file class.ilExcCriteriaGUI.php.

References $_POST, $ilCtrl, $lng, ilExcCriteria\getInstancesByParentId(), and ilUtil\sendSuccess().

117  {
118  global $ilCtrl, $lng;
119 
120  $ids = $_POST["id"];
121  if(!sizeof($ids))
122  {
123  $ilCtrl->redirect($this, "view");
124  }
125 
126  foreach(ilExcCriteria::getInstancesByParentId($this->cat_id) as $item)
127  {
128  if(in_array($item->getId(), $ids))
129  {
130  $item->delete();
131  }
132  }
133 
134  ilUtil::sendSuccess($lng->txt("settings_saved"), true);
135  $ilCtrl->redirect($this, "view");
136  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
static getInstancesByParentId($a_parent_id)
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ edit()

ilExcCriteriaGUI::edit ( ilPropertyFormGUI  $a_form = null)
protected

Definition at line 280 of file class.ilExcCriteriaGUI.php.

References $tpl, exportForm(), getCurrentCritera(), and initForm().

281  {
282  global $tpl;
283 
284  $crit_obj = $this->getCurrentCritera();
285 
286  if(!$a_form)
287  {
288  $a_form = $this->initForm($crit_obj);
289  $this->exportForm($crit_obj, $a_form);
290  }
291 
292  $tpl->setContent($a_form->getHTML());
293  }
global $tpl
Definition: ilias.php:8
exportForm(ilExcCriteria $a_crit_obj, ilPropertyFormGUI $a_form)
initForm(ilExcCriteria $a_crit_obj)
+ Here is the call graph for this function:

◆ executeCommand()

ilExcCriteriaGUI::executeCommand ( )

Definition at line 23 of file class.ilExcCriteriaGUI.php.

References $cmd, and $ilCtrl.

24  {
25  global $ilCtrl;
26 
27  $next_class = $ilCtrl->getNextClass($this);
28  $cmd = $ilCtrl->getCmd("view");
29 
30  switch($next_class)
31  {
32  default:
33  $this->$cmd();
34  break;
35  }
36  }
$cmd
Definition: sahs_server.php:35
global $ilCtrl
Definition: ilias.php:18

◆ exportForm()

ilExcCriteriaGUI::exportForm ( ilExcCriteria  $a_crit_obj,
ilPropertyFormGUI  $a_form 
)
protected

Definition at line 206 of file class.ilExcCriteriaGUI.php.

References ilExcCriteria\exportCustomForm(), ilExcCriteria\getDescription(), ilPropertyFormGUI\getItemByPostVar(), ilExcCriteria\getTitle(), and ilExcCriteria\isRequired().

Referenced by edit().

207  {
208  $a_form->getItemByPostVar("title")->setValue($a_crit_obj->getTitle());
209  $a_form->getItemByPostVar("desc")->setValue($a_crit_obj->getDescription());
210  $a_form->getItemByPostVar("req")->setChecked($a_crit_obj->isRequired());
211 
212  $a_crit_obj->exportCustomForm($a_form);
213  }
getItemByPostVar($a_post_var)
Get Item by POST variable.
exportCustomForm(ilPropertyFormGUI $a_form)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCurrentCritera()

ilExcCriteriaGUI::getCurrentCritera ( )
protected

Definition at line 262 of file class.ilExcCriteriaGUI.php.

References $cat_id, $ilCtrl, and ilExcCriteria\getInstanceById().

Referenced by edit(), and update().

263  {
264  global $ilCtrl;
265 
266  $id = (int)$_REQUEST["crit_id"];
267  if($id)
268  {
269  $crit_obj = ilExcCriteria::getInstanceById($id);
270  if($crit_obj->getParent() == $this->cat_id)
271  {
272  $ilCtrl->setParameter($this, "crit_id", $id);
273  return $crit_obj;
274  }
275  }
276 
277  $ilCtrl->redirect($this, "view");
278  }
static getInstanceById($a_id)
global $ilCtrl
Definition: ilias.php:18
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importForm()

ilExcCriteriaGUI::importForm ( ilExcCriteria  $a_crit_obj)
protected

Definition at line 215 of file class.ilExcCriteriaGUI.php.

References $ilCtrl, $lng, ilExcCriteria\getId(), ilExcCriteria\importCustomForm(), initForm(), ilExcCriteria\save(), ilUtil\sendSuccess(), ilExcCriteria\setDescription(), ilExcCriteria\setParent(), ilExcCriteria\setRequired(), ilExcCriteria\setTitle(), and ilExcCriteria\update().

Referenced by create(), and update().

216  {
217  global $ilCtrl, $lng;
218 
219  $is_edit = (bool)$a_crit_obj->getId();
220 
221  $form = $this->initForm($a_crit_obj);
222  if($form->checkInput())
223  {
224  $a_crit_obj->setTitle($form->getInput("title"));
225  $a_crit_obj->setDescription($form->getInput("desc"));
226  $a_crit_obj->setRequired($form->getInput("req"));
227 
228  $a_crit_obj->importCustomForm($form);
229 
230  if(!$is_edit)
231  {
232  $a_crit_obj->setParent($this->cat_id);
233  $a_crit_obj->save();
234  }
235  else
236  {
237  $a_crit_obj->update();
238  }
239 
240  ilUtil::sendSuccess($lng->txt("settings_saved"), true);
241  $ilCtrl->redirect($this, "view");
242  }
243 
244  $form->setValuesByPost();
245  $this->{$is_edit ? "edit" : "add"}($form);
246  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
importCustomForm(ilPropertyFormGUI $a_form)
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:17
initForm(ilExcCriteria $a_crit_obj)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initForm()

ilExcCriteriaGUI::initForm ( ilExcCriteria  $a_crit_obj)
protected

Definition at line 143 of file class.ilExcCriteriaGUI.php.

References $ilCtrl, $lng, $title, ilExcCriteria\getId(), ilExcCriteria\getTranslatedType(), ilExcCriteria\initCustomForm(), and ilNonEditableValueGUI\setValue().

Referenced by add(), edit(), and importForm().

144  {
145  global $ilCtrl, $lng;
146 
147  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
148  $form = new ilPropertyFormGUI();
149 
150  $is_edit = (bool)$a_crit_obj->getId();
151  if(!$is_edit)
152  {
153  $form->setFormAction($ilCtrl->getFormAction($this, "create"));
154  $form->setTitle($lng->txt("exc_criteria_create_form"));
155  $form->addCommandButton("create", $lng->txt("create"));
156  }
157  else
158  {
159  $form->setFormAction($ilCtrl->getFormAction($this, "update"));
160  $form->setTitle($lng->txt("exc_criteria_update_form"));
161  $form->addCommandButton("update", $lng->txt("save"));
162  }
163 
164  $form->addCommandButton("view", $lng->txt("cancel"));
165 
166  $type = new ilNonEditableValueGUI($lng->txt("type"));
167  $type->setValue($a_crit_obj->getTranslatedType());
168  $form->addItem($type);
169 
170  $title = new ilTextInputGUI($lng->txt("title"), "title");
171  $title->setRequired(true);
172  $form->addItem($title);
173 
174  $desc = new ilTextAreaInputGUI($lng->txt("description"), "desc");
175  $form->addItem($desc);
176 
177  $req = new ilCheckboxInputGUI($lng->txt("required_field"), "req");
178  $form->addItem($req);
179 
180  $a_crit_obj->initCustomForm($form);
181 
182  return $form;
183  }
This class represents a property form user interface.
This class represents a checkbox property in a property form.
global $ilCtrl
Definition: ilias.php:18
This class represents a text property in a property form.
This class represents a non editable value in a property form.
global $lng
Definition: privfeed.php:17
This class represents a text area property in a property form.
initCustomForm(ilPropertyFormGUI $a_form)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveOrder()

ilExcCriteriaGUI::saveOrder ( )
protected

Definition at line 65 of file class.ilExcCriteriaGUI.php.

References $_POST, $ilCtrl, $lng, ilExcCriteria\getInstancesByParentId(), and ilUtil\sendSuccess().

66  {
67  global $ilCtrl, $lng;
68 
69  $all_cat = ilExcCriteria::getInstancesByParentId($this->cat_id);
70 
71  $pos = 0;
72  asort($_POST["pos"]);
73  foreach(array_keys($_POST["pos"]) as $id)
74  {
75  if(array_key_exists($id, $all_cat))
76  {
77  $pos += 10;
78  $all_cat[$id]->setPosition($pos);
79  $all_cat[$id]->update();
80  }
81  }
82 
83  ilUtil::sendSuccess($lng->txt("settings_saved"), true);
84  $ilCtrl->redirect($this, "view");
85  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
static getInstancesByParentId($a_parent_id)
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ update()

ilExcCriteriaGUI::update ( )
protected

Definition at line 295 of file class.ilExcCriteriaGUI.php.

References getCurrentCritera(), and importForm().

296  {
297  $crit_obj = $this->getCurrentCritera();
298  $this->importForm($crit_obj);
299  }
importForm(ilExcCriteria $a_crit_obj)
+ Here is the call graph for this function:

◆ view()

ilExcCriteriaGUI::view ( )
protected

Definition at line 43 of file class.ilExcCriteriaGUI.php.

References $ilCtrl, $lng, $tbl, $tpl, ilSubmitButton\getInstance(), ilExcCriteria\getTypesMap(), and ilSelectInputGUI\setOptions().

44  {
45  global $ilToolbar, $ilCtrl, $lng, $tpl;
46 
47  $ilToolbar->setFormAction($ilCtrl->getFormAction($this, "add"));
48 
49  include_once "Services/Form/classes/class.ilSelectInputGUI.php";
50  $types = new ilSelectInputGUI($lng->txt("type"), "type");
52  $ilToolbar->addStickyItem($types);
53 
54  include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
55  $button = ilSubmitButton::getInstance();
56  $button->setCaption("exc_add_criteria");
57  $button->setCommand("add");
58  $ilToolbar->addStickyItem($button);
59 
60  include_once "Modules/Exercise/classes/class.ilExcCriteriaTableGUI.php";
61  $tbl = new ilExcCriteriaTableGUI($this, "view", $this->cat_id);
62  $tpl->setContent($tbl->getHTML());
63  }
This class represents a selection list property in a property form.
$tbl
Definition: example_048.php:81
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
setOptions($a_options)
Set Options.
global $lng
Definition: privfeed.php:17
Class ilExcCriteriaTableGUI.
+ Here is the call graph for this function:

Field Documentation

◆ $cat_id

ilExcCriteriaGUI::$cat_id
protected

Definition at line 16 of file class.ilExcCriteriaGUI.php.

Referenced by getCurrentCritera().


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