4require_once(
"./Services/COPage/classes/class.ilPCTabs.php");
5require_once(
"./Services/COPage/classes/class.ilPageContentGUI.php");
23 function ilPCTabsGUI(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id =
"")
25 parent::ilPageContentGUI($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
34 $next_class = $this->ctrl->getNextClass($this);
37 $cmd = $this->ctrl->getCmd();
52 function insert($a_omit_form_init =
false)
58 if (!$a_omit_form_init)
62 $html = $this->form->getHTML();
63 $tpl->setContent($html);
78 $html = $this->form->getHTML();
79 $tpl->setContent($html);
89 include_once(
"./Services/Accordion/classes/class.ilAccordionGUI.php");
93 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
95 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
96 if ($a_mode !=
"edit")
98 $this->form->setTitle(
$lng->txt(
"cont_ed_insert_tabs"));
102 $this->form->setTitle(
$lng->txt(
"cont_edit_tabs"));
115 require_once(
"./Services/Form/classes/class.ilAdvSelectInputGUI.php");
120 foreach($templ as $k => $te)
122 $t = explode(
":", $k);
123 $html = $this->style->lookupTemplatePreview(
$t[1]).
'<div style="clear:both" class="small">'.$te.
"</div>";
124 $vchar_prop->addOption($k, $te, $html);
125 if (
$t[2] ==
"VerticalAccordion")
127 $vchar_prop->setValue($k);
135 foreach($templ as $k => $te)
137 $t = explode(
":", $k);
138 $html = $this->style->lookupTemplatePreview(
$t[1]).
'<div style="clear:both" class="small">'.$te.
"</div>";
139 $hchar_prop->addOption($k, $te, $html);
140 if (
$t[2] ==
"HorizontalAccordion")
142 $hchar_prop->setValue($k);
149 $op1->addSubItem($vchar_prop);
150 $radg->addOption($op1);
152 $op2->addSubItem($hchar_prop);
153 $radg->addOption($op2);
154 $this->form->addItem($radg);
158 if ($a_mode ==
"create")
162 $nrs = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6,
163 7 => 7, 8 => 8, 9 => 9, 10 => 10);
164 $nr_prop->setOptions($nrs);
165 $this->form->addItem($nr_prop);
168 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_tab_cont_width"),
"content_width");
169 $ni->setMaxLength(4);
171 $this->form->addItem($ni);
173 $ni =
new ilNumberInputGUI($this->lng->txt(
"cont_tab_cont_height"),
"content_height");
174 $ni->setMaxLength(4);
176 $this->form->addItem($ni);
180 "AllClosed" =>
$lng->txt(
"cont_all_closed"),
181 "FirstOpen" =>
$lng->txt(
"cont_first_open"),
182 "ForceAllOpen" =>
$lng->txt(
"cont_force_all_open"),
186 $this->form->addItem(
$si);
190 $align_opts = array(
"Left" =>
$lng->txt(
"cont_left"),
191 "Right" =>
$lng->txt(
"cont_right"),
"Center" =>
$lng->txt(
"cont_center"),
192 "LeftFloat" =>
$lng->txt(
"cont_left_float"),
193 "RightFloat" =>
$lng->txt(
"cont_right_float"));
195 $align->setOptions($align_opts);
196 $align->setValue(
"Center");
197 $align->setInfo(
$lng->txt(
"cont_tabs_hor_align_info"));
198 $this->form->addItem($align);
201 if ($a_mode ==
"create")
203 $this->form->addCommandButton(
"create_section",
$lng->txt(
"save"));
204 $this->form->addCommandButton(
"cancelCreate",
$lng->txt(
"cancel"));
208 $this->form->addCommandButton(
"update",
$lng->txt(
"save"));
209 $this->form->addCommandButton(
"cancelUpdate",
$lng->txt(
"cancel"));
218 $values[
"type"] = $this->content_obj->getTabType();
219 $values[
"content_width"] = $this->content_obj->getContentWidth();
220 $values[
"content_height"] = $this->content_obj->getContentHeight();
221 $values[
"align"] = $this->content_obj->getHorizontalAlign();
222 $values[
"behavior"] = $this->content_obj->getBehavior();
223 $this->form->setValuesByArray($values);
227 $va = $this->form->getItemByPostVar(
"vaccord_templ");
230 $this->content_obj->getTemplate();
235 $ha = $this->form->getItemByPostVar(
"haccord_templ");
238 $this->content_obj->getTemplate();
251 if ($this->form->checkInput())
254 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
255 $this->content_obj->setTabType(
$_POST[
"type"]);
256 $this->content_obj->setContentWidth(
$_POST[
"content_width"]);
257 $this->content_obj->setContentHeight(
$_POST[
"content_height"]);
258 $this->content_obj->setHorizontalAlign(
$_POST[
"align"]);
259 $this->content_obj->setBehavior(
$_POST[
"behavior"]);
260 for ($i = 0; $i < (int)
$_POST[
"nr"]; $i++)
262 $this->content_obj->addTab(
$lng->txt(
"cont_new_tab"));
266 $t = explode(
":",
$_POST[
"vaccord_templ"]);
267 $this->content_obj->setTemplate(
$t[2]);
271 $t = explode(
":",
$_POST[
"haccord_templ"]);
272 $this->content_obj->setTemplate(
$t[2]);
274 $this->updated = $this->pg_obj->update();
276 if ($this->updated ===
true)
288 $this->form->setValuesByPost();
301 $this->pg_obj->stripHierIDs();
302 $this->pg_obj->addHierIDs();
303 $ilCtrl->setParameter($this,
"hier_id", $this->content_obj->readHierId());
304 $ilCtrl->setParameter($this,
"pc_id", $this->content_obj->readPCId());
305 $this->content_obj->setHierId($this->content_obj->readHierId());
306 $this->
setHierId($this->content_obj->readHierId());
307 $this->content_obj->setPCId($this->content_obj->readPCId());
318 if ($this->form->checkInput())
321 $this->content_obj->setContentWidth(
$_POST[
"content_width"]);
322 $this->content_obj->setContentHeight(
$_POST[
"content_height"]);
323 $this->content_obj->setHorizontalAlign(
$_POST[
"align"]);
324 $this->content_obj->setTemplate(
"");
325 $this->content_obj->setBehavior(
$_POST[
"behavior"]);
328 $t = explode(
":",
$_POST[
"vaccord_templ"]);
329 $this->content_obj->setTemplate(
$t[2]);
333 $t = explode(
":",
$_POST[
"haccord_templ"]);
334 $this->content_obj->setTemplate(
$t[2]);
337 $this->updated = $this->pg_obj->update();
338 if ($this->updated ===
true)
340 $this->ctrl->returnToParent($this,
"jump".$this->hier_id);
344 $this->pg_obj->addHierIDs();
361 $ilToolbar->addButton(
$lng->txt(
"cont_add_tab"),
362 $ilCtrl->getLinkTarget($this,
"addTab"));
365 $ilTabs->activateTab(
"cont_tabs");
366 include_once(
"./Services/COPage/classes/class.ilPCTabsTableGUI.php");
368 $tpl->setContent($table_gui->getHTML());
378 if (is_array(
$_POST[
"caption"]))
381 $this->content_obj->saveCaptions($captions);
383 if (is_array(
$_POST[
"position"]))
386 $this->content_obj->savePositions($positions);
388 $this->updated = $this->pg_obj->update();
390 $ilCtrl->redirect($this,
"edit");
400 $this->content_obj->addTab(
$lng->txt(
"cont_new_tab"));
401 $this->updated = $this->pg_obj->update();
404 $ilCtrl->redirect($this,
"edit");
416 if (!is_array(
$_POST[
"tid"]) || count(
$_POST[
"tid"]) == 0)
419 $ilCtrl->redirect($this,
"edit");
423 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
425 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
426 $cgui->setHeaderText(
$lng->txt(
"cont_tabs_confirm_deletion"));
427 $cgui->setCancel(
$lng->txt(
"cancel"),
"cancelTabDeletion");
428 $cgui->setConfirm(
$lng->txt(
"delete"),
"deleteTabs");
430 foreach (
$_POST[
"tid"] as $k => $i)
432 $id = explode(
":", $k);
433 $cgui->addItem(
"tid[]", $k,
434 $this->content_obj->getCaption($id[0], $id[1]));
437 $tpl->setContent($cgui->getHTML());
447 $ilCtrl->redirect($this,
"edit");
457 if (is_array(
$_POST[
"tid"]))
459 foreach(
$_POST[
"tid"] as $tid)
461 $ids = explode(
":", $tid);
462 $this->content_obj->deleteTab($ids[0], $ids[1]);
465 $this->updated = $this->pg_obj->update();
467 $ilCtrl->redirect($this,
"edit");
478 $ilTabs->setBackTarget(
$lng->txt(
"pg"),
479 $this->ctrl->getParentReturn($this));
481 $ilTabs->addTarget(
"cont_tabs",
482 $ilCtrl->getLinkTarget($this,
"edit"),
"edit",
485 $ilTabs->addTarget(
"cont_edit_tabs",
486 $ilCtrl->getLinkTarget($this,
"editProperties"),
"editProperties",
static addCss()
Add required css.
Confirmation screen class.
static _lookupTemplateIdByName($a_style_id, $a_name)
Lookup table template preview.
cancelTabDeletion()
Cancel tab deletion.
update()
Save tabs properties in db and return to page edit screen.
ilPCTabsGUI(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
Constructor @access public.
confirmTabsDeletion()
Confirm tabs deletion.
afterCreation()
After creation processing.
insert($a_omit_form_init=false)
Insert new tabs.
& executeCommand()
execute command
initForm($a_mode="edit")
Insert tabs form.
editProperties()
Edit tabs.
getFormValues()
Get form values.
create()
Create new tabs in dom and update page in db.
addTab()
Save tabs properties in db and return to page edit screen.
saveTabs()
Save tabs properties in db and return to page edit screen.
User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)
getTemplateOptions($a_type)
Get table templates.
displayValidationError()
display validation errors
setHierId($a_hier_id)
get hierarchical id in dom object
getStyleId()
Get Style Id.
This class represents an option in a radio group.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
if(!is_array($argv)) $options