50 public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
53 $this->lng =
$DIC[
'lng'];
54 parent::__construct($a_id, $a_id_type, $a_parent_node_id);
55 $this->lng->loadLanguageModule(
'bibl');
91 $ilTabs =
$DIC[
'ilTabs'];
92 $ilNavigationHistory =
$DIC[
'ilNavigationHistory'];
97 if ($this->
object !=
null) {
98 $ilNavigationHistory->addItem($this->object->getRefId(), $link,
"bibl");
103 if ($this->
object instanceof
ilObjBibliographic && !
$DIC->access()->checkAccess(
'visible',
"", $this->object->getRefId())) {
107 $next_class =
$ilCtrl->getNextClass($this);
108 $this->cmd =
$ilCtrl->getCmd();
109 switch ($next_class) {
110 case "ilinfoscreengui":
112 $ilTabs->activateTab(self::TAB_ID_INFO);
115 case "ilcommonactiondispatchergui":
116 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
118 $this->ctrl->forwardCommand($gui);
120 case "ilpermissiongui":
122 $ilTabs->activateTab(self::TAB_ID_PERMISSIONS);
123 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
125 $this->ctrl->forwardCommand($perm_gui);
127 case "ilobjectcopygui":
128 include_once
"./Services/Object/classes/class.ilObjectCopyGUI.php";
130 $cp->setType(
'bibl');
131 $tpl->getStandardTemplate();
132 $this->ctrl->forwardCommand($cp);
136 $ilTabs->setTabActive(self::TAB_ID_RECORDS);
137 include_once(
"./Modules/File/classes/class.ilObjFile.php");
139 $this->ctrl->forwardCommand($file_gui);
143 $ilTabs->setTabActive(self::TAB_EXPORT);
145 $exp_gui->addFormat(
"xml");
146 $this->ctrl->forwardCommand($exp_gui);
149 return parent::executeCommand();
163 $this->ctrl->setCmd(
"showSummary");
164 $this->ctrl->setCmdClass(
"ilinfoscreengui");
178 $this->ctrl->redirectByClass(
'ilPersonalDesktopGUI',
'');
180 $DIC[
'ilTabs']->activateTab(self::TAB_ID_INFO);
181 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
183 $info->enablePrivateNotes();
184 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
185 $this->ctrl->forwardCommand(
$info);
195 $ilLocator =
$DIC[
'ilLocator'];
196 if (is_object($this->
object)) {
197 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
""),
"", $this->node_id);
208 public static function _goto($a_target)
212 $id = explode(
"_", $a_target);
213 $DIC[
'ilCtrl']->setTargetScript(
"ilias.php");
214 $DIC[
'ilCtrl']->initBaseClass(
"ilRepositoryGUI");
215 $DIC[
'ilCtrl']->setParameterByClass(
"ilobjbibliographicgui",
"ref_id",
$id[0]);
220 $DIC->ctrl()->redirectByClass(
222 ilRepositoryGUI::class,
223 ilObjBibliographicGUI::class,
225 self::CMD_SHOW_DETAILS
228 $DIC->ctrl()->redirectByClass(
230 ilRepositoryGUI::class,
231 ilObjBibliographicGUI::class,
247 $forms = parent::initCreationForms($a_new_type);
249 $in_file =
new ilFileInputGUI(
$DIC->language()->txt(
"bibliography file"),
"bibliographic_file");
250 $in_file->setSuffixes(array(
"ris",
"bib",
"bibtex"));
251 $in_file->setRequired(
true);
253 $this->ctrl->saveParameterByClass(
'ilobjrootfoldergui',
'new_type');
254 $forms[
self::CFORM_NEW]->setFormAction($this->ctrl->getFormActionByClass(
'ilobjrootfoldergui',
"save"));
265 if (
$form[self::CFORM_NEW]->checkInput()) {
269 $form->setValuesByPost();
284 $a_new_object->doUpdate();
286 $this->ctrl->redirect($this, self::CMD_EDIT);
299 $ilAccess =
$DIC[
'ilAccess'];
300 $ilTabs =
$DIC[
'ilTabs'];
302 $ilHelp =
$DIC[
'ilHelp'];
309 $ilHelp->setScreenIdComponent(
'bibl');
311 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
312 $ilTabs->addTab(self::TAB_CONTENT,
$lng->txt(self::TAB_CONTENT), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_CONTENT));
315 if ($ilAccess->checkAccess(
'visible',
"", $this->object->getRefId()) || $ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
316 $ilTabs->addTab(self::TAB_ID_INFO,
$lng->txt(
"info_short"), $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"));
319 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
320 $ilTabs->addTab(
"settings",
$lng->txt(
"settings"), $this->ctrl->getLinkTarget($this,
"editObject"));
323 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
324 $ilTabs->addTab(self::TAB_EXPORT,
$lng->txt(self::TAB_EXPORT), $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
327 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId())) {
328 $ilTabs->addTab(self::TAB_ID_PERMISSIONS,
$lng->txt(
"perm_settings"), $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"));
337 $form = parent::initEditForm();
340 $in_file->setSuffixes(array(
"ris",
"bib",
"bibtex"));
341 $in_file->setRequired(
false);
342 $cb_override =
new ilCheckboxInputGUI($this->lng->txt(
"override_entries"),
"override_entries");
343 $cb_override->addSubItem($in_file);
345 $form->addItem($cb_override);
346 $form->setFormAction($this->ctrl->getFormAction($this,
"save"));
358 $ilTabs =
$DIC[
'ilTabs'];
359 $ilTabs->activateTab(
"settings");
373 $a_values[
"is_online"] = $this->
object->getOnline();
391 $ilAccess =
$DIC[
'ilAccess'];
393 $ilTabs =
$DIC[
'ilTabs'];
395 if (($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())
396 && $this->object->getOnline())
397 || $ilAccess->checkAccess(
'write',
"", $this->object->getRefId())
399 $ilTabs->setTabActive(self::TAB_CONTENT);
407 $b->setCaption(
'download_original_file');
408 $b->setUrl(
$ilCtrl->getLinkTargetByClass(
"ilBibliographicDetailsGUI", self::CMD_SEND_FILE));
409 $b->setPrimary(
true);
410 $DIC[
'ilToolbar']->addButtonInstance($b);
412 include_once
"./Modules/Bibliographic/classes/class.ilBibliographicRecordListTableGUI.php";
418 $DIC[
'tpl']->setPermanentLink(
"bibl", $this->object->getRefId());
433 if (
$DIC[
'ilAccess']->checkAccess(
'read',
"", $this->object->getRefId())) {
434 $file_path = $this->bibl_obj->getLegacyAbsolutePath();
436 if (is_file($file_path)) {
453 if (
$DIC[
'ilAccess']->checkAccess(
'read',
"", $this->object->getRefId())) {
455 $this->tpl->setContent($bibGUI->getHTML());
474 $ilAccess =
$DIC[
'ilAccess'];
475 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
476 if ($this->object->getOnline() != $a_form->
getInput(
"is_online")) {
477 $this->
object->setOnline($a_form->
getInput(
"is_online"));
480 if (!empty($_FILES[
'bibliographic_file'][
'name'])) {
481 $this->
addNews($this->bibl_obj->getId(),
'updated');
494 include_once
"./Services/Notification/classes/class.ilNotification.php";
495 switch (
$_GET[
"ntf"]) {
517 $ilNewsItem->setTitle(
$lng->txt(
'news_title_' . $change));
520 $ilNewsItem->setUserId(
$ilUser->getId());
522 $ilNewsItem->setContentTextIsLangVar(
false);
523 $ilNewsItem->create();
534 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
537 $this->ctrl->redirect($this, self::CMD_VIEW);
548 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
551 $this->ctrl->redirect($this, self::CMD_VIEW);
585 $a_new_object->writeSourcefileEntriesToDb();
586 parent::afterImport($a_new_object);
An exception for terminatinating execution or to throw for unit testing.
static getInstance(ilObjBibliographic $bibl_obj, $entry_id)
Class ilDataCollectionField.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static addToDesktop()
Add desktop item @access public.
static removeFromDesktop()
Remove item from personal desktop @access public.
Export User Interface Class.
static deliverFileAttached($path_to_file, $download_file_name='', $mime_type='', $delete_file=false)
void
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
const TYPE_DATA_COLLECTION
Class ilObjBibliographicGUI.
initEditCustomForm(ilPropertyFormGUI $a_form)
addNews($obj_id, $change='created')
initEditForm()
Init object edit form.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
static _goto($a_target)
_goto Deep link
addToDeskObject()
Add desktop item.
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
addLocatorItems()
Functions to be overwritten.
infoScreenForward()
show information screen
executeCommand()
executeCommand
getEditFormCustomValues(array &$a_values)
initCreationForms($a_new_type)
removeFromDesk()
Remove from desktop.
getStandardCmd()
getStandardCmd
sendFile()
provide file as a download
addToDesk()
Add desktop item.
showContent()
shows the overview page with all entries in a table
updateCustom(ilPropertyFormGUI $a_form)
updateSettings
removeFromDeskObject()
Remove from desktop.
view()
view object content (repository/workspace switch)
Class ilObjBibliographic.
New implementation of ilObjectGUI.
setTabs()
create tabs (repository/workspace switch)
prepareOutput($a_show_subobjects=true)
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
GUI class for the workflow of copying objects.
afterImport(ilObject $a_new_object)
Post (successful) object import hook.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
addHeaderAction()
Add header action menu.
Class ilObject Basic functions for all objects.
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
if(empty($password)) $table
if(isset($_POST['submit'])) $form