ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilBiblAdminFieldGUI Class Reference

Class ilBiblAdminFieldGUI. More...

+ Inheritance diagram for ilBiblAdminFieldGUI:
+ Collaboration diagram for ilBiblAdminFieldGUI:

Public Member Functions

 __construct (ilBiblAdminFactoryFacadeInterface $facade)
 ilBiblAdminFieldGUI constructor. More...
 
 executeCommand ()
 

Data Fields

const CMD_INIT_OVERVIEW_MODELS = 'initOverviewModels'
 
const CMD_INIT_DEFAULT_FIELDS_AND_SORTING = 'initDefaultFieldsAndSorting'
 
const SUBTAB_RIS = 'subtab_ris'
 
const SUBTAB_BIBTEX = 'subtab_bibtex'
 
const FIELD_IDENTIFIER = 'field_id'
 
const DATA_TYPE = 'data_type'
 
const CMD_STANDARD = 'index'
 
const CMD_CANCEL = 'cancel'
 
const CMD_EDIT = 'edit'
 
const CMD_UPDATE = 'update'
 
const CMD_APPLY_FILTER = 'applyFilter'
 
const CMD_RESET_FILTER = 'resetFilter'
 
const CMD_SAVE = 'save'
 

Protected Member Functions

 performCommand ()
 
 index ()
 
 setSubTabs ()
 
 save ()
 
 applyFilter ()
 
 resetFilter ()
 

Protected Attributes

 $facade
 

Private Member Functions

 initDefaultFieldsAndSorting ()
 
 initOverviewModels ()
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilBiblAdminFieldGUI::__construct ( ilBiblAdminFactoryFacadeInterface  $facade)

ilBiblAdminFieldGUI constructor.

Parameters
\ilBiblAdminFactoryFacadeInterface$facade

Definition at line 36 of file class.ilBiblAdminFieldGUI.php.

37 {
38 $this->facade = $facade;
39 }

References $facade.

Member Function Documentation

◆ applyFilter()

ilBiblAdminFieldGUI::applyFilter ( )
protected

Definition at line 241 of file class.ilBiblAdminFieldGUI.php.

242 {
243 $ilBiblAdminFieldTableGUI = new ilBiblAdminFieldTableGUI($this, $this->facade);
244 $ilBiblAdminFieldTableGUI->writeFilterToSession();
245 $this->ctrl()->redirect($this, self::CMD_STANDARD);
246 }
Class ilBiblAdminFieldTableGUI.

◆ executeCommand()

ilBiblAdminFieldGUI::executeCommand ( )

Definition at line 42 of file class.ilBiblAdminFieldGUI.php.

43 {
44 $nextClass = $this->ctrl()->getNextClass();
45 $this->tabs()->activateTab(ilObjBibliographicAdminGUI::TAB_FIELDS);
46 switch ($nextClass) {
47 case strtolower(ilBiblTranslationGUI::class):
48 $this->tabs()->clearTargets();
49 $target = $this->ctrl()->getLinkTarget($this);
50 $this->tabs()->setBackTarget($this->lng()->txt('back'), $target);
51
52 $field_id = $this->http()->request()->getQueryParams()[self::FIELD_IDENTIFIER];
53 if (!$field_id) {
54 throw new ilException("Field not found");
55 }
56 $this->ctrl()->saveParameter($this, self::FIELD_IDENTIFIER);
57 $field = $this->facade->fieldFactory()->findById($field_id);
58
59 $gui = new ilBiblTranslationGUI($this->facade, $field);
60 $this->ctrl()->forwardCommand($gui);
61 break;
62
63 default:
64 $this->performCommand();
65 }
66 }
Class ilBiblTranslationGUI.
Base class for ILIAS Exception handling.
$target
Definition: test.php:19
static http()
Fetches the global http state from ILIAS.

References $target, FIELD_IDENTIFIER, ILIAS\FileDelivery\http(), performCommand(), and ilObjBibliographicAdminGUI\TAB_FIELDS.

+ Here is the call graph for this function:

◆ index()

ilBiblAdminFieldGUI::index ( )
protected

Definition at line 170 of file class.ilBiblAdminFieldGUI.php.

171 {
172 $this->setSubTabs();
173 // Buttons for restoring emthods
174 /*$default_sorting = ilLinkButton::getInstance();
175 $default_sorting->setCaption('init_default_fields');
176 $default_sorting->setUrl($this->ctrl()->getLinkTarget($this, self::CMD_INIT_DEFAULT_FIELDS_AND_SORTING));
177 $this->toolbar()->addButtonInstance($default_sorting);*/
178
179 // Buttons for restoring emthods
180 /*$overview_models = ilLinkButton::getInstance();
181 $overview_models->setCaption('init_overview_models');
182 $overview_models->setUrl($this->ctrl()->getLinkTarget($this, self::CMD_INIT_OVERVIEW_MODELS));
183 $this->toolbar()->addButtonInstance($overview_models);*/
184
185 $ilBiblAdminFieldTableGUI = new ilBiblAdminFieldTableGUI($this, $this->facade);
186 $this->tpl()->setContent($ilBiblAdminFieldTableGUI->getHTML());
187 }

References setSubTabs().

+ Here is the call graph for this function:

◆ initDefaultFieldsAndSorting()

ilBiblAdminFieldGUI::initDefaultFieldsAndSorting ( )
private

Definition at line 69 of file class.ilBiblAdminFieldGUI.php.

70 {
71 $this->checkPermissionAndFail('write');
72 $tf = new ilBiblTypeFactory();
73 $bib_default_sorting = [
74 'title', 'author',
75 ];
76 $bib = $tf->getInstanceForType(ilBiblTypeFactory::DATA_TYPE_BIBTEX);
77 $ff_bib = new ilBiblFieldFactory($bib);
78 foreach ($bib->getStandardFieldIdentifiers() as $i => $identifier) {
79 $field = $ff_bib->findOrCreateFieldByTypeAndIdentifier($bib->getId(), $identifier);
80 $field->setPosition($i + 1);
81 $field->store();
82 $array_search = array_search($identifier, $bib_default_sorting);
83 if ($array_search !== false) {
84 $field->setPosition((int) $array_search + 1);
85 $ff_bib->forcePosition($field);
86 }
87 }
88 $ris_default_sorting = [
89 'T1', 'AU',
90 ];
91 $ris = $tf->getInstanceForType(ilBiblTypeFactory::DATA_TYPE_RIS);
92 $ff_ris = new ilBiblFieldFactory($ris);
93 foreach ($ris->getStandardFieldIdentifiers() as $i => $identifier) {
94 $field = $ff_ris->findOrCreateFieldByTypeAndIdentifier($ris->getId(), $identifier);
95 $field->setPosition($i + 1);
96 $field->store();
97 $array_search = array_search($identifier, $ris_default_sorting);
98 if ($array_search !== false) {
99 $field->setPosition((int) $array_search + 1);
100 $ff_bib->forcePosition($field);
101 }
102 }
103 $this->ctrl()->redirect($this, self::CMD_STANDARD);
104 }
Class ilBiblFieldFactory.
Class ilBiblTypeFactory.
$i
Definition: disco.tpl.php:19
$ris
Definition: simple_test.php:17

References $i, $ris, ilBiblTypeFactoryInterface\DATA_TYPE_BIBTEX, and ilBiblTypeFactoryInterface\DATA_TYPE_RIS.

◆ initOverviewModels()

ilBiblAdminFieldGUI::initOverviewModels ( )
private

Definition at line 107 of file class.ilBiblAdminFieldGUI.php.

108 {
109 $this->checkPermissionAndFail('write');
110 global $DIC;
111 $ilDB = $DIC->database();
112
113 // TODO fill filetype_id with the correct values
114 if ($ilDB->tableExists('il_bibl_overview_model')) {
115 $type = function ($filetype_string) {
116 if (strtolower($filetype_string) == "bib"
117 || strtolower($filetype_string) == "bibtex"
118 ) {
119 return 2;
120 }
121
122 return 1;
123 };
124
125 if (!$ilDB->tableColumnExists('il_bibl_overview_model', 'file_type_id')) {
126 $ilDB->addTableColumn('il_bibl_overview_model', 'file_type_id', array("type" => "integer", 'length' => 4));
127 }
128
129 $res = $ilDB->query("SELECT * FROM il_bibl_overview_model");
130 while ($d = $ilDB->fetchObject($res)) {
131 $type_id = (int) $type($d->filetype);
132 $ilDB->update(
133 "il_bibl_overview_model",
134 [
135 "file_type_id" => ["integer", $type_id],
136 ],
137 ["ovm_id" => ["integer", $d->ovm_id]]
138 );
139 }
140 // $ilDB->dropTableColumn('il_bibl_overview_model', 'filetype');
141 }
142
143 $this->ctrl()->redirect($this, self::CMD_STANDARD);
144 }
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
Definition: date.php:296
$type
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
global $ilDB

References $d, $DIC, $ilDB, $res, and $type.

◆ performCommand()

ilBiblAdminFieldGUI::performCommand ( )
protected

Definition at line 147 of file class.ilBiblAdminFieldGUI.php.

148 {
149 $cmd = $this->ctrl()->getCmd(self::CMD_STANDARD);
150 switch ($cmd) {
152 case self::CMD_EDIT:
153 case self::CMD_UPDATE:
154 case self::CMD_SAVE:
159 if ($this->access()->checkAccess('write', "", $this->facade->iliasRefId())) {
160 $this->{$cmd}();
161 break;
162 } else {
163 ilUtil::sendFailure($this->lng()->txt("no_permission"), true);
164 break;
165 }
166 }
167 }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References CMD_APPLY_FILTER, CMD_EDIT, CMD_INIT_DEFAULT_FIELDS_AND_SORTING, CMD_INIT_OVERVIEW_MODELS, CMD_RESET_FILTER, CMD_SAVE, CMD_STANDARD, CMD_UPDATE, and ilUtil\sendFailure().

Referenced by executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetFilter()

ilBiblAdminFieldGUI::resetFilter ( )
protected

Definition at line 249 of file class.ilBiblAdminFieldGUI.php.

250 {
251 $ilBiblAdminFieldTableGUI = new ilBiblAdminFieldTableGUI($this, $this->facade);
252 $ilBiblAdminFieldTableGUI->resetFilter();
253 $ilBiblAdminFieldTableGUI->resetOffset();
254 $this->ctrl()->redirect($this, self::CMD_STANDARD);
255 }

◆ save()

ilBiblAdminFieldGUI::save ( )
protected

Definition at line 225 of file class.ilBiblAdminFieldGUI.php.

226 {
227 foreach ($_POST['position'] as $set) {
228 $field_id = (int) key($set);
229 $position = (int) current($set);
230
231 $ilBiblField = $this->facade->fieldFactory()->findById((int) $field_id);
232 $ilBiblField->setPosition((int) $position);
233 $ilBiblField->store();
234 }
235
236 ilUtil::sendSuccess($this->lng()->txt("changes_successfully_saved"));
237 $this->ctrl()->redirect($this, self::CMD_STANDARD);
238 }
$_POST["username"]

References $_POST.

◆ setSubTabs()

ilBiblAdminFieldGUI::setSubTabs ( )
protected

Definition at line 190 of file class.ilBiblAdminFieldGUI.php.

191 {
192 $this->tabs()->addSubTab(
193 self::SUBTAB_RIS,
194 $this->lng()->txt('ris'),
195 $this->ctrl()->getLinkTargetByClass(
196 array(
197 ilObjBibliographicAdminGUI::class, ilBiblAdminRisFieldGUI::class,
198 ),
200 )
201 );
202 $this->tabs()->activateSubTab(self::SUBTAB_RIS);
203
204 $this->tabs()->addSubTab(
205 self::SUBTAB_BIBTEX,
206 $this->lng()->txt('bibtex'),
207 $this->ctrl()->getLinkTargetByClass(
208 array(
209 ilObjBibliographicAdminGUI::class, ilBiblAdminBibtexFieldGUI::class,
210 ),
212 )
213 );
214 switch ($this->facade->type()->getId()) {
216 $this->tabs()->activateSubTab(self::SUBTAB_BIBTEX);
217 break;
219 $this->tabs()->activateSubTab(self::SUBTAB_RIS);
220 break;
221 }
222 }

References CMD_STANDARD, ilBiblTypeFactoryInterface\DATA_TYPE_BIBTEX, and ilBiblTypeFactoryInterface\DATA_TYPE_RIS.

Referenced by index().

+ Here is the caller graph for this function:

Field Documentation

◆ $facade

ilBiblAdminFieldGUI::$facade
protected

Definition at line 28 of file class.ilBiblAdminFieldGUI.php.

Referenced by __construct().

◆ CMD_APPLY_FILTER

const ilBiblAdminFieldGUI::CMD_APPLY_FILTER = 'applyFilter'

Definition at line 22 of file class.ilBiblAdminFieldGUI.php.

Referenced by performCommand().

◆ CMD_CANCEL

const ilBiblAdminFieldGUI::CMD_CANCEL = 'cancel'

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

◆ CMD_EDIT

const ilBiblAdminFieldGUI::CMD_EDIT = 'edit'

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

Referenced by performCommand().

◆ CMD_INIT_DEFAULT_FIELDS_AND_SORTING

const ilBiblAdminFieldGUI::CMD_INIT_DEFAULT_FIELDS_AND_SORTING = 'initDefaultFieldsAndSorting'

Definition at line 13 of file class.ilBiblAdminFieldGUI.php.

Referenced by performCommand().

◆ CMD_INIT_OVERVIEW_MODELS

const ilBiblAdminFieldGUI::CMD_INIT_OVERVIEW_MODELS = 'initOverviewModels'

Definition at line 12 of file class.ilBiblAdminFieldGUI.php.

Referenced by performCommand().

◆ CMD_RESET_FILTER

const ilBiblAdminFieldGUI::CMD_RESET_FILTER = 'resetFilter'

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

Referenced by performCommand().

◆ CMD_SAVE

const ilBiblAdminFieldGUI::CMD_SAVE = 'save'

◆ CMD_STANDARD

const ilBiblAdminFieldGUI::CMD_STANDARD = 'index'

Definition at line 18 of file class.ilBiblAdminFieldGUI.php.

Referenced by performCommand(), and setSubTabs().

◆ CMD_UPDATE

const ilBiblAdminFieldGUI::CMD_UPDATE = 'update'

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

Referenced by performCommand().

◆ DATA_TYPE

const ilBiblAdminFieldGUI::DATA_TYPE = 'data_type'

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

◆ FIELD_IDENTIFIER

const ilBiblAdminFieldGUI::FIELD_IDENTIFIER = 'field_id'

◆ SUBTAB_BIBTEX

const ilBiblAdminFieldGUI::SUBTAB_BIBTEX = 'subtab_bibtex'

Definition at line 15 of file class.ilBiblAdminFieldGUI.php.

◆ SUBTAB_RIS

const ilBiblAdminFieldGUI::SUBTAB_RIS = 'subtab_ris'

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


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