Class ilCourseArchivesGUI. More...
Inheritance diagram for ilCourseArchivesGUI:
Collaboration diagram for ilCourseArchivesGUI:Public Member Functions | |
| ilCourseArchivesGUI (&$content_gui) | |
| Constructor public. | |
| & | executeCommand () |
| execute command | |
| view () | |
| confirmDeleteArchives () | |
| delete () | |
| addXMLArchive () | |
| selectArchiveLanguage () | |
| addHTMLArchive () | |
| downloadArchives () | |
| __showArchivesMenu () | |
| __initCourseObject () | |
Data Fields | |
| $container_obj | |
| $course_obj | |
| $tpl | |
| $ctrl | |
| $lng | |
| $tabs_gui | |
Class ilCourseArchivesGUI.
Definition at line 33 of file class.ilCourseArchivesGUI.php.
| ilCourseArchivesGUI::__initCourseObject | ( | ) |
Definition at line 455 of file class.ilCourseArchivesGUI.php.
References ilObjectGUI::$tree, and ilObjectFactory::getInstanceByRefId().
Referenced by ilCourseArchivesGUI().
{
global $tree;
if($this->content_obj->getType() == 'crs')
{
// Container is course
$this->course_obj =& $this->content_obj;
}
else
{
$course_ref_id = $tree->checkForParentType($this->content_obj->getRefId(),'crs');
$this->course_obj =& ilObjectFactory::getInstanceByRefId($course_ref_id);
}
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseArchivesGUI::__showArchivesMenu | ( | ) |
Definition at line 426 of file class.ilCourseArchivesGUI.php.
References ilUtil::sendInfo().
Referenced by view().
{
if(!$this->is_tutor)
{
return false;
}
$this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
if(!PATH_TO_ZIP)
{
ilUtil::sendInfo($this->lng->txt('zip_test_failed'));
return true;
}
// create xml archive button
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "addXMLArchive"));
$this->tpl->setVariable("BTN_TXT", $this->lng->txt("crs_add_archive_xml"));
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "selectArchiveLanguage"));
$this->tpl->setVariable("BTN_TXT", $this->lng->txt("crs_add_archive_html"));
$this->tpl->parseCurrentBlock();
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseArchivesGUI::addHTMLArchive | ( | ) |
Definition at line 370 of file class.ilCourseArchivesGUI.php.
References $ilErr, ilUtil::sendInfo(), and view().
{
global $ilAccess;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
$this->course_obj->initCourseArchiveObject();
$this->course_obj->archives_obj->setLanguage($_POST['lang']);
$this->course_obj->archives_obj->addHTML();
ilUtil::sendInfo($this->lng->txt("crs_added_new_archive"));
$this->view();
return true;
}
Here is the call graph for this function:| ilCourseArchivesGUI::addXMLArchive | ( | ) |
Definition at line 318 of file class.ilCourseArchivesGUI.php.
References $ilErr, ilUtil::sendInfo(), and view().
{
global $ilAccess;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
$this->course_obj->initCourseArchiveObject();
$this->course_obj->archives_obj->addXML();
ilUtil::sendInfo($this->lng->txt("crs_added_new_archive"));
$this->view();
return true;
}
Here is the call graph for this function:| ilCourseArchivesGUI::confirmDeleteArchives | ( | ) |
Definition at line 247 of file class.ilCourseArchivesGUI.php.
References $_SESSION, $ilErr, ilUtil::sendInfo(), ilUtil::switchColor(), and view().
{
global $ilAccess,$ilErr;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
if(!$_POST['archives'])
{
ilUtil::sendInfo($this->lng->txt("crs_no_archives_selected"));
$this->view();
return false;
}
$_SESSION["crs_archives"] = $_POST["archives"];
ilUtil::sendInfo($this->lng->txt("crs_sure_delete_selected_archives"));
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.crs_confirm_delete_archives.html','Modules/Course');
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_ARCHIVE_NAME",$this->lng->txt('crs_file_name'));
$this->course_obj->initCourseArchiveObject();
$counter = 0;
foreach($_POST['archives'] as $archive_id)
{
$archive = $this->course_obj->archives_obj->getArchive($archive_id);
$this->tpl->setCurrentBlock("archives");
$this->tpl->setVariable("ARCHIVE_NAME",$archive['archive_name']);
$this->tpl->setVariable("CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("DELETE",$this->lng->txt('delete'));
$this->tpl->setVariable("CANCEL",$this->lng->txt('cancel'));
return true;
}
Here is the call graph for this function:| ilCourseArchivesGUI::delete | ( | ) |
Definition at line 289 of file class.ilCourseArchivesGUI.php.
References $_SESSION, $ilErr, ilUtil::sendInfo(), and view().
{
global $ilAccess,$ilErr;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
if(!$_SESSION['crs_archives'])
{
ilUtil::sendInfo($this->lng->txt("crs_no_archives_selected"));
$this->view();
}
$this->course_obj->initCourseArchiveObject();
foreach($_SESSION['crs_archives'] as $archive_id)
{
$this->course_obj->archives_obj->delete($archive_id);
}
ilUtil::sendInfo($this->lng->txt('crs_archives_deleted'));
unset($_SESSION["crs_archives"]);
$this->view();
return true;
}
Here is the call graph for this function:| ilCourseArchivesGUI::downloadArchives | ( | ) |
Definition at line 390 of file class.ilCourseArchivesGUI.php.
References $ilErr, ilUtil::deliverFile(), ilUtil::sendInfo(), and view().
{
global $ilAccess;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("read",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
$_POST["archives"] = $_POST["archives"] ? $_POST["archives"] : array();
if(!count($_POST['archives']))
{
ilUtil::sendInfo($this->lng->txt('crs_no_archive_selected'));
$this->view();
return false;
}
if(count($_POST['archives']) > 1)
{
ilUtil::sendInfo($this->lng->txt('crs_select_one_archive'));
$this->view();
return false;
}
$this->course_obj->initCourseArchiveObject();
$abs_path = $this->course_obj->archives_obj->getArchiveFile((int) $_POST['archives'][0]);
$basename = basename($abs_path);
ilUtil::deliverFile($abs_path,$basename);
}
Here is the call graph for this function:| & ilCourseArchivesGUI::executeCommand | ( | ) |
execute command
Reimplemented from ilObjectGUI.
Definition at line 64 of file class.ilCourseArchivesGUI.php.
References $cmd.
| ilCourseArchivesGUI::ilCourseArchivesGUI | ( | &$ | content_gui | ) |
Constructor public.
Definition at line 47 of file class.ilCourseArchivesGUI.php.
References $ilCtrl, $lng, $tpl, and __initCourseObject().
{
global $tpl,$ilCtrl,$lng,$ilObjDataCache,$ilTabs;
$this->tpl =& $tpl;
$this->ctrl =& $ilCtrl;
$this->lng =& $lng;
$this->tabs_gui =& $ilTabs;
$this->content_gui =& $content_gui;
$this->content_obj =& $this->content_gui->object;
$this->__initCourseObject();
}
Here is the call graph for this function:| ilCourseArchivesGUI::selectArchiveLanguage | ( | ) |
Definition at line 337 of file class.ilCourseArchivesGUI.php.
References ilObjectGUI::$actions, $ilErr, and ilUtil::formSelect().
{
global $ilAccess;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
foreach($this->lng->getInstalledLanguages() as $lang_code)
{
$actions["$lang_code"] = $this->lng->txt('lang_'.$lang_code);
if($this->lng->getLangKey() == $lang_code)
{
$selected = $lang_code;
}
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.crs_selectLanguage.html",'Modules/Course');
$this->tpl->setVariable("LANGUAGE_SELECTION",$this->lng->txt('crs_archive_language_selection'));
$this->tpl->setVariable("LANGUAGE",$this->lng->txt('obj_lng'));
$this->tpl->setVariable("INFO_TXT",$this->lng->txt('crs_select_archive_language'));
$this->tpl->setVariable("SELECT_FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("LANG_SELECTOR",ilUtil::formSelect($selected,'lang',$actions,false,true));
$this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
$this->tpl->setVariable("TXT_SUBMIT",$this->lng->txt('crs_add_html_archive'));
return true;
}
Here is the call graph for this function:| ilCourseArchivesGUI::view | ( | ) |
Definition at line 74 of file class.ilCourseArchivesGUI.php.
References $_GET, $ilErr, $tbl, __showArchivesMenu(), ilFormat::formatUnixTime(), ilUtil::formCheckbox(), ilUtil::getImagePath(), and ilUtil::switchColor().
Referenced by addHTMLArchive(), addXMLArchive(), confirmDeleteArchives(), delete(), and downloadArchives().
{
global $ilAccess,$ilErr;
// MINIMUM ACCESS LEVEL = 'write'
if(!$ilAccess->checkAccess("read",'',$this->course_obj->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->MESSAGE);
}
$this->is_tutor = $ilAccess->checkAccess('write','',$this->course_obj->getRefId());
$this->download_allowed = ($this->is_tutor or $this->course_obj->getArchiveType() == $this->course_obj->ARCHIVE_DOWNLOAD);
$this->course_obj->initCourseArchiveObject();
$this->course_obj->archives_obj->initCourseFilesObject();
$archives = $this->is_tutor ?
$this->course_obj->archives_obj->getArchives() :
$this->course_obj->archives_obj->getPublicArchives();
require_once("./Services/Table/classes/class.ilTableGUI.php");
$tbl = new ilTableGUI();
$this->__showArchivesMenu();
$this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
$this->tpl->addBlockfile("TBL_CONTENT","tbl_content","tpl.crs_archives_row.html",'Modules/Course');
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$tbl->setTitle($this->lng->txt("crs_header_archives"));
if($this->download_allowed or $this->is_tutor)
{
$header_names = array('',
$this->lng->txt("type"),
$this->lng->txt("crs_file_name"),
$this->lng->txt("crs_size"),
$this->lng->txt("crs_create_date"),
$this->lng->txt("crs_archive_lang"));
$header_vars = array("",
"type",
"name",
"size",
"date",
"lang");
$column_width = array("1%","9%","30%","20%","20%","20%");
$this->tpl->setVariable("COLUMN_COUNTS",6);
}
else
{
$header_names = array($this->lng->txt("type"),
$this->lng->txt("crs_file_name"),
$this->lng->txt("crs_create_date"),
$this->lng->txt("crs_size"),
$this->lng->txt("crs_archive_lang"));
$header_vars = array("type",
"name",
"date",
"size",
"lang");
$column_width = array("10%","30%","20%","20%","20%");
$this->tpl->setVariable("COLUMN_COUNTS",5);
}
$tbl->setHeaderNames($header_names);
$tbl->setHeaderVars($header_vars,
array("ref_id" => $this->course_obj->getRefId(),
"cmd" => "view",
"cmdClass" => strtolower(get_class($this))));
$tbl->setColumnWidth($column_width);
// control
$tbl->setOrderColumn($_GET["sort_by"]);
$tbl->setOrderDirection($_GET["sort_order"]);
$tbl->setLimit($_GET["limit"]);
$tbl->setOffset($_GET["offset"]);
$tbl->disable("sort");
if($this->download_allowed)
{
$this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
if($this->is_tutor)
{
// delete
$this->tpl->setCurrentBlock("tbl_action_btn");
$this->tpl->setVariable("BTN_NAME", "confirmDeleteArchives");
$this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete"));
$this->tpl->parseCurrentBlock();
}
// download
$this->tpl->setCurrentBlock("tbl_action_btn");
$this->tpl->setVariable("BTN_NAME", "downloadArchives");
$this->tpl->setVariable("BTN_VALUE", $this->lng->txt("download"));
$this->tpl->parseCurrentBlock();
}
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
$tbl->setMaxCount(count($archives));
$archives = array_slice($archives,$_GET['offset'],$_GET['limit']);
$tbl->render();
if(!count($archives))
{
$this->tpl->setCurrentBlock("notfound");
$this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
$this->tpl->setVariable("NUM_COLS",6);
$this->tpl->parseCurrentBlock();
}
$counter = 0;
foreach($archives as $archive_data)
{
$this->tpl->setCurrentBlock("tbl_content");
$this->tpl->setVariable("CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
if($this->download_allowed)
{
$this->tpl->setVariable("VAL_CHECK",ilUtil::formCheckbox(0,"archives[]",$archive_data['archive_id']));
}
// Type
switch($archive_data["archive_type"])
{
case $this->course_obj->archives_obj->ARCHIVE_XML:
$type = $this->lng->txt("crs_xml");
break;
case $this->course_obj->archives_obj->ARCHIVE_HTML:
$type = $this->lng->txt("crs_html");
break;
case $this->course_obj->archives_obj->ARCHIVE_PDF:
$type = $this->lng->txt("crs_pdf");
break;
}
$this->tpl->setVariable("VAL_TYPE",$type);
// Name
if($archive_data['archive_type'] == $this->course_obj->archives_obj->ARCHIVE_HTML)
{
$link = '<a href="'.$this->course_obj->archives_obj->course_files_obj->getOnlineLink($archive_data['archive_name']).'"'.
' target="_blank">'.$archive_data["archive_name"].'</a>';
}
else
{
$link = $archive_data['archive_name'];
}
$this->tpl->setVariable("VAL_NAME",$link);
$this->tpl->setVariable("VAL_SIZE",$archive_data['archive_size']);
$this->tpl->setVariable("VAL_DATE",ilFormat::formatUnixTime($archive_data['archive_name'],true));
if($archive_data["archive_lang"])
{
$this->tpl->setVariable("VAL_LANG",$this->lng->txt('lang_'.$archive_data["archive_lang"]));
}
else
{
$this->tpl->setVariable("VAL_LANG",$this->lng->txt('crs_not_available'));
}
$this->tpl->parseCurrentBlock();
}
$this->tpl->parseCurrentBlock();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseArchivesGUI::$container_obj |
Definition at line 35 of file class.ilCourseArchivesGUI.php.
| ilCourseArchivesGUI::$course_obj |
Definition at line 36 of file class.ilCourseArchivesGUI.php.
| ilCourseArchivesGUI::$ctrl |
Definition at line 39 of file class.ilCourseArchivesGUI.php.
| ilCourseArchivesGUI::$lng |
Reimplemented from ilObjectGUI.
Definition at line 40 of file class.ilCourseArchivesGUI.php.
Referenced by ilCourseArchivesGUI().
| ilCourseArchivesGUI::$tabs_gui |
Definition at line 41 of file class.ilCourseArchivesGUI.php.
| ilCourseArchivesGUI::$tpl |
Reimplemented from ilObjectGUI.
Definition at line 38 of file class.ilCourseArchivesGUI.php.
Referenced by ilCourseArchivesGUI().
1.7.1