Class ilObjRootFolderGUI. More...
Inheritance diagram for ilObjRootFolderGUI:
Collaboration diagram for ilObjRootFolderGUI:Public Member Functions | |
| ilObjRootFolderGUI ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true) | |
| Constructor public. | |
| importCategoriesFormObject () | |
| import categories form | |
| importCancelledObject () | |
| import cancelled | |
| importCategoriesObject () | |
| import categories | |
| importCategoriesWithRolObject () | |
| import categories | |
| getTabs (&$tabs_gui) | |
| common tabs for all container objects (should be called at the end of child getTabs() method | |
| & | executeCommand () |
| execute command note: this method is overwritten in all container objects | |
| editObject () | |
| edit category | |
| setTitleAndDescription () | |
| called by prepare output | |
| updateObject () | |
| updates object entry in object_data | |
| addTranslationObject () | |
| adds a translation form & save post vars to session | |
| removeTranslationObject () | |
| removes a translation form & save post vars to session | |
| removeBigIconObject () | |
| remove big icon | |
| removeSmallIconObject () | |
| remove small icon | |
| removeTinyIconObject () | |
| remove tiny icon | |
| _goto ($a_target) | |
| goto target group | |
Protected Member Functions | |
| showSortingSettings () | |
| show sorting settings | |
Class ilObjRootFolderGUI.
Id: class.ilObjRootFolderGUI.php,v 1.13 2006/03/10 09:22:58 akill Exp $
ilObjRootFolderGUI: ilPermissionGUI, ilPageObjectGUI, ilContainerLinkListGUI
Definition at line 39 of file class.ilObjRootFolderGUI.php.
| ilObjRootFolderGUI::_goto | ( | $ | a_target | ) |
goto target group
Definition at line 523 of file class.ilObjRootFolderGUI.php.
References $_GET, $ilErr, ilObjectGUI::$lng, and exit.
| ilObjRootFolderGUI::addTranslationObject | ( | ) |
adds a translation form & save post vars to session
public
Definition at line 447 of file class.ilObjRootFolderGUI.php.
References $_GET, $_SESSION, and ilUtil::redirect().
{
if (!($_GET["mode"] != "create" or $_GET["mode"] != "edit"))
{
$message = get_class($this)."::addTranslationObject(): Missing or wrong parameter! mode: ".$_GET["mode"];
$this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
}
$_SESSION["translation_post"] = $_POST;
$this->ctrl->setParameter($this, "entry", 0);
$this->ctrl->setParameter($this, "mode", "session");
$this->ctrl->setParameter($this, "new_type", $_GET["new_type"]);
ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"]));
}
Here is the call graph for this function:| ilObjRootFolderGUI::editObject | ( | ) |
edit category
public
Reimplemented from ilObjectGUI.
Definition at line 175 of file class.ilObjRootFolderGUI.php.
References $_GET, $_SESSION, ilObjectGUI::$data, ilObjectGUI::$lng, ilMDLanguageItem::_getLanguages(), ilObjectGUI::getTargetFrame(), ilObjectGUI::getTemplateFile(), ilUtil::prepareFormOutput(), ilContainerGUI::showCustomIconsEditing(), showSortingSettings(), and ilUtil::stripSlashes().
{
global $rbacsystem, $lng;
if (!$rbacsystem->checkAccess("write", $this->ref_id))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
$this->ctrl->setParameter($this,"mode","edit");
// for lang selection include metadata class
include_once "./Services/MetaData/classes/class.ilMDLanguageItem.php";
$this->getTemplateFile("edit",'');
$this->showSortingSettings();
$array_push = true;
if ($_SESSION["error_post_vars"])
{
$_SESSION["translation_post"] = $_SESSION["error_post_vars"];
$_GET["mode"] = "session";
$array_push = false;
}
// load from db if edit category is called the first time
if (($_GET["mode"] != "session"))
{
$data = $this->object->getTranslations();
$_SESSION["translation_post"] = $data;
$array_push = false;
} // remove a translation from session
elseif ($_GET["entry"] != 0)
{
array_splice($_SESSION["translation_post"]["Fobject"],$_GET["entry"],1,array());
if ($_GET["entry"] == $_SESSION["translation_post"]["default_language"])
{
$_SESSION["translation_post"]["default_language"] = "";
}
}
$data = $_SESSION["translation_post"];
// add additional translation form
if (!$_GET["entry"] and $array_push)
{
$count = array_push($data["Fobject"],array("title" => "","desc" => ""));
}
else
{
$count = count($data["Fobject"]);
}
// stripslashes in form?
$strip = isset($_SESSION["translation_post"]) ? true : false;
// add empty entry, if nothing exists
if (count($data["Fobject"]) == 0)
{
$data["Fobject"][0] =
array("title" => "",
"desc" => "",
"lang" => $lng->getDefaultLanguage()
);
}
foreach ($data["Fobject"] as $key => $val)
{
// add translation button
if ($key == $count -1)
{
$this->tpl->setCurrentBlock("addTranslation");
$this->tpl->setVariable("TXT_ADD_TRANSLATION",$this->lng->txt("add_translation")." >>");
$this->tpl->parseCurrentBlock();
}
// remove translation button
if ($key != 0)
{
$this->tpl->setCurrentBlock("removeTranslation");
$this->tpl->setVariable("TXT_REMOVE_TRANSLATION",$this->lng->txt("remove_translation"));
$this->ctrl->setParameter($this, "entry", $key);
$this->ctrl->setParameter($this, "mode", "edit");
$this->tpl->setVariable("LINK_REMOVE_TRANSLATION", $this->ctrl->getLinkTarget($this, "removeTranslation"));
$this->tpl->parseCurrentBlock();
}
// lang selection
$this->tpl->addBlockFile("SEL_LANGUAGE", "sel_language", "tpl.lang_selection.html", false);
$this->tpl->setVariable("SEL_NAME", "Fobject[".$key."][lang]");
$languages = ilMDLanguageItem::_getLanguages();
foreach ($languages as $code => $language)
{
$this->tpl->setCurrentBlock("lg_option");
$this->tpl->setVariable("VAL_LG", $code);
$this->tpl->setVariable("TXT_LG", $language);
if ($code == $val["lang"])
{
$this->tpl->setVariable("SELECTED", "selected=\"selected\"");
}
$this->tpl->parseCurrentBlock();
}
// object data
$this->tpl->setCurrentBlock("obj_form");
if ($key == 0)
{
$this->tpl->setVariable("TXT_HEADER", $this->lng->txt("repository"));
}
else
{
$this->tpl->setVariable("TXT_HEADER", $this->lng->txt("translation")." ".$key);
}
if ($key == $data["default_language"])
{
$this->tpl->setVariable("CHECKED", "checked=\"checked\"");
}
$this->tpl->setVariable("TXT_TITLE", $this->lng->txt("title"));
$this->tpl->setVariable("TXT_DESC", $this->lng->txt("title_long"));
$this->tpl->setVariable("TXT_DEFAULT", $this->lng->txt("default"));
$this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("language"));
$this->tpl->setVariable("TITLE", ilUtil::prepareFormOutput($val["title"],$strip));
$this->tpl->setVariable("DESC", ilUtil::stripSlashes($val["desc"]));
$this->tpl->setVariable("NUM", $key);
$this->tpl->parseCurrentBlock();
}
$this->showCustomIconsEditing();
// global
$this->tpl->setCurrentBlock("adm_content");
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("TARGET", $this->getTargetFrame("update"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "update");
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
}
Here is the call graph for this function:| & ilObjRootFolderGUI::executeCommand | ( | ) |
execute command note: this method is overwritten in all container objects
Reimplemented from ilContainerGUI.
Definition at line 116 of file class.ilObjRootFolderGUI.php.
References $cmd, $ret, ilContainerGUI::forwardToPageObject(), ilObjStyleSheet::getContentStylePath(), ilUtil::infoPanel(), ilObjectGUI::prepareOutput(), ilUtil::sendInfo(), ilObjectGUI::setLocator(), ilContainerGUI::setPageEditorTabs(), and setTitleAndDescription().
{
global $rbacsystem;
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
switch($next_class)
{
case 'ilcontainerlinklistgui':
include_once("./classes/class.ilContainerLinkListGUI.php");
$link_list_gui =& new ilContainerLinkListGUI();
$ret =& $this->ctrl->forwardCommand($link_list_gui);
break;
// container page editing
case "ilpageobjectgui":
$this->tpl->getStandardTemplate();
$this->setLocator();
ilUtil::sendInfo();
ilUtil::infoPanel();
//$this->prepareOutput(false);
$ret = $this->forwardToPageObject();
$this->setTitleAndDescription();
$this->setPageEditorTabs();
return $ret;
break;
case 'ilpermissiongui':
$this->prepareOutput();
include_once("./classes/class.ilPermissionGUI.php");
$perm_gui =& new ilPermissionGUI($this);
$ret =& $this->ctrl->forwardCommand($perm_gui);
break;
default:
$this->prepareOutput();
include_once("classes/class.ilObjStyleSheet.php");
$this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
ilObjStyleSheet::getContentStylePath(0));
if(!$cmd)
{
$cmd = "render";
}
$cmd .= "Object";
$this->$cmd();
break;
}
return true;
}
Here is the call graph for this function:| ilObjRootFolderGUI::getTabs | ( | &$ | tabs_gui | ) |
common tabs for all container objects (should be called at the end of child getTabs() method
Reimplemented from ilContainerGUI.
Definition at line 88 of file class.ilObjRootFolderGUI.php.
References $_GET.
{
global $rbacsystem;
$this->ctrl->setParameter($this,"ref_id",$this->ref_id);
if ($rbacsystem->checkAccess('read',$this->ref_id))
{
$tabs_gui->addTarget("view_content",
$this->ctrl->getLinkTarget($this, ""),
array("", "view", "render"));
}
if ($rbacsystem->checkAccess('write',$this->ref_id))
{
$force_active = ($_GET["cmd"] == "edit")
? true
: false;
$tabs_gui->addTarget("edit_properties",
$this->ctrl->getLinkTarget($this, "edit"), "edit", get_class($this)
, "", $force_active);
}
// parent tabs (all container: edit_permission, clipboard, trash
parent::getTabs($tabs_gui);
}
| ilObjRootFolderGUI::ilObjRootFolderGUI | ( | $ | a_data, | |
| $ | a_id, | |||
| $ | a_call_by_reference = true, |
|||
| $ | a_prepare_output = true | |||
| ) |
Constructor public.
Definition at line 45 of file class.ilObjRootFolderGUI.php.
References ilContainerGUI::ilContainerGUI().
{
$this->type = "root";
$this->ilContainerGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
}
Here is the call graph for this function:| ilObjRootFolderGUI::importCancelledObject | ( | ) |
import cancelled
private
Definition at line 64 of file class.ilObjRootFolderGUI.php.
References ilUtil::sendInfo().
{
ilUtil::sendInfo($this->lng->txt("action_aborted"),true);
$this->ctrl->returnToParent($this);
}
Here is the call graph for this function:| ilObjRootFolderGUI::importCategoriesFormObject | ( | ) |
import categories form
Definition at line 54 of file class.ilObjRootFolderGUI.php.
References ilObjCategoryGUI::_importCategoriesForm().
{
ilObjCategoryGUI::_importCategoriesForm($this->ref_id, $this->tpl);
}
Here is the call graph for this function:| ilObjRootFolderGUI::importCategoriesObject | ( | ) |
import categories
Definition at line 73 of file class.ilObjRootFolderGUI.php.
References ilObjCategoryGUI::_importCategories().
{
ilObjCategoryGUI::_importCategories($this->ref_id,0);
}
Here is the call graph for this function:| ilObjRootFolderGUI::importCategoriesWithRolObject | ( | ) |
import categories
Definition at line 82 of file class.ilObjRootFolderGUI.php.
References ilObjCategoryGUI::_importCategories().
{
ilObjCategoryGUI::_importCategories($this->ref_id,1);
}
Here is the call graph for this function:| ilObjRootFolderGUI::removeBigIconObject | ( | ) |
remove big icon
public
Definition at line 487 of file class.ilObjRootFolderGUI.php.
References $_GET, $_SESSION, and ilUtil::redirect().
{
$_SESSION["translation_post"] = $_POST;
$this->object->removeBigIcon();
ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"]));
}
Here is the call graph for this function:| ilObjRootFolderGUI::removeSmallIconObject | ( | ) |
remove small icon
public
Definition at line 499 of file class.ilObjRootFolderGUI.php.
References $_GET, $_SESSION, and ilUtil::redirect().
{
$_SESSION["translation_post"] = $_POST;
$this->object->removeSmallIcon();
ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"]));
}
Here is the call graph for this function:| ilObjRootFolderGUI::removeTinyIconObject | ( | ) |
remove tiny icon
public
Definition at line 512 of file class.ilObjRootFolderGUI.php.
References $_GET, $_SESSION, and ilUtil::redirect().
{
$_SESSION["translation_post"] = $_POST;
$this->object->removeTinyIcon();
ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"]));
}
Here is the call graph for this function:| ilObjRootFolderGUI::removeTranslationObject | ( | ) |
removes a translation form & save post vars to session
public
Definition at line 467 of file class.ilObjRootFolderGUI.php.
References $_GET, and ilUtil::redirect().
{
if (!($_GET["mode"] != "create" or $_GET["mode"] != "edit"))
{
$message = get_class($this)."::removeTranslationObject(): Missing or wrong parameter! mode: ".$_GET["mode"];
$this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
}
$this->ctrl->setParameter($this, "entry", $_GET["entry"]);
$this->ctrl->setParameter($this, "mode", "session");
$this->ctrl->setParameter($this, "new_type", $_GET["new_type"]);
ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"]));
}
Here is the call graph for this function:| ilObjRootFolderGUI::setTitleAndDescription | ( | ) |
called by prepare output
Reimplemented from ilContainerGUI.
Definition at line 326 of file class.ilObjRootFolderGUI.php.
References ilObjectGUI::$lng.
Referenced by executeCommand().
{
global $lng;
parent::setTitleAndDescription();
$this->tpl->setDescription("");
if ($this->object->getTitle() == "ILIAS")
{
$this->tpl->setTitle($lng->txt("repository"));
}
else
{
if ($this->object->getDescription() != "")
{
$this->tpl->setTitle($this->object->getDescription());
}
}
}
Here is the caller graph for this function:| ilObjRootFolderGUI::showSortingSettings | ( | ) | [protected] |
show sorting settings
protected
Definition at line 542 of file class.ilObjRootFolderGUI.php.
References ilUtil::formRadioButton(), ilObjectGUI::getCreationMode(), ilContainerSortingSettings::MODE_MANUAL, and ilContainerSortingSettings::MODE_TITLE.
Referenced by editObject().
{
$this->tpl->setVariable('TXT_SORTING',$this->lng->txt('sorting_header'));
$this->tpl->setVariable('TXT_SORT_TITLE',$this->lng->txt('sorting_title_header'));
$this->tpl->setVariable('INFO_SORT_TITLE',$this->lng->txt('sorting_info_title'));
$this->tpl->setVariable('TXT_SORT_MANUAL',$this->lng->txt('sorting_manual_header'));
$this->tpl->setVariable('INFO_SORT_MANUAL',$this->lng->txt('sorting_info_manual'));
include_once('Services/Container/classes/class.ilContainerSortingSettings.php');
if($this->getCreationMode())
{
$settings = new ilContainerSortingSettings(0);
}
else
{
$settings = new ilContainerSortingSettings($this->object->getId());
}
$this->tpl->setVariable('RADIO_SORT_TITLE',ilUtil::formRadioButton(
$settings->getSortMode() == ilContainerSortingSettings::MODE_TITLE,
'sorting',
ilContainerSortingSettings::MODE_TITLE));
$this->tpl->setVariable('RADIO_SORT_MANUAL',ilUtil::formRadioButton(
$settings->getSortMode() == ilContainerSortingSettings::MODE_MANUAL,
'sorting',
ilContainerSortingSettings::MODE_MANUAL));
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjRootFolderGUI::updateObject | ( | ) |
updates object entry in object_data
public
Reimplemented from ilObjectGUI.
Definition at line 350 of file class.ilObjRootFolderGUI.php.
References ilObjectGUI::$data, ilObjectGUI::getReturnLocation(), ilUtil::redirect(), ilUtil::sendInfo(), and ilUtil::stripSlashes().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
else
{
$data = $_POST;
// default language set?
if (!isset($data["default_language"]))
{
$this->ilias->raiseError($this->lng->txt("msg_no_default_language"),$this->ilias->error_obj->MESSAGE);
}
// prepare array fro further checks
foreach ($data["Fobject"] as $key => $val)
{
$langs[$key] = $val["lang"];
}
$langs = array_count_values($langs);
// all languages set?
if (array_key_exists("",$langs) &&
(count($data["Fobject"]) > 1 || $data["Fobject"][0]["title"] != ""))
{
$this->ilias->raiseError($this->lng->txt("msg_no_language_selected"),$this->ilias->error_obj->MESSAGE);
}
// no single language is selected more than once?
if (array_sum($langs) > count($langs))
{
$this->ilias->raiseError($this->lng->txt("msg_multi_language_selected"),$this->ilias->error_obj->MESSAGE);
}
// copy default translation to variable for object data entry
$_POST["Fobject"]["title"] = $_POST["Fobject"][$_POST["default_language"]]["title"];
$_POST["Fobject"]["desc"] = $_POST["Fobject"][$_POST["default_language"]]["desc"];
// first delete all translation entries...
$this->object->removeTranslations();
// ...and write new translations to object_translation
foreach ($data["Fobject"] as $key => $val)
{
if ($key == $data["default_language"])
{
$default = 1;
}
else
{
$default = 0;
}
if (trim($val["title"]) != "")
{
$this->object->addTranslation(ilUtil::stripSlashes($val["title"]),ilUtil::stripSlashes($val["desc"]),$val["lang"],$default);
}
}
// bring back old translation, if no individual translation is given
if (trim($_POST["Fobject"]["title"]) == "")
{
$_POST["Fobject"]["title"] = "ILIAS";
}
// update object data entry with default translation
$this->object->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"]));
$this->object->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"]));
//save custom icons
if ($this->ilias->getSetting("custom_icons"))
{
$this->object->saveIcons($_FILES["cont_big_icon"],
$_FILES["cont_small_icon"], $_FILES["cont_tiny_icon"]);
}
$this->update = $this->object->update();
}
include_once('Services/Container/classes/class.ilContainerSortingSettings.php');
$settings = new ilContainerSortingSettings($this->object->getId());
$settings->setSortMode((int) $_POST['sorting']);
$settings->update();
ilUtil::sendInfo($this->lng->txt("msg_obj_modified"),true);
ilUtil::redirect($this->getReturnLocation("update",$this->ctrl->getTargetScript()."?".$this->link_params));
}
Here is the call graph for this function:
1.7.1