ILIAS  release_8 Revision v8.24
ilTestTabsManager Class Reference
+ Collaboration diagram for ilTestTabsManager:

Public Member Functions

 __construct (ilTestAccess $testAccess, ilTestObjectiveOrientedContainer $objectiveParent)
 ilTestTabsManager constructor. More...
 
 activateTab ($tabId)
 
 activateSubTab ($subTabId)
 
 getTestOBJ ()
 
 setTestOBJ (ilObjTest $testOBJ)
 
 getTestSession ()
 
 setTestSession ($testSession)
 
 getTestQuestionSetConfig ()
 
 setTestQuestionSetConfig (ilTestQuestionSetConfig $testQuestionSetConfig)
 
 getHiddenTabs ()
 
 setHiddenTabs ($hiddenTabs)
 
 resetHiddenTabs ()
 
 getParentBackLabel ()
 
 setParentBackLabel ($parentBackLabel)
 
 getParentBackHref ()
 
 setParentBackHref ($parentBackHref)
 
 hasParentBackLink ()
 
 initSettingsTemplate ()
 
 perform ()
 
 getQuestionsSubTabs ()
 
 getSettingsSubTabs ()
 
 getDashboardSubTabs ()
 
 needsMyResultsSubTab ()
 
 needsLoResultsSubTab ()
 
 needsParticipantsResultsSubTab ()
 
 needsHighSoreSubTab ()
 
 needsSkillResultsSubTab ()
 
 needsMySolutionsSubTab ()
 
 getResultsSubTabs ()
 

Data Fields

const TAB_ID_QUESTIONS = 'assQuestions'
 (Sub-)Tab ID constants More...
 
const SUBTAB_ID_QST_LIST_VIEW = 'qst_list_view'
 
const SUBTAB_ID_QST_PAGE_VIEW = 'qst_page_view'
 
const TAB_ID_INFOSCREEN = 'info_short'
 
const TAB_ID_SETTINGS = 'settings'
 
const SUBTAB_ID_GENERAL_SETTINGS = 'general'
 
const TAB_ID_LEARNING_PROGRESS = 'learning_progress'
 
const TAB_ID_MANUAL_SCORING = 'manscoring'
 
const TAB_ID_CORRECTION = 'scoringadjust'
 
const TAB_ID_STATISTICS = 'statistics'
 
const TAB_ID_HISTORY = 'history'
 
const TAB_ID_META_DATA = 'meta_data'
 
const TAB_ID_EXPORT = 'export'
 
const TAB_ID_PERMISSIONS = 'perm_settings'
 
const TAB_ID_EXAM_DASHBOARD = 'dashboard_tab'
 
const SUBTAB_ID_FIXED_PARTICIPANTS = 'fixedparticipants'
 
const SUBTAB_ID_TIME_EXTENSION = 'timeextension'
 
const TAB_ID_RESULTS = 'results'
 
const SUBTAB_ID_PARTICIPANTS_RESULTS = 'participantsresults'
 
const SUBTAB_ID_MY_RESULTS = 'myresults'
 
const SUBTAB_ID_LO_RESULTS = 'loresults'
 
const SUBTAB_ID_HIGHSCORE = 'highscore'
 
const SUBTAB_ID_SKILL_RESULTS = 'skillresults'
 
const SUBTAB_ID_MY_SOLUTIONS = 'mysolutions'
 

Protected Member Functions

 isHiddenTab ($tabId)
 
 isReadAccessGranted ()
 
 isWriteAccessGranted ()
 
 isStatisticsAccessGranted ()
 
 isPermissionsAccessGranted ()
 
 isLpAccessGranted ()
 
 checkDashboardTabAccess ()
 
 checkScoreParticipantsTabAccess ()
 
 checkStatisticsTabAccess ()
 
 isTabsConfigSetupRequired ()
 
 setupTabsGuiConfig ()
 
 getBrowseForQuestionsTab ()
 
 getRandomQuestionsTab ()
 
 getStatisticsSubTabs ()
 
 needsDashboardTab ()
 
 needsTimeExtensionSubTab ()
 
 getDashboardTabTarget ()
 
 getDashbardParticipantsSubTabLabel ()
 
 needsResultsTab ()
 
 getResultsTabTarget ()
 

Protected Attributes

 $tabs
 
 $access
 
 $testAccess
 
 $objectiveParent
 
 $lng
 
 $testOBJ
 
 $testSession
 
 $testQuestionSetConfig
 
 $parentBackHref
 
 $parentBackLabel
 
 $hiddenTabs
 

Private Attributes

ILIAS Test InternalRequestService $testrequest
 

Detailed Description

Definition at line 25 of file class.ilTestTabsManager.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestTabsManager::__construct ( ilTestAccess  $testAccess,
ilTestObjectiveOrientedContainer  $objectiveParent 
)

ilTestTabsManager constructor.

Definition at line 118 of file class.ilTestTabsManager.php.

119 {
120 $this->testAccess = $testAccess;
121 $this->objectiveParent = $objectiveParent;
122
123 global $DIC; /* @var ILIAS\DI\Container $DIC */
124 $this->testrequest = $DIC->test()->internal()->request();
125 $this->tabs = $DIC['ilTabs'];
126 $this->access = $DIC['ilAccess'];
127 $this->lng = $DIC['lng'];
128 }
global $DIC
Definition: feed.php:28

References $DIC, $objectiveParent, $testAccess, ILIAS\Repository\access(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

Member Function Documentation

◆ activateSubTab()

ilTestTabsManager::activateSubTab (   $subTabId)
Parameters
string$subTabId

Definition at line 146 of file class.ilTestTabsManager.php.

147 {
148 switch ($subTabId) {
151
158
161
162 $this->tabs->activateSubTab($subTabId);
163 }
164 }

References SUBTAB_ID_FIXED_PARTICIPANTS, SUBTAB_ID_HIGHSCORE, SUBTAB_ID_LO_RESULTS, SUBTAB_ID_MY_RESULTS, SUBTAB_ID_MY_SOLUTIONS, SUBTAB_ID_PARTICIPANTS_RESULTS, SUBTAB_ID_QST_LIST_VIEW, SUBTAB_ID_QST_PAGE_VIEW, SUBTAB_ID_SKILL_RESULTS, SUBTAB_ID_TIME_EXTENSION, and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ activateTab()

ilTestTabsManager::activateTab (   $tabId)
Parameters
string$tabId

Definition at line 133 of file class.ilTestTabsManager.php.

134 {
135 switch ($tabId) {
138
139 $this->tabs->activateTab($tabId);
140 }
141 }

References TAB_ID_EXAM_DASHBOARD, TAB_ID_RESULTS, and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ checkDashboardTabAccess()

ilTestTabsManager::checkDashboardTabAccess ( )
protected
Returns
bool

Definition at line 357 of file class.ilTestTabsManager.php.

357 : bool
358 {
359 if ($this->testAccess->checkManageParticipantsAccess()) {
360 return true;
361 }
362
363 return false;
364 }

Referenced by needsDashboardTab().

+ Here is the caller graph for this function:

◆ checkScoreParticipantsTabAccess()

ilTestTabsManager::checkScoreParticipantsTabAccess ( )
protected
Returns
bool

Definition at line 369 of file class.ilTestTabsManager.php.

369 : bool
370 {
371 return $this->testAccess->checkScoreParticipantsAccess();
372 }

Referenced by setupTabsGuiConfig().

+ Here is the caller graph for this function:

◆ checkStatisticsTabAccess()

ilTestTabsManager::checkStatisticsTabAccess ( )
protected
Returns
bool

Definition at line 377 of file class.ilTestTabsManager.php.

377 : bool
378 {
379 return $this->testAccess->checkStatisticsAccess();
380 }

Referenced by setupTabsGuiConfig().

+ Here is the caller graph for this function:

◆ getBrowseForQuestionsTab()

ilTestTabsManager::getBrowseForQuestionsTab ( )
protected

Definition at line 741 of file class.ilTestTabsManager.php.

742 {
743 global $DIC; /* @var ILIAS\DI\Container $DIC */
744
745 if ($this->isWriteAccessGranted()) {
746 $DIC->ctrl()->saveParameterByClass($DIC->ctrl()->getCmdClass(), 'q_id');
747 // edit page
748 $this->tabs->setBackTarget($this->lng->txt("backtocallingtest"), $DIC->ctrl()->getLinkTargetByClass($DIC->ctrl()->getCmdClass(), "questions"));
749 $this->tabs->addTarget(
750 "tst_browse_for_questions",
751 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "browseForQuestions"),
752 array("browseForQuestions", "filter", "resetFilter", "resetTextFilter", "insertQuestions"),
753 "",
754 "",
755 true
756 );
757 }
758 }

References $DIC, isWriteAccessGranted(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

Referenced by setupTabsGuiConfig().

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

◆ getDashbardParticipantsSubTabLabel()

ilTestTabsManager::getDashbardParticipantsSubTabLabel ( )
protected

Definition at line 996 of file class.ilTestTabsManager.php.

996 : string
997 {
998 global $DIC; /* @var \ILIAS\DI\Container $DIC */
999
1000 if ($this->getTestOBJ()->getFixedParticipants()) {
1001 return $DIC->language()->txt('fixedparticipants_subtab');
1002 }
1003
1004 return $DIC->language()->txt('autoparticipants_subtab');
1005 }

References $DIC, and getTestOBJ().

Referenced by getDashboardSubTabs().

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

◆ getDashboardSubTabs()

ilTestTabsManager::getDashboardSubTabs ( )

Definition at line 973 of file class.ilTestTabsManager.php.

974 {
975 global $DIC; /* @var ILIAS\DI\Container $DIC */
976
977 if (!$this->testAccess->checkManageParticipantsAccess()) {
978 return;
979 }
980
981 $this->tabs->addSubTab(
982 self::SUBTAB_ID_FIXED_PARTICIPANTS,
984 $DIC->ctrl()->getLinkTargetByClass('ilTestParticipantsGUI')
985 );
986
987 if ($this->needsTimeExtensionSubTab()) {
988 $this->tabs->addSubTab(
989 self::SUBTAB_ID_TIME_EXTENSION,
990 $DIC->language()->txt('timing'),
991 $DIC->ctrl()->getLinkTargetByClass('ilTestParticipantsTimeExtensionGUI')
992 );
993 }
994 }

References $DIC, getDashbardParticipantsSubTabLabel(), needsTimeExtensionSubTab(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ getDashboardTabTarget()

ilTestTabsManager::getDashboardTabTarget ( )
protected
Returns
string

Definition at line 966 of file class.ilTestTabsManager.php.

966 : string
967 {
968 global $DIC; /* @var ILIAS\DI\Container $DIC */
969
970 return $DIC->ctrl()->getLinkTargetByClass(array('ilTestDashboardGUI', 'ilTestParticipantsGUI'));
971 }

References $DIC.

◆ getHiddenTabs()

ilTestTabsManager::getHiddenTabs ( )
Returns
array

Definition at line 217 of file class.ilTestTabsManager.php.

217 : array
218 {
219 return $this->hiddenTabs;
220 }

References $hiddenTabs.

Referenced by isHiddenTab().

+ Here is the caller graph for this function:

◆ getParentBackHref()

ilTestTabsManager::getParentBackHref ( )
Returns
null|string

Definition at line 257 of file class.ilTestTabsManager.php.

257 : ?string
258 {
260 }

References $parentBackHref.

Referenced by hasParentBackLink(), and setupTabsGuiConfig().

+ Here is the caller graph for this function:

◆ getParentBackLabel()

ilTestTabsManager::getParentBackLabel ( )
Returns
null|string

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

241 : ?string
242 {
244 }

References $parentBackLabel.

Referenced by hasParentBackLink(), and setupTabsGuiConfig().

+ Here is the caller graph for this function:

◆ getQuestionsSubTabs()

ilTestTabsManager::getQuestionsSubTabs ( )

Definition at line 777 of file class.ilTestTabsManager.php.

778 {
779 global $DIC; /* @var ILIAS\DI\Container $DIC */
780
781 if ($this->testOBJ->isDynamicTest()) {
782 return;
783 }
784
785 $this->tabs->activateTab(self::TAB_ID_QUESTIONS);
786
787 /*
788 if (!$this->getTestOBJ()->isRandomTest()) {
789 $this->tabs->addSubTab(
790 self::SUBTAB_ID_QST_PAGE_VIEW,
791 $DIC->language()->txt('questions_per_page_view'),
792 $DIC->ctrl()->getLinkTargetByClass('iltestexpresspageobjectgui', 'showPage')
793 );
794 }
795 */
796
797 //include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
798 //$template = new ilSettingsTemplate($this->getTestOBJ()->getTemplate(), ilObjAssessmentFolderGUI::getSettingsTemplateConfig());
799
800 if (!$this->isHiddenTab('questions')) {
801 $this->tabs->addSubTab(
802 self::SUBTAB_ID_QST_LIST_VIEW,
803 $DIC->language()->txt('edit_test_questions'),
804 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'questions')
805 );
806 }
807
808 // print view subtab
809 if (!$this->getTestOBJ()->isRandomTest()) {
810 $this->tabs->addSubTabTarget(
811 "print_view",
812 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'print'),
813 "print",
814 "",
815 "",
816 $DIC->ctrl()->getCmd() == 'print'
817 );
818 $this->tabs->addSubTabTarget(
819 'review_view',
820 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'review'),
821 'review',
822 '',
823 '',
824 $DIC->ctrl()->getCmd() == 'review'
825 );
826 }
827 }

References $DIC, getTestOBJ(), isHiddenTab(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ getRandomQuestionsTab()

ilTestTabsManager::getRandomQuestionsTab ( )
protected

Definition at line 760 of file class.ilTestTabsManager.php.

761 {
762 global $DIC; /* @var ILIAS\DI\Container $DIC */
763
764 if ($this->isWriteAccessGranted()) {
765 // edit page
766 $this->tabs->setBackTarget($this->lng->txt("backtocallingtest"), $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "questions"));
767 $this->tabs->addTarget(
768 "random_selection",
769 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "randomQuestions"),
770 array("randomQuestions"),
771 "",
772 ""
773 );
774 }
775 }

References $DIC, isWriteAccessGranted(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ getResultsSubTabs()

ilTestTabsManager::getResultsSubTabs ( )

Definition at line 1102 of file class.ilTestTabsManager.php.

1103 {
1104 global $DIC; /* @var ILIAS\DI\Container $DIC */
1105
1106 if ($this->needsParticipantsResultsSubTab()) {
1107 $this->tabs->addSubTab(
1108 self::SUBTAB_ID_PARTICIPANTS_RESULTS,
1109 $DIC->language()->txt('participants_results_subtab'),
1110 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilParticipantsTestResultsGUI'))
1111 );
1112 }
1113
1114 if ($this->needsLoResultsSubTab()) {
1115 $this->tabs->addSubTab(
1116 self::SUBTAB_ID_LO_RESULTS,
1117 $DIC->language()->txt('tst_tab_results_objective_oriented'),
1118 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestEvalObjectiveOrientedGUI'))
1119 );
1120 }
1121
1122 if ($this->needsMyResultsSubTab()) {
1123 $myResultsLabel = $DIC->language()->txt('tst_show_results');
1124
1125 if ($this->needsLoResultsSubTab()) {
1126 $myResultsLabel = $DIC->language()->txt('tst_tab_results_pass_oriented');
1127 }
1128
1129 $this->tabs->addSubTab(
1130 self::SUBTAB_ID_MY_RESULTS,
1131 $myResultsLabel,
1132 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestResultsGUI', 'ilTestEvaluationGUI'))
1133 // 'ilTestEvaluationGUI' => 'outUserResultsOverview'
1134 );
1135 }
1136
1137 if ($this->needsSkillResultsSubTab()) {
1138 $this->tabs->addSubTab(
1139 self::SUBTAB_ID_SKILL_RESULTS,
1140 $DIC->language()->txt('tst_show_comp_results'),
1141 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestSkillEvaluationGUI'))
1142 );
1143 }
1144
1145 if ($this->needsHighSoreSubTab()) {
1146 $this->tabs->addSubTab(
1147 self::SUBTAB_ID_HIGHSCORE,
1148 $DIC->language()->txt('tst_show_toplist'),
1149 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestToplistGUI'), 'outResultsToplist')
1150 );
1151 }
1152
1153 if ($this->needsMySolutionsSubTab()) {
1154 $this->tabs->addSubTab(
1155 self::SUBTAB_ID_MY_SOLUTIONS,
1156 $DIC->language()->txt('tst_list_of_answers_show'),
1157 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestSolutionsGUI', 'ilTestEvaluationGUI'))
1158 );
1159 }
1160 }

References $DIC, needsHighSoreSubTab(), needsLoResultsSubTab(), needsMyResultsSubTab(), needsMySolutionsSubTab(), needsParticipantsResultsSubTab(), needsSkillResultsSubTab(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ getResultsTabTarget()

ilTestTabsManager::getResultsTabTarget ( )
protected
Returns
string

Definition at line 1018 of file class.ilTestTabsManager.php.

1018 : string
1019 {
1020 global $DIC; /* @var ILIAS\DI\Container $DIC */
1021
1022 if ($this->needsParticipantsResultsSubTab()) {
1023 return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilParticipantsTestResultsGUI'));
1024 }
1025
1026 if ($this->needsLoResultsSubTab()) {
1027 return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestEvalObjectiveOrientedGUI'));
1028 }
1029
1030 if ($this->needsMyResultsSubTab()) {
1031 return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestResultsGUI', 'ilTestEvaluationGUI'));
1032 }
1033
1034 if ($this->needsMySolutionsSubTab()) {
1035 return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestSolutionsGUI', 'ilTestEvaluationGUI'));
1036 }
1037
1038 return $DIC->ctrl()->getLinkTargetByClass('ilTestResultsGUI');
1039 }

References $DIC, needsLoResultsSubTab(), needsMyResultsSubTab(), needsMySolutionsSubTab(), and needsParticipantsResultsSubTab().

+ Here is the call graph for this function:

◆ getSettingsSubTabs()

ilTestTabsManager::getSettingsSubTabs ( )

Definition at line 861 of file class.ilTestTabsManager.php.

862 {
863 global $DIC; /* @var ILIAS\DI\Container $DIC */
864
865 if ($this->testOBJ->isDynamicTest()) {
866 return;
867 }
868
869 // general subtab
870 $this->tabs->addSubTabTarget(
871 'general',
872 $DIC->ctrl()->getLinkTargetByClass('ilObjTestSettingsGeneralGUI'),
873 '', // auto activation regardless from cmd
874 array('ilobjtestsettingsgeneralgui') // auto activation for ilObjTestSettingsGeneralGUI
875 );
876
877 if (!$this->isHiddenTab('mark_schema')) {
878 $this->tabs->addSubTabTarget(
879 'mark_schema',
880 $DIC->ctrl()->getLinkTargetByClass('ilmarkschemagui', 'showMarkSchema'),
881 '',
882 array('ilmarkschemagui')
883 );
884 }
885
886 // scoring subtab
887 $this->tabs->addSubTabTarget(
888 'scoring',
889 $DIC->ctrl()->getLinkTargetByClass('ilObjTestSettingsScoringResultsGUI'),
890 '', // auto activation regardless from cmd
891 array('ilobjtestsettingsscoringresultsgui') // auto activation for ilObjTestSettingsScoringResultsGUI
892 );
893
894 // certificate subtab
895 $validator = new ilCertificateActiveValidator();
896 if (!$this->isHiddenTab('certificate') && true === $validator->validate()) {
897 $this->tabs->addSubTabTarget(
898 "certificate",
899 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'certificate'),
900 array("certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave",
901 "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport"),
902 array("", "ilobjtestgui", "ilcertificategui")
903 );
904 }
905
906 if (!$this->isHiddenTab('defaults')) {
907 // defaults subtab
908 $this->tabs->addSubTabTarget(
909 "tst_default_settings",
910 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "defaults"),
911 array("defaults", "deleteDefaults", "addDefaults", "applyDefaults"),
912 array("", "ilobjtestgui", "ilcertificategui")
913 );
914 }
915
916 $lti_settings = new ilLTIProviderObjectSettingGUI($this->testOBJ->getRefId());
917 if ($lti_settings->hasSettingsAccess()) {
918 $this->tabs->addSubTabTarget(
919 'lti_provider',
920 $DIC->ctrl()->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class),
921 '',
922 [ilLTIProviderObjectSettingGUI::class]
923 );
924 }
925 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $DIC, isHiddenTab(), and ILIAS\Repository\tabs().

Referenced by setupTabsGuiConfig().

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

◆ getStatisticsSubTabs()

ilTestTabsManager::getStatisticsSubTabs ( )
protected

Definition at line 829 of file class.ilTestTabsManager.php.

830 {
831 global $DIC; /* @var ILIAS\DI\Container $DIC */
832
833 // user results subtab
834 $this->tabs->addSubTabTarget(
835 "eval_all_users",
836 $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "outEvaluation"),
837 array("outEvaluation", "detailedEvaluation", "exportEvaluation", "evalUserDetail", "passDetails",
838 "outStatisticsResultsOverview", "statisticsPassDetails"),
839 ""
840 );
841
842 // aggregated results subtab
843 $this->tabs->addSubTabTarget(
844 "tst_results_aggregated",
845 $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "eval_a"),
846 array("eval_a"),
847 "",
848 ""
849 );
850
851 // question export
852 $this->tabs->addSubTabTarget(
853 "tst_single_results",
854 $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "singleResults"),
855 array("singleResults"),
856 "",
857 ""
858 );
859 }

References $DIC, and ILIAS\Repository\tabs().

Referenced by setupTabsGuiConfig().

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

◆ getTestOBJ()

◆ getTestQuestionSetConfig()

ilTestTabsManager::getTestQuestionSetConfig ( )

◆ getTestSession()

ilTestTabsManager::getTestSession ( )
Returns
ilTestSession

Definition at line 185 of file class.ilTestTabsManager.php.

186 {
187 return $this->testSession;
188 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $testSession.

Referenced by needsMyResultsSubTab(), and needsMySolutionsSubTab().

+ Here is the caller graph for this function:

◆ hasParentBackLink()

ilTestTabsManager::hasParentBackLink ( )
Returns
null|string

Definition at line 273 of file class.ilTestTabsManager.php.

274 {
275 if (!is_string($this->getParentBackHref()) || !strlen($this->getParentBackHref())) {
276 return false;
277 }
278
279 if (!is_string($this->getParentBackLabel()) || !strlen($this->getParentBackLabel())) {
280 return false;
281 }
282
283 return true;
284 }

References getParentBackHref(), and getParentBackLabel().

Referenced by setupTabsGuiConfig().

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

◆ initSettingsTemplate()

ilTestTabsManager::initSettingsTemplate ( )

Definition at line 288 of file class.ilTestTabsManager.php.

289 {
290 $this->resetHiddenTabs();
291
292 if ($this->getTestOBJ()->getTemplate()) {
293 require_once 'Services/Administration/classes/class.ilSettingsTemplate.php';
294
295 $template = new ilSettingsTemplate(
296 $this->getTestOBJ()->getTemplate(),
298 );
299
300 $this->setHiddenTabs($template->getHiddenTabs());
301 }
302 }
Settings template application class.

References ilObjAssessmentFolderGUI\getSettingsTemplateConfig(), getTestOBJ(), resetHiddenTabs(), and setHiddenTabs().

+ Here is the call graph for this function:

◆ isHiddenTab()

ilTestTabsManager::isHiddenTab (   $tabId)
protected
Parameters
string$tabId
Returns
bool

Definition at line 308 of file class.ilTestTabsManager.php.

308 : bool
309 {
310 return in_array($tabId, $this->getHiddenTabs());
311 }

References getHiddenTabs().

Referenced by getQuestionsSubTabs(), getSettingsSubTabs(), needsDashboardTab(), and setupTabsGuiConfig().

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

◆ isLpAccessGranted()

ilTestTabsManager::isLpAccessGranted ( )
protected
Returns
bool

Definition at line 348 of file class.ilTestTabsManager.php.

348 : bool
349 {
350 include_once 'Services/Tracking/classes/class.ilLearningProgressAccess.php';
351 return ilLearningProgressAccess::checkAccess($this->getTestOBJ()->getRefId());
352 }
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress

References ilLearningProgressAccess\checkAccess(), and getTestOBJ().

Referenced by setupTabsGuiConfig().

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

◆ isPermissionsAccessGranted()

ilTestTabsManager::isPermissionsAccessGranted ( )
protected
Returns
bool

Definition at line 340 of file class.ilTestTabsManager.php.

340 : bool
341 {
342 return $this->access->checkAccess('edit_permission', '', $this->getTestOBJ()->getRefId());
343 }

References ILIAS\Repository\access(), and getTestOBJ().

Referenced by setupTabsGuiConfig().

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

◆ isReadAccessGranted()

ilTestTabsManager::isReadAccessGranted ( )
protected
Returns
bool

Definition at line 316 of file class.ilTestTabsManager.php.

316 : bool
317 {
318 return $this->access->checkAccess('read', '', $this->getTestOBJ()->getRefId());
319 }

References ILIAS\Repository\access(), and getTestOBJ().

Referenced by setupTabsGuiConfig().

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

◆ isStatisticsAccessGranted()

ilTestTabsManager::isStatisticsAccessGranted ( )
protected
Returns
bool

Definition at line 332 of file class.ilTestTabsManager.php.

332 : bool
333 {
334 return $this->access->checkAccess('tst_statistics', '', $this->getTestOBJ()->getRefId());
335 }

References ILIAS\Repository\access(), and getTestOBJ().

+ Here is the call graph for this function:

◆ isTabsConfigSetupRequired()

ilTestTabsManager::isTabsConfigSetupRequired ( )
protected

Definition at line 391 of file class.ilTestTabsManager.php.

391 : bool
392 {
393 global $DIC; /* @var ILIAS\DI\Container $DIC */
394
395 if (preg_match('/^ass(.*?)gui$/i', $DIC->ctrl()->getNextClass($this))) {
396 return false;
397 }
398
399 if ($DIC->ctrl()->getNextClass($this) == 'ilassquestionpagegui') {
400 return false;
401 }
402
403 if ($DIC->ctrl()->getCmdClass() == 'iltestoutputgui') {
404 return false;
405 }
406
407 if ($DIC->ctrl()->getCmdClass() == 'iltestevaluationgui') {
408 return in_array($DIC->ctrl()->getCmd(), array(
409 '', 'outUserResultsPassOverview', 'outUserListOfAnswerPasses', 'outEvaluation', 'eval_a', 'singleResults', 'detailedEvaluation'
410 ));
411 }
412
413 return true;
414 }

References $DIC.

Referenced by perform().

+ Here is the caller graph for this function:

◆ isWriteAccessGranted()

ilTestTabsManager::isWriteAccessGranted ( )
protected
Returns
bool

Definition at line 324 of file class.ilTestTabsManager.php.

324 : bool
325 {
326 return $this->access->checkAccess('write', '', $this->getTestOBJ()->getRefId());
327 }

References ILIAS\Repository\access(), and getTestOBJ().

Referenced by getBrowseForQuestionsTab(), getRandomQuestionsTab(), and setupTabsGuiConfig().

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

◆ needsDashboardTab()

ilTestTabsManager::needsDashboardTab ( )
protected
Returns
bool

Definition at line 930 of file class.ilTestTabsManager.php.

930 : bool
931 {
932 if ($this->isHiddenTab(self::TAB_ID_EXAM_DASHBOARD)) {
933 return false;
934 }
935
936 if (!$this->checkDashboardTabAccess()) {
937 return false;
938 }
939
940 return true;
941 }

References checkDashboardTabAccess(), and isHiddenTab().

Referenced by setupTabsGuiConfig().

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

◆ needsHighSoreSubTab()

ilTestTabsManager::needsHighSoreSubTab ( )
Returns
bool

Definition at line 1076 of file class.ilTestTabsManager.php.

1076 : bool
1077 {
1078 if (!$this->needsMyResultsSubTab()) {
1079 return false;
1080 }
1081
1082 return $this->getTestOBJ()->getHighscoreEnabled();
1083 }

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

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

◆ needsLoResultsSubTab()

ilTestTabsManager::needsLoResultsSubTab ( )
Returns
bool

Definition at line 1052 of file class.ilTestTabsManager.php.

1052 : bool
1053 {
1054 if (!$this->needsMyResultsSubTab()) {
1055 return false;
1056 }
1057
1058 return $this->objectiveParent->isObjectiveOrientedPresentationRequired();
1059 }

References needsMyResultsSubTab().

Referenced by getResultsSubTabs(), and getResultsTabTarget().

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

◆ needsMyResultsSubTab()

ilTestTabsManager::needsMyResultsSubTab ( )
Returns
bool

Definition at line 1044 of file class.ilTestTabsManager.php.

1044 : bool
1045 {
1046 return $this->getTestSession()->reportableResultsAvailable($this->getTestOBJ());
1047 }

References getTestOBJ(), and getTestSession().

Referenced by getResultsSubTabs(), getResultsTabTarget(), needsHighSoreSubTab(), needsLoResultsSubTab(), and needsSkillResultsSubTab().

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

◆ needsMySolutionsSubTab()

ilTestTabsManager::needsMySolutionsSubTab ( )

Definition at line 1097 of file class.ilTestTabsManager.php.

1097 : bool
1098 {
1099 return $this->getTestOBJ()->canShowSolutionPrintview($this->getTestSession()->getUserId());
1100 }

References getTestOBJ(), and getTestSession().

Referenced by getResultsSubTabs(), getResultsTabTarget(), and needsResultsTab().

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

◆ needsParticipantsResultsSubTab()

ilTestTabsManager::needsParticipantsResultsSubTab ( )
Returns
bool

Definition at line 1064 of file class.ilTestTabsManager.php.

1064 : bool
1065 {
1066 if ($this->testAccess->checkParticipantsResultsAccess()) {
1067 return true;
1068 }
1069
1070 return false;
1071 }

Referenced by getResultsSubTabs(), getResultsTabTarget(), and needsResultsTab().

+ Here is the caller graph for this function:

◆ needsResultsTab()

ilTestTabsManager::needsResultsTab ( )
protected
Returns
bool

Definition at line 1010 of file class.ilTestTabsManager.php.

1010 : bool
1011 {
1012 return $this->needsParticipantsResultsSubTab() || $this->testOBJ->isScoreReportingEnabled() || $this->needsMySolutionsSubTab();
1013 }

References needsMySolutionsSubTab(), and needsParticipantsResultsSubTab().

Referenced by setupTabsGuiConfig().

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

◆ needsSkillResultsSubTab()

ilTestTabsManager::needsSkillResultsSubTab ( )
Returns
bool

Definition at line 1088 of file class.ilTestTabsManager.php.

1088 : bool
1089 {
1090 if (!$this->needsMyResultsSubTab()) {
1091 return false;
1092 }
1093
1094 return $this->getTestOBJ()->isSkillServiceToBeConsidered();
1095 }

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

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

◆ needsTimeExtensionSubTab()

ilTestTabsManager::needsTimeExtensionSubTab ( )
protected
Returns
bool

Definition at line 946 of file class.ilTestTabsManager.php.

946 : bool
947 {
948 if (!($this->getTestOBJ()->getProcessingTimeInSeconds() > 0)) {
949 return false;
950 }
951
952 if ($this->getTestOBJ()->getNrOfTries() != 1) {
953 return false;
954 }
955
956 if ($this->getTestQuestionSetConfig()->areDepenciesBroken()) {
957 return false;
958 }
959
960 return true;
961 }

References getTestOBJ(), and getTestQuestionSetConfig().

Referenced by getDashboardSubTabs().

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

◆ perform()

ilTestTabsManager::perform ( )

Definition at line 384 of file class.ilTestTabsManager.php.

385 {
386 if ($this->isTabsConfigSetupRequired()) {
387 $this->setupTabsGuiConfig();
388 }
389 }

References isTabsConfigSetupRequired(), and setupTabsGuiConfig().

+ Here is the call graph for this function:

◆ resetHiddenTabs()

ilTestTabsManager::resetHiddenTabs ( )
Parameters
array$hiddenTabs

Definition at line 233 of file class.ilTestTabsManager.php.

234 {
235 $this->hiddenTabs = array();
236 }

Referenced by initSettingsTemplate().

+ Here is the caller graph for this function:

◆ setHiddenTabs()

ilTestTabsManager::setHiddenTabs (   $hiddenTabs)
Parameters
array$hiddenTabs

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

226 {
227 $this->hiddenTabs = $hiddenTabs;
228 }

References $hiddenTabs.

Referenced by initSettingsTemplate().

+ Here is the caller graph for this function:

◆ setParentBackHref()

ilTestTabsManager::setParentBackHref (   $parentBackHref)
Parameters
null | string$parentBackHref

Definition at line 265 of file class.ilTestTabsManager.php.

266 {
267 $this->parentBackHref = $parentBackHref;
268 }

References $parentBackHref.

◆ setParentBackLabel()

ilTestTabsManager::setParentBackLabel (   $parentBackLabel)
Parameters
null | string$parentBackLabel

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

250 {
251 $this->parentBackLabel = $parentBackLabel;
252 }

References $parentBackLabel.

◆ setTestOBJ()

ilTestTabsManager::setTestOBJ ( ilObjTest  $testOBJ)
Parameters
ilObjTest$testOBJ

Definition at line 177 of file class.ilTestTabsManager.php.

178 {
179 $this->testOBJ = $testOBJ;
180 }

References $testOBJ.

◆ setTestQuestionSetConfig()

ilTestTabsManager::setTestQuestionSetConfig ( ilTestQuestionSetConfig  $testQuestionSetConfig)
Parameters
ilTestQuestionSetConfig$testQuestionSetConfig

Definition at line 209 of file class.ilTestTabsManager.php.

210 {
211 $this->testQuestionSetConfig = $testQuestionSetConfig;
212 }

References $testQuestionSetConfig.

◆ setTestSession()

ilTestTabsManager::setTestSession (   $testSession)
Parameters
ilTestSession$testSession

Definition at line 193 of file class.ilTestTabsManager.php.

194 {
195 $this->testSession = $testSession;
196 }

References $testSession.

◆ setupTabsGuiConfig()

ilTestTabsManager::setupTabsGuiConfig ( )
protected

Definition at line 416 of file class.ilTestTabsManager.php.

417 {
418 global $DIC; /* @var ILIAS\DI\Container $DIC */
419
420 if ($this->hasParentBackLink()) {
421 $this->tabs->setBack2Target($this->getParentBackLabel(), $this->getParentBackHref());
422 }
423
424 switch (strtolower($DIC->ctrl()->getCmdClass())) {
425 case 'ilmarkschemagui':
426 case 'ilobjtestsettingsgeneralgui':
427 case 'ilobjtestsettingsscoringresultsgui':
428
429 if ($this->isWriteAccessGranted()) {
430 $this->getSettingsSubTabs();
431 }
432
433 break;
434 }
435
436 switch ($DIC->ctrl()->getCmd()) {
437 case "resume":
438 case "previous":
439 case "next":
440 case "summary":
441 case "directfeedback":
442 case "finishTest":
443 case "outCorrectSolution":
444 case "passDetails":
445 case "showAnswersOfUser":
446 case "backFromSummary":
447 case "show_answers":
448 case "setsolved":
449 case "resetsolved":
450 case "confirmFinish":
451 case "outTestSummary":
452 case "outQuestionSummary":
453 case "gotoQuestion":
454 case "selectImagemapRegion":
455 case "confirmSubmitAnswers":
456 case "finalSubmission":
457 case "postpone":
458 case "outUserPassDetails":
459 case "checkPassword":
460 case "exportCertificate":
461 case "finishListOfAnswers":
462 case "backConfirmFinish":
463 case "showFinalStatement":
464 return;
465 break;
466 case "browseForQuestions":
467 case "filter":
468 case "resetFilter":
469 case "resetTextFilter":
470 case "insertQuestions":
471 $classes = array(
472 'iltestdashboardgui',
473 'iltestresultsgui',
474 "illearningprogressgui" // #8497: resetfilter is also used in lp
475 );
476 if (!in_array($DIC->ctrl()->getNextClass($this), $classes)) {
478 return;
479 }
480 break;
481 case "scoring":
482 case "certificate":
483 case "certificateservice":
484 case "certificateImport":
485 case "certificateUpload":
486 case "certificateEditor":
487 case "certificateDelete":
488 case "certificateSave":
489 case "defaults":
490 case "deleteDefaults":
491 case "addDefaults":
492 case "applyDefaults":
493 case "inviteParticipants":
494 case "searchParticipants":
495 if ($this->isWriteAccessGranted() && in_array(strtolower($DIC->ctrl()->getCmdClass()), array('ilobjtestgui', 'ilcertificategui'))) {
496 $this->getSettingsSubTabs();
497 }
498 break;
499 case "export":
500 case "print":
501 break;
502 case "statistics":
503 case "eval_a":
504 case "detailedEvaluation":
505 case "outEvaluation":
506 case "singleResults":
507 case "exportEvaluation":
508 case "evalUserDetail":
509 case "outStatisticsResultsOverview":
510 case "statisticsPassDetails":
511 $this->getStatisticsSubTabs();
512 break;
513 }
514
515 // questions tab
516 if ($this->isWriteAccessGranted() && !$this->isHiddenTab('assQuestions')) {
517 $force_active = ($this->testrequest->raw("up") != "" || $this->testrequest->raw("down") != "")
518 ? true
519 : false;
520 if (!$force_active) {
521 if ($this->testrequest->raw("browse") == 1) {
522 $force_active = true;
523 }
524 }
525
526 if ($this->getTestOBJ()->isFixedTest()) {
527 $target = $DIC->ctrl()->getLinkTargetByClass(
528 'ilObjTestGUI',
529 'questions'
530 );
531 }
532
533 if ($this->getTestOBJ()->isRandomTest()) {
534 $target = $DIC->ctrl()->getLinkTargetByClass('ilTestRandomQuestionSetConfigGUI');
535 }
536
537 if ($this->getTestOBJ()->isDynamicTest()) {
538 $target = $DIC->ctrl()->getLinkTargetByClass('ilObjTestDynamicQuestionSetConfigGUI');
539 }
540
541 $this->tabs->addTarget(
542 "assQuestions",
543 $target,
544 array("questions", "browseForQuestions", "questionBrowser", "createQuestion",
545 "randomselect", "filter", "resetFilter", "insertQuestions",
546 "back", "createRandomSelection", "cancelRandomSelect",
547 "insertRandomSelection", "removeQuestions", "moveQuestions",
548 "insertQuestionsBefore", "insertQuestionsAfter", "confirmRemoveQuestions",
549 "cancelRemoveQuestions", "executeCreateQuestion", "cancelCreateQuestion",
550 "addQuestionpool", "saveRandomQuestions", "saveQuestionSelectionMode", "print",
551 "addsource", "removesource", "randomQuestions"),
552 "",
553 "",
554 $force_active
555 );
556 }
557
558 // info tab
559 if ($this->isReadAccessGranted() && !$this->isHiddenTab('info_short')) {
560 $this->tabs->addTarget(
561 "info_short",
562 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'infoScreen'),
563 array("infoScreen", "outIntroductionPage", "showSummary",
564 "setAnonymousId", "redirectToInfoScreen")
565 );
566 }
567
568 // settings tab
569 if ($this->isWriteAccessGranted()) {
570 if (!$this->isHiddenTab('settings')) {
571 $settingsCommands = array(
572 "marks", "showMarkSchema","addMarkStep", "deleteMarkSteps", "resetToSimpleMarkSchema", "saveMarks",
573 "certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave",
574 "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport",
575 "scoring", "defaults", "addDefaults", "deleteDefaults", "applyDefaults",
576 "inviteParticipants", "saveFixedParticipantsStatus", "searchParticipants", "addParticipants" // ARE THEY RIGHT HERE
577 );
578
579 require_once 'Modules/Test/classes/class.ilObjTestSettingsGeneralGUI.php';
580 $reflection = new ReflectionClass('ilObjTestSettingsGeneralGUI');
581 foreach ($reflection->getConstants() as $name => $value) {
582 if (substr($name, 0, 4) == 'CMD_') {
583 $settingsCommands[] = $value;
584 }
585 }
586
587 require_once 'Modules/Test/classes/class.ilObjTestSettingsScoringResultsGUI.php';
588 $reflection = new ReflectionClass('ilObjTestSettingsScoringResultsGUI');
589 foreach ($reflection->getConstants() as $name => $value) {
590 if (substr($name, 0, 4) == 'CMD_') {
591 $settingsCommands[] = $value;
592 }
593 }
594
595 $settingsCommands[] = ""; // DO NOT KNOW WHAT THIS IS DOING, BUT IT'S REQUIRED
596
597 $this->tabs->addTarget(
598 "settings",
599 $DIC->ctrl()->getLinkTargetByClass('ilObjTestSettingsGeneralGUI'),
600 $settingsCommands,
601 array("ilmarkschemagui", "ilobjtestsettingsgeneralgui", "ilobjtestsettingsscoringresultsgui", "ilobjtestgui", "ilcertificategui")
602 );
603 }
604
605 // skill service
606 if ($this->getTestOBJ()->isSkillServiceToBeConsidered()) {
607 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php';
608
609 $link = $DIC->ctrl()->getLinkTargetByClass(
610 array('ilTestSkillAdministrationGUI', 'ilAssQuestionSkillAssignmentsGUI'),
612 );
613
614 $this->tabs->addTarget('tst_tab_competences', $link, array(), array());
615 }
616 }
617
618 if ($this->needsDashboardTab()) {
619 $this->tabs->addTab(
620 self::TAB_ID_EXAM_DASHBOARD,
621 $DIC->language()->txt('dashboard_tab'),
622 $this->getDashboardTabTarget()
623 );
624 }
625
626 if ($this->needsResultsTab()) {
627 $this->tabs->addTab(
628 self::TAB_ID_RESULTS,
629 $DIC->language()->txt('results_tab'),
630 $this->getResultsTabTarget()
631 );
632 }
633
634 if ($this->isLpAccessGranted() && !$this->isHiddenTab(self::TAB_ID_LEARNING_PROGRESS)) {
635 $this->tabs->addTarget(
636 self::TAB_ID_LEARNING_PROGRESS,
637 $DIC->ctrl()->getLinkTargetByClass(array('illearningprogressgui'), ''),
638 '',
639 array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui')
640 );
641 }
642
643 if ($this->checkScoreParticipantsTabAccess() && !$this->isHiddenTab(self::TAB_ID_MANUAL_SCORING)) {
644 include_once "./Modules/Test/classes/class.ilObjAssessmentFolder.php";
646 if (count($scoring)) {
647 // scoring tab
648 $this->tabs->addTarget(
649 self::TAB_ID_MANUAL_SCORING,
650 $DIC->ctrl()->getLinkTargetByClass('ilTestScoringByQuestionsGUI', 'showManScoringByQuestionParticipantsTable'),
651 array(
652 'showManScoringParticipantsTable', 'applyManScoringParticipantsFilter', 'resetManScoringParticipantsFilter', 'showManScoringParticipantScreen',
653 'showManScoringByQuestionParticipantsTable', 'applyManScoringByQuestionFilter', 'resetManScoringByQuestionFilter', 'saveManScoringByQuestion'
654
655 ),
656 ''
657 );
658 }
659 }
660
661 // NEW CORRECTIONS TAB
662 $setting = new ilSetting('assessment');
663 $scoring_adjust_active = (bool) $setting->get('assessment_adjustments_enabled', '0');
664 if ($this->isWriteAccessGranted() && $scoring_adjust_active && !$this->isHiddenTab(self::TAB_ID_CORRECTION)) {
665 $this->tabs->addTab(
666 self::TAB_ID_CORRECTION,
667 $DIC->language()->txt(self::TAB_ID_CORRECTION),
668 $DIC->ctrl()->getLinkTargetByClass('ilTestCorrectionsGUI')
669 );
670 }
671
672 if ($this->checkStatisticsTabAccess() && !$this->isHiddenTab(self::TAB_ID_STATISTICS)) {
673 // statistics tab
674 $this->tabs->addTarget(
675 self::TAB_ID_STATISTICS,
676 $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class, ilObjTestGUI::class, ilTestEvaluationGUI::class], "outEvaluation"),
677 array(
678 "statistics", "outEvaluation", "exportEvaluation", "detailedEvaluation", "eval_a", "evalUserDetail",
679 "passDetails", "outStatisticsResultsOverview", "statisticsPassDetails", "singleResults"
680 ),
681 ""
682 );
683 }
684
685 if ($this->isWriteAccessGranted()) {
686 if (!$this->isHiddenTab(self::TAB_ID_HISTORY)) {
687
688 // history
689 $this->tabs->addTarget(
690 self::TAB_ID_HISTORY,
691 $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'history'),
692 "history",
693 ""
694 );
695 }
696
697 if (!$this->isHiddenTab(self::TAB_ID_META_DATA)) {
698 // meta data
699 include_once "Services/Object/classes/class.ilObjectMetaDataGUI.php";
700 $mdgui = new ilObjectMetaDataGUI($this->getTestOBJ());
701 $mdtab = $mdgui->getTab();
702 if ($mdtab) {
703 $this->tabs->addTarget(
704 self::TAB_ID_META_DATA,
705 $mdtab,
706 "",
707 "ilmdeditorgui"
708 );
709 }
710 }
711
712 if (!$this->isHiddenTab(self::TAB_ID_EXPORT)) {
713 // export tab
714 $this->tabs->addTarget(
715 self::TAB_ID_EXPORT,
716 $DIC->ctrl()->getLinkTargetByClass('iltestexportgui', ''),
717 '',
718 array('iltestexportgui')
719 );
720 }
721 }
722
723 if ($this->isPermissionsAccessGranted() && !$this->isHiddenTab(self::TAB_ID_PERMISSIONS)) {
724 $this->tabs->addTarget(
725 self::TAB_ID_PERMISSIONS,
726 $DIC->ctrl()->getLinkTargetByClass(array('ilObjTestGUI','ilpermissiongui'), "perm"),
727 array("perm","info","owner"),
728 'ilpermissiongui'
729 );
730 }
731
732 if ($this->getTestQuestionSetConfig()->areDepenciesBroken()) {
733 $hideTabs = $this->getTestQuestionSetConfig()->getHiddenTabsOnBrokenDepencies();
734
735 foreach ($hideTabs as $tabId) {
736 $this->tabs->removeTab($tabId);
737 }
738 }
739 }
static _getManualScoring()
Retrieve the manual scoring settings.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if($format !==null) $name
Definition: metadata.php:247

References $DIC, $name, ilObjAssessmentFolder\_getManualScoring(), checkScoreParticipantsTabAccess(), checkStatisticsTabAccess(), ilAssQuestionSkillAssignmentsGUI\CMD_SHOW_SKILL_QUEST_ASSIGNS, getBrowseForQuestionsTab(), getParentBackHref(), getParentBackLabel(), getSettingsSubTabs(), getStatisticsSubTabs(), getTestOBJ(), getTestQuestionSetConfig(), hasParentBackLink(), isHiddenTab(), isLpAccessGranted(), isPermissionsAccessGranted(), isReadAccessGranted(), isWriteAccessGranted(), needsDashboardTab(), needsResultsTab(), and ILIAS\Repository\tabs().

Referenced by perform().

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

Field Documentation

◆ $access

ilTestTabsManager::$access
protected

Definition at line 68 of file class.ilTestTabsManager.php.

◆ $hiddenTabs

ilTestTabsManager::$hiddenTabs
protected

Definition at line 113 of file class.ilTestTabsManager.php.

Referenced by getHiddenTabs(), and setHiddenTabs().

◆ $lng

ilTestTabsManager::$lng
protected

Definition at line 83 of file class.ilTestTabsManager.php.

◆ $objectiveParent

ilTestTabsManager::$objectiveParent
protected

Definition at line 78 of file class.ilTestTabsManager.php.

Referenced by __construct().

◆ $parentBackHref

ilTestTabsManager::$parentBackHref
protected

Definition at line 103 of file class.ilTestTabsManager.php.

Referenced by getParentBackHref(), and setParentBackHref().

◆ $parentBackLabel

ilTestTabsManager::$parentBackLabel
protected

Definition at line 108 of file class.ilTestTabsManager.php.

Referenced by getParentBackLabel(), and setParentBackLabel().

◆ $tabs

ilTestTabsManager::$tabs
protected

Definition at line 63 of file class.ilTestTabsManager.php.

◆ $testAccess

ilTestTabsManager::$testAccess
protected

Definition at line 73 of file class.ilTestTabsManager.php.

Referenced by __construct().

◆ $testOBJ

ilTestTabsManager::$testOBJ
protected

Definition at line 88 of file class.ilTestTabsManager.php.

Referenced by getTestOBJ(), and setTestOBJ().

◆ $testQuestionSetConfig

ilTestTabsManager::$testQuestionSetConfig
protected

◆ $testrequest

ILIAS Test InternalRequestService ilTestTabsManager::$testrequest
private

Definition at line 58 of file class.ilTestTabsManager.php.

◆ $testSession

ilTestTabsManager::$testSession
protected

Definition at line 93 of file class.ilTestTabsManager.php.

Referenced by getTestSession(), and setTestSession().

◆ SUBTAB_ID_FIXED_PARTICIPANTS

const ilTestTabsManager::SUBTAB_ID_FIXED_PARTICIPANTS = 'fixedparticipants'

◆ SUBTAB_ID_GENERAL_SETTINGS

const ilTestTabsManager::SUBTAB_ID_GENERAL_SETTINGS = 'general'

◆ SUBTAB_ID_HIGHSCORE

const ilTestTabsManager::SUBTAB_ID_HIGHSCORE = 'highscore'

◆ SUBTAB_ID_LO_RESULTS

const ilTestTabsManager::SUBTAB_ID_LO_RESULTS = 'loresults'

◆ SUBTAB_ID_MY_RESULTS

const ilTestTabsManager::SUBTAB_ID_MY_RESULTS = 'myresults'

◆ SUBTAB_ID_MY_SOLUTIONS

const ilTestTabsManager::SUBTAB_ID_MY_SOLUTIONS = 'mysolutions'

◆ SUBTAB_ID_PARTICIPANTS_RESULTS

const ilTestTabsManager::SUBTAB_ID_PARTICIPANTS_RESULTS = 'participantsresults'

◆ SUBTAB_ID_QST_LIST_VIEW

◆ SUBTAB_ID_QST_PAGE_VIEW

const ilTestTabsManager::SUBTAB_ID_QST_PAGE_VIEW = 'qst_page_view'

◆ SUBTAB_ID_SKILL_RESULTS

const ilTestTabsManager::SUBTAB_ID_SKILL_RESULTS = 'skillresults'

◆ SUBTAB_ID_TIME_EXTENSION

const ilTestTabsManager::SUBTAB_ID_TIME_EXTENSION = 'timeextension'

◆ TAB_ID_CORRECTION

const ilTestTabsManager::TAB_ID_CORRECTION = 'scoringadjust'

◆ TAB_ID_EXAM_DASHBOARD

const ilTestTabsManager::TAB_ID_EXAM_DASHBOARD = 'dashboard_tab'

◆ TAB_ID_EXPORT

const ilTestTabsManager::TAB_ID_EXPORT = 'export'

Definition at line 44 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_HISTORY

const ilTestTabsManager::TAB_ID_HISTORY = 'history'

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

Referenced by ilObjTestGUI\historyObject().

◆ TAB_ID_INFOSCREEN

const ilTestTabsManager::TAB_ID_INFOSCREEN = 'info_short'

Definition at line 35 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\infoScreen().

◆ TAB_ID_LEARNING_PROGRESS

const ilTestTabsManager::TAB_ID_LEARNING_PROGRESS = 'learning_progress'

Definition at line 38 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_MANUAL_SCORING

const ilTestTabsManager::TAB_ID_MANUAL_SCORING = 'manscoring'

◆ TAB_ID_META_DATA

const ilTestTabsManager::TAB_ID_META_DATA = 'meta_data'

Definition at line 43 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_PERMISSIONS

const ilTestTabsManager::TAB_ID_PERMISSIONS = 'perm_settings'

Definition at line 45 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_QUESTIONS

const ilTestTabsManager::TAB_ID_QUESTIONS = 'assQuestions'

(Sub-)Tab ID constants

Definition at line 31 of file class.ilTestTabsManager.php.

◆ TAB_ID_RESULTS

const ilTestTabsManager::TAB_ID_RESULTS = 'results'

◆ TAB_ID_SETTINGS

◆ TAB_ID_STATISTICS

const ilTestTabsManager::TAB_ID_STATISTICS = 'statistics'

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