ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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 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
 

Detailed Description

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

Constructor & Destructor Documentation

◆ __construct()

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

ilTestTabsManager constructor.

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

References $DIC, $objectiveParent, and $testAccess.

102  {
103  $this->testAccess = $testAccess;
104  $this->objectiveParent = $objectiveParent;
105 
106  global $DIC; /* @var ILIAS\DI\Container $DIC */
107  $this->tabs = $DIC['ilTabs'];
108  $this->access = $DIC['ilAccess'];
109  $this->lng = $DIC['lng'];
110  }
global $DIC
Definition: goto.php:24

Member Function Documentation

◆ activateSubTab()

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

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

129  {
130  switch ($subTabId) {
131  case self::SUBTAB_ID_FIXED_PARTICIPANTS:
132  case self::SUBTAB_ID_TIME_EXTENSION:
133 
134  case self::SUBTAB_ID_PARTICIPANTS_RESULTS:
135  case self::SUBTAB_ID_MY_RESULTS:
136  case self::SUBTAB_ID_LO_RESULTS:
137  case self::SUBTAB_ID_HIGHSCORE:
138  case self::SUBTAB_ID_SKILL_RESULTS:
139  case self::SUBTAB_ID_MY_SOLUTIONS:
140 
141  case self::SUBTAB_ID_QST_LIST_VIEW:
142  case self::SUBTAB_ID_QST_PAGE_VIEW:
143 
144  $this->tabs->activateSubTab($subTabId);
145  }
146  }

◆ activateTab()

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

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

116  {
117  switch ($tabId) {
118  case self::TAB_ID_EXAM_DASHBOARD:
119  case self::TAB_ID_RESULTS:
120 
121  $this->tabs->activateTab($tabId);
122  }
123  }

◆ checkDashboardTabAccess()

ilTestTabsManager::checkDashboardTabAccess ( )
protected
Returns
bool

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

Referenced by needsDashboardTab().

340  {
341  if ($this->testAccess->checkManageParticipantsAccess()) {
342  return true;
343  }
344 
345  return false;
346  }
+ Here is the caller graph for this function:

◆ checkScoreParticipantsTabAccess()

ilTestTabsManager::checkScoreParticipantsTabAccess ( )
protected
Returns
bool

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

Referenced by setupTabsGuiConfig().

352  {
353  return $this->testAccess->checkScoreParticipantsAccess();
354  }
+ Here is the caller graph for this function:

◆ checkStatisticsTabAccess()

ilTestTabsManager::checkStatisticsTabAccess ( )
protected
Returns
bool

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

Referenced by setupTabsGuiConfig().

360  {
361  return $this->testAccess->checkStatisticsAccess();
362  }
+ Here is the caller graph for this function:

◆ getBrowseForQuestionsTab()

ilTestTabsManager::getBrowseForQuestionsTab ( )
protected

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

References $DIC, and isWriteAccessGranted().

Referenced by setupTabsGuiConfig().

728  {
729  global $DIC; /* @var ILIAS\DI\Container $DIC */
730 
731  if ($this->isWriteAccessGranted()) {
732  $DIC->ctrl()->saveParameterByClass($DIC->ctrl()->getCmdClass(), 'q_id');
733  // edit page
734  $this->tabs->setBackTarget($this->lng->txt("backtocallingtest"), $DIC->ctrl()->getLinkTargetByClass($DIC->ctrl()->getCmdClass(), "questions"));
735  $this->tabs->addTarget(
736  "tst_browse_for_questions",
737  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "browseForQuestions"),
738  array("browseForQuestions", "filter", "resetFilter", "resetTextFilter", "insertQuestions"),
739  "",
740  "",
741  true
742  );
743  }
744  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDashbardParticipantsSubTabLabel()

ilTestTabsManager::getDashbardParticipantsSubTabLabel ( )
protected

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

References $DIC, and getTestOBJ().

Referenced by getDashboardSubTabs().

975  {
976  global $DIC; /* @var \ILIAS\DI\Container $DIC */
977 
978  if ($this->getTestOBJ()->getFixedParticipants()) {
979  return $DIC->language()->txt('fixedparticipants_subtab');
980  }
981 
982  return $DIC->language()->txt('autoparticipants_subtab');
983  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDashboardSubTabs()

ilTestTabsManager::getDashboardSubTabs ( )

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

References $DIC, getDashbardParticipantsSubTabLabel(), and needsTimeExtensionSubTab().

952  {
953  global $DIC; /* @var ILIAS\DI\Container $DIC */
954 
955  if (!$this->testAccess->checkManageParticipantsAccess()) {
956  return;
957  }
958 
959  $this->tabs->addSubTab(
960  self::SUBTAB_ID_FIXED_PARTICIPANTS,
962  $DIC->ctrl()->getLinkTargetByClass('ilTestParticipantsGUI')
963  );
964 
965  if ($this->needsTimeExtensionSubTab()) {
966  $this->tabs->addSubTab(
967  self::SUBTAB_ID_TIME_EXTENSION,
968  $DIC->language()->txt('timing'),
969  $DIC->ctrl()->getLinkTargetByClass('ilTestParticipantsTimeExtensionGUI')
970  );
971  }
972  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:

◆ getDashboardTabTarget()

ilTestTabsManager::getDashboardTabTarget ( )
protected
Returns
string

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

References $DIC.

Referenced by setupTabsGuiConfig().

945  {
946  global $DIC; /* @var ILIAS\DI\Container $DIC */
947 
948  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestDashboardGUI', 'ilTestParticipantsGUI'));
949  }
global $DIC
Definition: goto.php:24
+ Here is the caller graph for this function:

◆ getHiddenTabs()

ilTestTabsManager::getHiddenTabs ( )
Returns
array

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

References $hiddenTabs.

Referenced by isHiddenTab().

200  {
201  return $this->hiddenTabs;
202  }
+ Here is the caller graph for this function:

◆ getParentBackHref()

ilTestTabsManager::getParentBackHref ( )
Returns
null|string

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

References $parentBackHref.

Referenced by hasParentBackLink(), and setupTabsGuiConfig().

240  {
241  return $this->parentBackHref;
242  }
+ Here is the caller graph for this function:

◆ getParentBackLabel()

ilTestTabsManager::getParentBackLabel ( )
Returns
null|string

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

References $parentBackLabel.

Referenced by hasParentBackLink(), and setupTabsGuiConfig().

224  {
225  return $this->parentBackLabel;
226  }
+ Here is the caller graph for this function:

◆ getQuestionsSubTabs()

ilTestTabsManager::getQuestionsSubTabs ( )

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

References $DIC, ilObjAssessmentFolderGUI\getSettingsTemplateConfig(), getTestOBJ(), and isHiddenTab().

764  {
765  global $DIC; /* @var ILIAS\DI\Container $DIC */
766 
767  $this->tabs->activateTab(self::TAB_ID_QUESTIONS);
768 
769  /*
770  if (!$this->getTestOBJ()->isRandomTest()) {
771  $this->tabs->addSubTab(
772  self::SUBTAB_ID_QST_PAGE_VIEW,
773  $DIC->language()->txt('questions_per_page_view'),
774  $DIC->ctrl()->getLinkTargetByClass('iltestexpresspageobjectgui', 'showPage')
775  );
776  }
777  */
778 
779  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
780  $template = new ilSettingsTemplate($this->getTestOBJ()->getTemplate(), ilObjAssessmentFolderGUI::getSettingsTemplateConfig());
781 
782  if (!$this->isHiddenTab('questions')) {
783  $this->tabs->addSubTab(
784  self::SUBTAB_ID_QST_LIST_VIEW,
785  $DIC->language()->txt('edit_test_questions'),
786  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'questions')
787  );
788  }
789 
790  // print view subtab
791  if (!$this->getTestOBJ()->isRandomTest()) {
792  $this->tabs->addSubTabTarget(
793  "print_view",
794  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'print'),
795  "print",
796  "",
797  "",
798  $DIC->ctrl()->getCmd() == 'print'
799  );
800  $this->tabs->addSubTabTarget(
801  'review_view',
802  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'review'),
803  'review',
804  '',
805  '',
806  $DIC->ctrl()->getCmd() == 'review'
807  );
808  }
809  }
global $DIC
Definition: goto.php:24
Settings template application class.
+ Here is the call graph for this function:

◆ getRandomQuestionsTab()

ilTestTabsManager::getRandomQuestionsTab ( )
protected

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

References $DIC, and isWriteAccessGranted().

747  {
748  global $DIC; /* @var ILIAS\DI\Container $DIC */
749 
750  if ($this->isWriteAccessGranted()) {
751  // edit page
752  $this->tabs->setBackTarget($this->lng->txt("backtocallingtest"), $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "questions"));
753  $this->tabs->addTarget(
754  "random_selection",
755  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "randomQuestions"),
756  array("randomQuestions"),
757  "",
758  ""
759  );
760  }
761  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:

◆ getResultsSubTabs()

ilTestTabsManager::getResultsSubTabs ( )

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

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

1085  {
1086  global $DIC; /* @var ILIAS\DI\Container $DIC */
1087 
1088  if ($this->needsParticipantsResultsSubTab()) {
1089  $this->tabs->addSubTab(
1090  self::SUBTAB_ID_PARTICIPANTS_RESULTS,
1091  $DIC->language()->txt('participants_results_subtab'),
1092  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilParticipantsTestResultsGUI'))
1093  );
1094  }
1095 
1096  if ($this->needsLoResultsSubTab()) {
1097  $this->tabs->addSubTab(
1098  self::SUBTAB_ID_LO_RESULTS,
1099  $DIC->language()->txt('tst_tab_results_objective_oriented'),
1100  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestEvalObjectiveOrientedGUI'))
1101  );
1102  }
1103 
1104  if ($this->needsMyResultsSubTab()) {
1105  $myResultsLabel = $DIC->language()->txt('tst_show_results');
1106 
1107  if ($this->needsLoResultsSubTab()) {
1108  $myResultsLabel = $DIC->language()->txt('tst_tab_results_pass_oriented');
1109  }
1110 
1111  $this->tabs->addSubTab(
1112  self::SUBTAB_ID_MY_RESULTS,
1113  $myResultsLabel,
1114  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestResultsGUI', 'ilTestEvaluationGUI'))
1115  // 'ilTestEvaluationGUI' => 'outUserResultsOverview'
1116  );
1117  }
1118 
1119  if ($this->needsSkillResultsSubTab()) {
1120  $this->tabs->addSubTab(
1121  self::SUBTAB_ID_SKILL_RESULTS,
1122  $DIC->language()->txt('tst_show_comp_results'),
1123  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestSkillEvaluationGUI'))
1124  );
1125  }
1126 
1127  if ($this->needsHighSoreSubTab()) {
1128  $this->tabs->addSubTab(
1129  self::SUBTAB_ID_HIGHSCORE,
1130  $DIC->language()->txt('tst_show_toplist'),
1131  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestToplistGUI'), 'outResultsToplist')
1132  );
1133  }
1134 
1135  if ($this->needsMySolutionsSubTab()) {
1136  $this->tabs->addSubTab(
1137  self::SUBTAB_ID_MY_SOLUTIONS,
1138  $DIC->language()->txt('tst_list_of_answers_show'),
1139  $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestSolutionsGUI', 'ilTestEvaluationGUI'))
1140  );
1141  }
1142  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:

◆ getResultsTabTarget()

ilTestTabsManager::getResultsTabTarget ( )
protected
Returns
string

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

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

Referenced by setupTabsGuiConfig().

997  {
998  global $DIC; /* @var ILIAS\DI\Container $DIC */
999 
1000  if ($this->needsParticipantsResultsSubTab()) {
1001  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilParticipantsTestResultsGUI'));
1002  }
1003 
1004  if ($this->needsLoResultsSubTab()) {
1005  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilTestEvalObjectiveOrientedGUI'));
1006  }
1007 
1008  if ($this->needsMyResultsSubTab()) {
1009  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestResultsGUI', 'ilTestEvaluationGUI'));
1010  }
1011 
1012  if ($this->needsMySolutionsSubTab()) {
1013  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilMyTestSolutionsGUI', 'ilTestEvaluationGUI'));
1014  }
1015 
1016  return $DIC->ctrl()->getLinkTargetByClass('ilTestResultsGUI');
1017  }
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSettingsSubTabs()

ilTestTabsManager::getSettingsSubTabs ( )

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

References $DIC, and isHiddenTab().

Referenced by setupTabsGuiConfig().

844  {
845  global $DIC; /* @var ILIAS\DI\Container $DIC */
846 
847  // general subtab
848  $this->tabs->addSubTabTarget(
849  'general',
850  $DIC->ctrl()->getLinkTargetByClass('ilObjTestSettingsGeneralGUI'),
851  '', // auto activation regardless from cmd
852  array('ilobjtestsettingsgeneralgui') // auto activation for ilObjTestSettingsGeneralGUI
853  );
854 
855  if (!$this->isHiddenTab('mark_schema')) {
856  $this->tabs->addSubTabTarget(
857  'mark_schema',
858  $DIC->ctrl()->getLinkTargetByClass('ilmarkschemagui', 'showMarkSchema'),
859  '',
860  array('ilmarkschemagui')
861  );
862  }
863 
864  // scoring subtab
865  $this->tabs->addSubTabTarget(
866  'scoring',
867  $DIC->ctrl()->getLinkTargetByClass('ilObjTestSettingsScoringResultsGUI'),
868  '', // auto activation regardless from cmd
869  array('ilobjtestsettingsscoringresultsgui') // auto activation for ilObjTestSettingsScoringResultsGUI
870  );
871 
872  // certificate subtab
873  $validator = new ilCertificateActiveValidator();
874  if (!$this->isHiddenTab('certificate') && true === $validator->validate()) {
875  $this->tabs->addSubTabTarget(
876  "certificate",
877  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'certificate'),
878  array("certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave",
879  "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport"),
880  array("", "ilobjtestgui", "ilcertificategui")
881  );
882  }
883 
884  if (!$this->isHiddenTab('defaults')) {
885  // defaults subtab
886  $this->tabs->addSubTabTarget(
887  "tst_default_settings",
888  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', "defaults"),
889  array("defaults", "deleteDefaults", "addDefaults", "applyDefaults"),
890  array("", "ilobjtestgui", "ilcertificategui")
891  );
892  }
893 
894  $lti_settings = new ilLTIProviderObjectSettingGUI($this->testOBJ->getRefId());
895  if ($lti_settings->hasSettingsAccess()) {
896  $this->tabs->addSubTabTarget(
897  'lti_provider',
898  $DIC->ctrl()->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class),
899  '',
900  [ilLTIProviderObjectSettingGUI::class]
901  );
902  }
903  }
GUI class for LTI provider object settings.
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getStatisticsSubTabs()

ilTestTabsManager::getStatisticsSubTabs ( )
protected

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

References $DIC.

Referenced by setupTabsGuiConfig().

812  {
813  global $DIC; /* @var ILIAS\DI\Container $DIC */
814 
815  // user results subtab
816  $this->tabs->addSubTabTarget(
817  "eval_all_users",
818  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "outEvaluation"),
819  array("outEvaluation", "detailedEvaluation", "exportEvaluation", "evalUserDetail", "passDetails",
820  "outStatisticsResultsOverview", "statisticsPassDetails"),
821  ""
822  );
823 
824  // aggregated results subtab
825  $this->tabs->addSubTabTarget(
826  "tst_results_aggregated",
827  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "eval_a"),
828  array("eval_a"),
829  "",
830  ""
831  );
832 
833  // question export
834  $this->tabs->addSubTabTarget(
835  "tst_single_results",
836  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "singleResults"),
837  array("singleResults"),
838  "",
839  ""
840  );
841  }
global $DIC
Definition: goto.php:24
+ Here is the caller graph for this function:

◆ getTestOBJ()

◆ getTestQuestionSetConfig()

ilTestTabsManager::getTestQuestionSetConfig ( )
Returns
ilTestQuestionSetConfig

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

References $testQuestionSetConfig.

Referenced by needsTimeExtensionSubTab(), and setupTabsGuiConfig().

184  {
186  }
+ Here is the caller graph for this function:

◆ getTestSession()

ilTestTabsManager::getTestSession ( )
Returns
ilTestSession

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

References $testSession.

Referenced by needsMyResultsSubTab(), and needsMySolutionsSubTab().

168  {
169  return $this->testSession;
170  }
+ Here is the caller graph for this function:

◆ hasParentBackLink()

ilTestTabsManager::hasParentBackLink ( )
Returns
null|string

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

References getParentBackHref(), and getParentBackLabel().

Referenced by setupTabsGuiConfig().

256  {
257  if (!is_string($this->getParentBackHref()) || !strlen($this->getParentBackHref())) {
258  return false;
259  }
260 
261  if (!is_string($this->getParentBackLabel()) || !strlen($this->getParentBackLabel())) {
262  return false;
263  }
264 
265  return true;
266  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSettingsTemplate()

ilTestTabsManager::initSettingsTemplate ( )

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

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

271  {
272  $this->resetHiddenTabs();
273 
274  if ($this->getTestOBJ()->getTemplate()) {
275  require_once 'Services/Administration/classes/class.ilSettingsTemplate.php';
276 
277  $template = new ilSettingsTemplate(
278  $this->getTestOBJ()->getTemplate(),
280  );
281 
282  $this->setHiddenTabs($template->getHiddenTabs());
283  }
284  }
Settings template application class.
+ Here is the call graph for this function:

◆ isHiddenTab()

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

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

References getHiddenTabs().

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

291  {
292  return in_array($tabId, $this->getHiddenTabs());
293  }
+ 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 330 of file class.ilTestTabsManager.php.

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

Referenced by setupTabsGuiConfig().

331  {
332  include_once 'Services/Tracking/classes/class.ilLearningProgressAccess.php';
333  return ilLearningProgressAccess::checkAccess($this->getTestOBJ()->getRefId());
334  }
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
+ 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 322 of file class.ilTestTabsManager.php.

References getTestOBJ().

Referenced by setupTabsGuiConfig().

323  {
324  return $this->access->checkAccess('edit_permission', '', $this->getTestOBJ()->getRefId());
325  }
+ 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 298 of file class.ilTestTabsManager.php.

References getTestOBJ().

Referenced by setupTabsGuiConfig().

299  {
300  return $this->access->checkAccess('read', '', $this->getTestOBJ()->getRefId());
301  }
+ 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 314 of file class.ilTestTabsManager.php.

References getTestOBJ().

315  {
316  return $this->access->checkAccess('tst_statistics', '', $this->getTestOBJ()->getRefId());
317  }
+ Here is the call graph for this function:

◆ isTabsConfigSetupRequired()

ilTestTabsManager::isTabsConfigSetupRequired ( )
protected

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

References $DIC.

Referenced by perform().

374  {
375  global $DIC; /* @var ILIAS\DI\Container $DIC */
376 
377  if (preg_match('/^ass(.*?)gui$/i', $DIC->ctrl()->getNextClass($this))) {
378  return false;
379  }
380 
381  if ($DIC->ctrl()->getNextClass($this) == 'ilassquestionpagegui') {
382  return false;
383  }
384 
385  if ($DIC->ctrl()->getCmdClass() == 'iltestoutputgui') {
386  return false;
387  }
388 
389  if ($DIC->ctrl()->getCmdClass() == 'iltestevaluationgui') {
390  return in_array($DIC->ctrl()->getCmd(), array(
391  '', 'outUserResultsPassOverview', 'outUserListOfAnswerPasses', 'outEvaluation', 'eval_a', 'singleResults', 'detailedEvaluation', 'outUserResultsOverview', 'confirmDeletePass'
392  ));
393  }
394 
395  return true;
396  }
global $DIC
Definition: goto.php:24
+ Here is the caller graph for this function:

◆ isWriteAccessGranted()

ilTestTabsManager::isWriteAccessGranted ( )
protected
Returns
bool

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

References getTestOBJ().

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

307  {
308  return $this->access->checkAccess('write', '', $this->getTestOBJ()->getRefId());
309  }
+ 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 908 of file class.ilTestTabsManager.php.

References checkDashboardTabAccess(), and isHiddenTab().

Referenced by setupTabsGuiConfig().

909  {
910  if ($this->isHiddenTab(self::TAB_ID_EXAM_DASHBOARD)) {
911  return false;
912  }
913 
914  if (!$this->checkDashboardTabAccess()) {
915  return false;
916  }
917 
918  return true;
919  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsHighSoreSubTab()

ilTestTabsManager::needsHighSoreSubTab ( )
Returns
bool

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

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

1059  {
1060  if (!$this->needsMyResultsSubTab()) {
1061  return false;
1062  }
1063 
1064  return $this->getTestOBJ()->getHighscoreEnabled();
1065  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsLoResultsSubTab()

ilTestTabsManager::needsLoResultsSubTab ( )
Returns
bool

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

References needsMyResultsSubTab().

Referenced by getResultsSubTabs(), and getResultsTabTarget().

1031  {
1032  if (!$this->needsMyResultsSubTab()) {
1033  return false;
1034  }
1035 
1036  return $this->objectiveParent->isObjectiveOrientedPresentationRequired();
1037  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsMyResultsSubTab()

ilTestTabsManager::needsMyResultsSubTab ( )
Returns
bool

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

References getTestOBJ(), and getTestSession().

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

1023  {
1024  return $this->getTestSession()->reportableResultsAvailable($this->getTestOBJ());
1025  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsMySolutionsSubTab()

ilTestTabsManager::needsMySolutionsSubTab ( )

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

References getTestOBJ(), and getTestSession().

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

1080  {
1081  return $this->getTestOBJ()->canShowSolutionPrintview($this->getTestSession()->getUserId());
1082  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsParticipantsResultsSubTab()

ilTestTabsManager::needsParticipantsResultsSubTab ( )
Returns
bool

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

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

1043  {
1044  if ($this->testAccess->checkManageParticipantsAccess()) {
1045  return true;
1046  }
1047 
1048  if ($this->testAccess->checkParticipantsResultsAccess()) {
1049  return true;
1050  }
1051 
1052  return false;
1053  }
+ Here is the caller graph for this function:

◆ needsResultsTab()

ilTestTabsManager::needsResultsTab ( )
protected
Returns
bool

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

References needsMySolutionsSubTab(), and needsParticipantsResultsSubTab().

Referenced by setupTabsGuiConfig().

989  {
990  return $this->needsParticipantsResultsSubTab() || $this->testOBJ->isScoreReportingEnabled() || $this->needsMySolutionsSubTab();
991  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsSkillResultsSubTab()

ilTestTabsManager::needsSkillResultsSubTab ( )
Returns
bool

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

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

1071  {
1072  if (!$this->needsMyResultsSubTab()) {
1073  return false;
1074  }
1075 
1076  return $this->getTestOBJ()->isSkillServiceToBeConsidered();
1077  }
+ 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 924 of file class.ilTestTabsManager.php.

References getTestOBJ(), and getTestQuestionSetConfig().

Referenced by getDashboardSubTabs().

925  {
926  if (!($this->getTestOBJ()->getProcessingTimeInSeconds() > 0)) {
927  return false;
928  }
929 
930  if ($this->getTestOBJ()->getNrOfTries() != 1) {
931  return false;
932  }
933 
934  if ($this->getTestQuestionSetConfig()->areDepenciesBroken()) {
935  return false;
936  }
937 
938  return true;
939  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ perform()

ilTestTabsManager::perform ( )

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

References isTabsConfigSetupRequired(), and setupTabsGuiConfig().

367  {
368  if ($this->isTabsConfigSetupRequired()) {
369  $this->setupTabsGuiConfig();
370  }
371  }
+ Here is the call graph for this function:

◆ resetHiddenTabs()

ilTestTabsManager::resetHiddenTabs ( )
Parameters
array$hiddenTabs

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

Referenced by initSettingsTemplate().

216  {
217  $this->hiddenTabs = array();
218  }
+ Here is the caller graph for this function:

◆ setHiddenTabs()

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

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

References $hiddenTabs.

Referenced by initSettingsTemplate().

208  {
209  $this->hiddenTabs = $hiddenTabs;
210  }
+ Here is the caller graph for this function:

◆ setParentBackHref()

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

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

References $parentBackHref.

248  {
249  $this->parentBackHref = $parentBackHref;
250  }

◆ setParentBackLabel()

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

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

References $parentBackLabel.

232  {
233  $this->parentBackLabel = $parentBackLabel;
234  }

◆ setTestOBJ()

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

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

References $testOBJ.

160  {
161  $this->testOBJ = $testOBJ;
162  }

◆ setTestQuestionSetConfig()

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

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

References $testQuestionSetConfig.

192  {
193  $this->testQuestionSetConfig = $testQuestionSetConfig;
194  }

◆ setTestSession()

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

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

References $testSession.

176  {
177  $this->testSession = $testSession;
178  }

◆ setupTabsGuiConfig()

ilTestTabsManager::setupTabsGuiConfig ( )
protected

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

References $_GET, $DIC, $name, ilObjAssessmentFolder\_getManualScoring(), checkScoreParticipantsTabAccess(), checkStatisticsTabAccess(), ilAssQuestionSkillAssignmentsGUI\CMD_SHOW_SKILL_QUEST_ASSIGNS, getBrowseForQuestionsTab(), getDashboardTabTarget(), getParentBackHref(), getParentBackLabel(), getResultsTabTarget(), getSettingsSubTabs(), getStatisticsSubTabs(), getTestOBJ(), getTestQuestionSetConfig(), hasParentBackLink(), isHiddenTab(), isLpAccessGranted(), isPermissionsAccessGranted(), isReadAccessGranted(), ilObjTest\isSkillManagementGloballyActivated(), isWriteAccessGranted(), needsDashboardTab(), needsResultsTab(), ilObjTest\QUESTION_SET_TYPE_DYNAMIC, ilObjTest\QUESTION_SET_TYPE_FIXED, and ilObjTest\QUESTION_SET_TYPE_RANDOM.

Referenced by perform().

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

◆ $hiddenTabs

ilTestTabsManager::$hiddenTabs
protected

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

Referenced by getHiddenTabs(), and setHiddenTabs().

◆ $lng

ilTestTabsManager::$lng
protected

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

◆ $objectiveParent

ilTestTabsManager::$objectiveParent
protected

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

Referenced by __construct().

◆ $parentBackHref

ilTestTabsManager::$parentBackHref
protected

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

Referenced by getParentBackHref(), and setParentBackHref().

◆ $parentBackLabel

ilTestTabsManager::$parentBackLabel
protected

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

Referenced by getParentBackLabel(), and setParentBackLabel().

◆ $tabs

ilTestTabsManager::$tabs
protected

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

◆ $testAccess

ilTestTabsManager::$testAccess
protected

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

Referenced by __construct().

◆ $testOBJ

ilTestTabsManager::$testOBJ
protected

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

Referenced by getTestOBJ(), and setTestOBJ().

◆ $testQuestionSetConfig

ilTestTabsManager::$testQuestionSetConfig
protected

◆ $testSession

ilTestTabsManager::$testSession
protected

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

Referenced by getTestSession(), and setTestSession().

◆ SUBTAB_ID_FIXED_PARTICIPANTS

const ilTestTabsManager::SUBTAB_ID_FIXED_PARTICIPANTS = 'fixedparticipants'

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

Referenced by ilTestDashboardGUI\executeCommand().

◆ SUBTAB_ID_HIGHSCORE

const ilTestTabsManager::SUBTAB_ID_HIGHSCORE = 'highscore'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_LO_RESULTS

const ilTestTabsManager::SUBTAB_ID_LO_RESULTS = 'loresults'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_MY_RESULTS

const ilTestTabsManager::SUBTAB_ID_MY_RESULTS = 'myresults'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_MY_SOLUTIONS

const ilTestTabsManager::SUBTAB_ID_MY_SOLUTIONS = 'mysolutions'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_PARTICIPANTS_RESULTS

const ilTestTabsManager::SUBTAB_ID_PARTICIPANTS_RESULTS = 'participantsresults'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_QST_LIST_VIEW

◆ SUBTAB_ID_QST_PAGE_VIEW

const ilTestTabsManager::SUBTAB_ID_QST_PAGE_VIEW = 'qst_page_view'

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

Referenced by ilObjTestGUI\executeCommand().

◆ SUBTAB_ID_SKILL_RESULTS

const ilTestTabsManager::SUBTAB_ID_SKILL_RESULTS = 'skillresults'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ SUBTAB_ID_TIME_EXTENSION

const ilTestTabsManager::SUBTAB_ID_TIME_EXTENSION = 'timeextension'

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

Referenced by ilTestDashboardGUI\executeCommand().

◆ TAB_ID_CORRECTION

const ilTestTabsManager::TAB_ID_CORRECTION = 'scoringadjust'

◆ TAB_ID_EXAM_DASHBOARD

const ilTestTabsManager::TAB_ID_EXAM_DASHBOARD = 'dashboard_tab'

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

Referenced by ilTestDashboardGUI\executeCommand().

◆ TAB_ID_EXPORT

const ilTestTabsManager::TAB_ID_EXPORT = 'export'

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

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_HISTORY

const ilTestTabsManager::TAB_ID_HISTORY = 'history'

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

Referenced by ilObjTestGUI\historyObject().

◆ TAB_ID_INFOSCREEN

const ilTestTabsManager::TAB_ID_INFOSCREEN = 'info_short'

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

Referenced by ilObjTestGUI\redirectToInfoScreenObject().

◆ TAB_ID_LEARNING_PROGRESS

const ilTestTabsManager::TAB_ID_LEARNING_PROGRESS = 'learning_progress'

Definition at line 22 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 27 of file class.ilTestTabsManager.php.

Referenced by ilObjTestGUI\executeCommand().

◆ TAB_ID_PERMISSIONS

const ilTestTabsManager::TAB_ID_PERMISSIONS = 'perm_settings'

Definition at line 29 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 16 of file class.ilTestTabsManager.php.

◆ TAB_ID_RESULTS

const ilTestTabsManager::TAB_ID_RESULTS = 'results'

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

Referenced by ilTestResultsGUI\executeCommand().

◆ TAB_ID_SETTINGS

◆ TAB_ID_STATISTICS

const ilTestTabsManager::TAB_ID_STATISTICS = 'statistics'

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