ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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: saml.php:7

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: saml.php:7
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDashbardParticipantsSubTabLabel()

ilTestTabsManager::getDashbardParticipantsSubTabLabel ( )
protected

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

References $DIC, and getTestOBJ().

Referenced by getDashboardSubTabs().

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

◆ getDashboardSubTabs()

ilTestTabsManager::getDashboardSubTabs ( )

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

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

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

◆ getDashboardTabTarget()

ilTestTabsManager::getDashboardTabTarget ( )
protected
Returns
string

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

References $DIC.

Referenced by setupTabsGuiConfig().

942  {
943  global $DIC; /* @var ILIAS\DI\Container $DIC */
944 
945  return $DIC->ctrl()->getLinkTargetByClass(array('ilTestDashboardGUI', 'ilTestParticipantsGUI'));
946  }
global $DIC
Definition: saml.php:7
+ 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, $template, 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  if (!$this->getTestOBJ()->isRandomTest()) {
770  $this->tabs->addSubTab(
771  self::SUBTAB_ID_QST_PAGE_VIEW,
772  $DIC->language()->txt('questions_per_page_view'),
773  $DIC->ctrl()->getLinkTargetByClass('iltestexpresspageobjectgui', 'showPage')
774  );
775  }
776  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
778 
779  if (!$this->isHiddenTab('questions')) {
780  $this->tabs->addSubTab(
781  self::SUBTAB_ID_QST_LIST_VIEW,
782  $DIC->language()->txt('edit_test_questions'),
783  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'questions')
784  );
785  }
786 
787  // print view subtab
788  if (!$this->getTestOBJ()->isRandomTest()) {
789  $this->tabs->addSubTabTarget(
790  "print_view",
791  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'print'),
792  "print",
793  "",
794  "",
795  $DIC->ctrl()->getCmd() == 'print'
796  );
797  $this->tabs->addSubTabTarget(
798  'review_view',
799  $DIC->ctrl()->getLinkTargetByClass('ilObjTestGUI', 'review'),
800  'review',
801  '',
802  '',
803  $DIC->ctrl()->getCmd() == 'review'
804  );
805  }
806  }
$template
global $DIC
Definition: saml.php:7
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: saml.php:7
+ Here is the call graph for this function:

◆ getResultsSubTabs()

ilTestTabsManager::getResultsSubTabs ( )

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

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

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

◆ getResultsTabTarget()

ilTestTabsManager::getResultsTabTarget ( )
protected
Returns
string

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

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

Referenced by setupTabsGuiConfig().

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

◆ getSettingsSubTabs()

ilTestTabsManager::getSettingsSubTabs ( )

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

References $DIC, ilCertificate\isActive(), and isHiddenTab().

Referenced by setupTabsGuiConfig().

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

◆ getStatisticsSubTabs()

ilTestTabsManager::getStatisticsSubTabs ( )
protected

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

References $DIC.

Referenced by setupTabsGuiConfig().

809  {
810  global $DIC; /* @var ILIAS\DI\Container $DIC */
811 
812  // user results subtab
813  $this->tabs->addSubTabTarget(
814  "eval_all_users",
815  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "outEvaluation"),
816  array("outEvaluation", "detailedEvaluation", "exportEvaluation", "evalUserDetail", "passDetails",
817  "outStatisticsResultsOverview", "statisticsPassDetails"),
818  ""
819  );
820 
821  // aggregated results subtab
822  $this->tabs->addSubTabTarget(
823  "tst_results_aggregated",
824  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "eval_a"),
825  array("eval_a"),
826  "",
827  ""
828  );
829 
830  // question export
831  $this->tabs->addSubTabTarget(
832  "tst_single_results",
833  $DIC->ctrl()->getLinkTargetByClass("iltestevaluationgui", "singleResults"),
834  array("singleResults"),
835  "",
836  ""
837  );
838  }
global $DIC
Definition: saml.php:7
+ 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 $template, 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 
278  $this->getTestOBJ()->getTemplate(),
280  );
281 
282  $this->setHiddenTabs($template->getHiddenTabs());
283  }
284  }
$template
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'
392  ));
393  }
394 
395  return true;
396  }
global $DIC
Definition: saml.php:7
+ 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 905 of file class.ilTestTabsManager.php.

References checkDashboardTabAccess(), and isHiddenTab().

Referenced by setupTabsGuiConfig().

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

◆ needsHighSoreSubTab()

ilTestTabsManager::needsHighSoreSubTab ( )
Returns
bool

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

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

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

◆ needsLoResultsSubTab()

ilTestTabsManager::needsLoResultsSubTab ( )
Returns
bool

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

References needsMyResultsSubTab().

Referenced by getResultsSubTabs(), and getResultsTabTarget().

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

◆ needsMyResultsSubTab()

ilTestTabsManager::needsMyResultsSubTab ( )
Returns
bool

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

References getTestOBJ(), and getTestSession().

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

1020  {
1021  return $this->getTestSession()->reportableResultsAvailable($this->getTestOBJ());
1022  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ needsMySolutionsSubTab()

ilTestTabsManager::needsMySolutionsSubTab ( )

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

References getTestOBJ(), and getTestSession().

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

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

◆ needsParticipantsResultsSubTab()

ilTestTabsManager::needsParticipantsResultsSubTab ( )
Returns
bool

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

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

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

◆ needsResultsTab()

ilTestTabsManager::needsResultsTab ( )
protected
Returns
bool

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

References needsMySolutionsSubTab(), and needsParticipantsResultsSubTab().

Referenced by setupTabsGuiConfig().

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

◆ needsSkillResultsSubTab()

ilTestTabsManager::needsSkillResultsSubTab ( )
Returns
bool

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

References getTestOBJ(), and needsMyResultsSubTab().

Referenced by getResultsSubTabs().

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

References getTestOBJ(), and getTestQuestionSetConfig().

Referenced by getDashboardSubTabs().

922  {
923  if (!($this->getTestOBJ()->getProcessingTimeInSeconds() > 0)) {
924  return false;
925  }
926 
927  if ($this->getTestOBJ()->getNrOfTries() != 1) {
928  return false;
929  }
930 
931  if ($this->getTestQuestionSetConfig()->areDepenciesBroken()) {
932  return false;
933  }
934 
935  return true;
936  }
+ 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, $target, 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  'ilTestExpresspageObjectGUI',
512  'showPage'
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
global $DIC
Definition: saml.php:7
$_GET["client_id"]
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)
$target
Definition: test.php:19
+ 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: