5 require_once
"./Services/Object/classes/class.ilObject2GUI.php";
6 require_once
"./Modules/Bibliographic/classes/class.ilBibliographicDetailsGUI.php";
7 require_once(
"./Services/Export/classes/class.ilExportGUI.php");
8 require_once(
'./Services/News/classes/class.ilNewsItem.php');
9 require_once(
'./Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php');
41 public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0) {
45 parent::__construct($a_id, $a_id_type, $a_parent_node_id);
46 $lng->loadLanguageModule(
'bibl');
80 if ($this->
object != NULL) {
81 $ilNavigationHistory->addItem($this->object->getRefId(), $link,
"bibl");
84 $next_class = $ilCtrl->getNextClass($this);
85 $this->cmd = $ilCtrl->getCmd();
86 switch ($next_class) {
87 case "ilinfoscreengui":
89 $ilTabs->activateTab(
"id_info");
92 case "ilcommonactiondispatchergui":
93 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
95 $this->ctrl->forwardCommand($gui);
97 case "ilpermissiongui":
99 $ilTabs->activateTab(
"id_permissions");
100 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
102 $this->ctrl->forwardCommand($perm_gui);
104 case "ilobjectcopygui":
105 include_once
"./Services/Object/classes/class.ilObjectCopyGUI.php";
107 $cp->setType(
'bibl');
108 $tpl->getStandardTemplate();
109 $this->ctrl->forwardCommand($cp);
113 $ilTabs->setTabActive(
"id_records");
114 include_once(
"./Modules/File/classes/class.ilObjFile.php");
116 $this->ctrl->forwardCommand($file_gui);
120 $ilTabs->setTabActive(
"export");
122 $exp_gui->addFormat(
"xml");
123 $this->ctrl->forwardCommand($exp_gui);
126 return parent::executeCommand();
139 $this->ctrl->setCmd(
"showSummary");
140 $this->ctrl->setCmdClass(
"ilinfoscreengui");
152 $this->ctrl->redirectByClass(
'ilPersonalDesktopGUI',
'');
154 $ilTabs->activateTab(
"id_info");
155 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
157 $info->enablePrivateNotes();
158 $info->addMetaDataSections($this->object->getId(), 0, $this->
object->getType());
159 $this->ctrl->forwardCommand(
$info);
168 if (is_object($this->
object)) {
169 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
""),
"",
$this->node_id);
180 public static function _goto($a_target) {
182 $id = explode(
"_", $a_target);
183 $ilCtrl->setTargetScript(
"ilias.php");
184 $ilCtrl->initBaseClass(
"ilRepositoryGUI");
185 $ilCtrl->setParameterByClass(
"ilobjbibliographicgui",
"ref_id", $id[0]);
189 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilobjbibliographicgui" ),
"showDetails");
191 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilobjbibliographicgui" ),
"view");
203 $forms = parent::initCreationForms($a_new_type);
205 $in_file =
new ilFileInputGUI($lng->txt(
"bibliography file"),
"bibliographic_file");
206 $in_file->
setSuffixes(array(
"ris",
"bib",
"bibtex" ));
207 $in_file->setRequired(
true);
208 $forms[self::CFORM_NEW]->addItem($in_file);
209 $this->ctrl->saveParameterByClass(
'ilobjrootfoldergui',
'new_type');
210 $forms[self::CFORM_NEW]->setFormAction($this->ctrl->getFormActionByClass(
'ilobjrootfoldergui',
"save"));
219 if ($form[self::CFORM_NEW]->checkInput()) {
222 $form = $form[self::CFORM_NEW];
223 $form->setValuesByPost();
224 $tpl->setContent($form->getHtml());
235 $this->ctrl->redirect($this,
"edit");
246 global $ilAccess, $ilTabs,
$lng, $ilHelp;
253 $ilHelp->setScreenIdComponent(
'bibl');
255 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
256 $ilTabs->addTab(
"content", $lng->txt(
"content"), $this->ctrl->getLinkTarget($this,
"showContent"));
259 if ($ilAccess->checkAccess(
'visible',
"", $this->object->getRefId())) {
260 $ilTabs->addTab(
"id_info", $lng->txt(
"info_short"), $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"));
263 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
264 $ilTabs->addTab(
"settings", $lng->txt(
"settings"), $this->ctrl->getLinkTarget($this,
"editObject"));
267 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
268 $ilTabs->addTab(
"export", $lng->txt(
"export"), $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
271 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId())) {
272 $ilTabs->addTab(
"id_permissions", $lng->txt(
"perm_settings"), $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"));
279 $form = parent::initEditForm();
281 $in_file =
new ilFileInputGUI($lng->txt(
"bibliography file"),
"bibliographic_file");
282 $in_file->
setSuffixes(array(
"ris",
"bib",
"bibtex" ));
283 $in_file->setRequired(
false);
284 $cb_override =
new ilCheckboxInputGUI($this->lng->txt(
"override_entries"),
"override_entries");
286 $form->addItem($cb_override);
287 $form->setFormAction($this->ctrl->getFormAction($this,
"save"));
298 $ilTabs->activateTab(
"settings");
311 $a_values[
"is_online"] = $this->
object->getOnline();
330 if (($ilAccess->checkAccess(
'read',
"", $this->object->getRefId()) && $this->object->getOnline())
331 || $ilAccess->checkAccess(
'write',
"", $this->object->getRefId())
333 $ilTabs->setTabActive(
"content");
334 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
336 $ilToolbar->addButton($lng->txt(
"download_original_file"), $ilCtrl->getLinkTargetByClass(
"ilBibliographicDetailsGUI",
"sendFile"));
337 include_once
"./Modules/Bibliographic/classes/class.ilBibliographicRecordListTableGUI.php";
339 $html = $table->getHTML();
340 $tpl->setContent(
$html);
342 $tpl->setPermanentLink(
"bibl", $this->object->getRefId());
345 ilUtil::sendFailure(sprintf($this->lng->txt(
"msg_no_perm_read_item"), $object_title),
true);
358 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
359 $file_path = $this->bibl_obj->getFileAbsolutePath();
361 if (is_file($file_path)) {
362 $path_array = explode(DIRECTORY_SEPARATOR, $file_path);
363 $filename = $path_array[
sizeof($path_array) - 1];
364 require_once(
'./Services/FileDelivery/classes/class.ilFileDelivery.php');
381 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
383 $this->tpl->setContent($bibGUI->getHTML());
401 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
402 if ($this->object->getOnline() != $a_form->
getInput(
"is_online")) {
403 $this->
object->setOnline($a_form->
getInput(
"is_online"));
406 if (! empty($_FILES[
'bibliographic_file'][
'name'])) {
407 $this->
addNews($this->bibl_obj->getId(),
'updated');
418 include_once
"./Services/Notification/classes/class.ilNotification.php";
419 switch (
$_GET[
"ntf"]) {
427 $ilCtrl->redirect($this,
"");
437 $ilNewsItem->setTitle($lng->txt(
'news_title_' . $change));
440 $ilNewsItem->setUserId($ilUser->getId());
442 $ilNewsItem->setContentTextIsLangVar(
false);
443 $ilNewsItem->create();
451 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
454 $this->ctrl->redirect($this,
'view');
462 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
465 $this->ctrl->redirect($this,
'view');
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
infoScreenForward()
show information screen
removeFromDeskObject()
Remove from desktop public.
Class ilObjBibliographicGUI.
removeFromDesk()
Remove from desktop.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
New implementation of ilObjectGUI.
GUI class for the workflow of copying objects.
updateCustom(ilPropertyFormGUI $a_form)
updateSettings
executeCommand()
executeCommand
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupTitle($a_id)
lookup object title
static getInstance(ilObjBibliographic $bibl_obj, $entry_id)
static addToDesktop()
Add desktop item public.
sendFile()
provide file as a download
addToDesk()
Add desktop item.
static deliverFileAttached($path_to_file, $download_file_name=null, $mime_type=null)
const TYPE_DATA_COLLECTION
Export User Interface Class.
Class ilDataCollectionField.
static _lookupObjId($a_id)
initCreationForms($a_new_type)
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
redirection script todo: (a better solution should control the processing via a xml file) ...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
setTabs()
create tabs (repository/workspace switch)
addNews($obj_id, $change='created')
static removeFromDesktop()
Remove item from personal desktop public.
getEditFormCustomValues(array &$a_values)
initEditCustomForm(ilPropertyFormGUI $a_form)
addToDeskObject()
Add desktop item public.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
showContent()
shows the overview page with all entries in a table
afterSave(ilObjBibliographic $a_new_object)
getStandardCmd()
getStandardCmd
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
Class ilObjBibliographic.
addHeaderAction()
Add header action menu.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _goto($a_target)
_goto Deep link
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...