ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilPageContentGUI Class Reference

User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...) More...

+ Inheritance diagram for ilPageContentGUI:
+ Collaboration diagram for ilPageContentGUI:

Public Member Functions

 ilPageContentGUI (&$a_pg_obj, &$a_content_obj, $a_hier_id=0, $a_pc_id="")
 Constructor public.
 setStyleId ($a_styleid)
 Set Style Id.
 getStyleId ()
 Get Style Id.
 getStyle ()
 Get style object.
 setCharacteristics ($a_chars)
 Set Characteristics.
 getCharacteristics ()
 Get characteristics.
 getHierId ()
 get hierarchical id in dom object
 setHierId ($a_hier_id)
 get hierarchical id in dom object
 getBBMenu ($a_ta_name="par_content")
 Get the bb menu incl.
 delete ()
 delete content element
 moveAfter ()
 move content element after another element
 moveBefore ()
 move content element before another element
 splitPage ()
 split page to new page at specified position
 splitPageNext ()
 split page to next page at specified position
 displayValidationError ()
 display validation errors
 cancelCreate ()
 cancel creating page content
 cancelUpdate ()
 cancel update
 deactivate ()
 gui function set enabled if is not enabled and vice versa
 getTemplateOptions ($a_type)
 Get table templates.

Static Public Member Functions

static _getCommonBBButtons ()
 Get common bb buttons.

Data Fields

 $content_obj
 $ilias
 $tpl
 $lng
 $ctrl
 $pg_obj
 $hier_id
 $dom
 $updated
 $target_script
 $return_location

Protected Member Functions

 getCharacteristicsOfCurrentStyle ($a_type)
 Get characteristics of current style.

Static Protected Attributes

static $common_bb_buttons

Detailed Description

User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id:
class.ilPageContentGUI.php 21993 2009-09-30 20:19:02Z akill

Definition at line 14 of file class.ilPageContentGUI.php.

Member Function Documentation

static ilPageContentGUI::_getCommonBBButtons ( )
static

Get common bb buttons.

Definition at line 62 of file class.ilPageContentGUI.php.

References $common_bb_buttons.

Referenced by ilObjAdvancedEditingGUI\initPageEditorForm(), and ilObjAdvancedEditingGUI\savePageEditorSettingsObject().

+ Here is the caller graph for this function:

ilPageContentGUI::cancelCreate ( )

cancel creating page content

Reimplemented in ilPCSourcecodeGUI.

Definition at line 461 of file class.ilPageContentGUI.php.

{
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::cancelUpdate ( )

cancel update

Reimplemented in ilPCSourcecodeGUI.

Definition at line 469 of file class.ilPageContentGUI.php.

{
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::deactivate ( )

gui function set enabled if is not enabled and vice versa

Definition at line 479 of file class.ilPageContentGUI.php.

References $_SESSION, $content_obj, and $updated.

{
if ($obj->isEnabled ())
$obj->disable ();
else
$obj->enable ();
$updated = $this->pg_obj->update($this->hier_id);
if($updated !== true)
{
$_SESSION["il_pg_error"] = $updated;
}
else
{
unset($_SESSION["il_pg_error"]);
}
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::delete ( )

delete content element

Definition at line 251 of file class.ilPageContentGUI.php.

References $_SESSION, and $updated.

{
$updated = $this->pg_obj->deleteContent($this->hier_id);
if($updated !== true)
{
$_SESSION["il_pg_error"] = $updated;
}
else
{
unset($_SESSION["il_pg_error"]);
}
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::displayValidationError ( )

display validation errors

Definition at line 436 of file class.ilPageContentGUI.php.

References $error.

Referenced by ilPCMediaObjectGUI\changeObjectReference(), ilPCMapGUI\create(), ilPCResourcesGUI\edit(), ilPCTabsGUI\edit(), ilPCSourcecodeGUI\edit(), ilPCMapGUI\edit(), ilPCListGUI\edit(), ilPCPluggedGUI\edit(), ilPCSectionGUI\edit(), ilPCTableGUI\edit(), ilPCParagraphGUI\edit(), ilPCFileListGUI\edit(), ilPCTableGUI\editCellSpan(), ilPCTableGUI\editCellStyle(), ilPCTableGUI\editCellWidth(), ilPCDataTableGUI\editData(), ilPCMediaObjectGUI\editStyle(), ilPCTabsGUI\insert(), ilPCListGUI\insert(), ilPCFileListGUI\insert(), ilPCMapGUI\insert(), ilPCQuestionGUI\insert(), ilPCMediaObjectGUI\insert(), ilPCSourcecodeGUI\insert(), ilPCTableGUI\insert(), ilPCFileListGUI\newFileItem(), ilPCFileItemGUI\newItemAfter(), ilPCFileItemGUI\newItemBefore(), ilPCFileListGUI\selectFile(), and ilPCMapGUI\update().

{
if(is_array($this->updated))
{
$error_str = "<b>Validation Error(s):</b><br>";
foreach ($this->updated as $error)
{
$err_mess = implode($error, " - ");
if (!is_int(strpos($err_mess, ":0:")))
{
$error_str .= htmlentities($err_mess)."<br />";
}
}
$this->tpl->setVariable("MESSAGE", $error_str);
}
else if($this->updated != "" && $this->updated !== true)
{
$this->tpl->setVariable("MESSAGE", "<b>Validation Error(s):</b><br />".
$this->updated."<br />");
}
}

+ Here is the caller graph for this function:

ilPageContentGUI::getBBMenu (   $a_ta_name = "par_content")

Get the bb menu incl.

script

Definition at line 191 of file class.ilPageContentGUI.php.

References $lng, getStyle(), and ilPageEditorSettings\lookupSettingByParentType().

Referenced by ilPCParagraphGUI\edit(), and ilPCDataTableGUI\editData().

{
global $lng;
include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
$btpl = new ilTemplate("tpl.bb_menu.html", true, true, "Services/COPage");
// not nice, should be set by context per method
if ($this->pg_obj->getParentType() == "gdf" ||
$this->pg_obj->getParentType() == "lm" ||
$this->pg_obj->getParentType() == "dbk")
{
$btpl->setCurrentBlock("bb_ilink_button");
$btpl->setVariable("BB_LINK_ILINK",
$this->ctrl->getLinkTargetByClass("ilInternalLinkGUI", "showLinkHelp"));
$btpl->parseCurrentBlock();
$btpl->touchBlock("bb_kw_button");
$btpl->setVariable("TXT_KW", $this->lng->txt("cont_text_keyword"));
}
if ($this->pg_obj->getParentType() == "wpg")
{
$btpl->setCurrentBlock("bb_wikilink_button");
$btpl->setVariable("TXT_WLN2", $lng->txt("wiki_wiki_page"));
$btpl->parseCurrentBlock();
}
$jsMathSetting = new ilSetting("jsMath");
$style = $this->getStyle();
//echo URL_TO_LATEX;
foreach (self::$common_bb_buttons as $c => $st)
{
if (ilPageEditorSettings::lookupSettingByParentType($this->pg_obj->getParentType(), "active_".$c, true))
{
if ($c != "tex" || $jsMathSetting->get("enable") || defined("URL_TO_LATEX"))
{
$btpl->touchBlock("bb_".$c."_button");
$btpl->setVariable("TXT_".strtoupper($c), $this->lng->txt("cont_text_".$c));
}
}
}
// footnote
// $btpl->setVariable("TXT_FN", $this->lng->txt("cont_text_fn"));
// $btpl->setVariable("TXT_CODE", $this->lng->txt("cont_text_code"));
$btpl->setVariable("TXT_ILN", $this->lng->txt("cont_text_iln"));
// $btpl->setVariable("TXT_XLN", $this->lng->txt("cont_text_xln"));
// $btpl->setVariable("TXT_TEX", $this->lng->txt("cont_text_tex"));
$btpl->setVariable("TXT_BB_TIP", $this->lng->txt("cont_bb_tip"));
$btpl->setVariable("TXT_WLN", $lng->txt("wiki_wiki_page"));
$btpl->setVariable("TXT_ANC", $lng->txt("cont_anchor").":");
$btpl->setVariable("PAR_TA_NAME", $a_ta_name);
return $btpl->get();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPageContentGUI::getCharacteristics ( )
ilPageContentGUI::getCharacteristicsOfCurrentStyle (   $a_type)
protected

Get characteristics of current style.

Definition at line 108 of file class.ilPageContentGUI.php.

References ilObject\_lookupType(), getStyleId(), and setCharacteristics().

Referenced by ilPCTableGUI\editCellStyle(), ilPCFileListGUI\executeCommand(), ilPCDataTableGUI\executeCommand(), ilPCTableGUI\executeCommand(), ilPCMediaObjectGUI\executeCommand(), ilPCSectionGUI\executeCommand(), ilPCParagraphGUI\executeCommand(), ilPCListGUI\initListForm(), and ilPCTableGUI\initPropertiesForm().

{
if ($this->getStyleId() > 0 &&
ilObject::_lookupType($this->getStyleId()) == "sty")
{
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
$style = new ilObjStyleSheet($this->getStyleId());
$chars = array();
if (!is_array($a_type))
{
$a_type = array($a_type);
}
foreach ($a_type as $at)
{
$chars = array_merge($chars, $style->getCharacteristics($at, true));
}
$new_chars = array();
if (is_array($chars))
{
foreach ($chars as $char)
{
if ($this->chars[$char] != "") // keep lang vars for standard chars
{
$new_chars[$char] = $this->chars[$char];
}
else
{
$new_chars[$char] = $char;
}
asort($new_chars);
}
}
$this->setCharacteristics($new_chars);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPageContentGUI::getStyle ( )

Get style object.

Definition at line 91 of file class.ilPageContentGUI.php.

References ilObject\_lookupType(), and getStyleId().

Referenced by getBBMenu(), and getTemplateOptions().

{
if ((!is_object($this->style) || $this->getStyleId() != $this->style->getId()) && $this->getStyleId() > 0)
{
if (ilObject::_lookupType($this->getStyleId()) == "sty")
{
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
$this->style = new ilObjStyleSheet($this->getStyleId());
}
}
return $this->style;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPageContentGUI::getStyleId ( )

Get Style Id.

Returns
int Style Id

Reimplemented in ilPCPlaceHolderGUI.

Definition at line 83 of file class.ilPageContentGUI.php.

Referenced by getCharacteristicsOfCurrentStyle(), ilPCTabsGUI\getFormValues(), ilPCTableGUI\getPropertiesFormValues(), getStyle(), and ilPCTableGUI\renderTable().

{
return $this->styleid;
}

+ Here is the caller graph for this function:

ilPageContentGUI::getTemplateOptions (   $a_type)

Get table templates.

Definition at line 504 of file class.ilPageContentGUI.php.

References $t, and getStyle().

Referenced by ilPCTabsGUI\initForm().

{
$style = $this->getStyle();
if (is_object($style))
{
$ts = $style->getTemplates($a_type);
$options = array();
foreach ($ts as $t)
{
$options["t:".$t["id"].":".$t["name"]] = $t["name"];
}
return $options;
}
return array();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilPageContentGUI::ilPageContentGUI ( $a_pg_obj,
$a_content_obj,
  $a_hier_id = 0,
  $a_pc_id = "" 
)

Constructor public.

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

References $ilCtrl, $ilias, $lng, and $tpl.

Referenced by ilPCContentIncludeGUI\ilPCContentIncludeGUI(), ilPCDataTableGUI\ilPCDataTableGUI(), ilPCFileItemGUI\ilPCFileItemGUI(), ilPCFileListGUI\ilPCFileListGUI(), ilPCListGUI\ilPCListGUI(), ilPCListItemGUI\ilPCListItemGUI(), ilPCMapGUI\ilPCMapGUI(), ilPCMediaObjectGUI\ilPCMediaObjectGUI(), ilPCParagraphGUI\ilPCParagraphGUI(), ilPCPlaceHolderGUI\ilPCPlaceHolderGUI(), ilPCPluggedGUI\ilPCPluggedGUI(), ilPCQuestionGUI\ilPCQuestionGUI(), ilPCResourcesGUI\ilPCResourcesGUI(), ilPCSectionGUI\ilPCSectionGUI(), ilPCSourcecodeGUI\ilPCSourcecodeGUI(), ilPCTableDataGUI\ilPCTableDataGUI(), ilPCTableGUI\ilPCTableGUI(), and ilPCTabsGUI\ilPCTabsGUI().

{
global $ilias, $tpl, $lng, $ilCtrl;
$this->ilias =& $ilias;
$this->tpl =& $tpl;
$this->lng =& $lng;
$this->pg_obj =& $a_pg_obj;
$this->ctrl =& $ilCtrl;
$this->content_obj =& $a_content_obj;
if($a_hier_id !== 0)
{
$this->hier_id = $a_hier_id;
$this->pc_id = $a_pc_id;
//echo "-".$this->pc_id."-";
$this->dom =& $a_pg_obj->getDom();
}
}

+ Here is the caller graph for this function:

ilPageContentGUI::moveAfter ( )

move content element after another element

Definition at line 268 of file class.ilPageContentGUI.php.

References $_POST, $_SESSION, and $updated.

{
// check if a target is selected
if(!isset($_POST["target"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
// check if only one target is selected
if(count($_POST["target"]) > 1)
{
$this->ilias->raiseError($this->lng->txt("only_one_target"),$this->ilias->error_obj->MESSAGE);
}
$a_hid = explode(":", $_POST["target"][0]);
//echo "-".$a_hid[0]."-".$a_hid[1]."-";
// check if target is within source
if($this->hier_id == substr($a_hid[0], 0, strlen($this->hier_id)))
{
$this->ilias->raiseError($this->lng->txt("cont_target_within_source"),$this->ilias->error_obj->MESSAGE);
}
// check whether target is allowed
$curr_node =& $this->pg_obj->getContentNode($a_hid[0], $a_hid[1]);
if (is_object($curr_node) && $curr_node->node_name() == "FileItem")
{
$this->ilias->raiseError($this->lng->txt("cont_operation_not_allowed"),$this->ilias->error_obj->MESSAGE);
}
// strip "c" "r" of table ids from hierarchical id
$first_hier_character = substr($a_hid[0], 0, 1);
if ($first_hier_character == "c" ||
$first_hier_character == "r" ||
$first_hier_character == "i")
{
$a_hid[0] = substr($a_hid[0], 1);
}
// move
$updated = $this->pg_obj->moveContentAfter($this->hier_id, $a_hid[0],
$this->content_obj->getPcId(), $a_hid[1]);
if($updated !== true)
{
$_SESSION["il_pg_error"] = $updated;
}
else
{
unset($_SESSION["il_pg_error"]);
}
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::moveBefore ( )

move content element before another element

Definition at line 325 of file class.ilPageContentGUI.php.

References $_POST, $_SESSION, and $updated.

{
// check if a target is selected
if(!isset($_POST["target"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
// check if target is within source
if(count($_POST["target"]) > 1)
{
$this->ilias->raiseError($this->lng->txt("only_one_target"),$this->ilias->error_obj->MESSAGE);
}
$a_hid = explode(":", $_POST["target"][0]);
// check if target is within source
if($this->hier_id == substr($a_hid[0], 0, strlen($this->hier_id)))
{
$this->ilias->raiseError($this->lng->txt("cont_target_within_source"),$this->ilias->error_obj->MESSAGE);
}
// check whether target is allowed
$curr_node =& $this->pg_obj->getContentNode($a_hid[0], $a_hid[1]);
if (is_object($curr_node) && $curr_node->node_name() == "FileItem")
{
$this->ilias->raiseError($this->lng->txt("cont_operation_not_allowed"),$this->ilias->error_obj->MESSAGE);
}
// strip "c" "r" of table ids from hierarchical id
$first_hier_character = substr($a_hid[0], 0, 1);
if ($first_hier_character == "c" ||
$first_hier_character == "r" ||
$first_hier_character == "i")
{
$a_hid[0] = substr($a_hid[0], 1);
}
// move
$updated = $this->pg_obj->moveContentBefore($this->hier_id, $a_hid[0],
$this->content_obj->getPcId(), $a_hid[1]);
if($updated !== true)
{
$_SESSION["il_pg_error"] = $updated;
}
else
{
unset($_SESSION["il_pg_error"]);
}
$this->ctrl->returnToParent($this, "jump".$this->hier_id);
}
ilPageContentGUI::setCharacteristics (   $a_chars)
ilPageContentGUI::setHierId (   $a_hier_id)

get hierarchical id in dom object

Definition at line 183 of file class.ilPageContentGUI.php.

Referenced by ilPCTabsGUI\afterCreation(), ilPCDataTableGUI\afterCreation(), and ilPCMediaObjectGUI\create().

{
$this->hier_id = $a_hier_id;
}

+ Here is the caller graph for this function:

ilPageContentGUI::setStyleId (   $a_styleid)

Set Style Id.

Parameters
int$a_styleidStyle Id

Reimplemented in ilPCPlaceHolderGUI.

Definition at line 73 of file class.ilPageContentGUI.php.

{
$this->styleid = $a_styleid;
}
ilPageContentGUI::splitPage ( )

split page to new page at specified position

Definition at line 381 of file class.ilPageContentGUI.php.

References $hier_id, $ilErr, and ilLMPageObject\_splitPage().

{
global $ilErr;
if ($this->pg_obj->getParentType() != "lm" &&
$this->pg_obj->getParentType() != "dbk")
{
$ilErr->raiseError("Split method called for wrong parent type (".
$this->pg_obj->getParentType().")", $ilErr->FATAL);
}
else
{
$lm_page =& ilLMPageObject::_splitPage($this->pg_obj->getId(),
$this->pg_obj->getParentType(), $this->hier_id);
// jump to new page
$this->ctrl->setParameterByClass("illmpageobjectgui", "obj_id", $lm_page->getId());
$this->ctrl->redirectByClass("illmpageobjectgui", "edit");
}
$this->ctrl->returnToParent($this, "jump".($this->hier_id - 1));
}

+ Here is the call graph for this function:

ilPageContentGUI::splitPageNext ( )

split page to next page at specified position

Definition at line 407 of file class.ilPageContentGUI.php.

References $hier_id, $ilErr, and ilLMPageObject\_splitPageNext().

{
global $ilErr;
if ($this->pg_obj->getParentType() != "lm" &&
$this->pg_obj->getParentType() != "dbk")
{
$ilErr->raiseError("Split method called for wrong parent type (".
$this->pg_obj->getParentType().")", $ilErr->FATAL);
}
else
{
$succ_id = ilLMPageObject::_splitPageNext($this->pg_obj->getId(),
$this->pg_obj->getParentType(), $this->hier_id);
// jump to successor page
if ($succ_id > 0)
{
$this->ctrl->setParameterByClass("illmpageobjectgui", "obj_id", $succ_id);
$this->ctrl->redirectByClass("illmpageobjectgui", "edit");
}
}
$this->ctrl->returnToParent($this, "jump".($this->hier_id - 1));
}

+ Here is the call graph for this function:

Field Documentation

ilPageContentGUI::$common_bb_buttons
staticprotected
Initial value:
array(
"str" => "Strong", "emp" => "Emph", "imp" => "Important", "com" => "Comment",
"quot" => "Quotation", "acc" => "Accent", "code" => "Code", "tex" => "Tex",
"fn" => "Footnote", "xln" => "ExternalLink"
)

Definition at line 29 of file class.ilPageContentGUI.php.

Referenced by _getCommonBBButtons().

ilPageContentGUI::$content_obj

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

Referenced by ilPCMediaObjectGUI\create(), and deactivate().

ilPageContentGUI::$ctrl

Definition at line 20 of file class.ilPageContentGUI.php.

ilPageContentGUI::$dom

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

ilPageContentGUI::$hier_id
ilPageContentGUI::$ilias

Definition at line 17 of file class.ilPageContentGUI.php.

Referenced by ilPCParagraphGUI\edit(), and ilPageContentGUI().

ilPageContentGUI::$lng

Definition at line 19 of file class.ilPageContentGUI.php.

Referenced by ilPCTableGUI\_addSpanInputs(), ilPCTableGUI\_addStyleCheckboxes(), ilPCTableGUI\_addWidthInputs(), ilPCSectionGUI\_getStandardCharacteristics(), ilPCParagraphGUI\_getStandardCharacteristics(), ilPCTabsGUI\addTab(), ilPCMediaObjectGUI\changeObjectReference(), ilPCTabsGUI\confirmTabsDeletion(), ilPCListGUI\create(), ilPCContentIncludeGUI\create(), ilPCQuestionGUI\create(), ilPCTabsGUI\create(), ilPCMediaObjectGUI\create(), ilPCTableGUI\create(), ilPCFileListGUI\createFileItem(), ilPCResourcesGUI\edit(), ilPCTabsGUI\edit(), ilPCMapGUI\edit(), ilPCPluggedGUI\edit(), ilPCSectionGUI\edit(), ilPCTableGUI\edit(), ilPCTableGUI\editCellSpan(), ilPCTableGUI\editCellStyle(), ilPCTableGUI\editCellWidth(), ilPCDataTableGUI\editData(), ilPCMediaObjectGUI\editStyle(), ilPCMediaObjectGUI\executeCommand(), ilPCMediaObjectGUI\getAliasValues(), getBBMenu(), ilPageContentGUI(), ilPCMediaObjectGUI\initAliasForm(), ilPCTabsGUI\initForm(), ilPCMapGUI\initForm(), ilPCListGUI\initListForm(), ilPCTableGUI\initPropertiesForm(), ilPCQuestionGUI\insert(), ilPCMediaObjectGUI\insert(), ilPCTableGUI\insert(), ilPCContentIncludeGUI\insertFromPool(), ilPCMediaObjectGUI\insertFromPool(), ilPCParagraphGUI\insertHelp(), ilPCFileItemGUI\newFileItem(), ilPCPlaceHolderGUI\propertyGUI(), ilPCListGUI\saveProperties(), ilPCMediaObjectGUI\selectObjectReference(), ilPCTableGUI\setCellPropertiesSubTabs(), ilPCTableGUI\setSpans(), ilPCTableGUI\setStyles(), ilPCTableGUI\setTabs(), ilPCQuestionGUI\setTabs(), ilPCFileListGUI\setTabs(), ilPCTabsGUI\setTabs(), ilPCTableGUI\setWidths(), ilPCPlaceHolderGUI\textCOSelectionGUI(), and ilPCDataTableGUI\update().

ilPageContentGUI::$pg_obj

Definition at line 21 of file class.ilPageContentGUI.php.

ilPageContentGUI::$return_location

Definition at line 26 of file class.ilPageContentGUI.php.

ilPageContentGUI::$target_script

Definition at line 25 of file class.ilPageContentGUI.php.

ilPageContentGUI::$updated

Definition at line 24 of file class.ilPageContentGUI.php.

Referenced by deactivate(), delete(), moveAfter(), and moveBefore().


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