ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilObjSurveyQuestionPoolGUI Class Reference

Class ilObjSurveyQuestionPoolGUI. More...

+ Inheritance diagram for ilObjSurveyQuestionPoolGUI:
+ Collaboration diagram for ilObjSurveyQuestionPoolGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 
 propertiesObject (?ilPropertyFormGUI $a_form=null)
 Edit question pool properties. More...
 
 copyObject ()
 Copies checked questions in the questionpool to a clipboard. More...
 
 moveObject ()
 mark one or more question objects for moving More...
 
 exportQuestionObject ()
 export a question More...
 
 exportQuestionExportTabObject ()
 
 deleteQuestionsObject ()
 Creates a confirmation form to delete questions from the question pool. More...
 
 confirmDeleteQuestionsObject ()
 
 cancelDeleteQuestionsObject ()
 
 pasteObject ()
 paste questions from the clipboard into the question pool More...
 
 importQuestionsObject ()
 display the import form to import questions into the question pool More...
 
 getImportForm ()
 
 uploadQuestionsObject ()
 imports question(s) into the questionpool More...
 
 filterQuestionBrowserObject ()
 
 resetfilterQuestionBrowserObject ()
 
 questionsObject ()
 list questions of question pool More...
 
 updateObject ()
 
 exportObject ()
 list all export files More...
 
 downloadExportFileObject ()
 download export file More...
 
 confirmDeleteExportFileObject ()
 confirmation screen for export file deletion More...
 
 cancelDeleteExportFileObject ()
 
 deleteExportFileObject ()
 
 createQuestionObject ()
 create new question More...
 
 previewObject ()
 create preview of object More...
 
 infoScreenObject ()
 this one is called from the info button in the repository More...
 
 infoScreenForward ()
 show information screen More...
 
 saveObligatoryObject ()
 Save obligatory states. More...
 
- Public Member Functions inherited from ilObjectGUI
 getRefId ()
 
 setAdminMode (string $mode)
 
 getAdminMode ()
 
 getObject ()
 
 executeCommand ()
 
 withReferences ()
 determines whether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode (bool $mode=true)
 If true, a creation screen is displayed the current [ref_id] does belong to the parent class The mode is determined in ilRepositoryGUI. More...
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelObject ()
 cancel action and go back to previous page More...
 
 createObject ()
 create new object form More...
 
 editAvailabilityPeriodObject ()
 
 saveAvailabilityPeriodObject ()
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 
 getDidacticTemplateVar (string $type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $obj, ?int $parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 
 addExternalEditFormCustom (ilPropertyFormGUI $form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction (string $cmd, string $default_form_action="")
 Get form action for command (command is method name without "Object", e.g. More...
 
 isVisible (int $ref_id, string $type)
 
 viewObject ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject (bool $error=false)
 Display deletion confirmation screen. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
- Public Member Functions inherited from ILIAS\Object\ImplementsCreationCallback
 callCreationCallback (\ilObject $object, \ilObjectDefinition $obj_definition, int $requested_crtcb)
 

Static Public Member Functions

static _goto (string $a_target)
 Redirect script to call a survey question pool reference id. More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot (bool $raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode (int $ref_id, string $cmd="")
 
static _gotoSharedWorkspaceNode (int $wsp_id)
 

Data Fields

string $defaultscript
 
- Data Fields inherited from ilObjectGUI
const ADMIN_MODE_NONE = ""
 
const ADMIN_MODE_SETTINGS = "settings"
 
const ADMIN_MODE_REPOSITORY = "repository"
 
const UPLOAD_TYPE_LOCAL = 1
 
const UPLOAD_TYPE_UPLOAD_DIRECTORY = 2
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
const SUPPORTED_IMPORT_MIME_TYPES = [MimeType::APPLICATION__ZIP, MimeType::APPLICATION__X_ZIP_COMPRESSED]
 

Protected Member Functions

 afterSave (ilObject $new_object)
 
 importFile (string $file_to_import, string $path_to_uploaded_file_in_temp_dir)
 
 addLocatorItems ()
 
 getTabs ()
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 
 assignObject ()
 
 setTitleAndDescription ()
 
 createActionDispatcherGUI ()
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction (?ilObjectListGUI $list_gui=null)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 setTabs ()
 set admin tabs More...
 
 setAdminTabs ()
 set admin tabs More...
 
 setLocator ()
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator (bool $omit=true)
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 getCreationFormsHTML (StandardForm|ilPropertyFormGUI|array $form)
 
 getTitleForCreationFormPage ()
 
 getCreationFormTitle ()
 
 initCreateForm (string $new_type)
 
 didacticTemplatesToForm ()
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 
 retrieveAdditionalDidacticTemplateOptions ()
 
 addAdoptContentLinkToToolbar ()
 
 addImportButtonToToolbar ()
 
 addAvailabilityPeriodButtonToToolbar (ilToolbarGUI $toolbar)
 
 parseDidacticTemplateVar (string $var, string $type)
 
 afterSave (ilObject $new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 routeImportCmdObject ()
 
 importFile (string $file_to_import, string $path_to_uploaded_file_in_temp_dir)
 
 deleteUploadedImportFile (string $path_to_uploaded_file_in_temp_dir)
 
 afterImport (ilObject $new_object)
 Post (successful) object import hook. More...
 
 setFormAction (string $cmd, string $form_action)
 
 getReturnLocation (string $cmd, string $default_location="")
 Get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation (string $cmd, string $location)
 set specific return location for command More...
 
 getTargetFrame (string $cmd, string $default_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame (string $cmd, string $target_frame)
 Set specific target frame for command. More...
 
 showPossibleSubObjects ()
 show possible sub objects (pull down menu) More...
 
 getTabs ()
 overwrite in derived GUI class of your object type More...
 
 redirectToRefId (int $ref_id, string $cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current ["ref_id"] value of the request More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 getCreatableObjectTypes ()
 
 buildAddNewItemElements (array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
 
 buildGroup (string $create_target_class, array $obj_types_in_group, string $title, array $subtypes)
 

Protected Attributes

ILIAS SurveyQuestionPool InternalGUIService $gui
 
ILIAS SurveyQuestionPool Editing EditManager $edit_manager
 
bool $update
 
EditingGUIRequest $edit_request
 
ilNavigationHistory $nav_history
 
ilHelpGUI $help
 
ilLogger $log
 
RefineryFactory $refinery
 
ILIASArchives $archives
 
- Protected Attributes inherited from ilObjectGUI
ILIAS Notes Service $notes_service
 
GlobalHttpState $http
 
ServerRequestInterface $request
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilSetting $settings
 
ilToolbarGUI $toolbar
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
ilObjectService $object_service
 
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilCtrl $ctrl
 
ilErrorHandling $error
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ILIAS $ilias
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Refinery $refinery
 
ilFavouritesManager $favourites
 
CustomIconFactory $custom_icon_factory
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Filesystem $temp_file_system
 
ilObject $object = null
 
bool $creation_mode = false
 
 $data
 
int $id
 
bool $call_by_reference = false
 
bool $prepare_output
 
int $ref_id
 
int $obj_id
 
int $maxcount
 
array $form_action = []
 
array $return_location = []
 
array $target_frame = []
 
string $tmp_import_dir
 
string $sub_objects = ""
 
bool $omit_locator = false
 
string $type = ""
 
string $admin_mode = self::ADMIN_MODE_NONE
 
int $requested_ref_id = 0
 
int $requested_crtptrefid = 0
 
int $requested_crtcb = 0
 
string $requested_new_type = ""
 
string $link_params
 
string $html = ""
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjSurveyQuestionPoolGUI::__construct ( )

Definition at line 51 of file class.ilObjSurveyQuestionPoolGUI.php.

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\ctrl(), ilLoggerFactory\getLogger(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\toolbar().

52  {
53  global $DIC;
54 
55  $this->nav_history = $DIC["ilNavigationHistory"];
56  $this->toolbar = $DIC->toolbar();
57  $this->help = $DIC["ilHelp"];
58  $this->refinery = $DIC->refinery();
59  $this->archives = $DIC->archives();
60  $this->edit_request = $DIC->surveyQuestionPool()
61  ->internal()
62  ->gui()
63  ->editing()
64  ->request();
65  $this->edit_manager = $DIC->surveyQuestionPool()
66  ->internal()
67  ->domain()
68  ->editing();
69 
70  $this->type = "spl";
71 
73  "",
74  $this->edit_request->getRefId(),
75  true,
76  false
77  );
78  $this->lng->loadLanguageModule("survey");
79  $this->ctrl->saveParameter($this, array("ref_id"));
80  $this->log = ilLoggerFactory::getLogger('svy');
81  $this->gui = $DIC->surveyQuestionPool()->internal()->gui();
82  }
static getLogger(string $a_component_id)
Get component logger.
global $DIC
Definition: shib_login.php:26
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjSurveyQuestionPoolGUI::_goto ( string  $a_target)
static

Redirect script to call a survey question pool reference id.

Definition at line 759 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$ctrl, $DIC, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilCtrl\redirectByClass(), ROOT_FOLDER_ID, ilCtrl\setParameterByClass(), and ilLanguage\txt().

759  : void
760  {
761  global $DIC;
762  $main_tpl = $DIC->ui()->mainTemplate();
763 
764  $ctrl = $DIC->ctrl();
765  $ilAccess = $DIC->access();
766  $lng = $DIC->language();
767 
768  if ($ilAccess->checkAccess("visible", "", $a_target) ||
769  $ilAccess->checkAccess("read", "", $a_target)) {
770  $ctrl->setParameterByClass("ilObjSurveyQuestionPoolGUI", "ref_id", $a_target);
771  $ctrl->redirectByClass("ilObjSurveyQuestionPoolGUI", "infoScreen");
772  } elseif ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
773  $main_tpl->setOnScreenMessage('failure', sprintf(
774  $lng->txt("msg_no_perm_read_item"),
776  ), true);
778  }
779  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
const ROOT_FOLDER_ID
Definition: constants.php:32
setParameterByClass(string $a_class, string $a_parameter, $a_value)
redirectByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
static _lookupObjId(int $ref_id)
ilLanguage $lng
static _lookupTitle(int $obj_id)
global $DIC
Definition: shib_login.php:26
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjSurveyQuestionPoolGUI::addLocatorItems ( )
protected

Definition at line 663 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$locator, SurveyQuestion\_getQuestionType(), SurveyQuestion\_getTitle(), ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

663  : void
664  {
665  $ilLocator = $this->locator;
666  switch ($this->ctrl->getCmd()) {
667  case "create":
668  case "importFile":
669  case "cancel":
670  break;
671  default:
672  $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, ""), "", $this->edit_request->getRefId());
673  break;
674  }
675  if ($this->edit_request->getQuestionId() > 0) {
676  $q_id = $this->edit_request->getQuestionId();
677  $q_type = SurveyQuestion::_getQuestionType($q_id) . "GUI";
678  $q_title = SurveyQuestion::_getTitle($q_id);
679  if ($q_title) {
680  // not on create
681  $this->ctrl->setParameterByClass($q_type, "q_id", $q_id);
682  $ilLocator->addItem(
683  $q_title,
684  $this->ctrl->getLinkTargetByClass($q_type, "editQuestion")
685  );
686  }
687  }
688  }
static _getQuestionType(int $question_id)
Returns the question type of a question with a given id.
static _getTitle(int $question_id)
Returns the question title of a question with a given id.
ilLocatorGUI $locator
+ Here is the call graph for this function:

◆ afterSave()

ilObjSurveyQuestionPoolGUI::afterSave ( ilObject  $new_object)
protected

Definition at line 460 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObject\getRefId(), ILIAS\Repository\lng(), and ilUtil\redirect().

460  : void
461  {
462  // always send a message
463  $this->tpl->setOnScreenMessage('success', $this->lng->txt("object_added"), true);
464 
465  ilUtil::redirect("ilias.php?ref_id=" . $new_object->getRefId() .
466  "&baseClass=ilObjSurveyQuestionPoolGUI");
467  }
static redirect(string $a_script)
+ Here is the call graph for this function:

◆ cancelDeleteExportFileObject()

ilObjSurveyQuestionPoolGUI::cancelDeleteExportFileObject ( )

Definition at line 542 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilSession\clear(), and ILIAS\Repository\ctrl().

542  : void
543  {
544  ilSession::clear("ilExportFiles");
545  $this->ctrl->redirect($this, "export");
546  }
static clear(string $a_var)
+ Here is the call graph for this function:

◆ cancelDeleteQuestionsObject()

ilObjSurveyQuestionPoolGUI::cancelDeleteQuestionsObject ( )

Definition at line 302 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl().

302  : void
303  {
304  // delete questions after confirmation
305  $this->ctrl->redirect($this, "questions");
306  }
+ Here is the call graph for this function:

◆ confirmDeleteExportFileObject()

ilObjSurveyQuestionPoolGUI::confirmDeleteExportFileObject ( )

confirmation screen for export file deletion

Definition at line 519 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$data, ILIAS\Repository\ctrl(), ilDatePresentation\formatDate(), IL_CAL_UNIX, and ILIAS\Repository\lng().

519  : void
520  {
521  $files = $this->edit_request->getFiles();
522  if (count($files) === 0) {
523  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_checkbox"), true);
524  $this->ctrl->redirect($this, "export");
525  }
526 
527  $this->tpl->setOnScreenMessage('question', $this->lng->txt("info_delete_sure"));
528  $table_gui = new ilSurveyQuestionPoolExportTableGUI($this, 'export', true);
529  $export_dir = $this->object->getExportDirectory();
530  $data = array();
531  foreach ($files as $exp_file) {
532  $file_arr = explode("__", $exp_file);
533  $data[] = array('file' => $exp_file,
534  'date' => ilDatePresentation::formatDate(new ilDateTime($file_arr[0], IL_CAL_UNIX)),
535  'size' => filesize($export_dir . "/" . $exp_file)
536  );
537  }
538  $table_gui->setData($data);
539  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
540  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const IL_CAL_UNIX
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
+ Here is the call graph for this function:

◆ confirmDeleteQuestionsObject()

ilObjSurveyQuestionPoolGUI::confirmDeleteQuestionsObject ( )

Definition at line 291 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

291  : void
292  {
293  // delete questions after confirmation
294  $this->tpl->setOnScreenMessage('success', $this->lng->txt("qpl_questions_deleted"), true);
295  $qids = $this->edit_request->getQuestionIds();
296  foreach ($qids as $q_id) {
297  $this->object->removeQuestion($q_id);
298  }
299  $this->ctrl->redirect($this, "questions");
300  }
+ Here is the call graph for this function:

◆ copyObject()

ilObjSurveyQuestionPoolGUI::copyObject ( )

Copies checked questions in the questionpool to a clipboard.

Definition at line 198 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

198  : void
199  {
200  $qids = $this->edit_request->getQuestionIds();
201  if (count($qids) > 0) {
202  foreach ($qids as $key => $value) {
203  $this->object->copyToClipboard($value);
204  }
205  $this->tpl->setOnScreenMessage('info', $this->lng->txt("spl_copy_insert_clipboard"), true);
206  } else {
207  $this->tpl->setOnScreenMessage('info', $this->lng->txt("spl_copy_select_none"), true);
208  }
209  $this->ctrl->redirect($this, "questions");
210  }
+ Here is the call graph for this function:

◆ createQuestionObject()

ilObjSurveyQuestionPoolGUI::createQuestionObject ( )

create new question

Definition at line 570 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$user, SurveyQuestionGUI\_getQuestionGUI(), ILIAS\Repository\ctrl(), ILIAS\Repository\object(), and ilObjUser\writePref().

570  : void
571  {
572  $ilUser = $this->user;
573 
574  $ilUser->writePref(
575  "svy_lastquestiontype",
576  $this->edit_request->getSelectedQuestionTypes()
577  );
578 
580  $this->edit_request->getSelectedQuestionTypes()
581  );
582  $q_gui->object->setObjId($this->object->getId());
583  $q_gui->object->createNewQuestion();
584 
585  $this->ctrl->setParameterByClass(get_class($q_gui), "q_id", $q_gui->object->getId());
586  $this->ctrl->setParameterByClass(
587  get_class($q_gui),
588  "sel_question_types",
589  $this->edit_request->getSelectedQuestionTypes()
590  );
591  $this->ctrl->redirectByClass(get_class($q_gui), "editQuestion");
592  }
writePref(string $a_keyword, string $a_value)
static _getQuestionGUI(?string $questiontype, int $question_id=-1)
Creates a question gui representation.
+ Here is the call graph for this function:

◆ deleteExportFileObject()

ilObjSurveyQuestionPoolGUI::deleteExportFileObject ( )

Definition at line 548 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), and ilFileUtils\delDir().

548  : void
549  {
550  $export_dir = $this->object->getExportDirectory();
551  $files = $this->edit_request->getFiles();
552  foreach ($files as $file) {
553  $file = basename($file);
554 
555  $exp_file = $export_dir . "/" . $file;
556  $exp_dir = $export_dir . "/" . substr($file, 0, -4);
557  if (is_file($exp_file)) {
558  unlink($exp_file);
559  }
560  if (is_dir($exp_dir)) {
561  ilFileUtils::delDir($exp_dir);
562  }
563  }
564  $this->ctrl->redirect($this, "export");
565  }
static delDir(string $a_dir, bool $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
+ Here is the call graph for this function:

◆ deleteQuestionsObject()

ilObjSurveyQuestionPoolGUI::deleteQuestionsObject ( )

Creates a confirmation form to delete questions from the question pool.

Definition at line 258 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$data, $txt, SurveyQuestion\_getQuestionTypeName(), ilObjectGUI\checkPermission(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and questionsObject().

258  : void
259  {
260  $this->checkPermission('write');
261 
262  // create an array of all checked checkboxes
263  $checked_questions = $this->edit_request->getQuestionIds();
264  if (count($checked_questions) === 0) {
265  $this->tpl->setOnScreenMessage('info', $this->lng->txt("qpl_delete_select_none"));
266  $this->questionsObject();
267  return;
268  }
269 
270  $cgui = new ilConfirmationGUI();
271  $cgui->setHeaderText($this->lng->txt("qpl_confirm_delete_questions"));
272 
273  $cgui->setFormAction($this->ctrl->getFormAction($this));
274  $cgui->setCancel($this->lng->txt("cancel"), "cancelDeleteQuestions");
275  $cgui->setConfirm($this->lng->txt("confirm"), "confirmDeleteQuestions");
276 
277  $infos = $this->object->getQuestionInfos($checked_questions);
278  foreach ($infos as $data) {
279  $txt = $data["title"] . " (" .
280  SurveyQuestion::_getQuestionTypeName($data["type_tag"]) . ")";
281  if ($data["description"]) {
282  $txt .= "<div class=\"small\">" . $data["description"] . "</div>";
283  }
284 
285  $cgui->addItem("q_id[]", $data["id"], $txt);
286  }
287 
288  $this->tpl->setContent($cgui->getHTML());
289  }
static _getQuestionTypeName(string $type_tag)
Return the translation for a given question type.
$txt
Definition: error.php:31
questionsObject()
list questions of question pool
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
+ Here is the call graph for this function:

◆ downloadExportFileObject()

ilObjSurveyQuestionPoolGUI::downloadExportFileObject ( )

download export file

Definition at line 495 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), ilFileDelivery\deliverFileLegacy(), and ILIAS\Repository\lng().

495  : void
496  {
497  $files = $this->edit_request->getFiles();
498  if (count($files) === 0) {
499  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_checkbox"), true);
500  $this->ctrl->redirect($this, "export");
501  }
502 
503  if (count($files) > 1) {
504  $this->tpl->setOnScreenMessage('info', $this->lng->txt("select_max_one_item"), true);
505  $this->ctrl->redirect($this, "export");
506  }
507 
508 
509  $export_dir = $this->object->getExportDirectory();
510 
511  $file = basename($files[0]);
512 
513  ilFileDelivery::deliverFileLegacy($export_dir . "/" . $file, $file);
514  }
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
+ Here is the call graph for this function:

◆ executeCommand()

ilObjSurveyQuestionPoolGUI::executeCommand ( )

Definition at line 84 of file class.ilObjSurveyQuestionPoolGUI.php.

References $nav_history, SurveyQuestionGUI\_getQuestionGUI(), ilObjectGUI\checkPermission(), ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ilObjectGUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), ilUtil\getStyleSheetLocation(), infoScreenForward(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and ilObjectGUI\prepareOutput().

84  : void
85  {
86  $ilNavigationHistory = $this->nav_history;
87  if (!$this->checkPermissionBool("visible") &&
88  !$this->checkPermissionBool("read")) {
89  $this->checkPermission("read");
90  }
91 
92  // add entry to navigation history
93  if (!$this->getCreationMode() &&
94  $this->checkPermissionBool("read")) {
95  $ilNavigationHistory->addItem(
96  $this->ref_id,
97  "ilias.php?baseClass=ilObjSurveyQuestionPoolGUI&cmd=questions&ref_id=" . $this->ref_id,
98  "spl"
99  );
100  }
101 
102  $this->tpl->addCss(ilUtil::getStyleSheetLocation("output", "survey.css"), "screen");
103  $this->prepareOutput();
104 
105  $cmd = $this->ctrl->getCmd("questions");
106  $next_class = $this->ctrl->getNextClass($this);
107  if ($cmd !== "cancel") {
108  $this->ctrl->setReturn($this, "questions");
109  }
110  $q_type = "";
111  if ($this->edit_request->getQuestionId() < 1) {
112  $q_type = $this->edit_request->getSelectedQuestionTypes();
113  }
114 
115  $this->log->debug("- cmd=" . $cmd . " next_class=" . $next_class);
116  switch ($next_class) {
117  case 'ilobjectmetadatagui':
118  $this->tabs_gui->activateTab("meta_data");
119  $this->checkPermission('write');
120  $md_gui = new ilObjectMetaDataGUI($this->object);
121  $this->ctrl->forwardCommand($md_gui);
122  break;
123 
124  case 'ilpermissiongui':
125  $perm_gui = new ilPermissionGUI($this);
126  $this->ctrl->forwardCommand($perm_gui);
127  break;
128 
129  case 'ilobjectcopygui':
130  $cp = new ilObjectCopyGUI($this);
131  $cp->setType('spl');
132  $this->ctrl->forwardCommand($cp);
133  break;
134 
135  case 'ilinfoscreengui':
136  $this->tabs_gui->activateTab("info_short");
137  $this->infoScreenForward();
138  break;
139 
140  case "ilcommonactiondispatchergui":
142  $this->ctrl->forwardCommand($gui);
143  break;
144 
145  case strtolower(\ILIAS\SurveyQuestionPool\Settings\SettingsGUI::class):
146  $this->checkPermission("write");
147  $this->tabs_gui->activateTab("settings");
148  $gui = $this->gui->settings()->settingsGUI(
149  $this->object->getId(),
150  $this->object->getRefId()
151  );
152  $this->ctrl->forwardCommand($gui);
153  break;
154 
155  case strtolower(ilExportGUI::class):
156  $export = new ilExportGUI($this, $this->object);
157  $this->ctrl->forwardCommand($export);
158  break;
159 
160  case "":
161  $cmd .= "Object";
162  $this->$cmd();
163  break;
164 
165  default:
167  $q_type,
168  $this->edit_request->getQuestionId()
169  );
170  $this->log->debug("- This is the switch/case default, going to question id =" . $this->edit_request->getQuestionId());
171  $q_gui->setQuestionTabs();
172  $this->ctrl->forwardCommand($q_gui);
173 
174  // not on create
175  if ($q_gui->object->isComplete()) {
176  $this->tpl->setTitle($this->lng->txt("question") . ": " . $q_gui->object->getTitle());
177  }
178  break;
179  }
180  if (strtolower($this->edit_request->getBaseClass()) !== "iladministrationgui" &&
181  $this->getCreationMode() !== true) {
182  $this->tpl->printToStdout();
183  }
184  }
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
Class ilObjectMetaDataGUI.
GUI class for the workflow of copying objects.
ILIAS SurveyQuestionPool InternalGUIService $gui
prepareOutput(bool $show_sub_objects=true)
Interface Observer Contains several chained tasks and infos about them.
static _getQuestionGUI(?string $questiontype, int $question_id=-1)
Creates a question gui representation.
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
+ Here is the call graph for this function:

◆ exportObject()

ilObjSurveyQuestionPoolGUI::exportObject ( )

list all export files

Definition at line 472 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$object, ilObjectGUI\checkPermission(), ILIAS\Repository\ctrl(), and null.

472  : void
473  {
474  $export = new ilExportGUI($this, $this->object);
475  $export->listExportFiles();
476  }
+ Here is the call graph for this function:

◆ exportQuestionExportTabObject()

ilObjSurveyQuestionPoolGUI::exportQuestionExportTabObject ( )

Definition at line 243 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

243  : void
244  {
245  $qids = $this->http->wrapper()->query()->retrieve(
246  "qid",
247  $this->refinery->custom()->transformation(function (string $value) {
248  $value = urldecode($value);
249  return explode(',', $value);
250  })
251  );
252  $this->createExportFileObject($qids);
253  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ exportQuestionObject()

ilObjSurveyQuestionPoolGUI::exportQuestionObject ( )

export a question

Definition at line 232 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\lng(), and questionsObject().

232  : void
233  {
234  $qids = $this->edit_request->getQuestionIds();
235  if (count($qids) > 0) {
236  $this->createExportFileObject($qids);
237  } else {
238  $this->tpl->setOnScreenMessage('info', $this->lng->txt("qpl_export_select_none"));
239  $this->questionsObject();
240  }
241  }
questionsObject()
list questions of question pool
+ Here is the call graph for this function:

◆ filterQuestionBrowserObject()

ilObjSurveyQuestionPoolGUI::filterQuestionBrowserObject ( )

Definition at line 390 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl().

390  : void
391  {
392  $table_gui = new ilSurveyQuestionsTableGUI($this, 'questions');
393  $table_gui->writeFilterToSession();
394  $this->ctrl->redirect($this, 'questions');
395  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ getImportForm()

ilObjSurveyQuestionPoolGUI::getImportForm ( )

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

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ilFileInputGUI\setSuffixes().

Referenced by importQuestionsObject(), and uploadQuestionsObject().

333  {
334  $form = new ilPropertyFormGUI();
335  $form->setFormAction($this->ctrl->getFormAction($this, "uploadQuestions"));
336  $form->setTitle($this->lng->txt("import_question"));
337 
338  $fi = new ilFileInputGUI($this->lng->txt("select_file"), "qtidoc");
339  $fi->setSuffixes(array("xml", "zip"));
340  $fi->setRequired(true);
341  $form->addItem($fi);
342 
343  $form->addCommandButton("uploadQuestions", $this->lng->txt("import"));
344  $form->addCommandButton("questions", $this->lng->txt("cancel"));
345  return $form;
346  }
This class represents a file property in a property form.
setSuffixes(array $a_suffixes)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilObjSurveyQuestionPoolGUI::getTabs ( )
protected

Definition at line 690 of file class.ilObjSurveyQuestionPoolGUI.php.

References $help, ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ilHelpGUI\setScreenIdComponent().

690  : void
691  {
692  $ilHelp = $this->help;
693  $ilHelp->setScreenIdComponent("spl");
694 
695  if ($this->checkPermissionBool("read")) {
696  $this->tabs_gui->addTab(
697  "survey_questions",
698  $this->lng->txt("survey_questions"),
699  $this->ctrl->getLinkTarget($this, 'questions')
700  );
701 
702  $this->tabs_gui->addTab(
703  "info_short",
704  $this->lng->txt("info_short"),
705  $this->ctrl->getLinkTarget($this, "infoScreen")
706  );
707  }
708 
709  if ($this->checkPermissionBool('write')) {
710  $this->tabs_gui->addTab(
711  "settings",
712  $this->lng->txt("settings"),
713  $this->ctrl->getLinkTargetByClass(\ILIAS\SurveyQuestionPool\Settings\SettingsGUI::class)
714  );
715 
716  // meta data
717  $mdgui = new ilObjectMetaDataGUI($this->object);
718  $mdtab = $mdgui->getTab();
719  if ($mdtab) {
720  $this->tabs_gui->addTab(
721  "meta_data",
722  $this->lng->txt("meta_data"),
723  $mdtab
724  );
725  }
726 
727  // export
728  $this->tabs_gui->addTab(
729  "export",
730  $this->lng->txt("export"),
731  $this->ctrl->getLinkTarget($this, 'export')
732  );
733  }
734 
735  if ($this->checkPermissionBool("edit_permission")) {
736  $this->tabs_gui->addTab(
737  "perm_settings",
738  $this->lng->txt("perm_settings"),
739  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm")
740  );
741  }
742  }
Class ilObjectMetaDataGUI.
Interface Observer Contains several chained tasks and infos about them.
setScreenIdComponent(string $a_comp)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
+ Here is the call graph for this function:

◆ importFile()

ilObjSurveyQuestionPoolGUI::importFile ( string  $file_to_import,
string  $path_to_uploaded_file_in_temp_dir 
)
protected

Definition at line 634 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$tpl, ilObjectGUI\deleteUploadedImportFile(), ILIAS\Repository\lng(), ilObjectGUI\putObjectInTree(), and ilUtil\redirect().

634  : void
635  {
636  $unzip = $this->archives->unzip(Streams::ofResource(fopen($file_to_import, 'r')));
637  # If export contains a manifest xml use standard import
638  if (in_array(basename($file_to_import, ".zip") . DIRECTORY_SEPARATOR . "manifest.xml", iterator_to_array($unzip->getFiles()))) {
639  parent::importFile($file_to_import, $path_to_uploaded_file_in_temp_dir);
640  return;
641  }
642  $tpl = $this->tpl;
643 
644  $newObj = new ilObjSurveyQuestionPool();
645  $newObj->setTitle("dummy");
646  $newObj->create();
647  $this->putObjectInTree($newObj);
648 
649  // import qti data
650  $newObj->importObject($file_to_import);
651 
652  if ($path_to_uploaded_file_in_temp_dir !== ''
653  && $this->temp_file_system->hasDir($path_to_uploaded_file_in_temp_dir)) {
654  $this->temp_file_system->deleteDir($path_to_uploaded_file_in_temp_dir);
655  }
656 
657  $this->deleteUploadedImportFile($path_to_uploaded_file_in_temp_dir);
658  $this->tpl->setOnScreenMessage('success', $this->lng->txt("object_imported"), true);
659  ilUtil::redirect("ilias.php?ref_id=" . $newObj->getRefId() .
660  "&baseClass=ilObjSurveyQuestionPoolGUI");
661  }
Class ilObjSurveyQuestionPool.
deleteUploadedImportFile(string $path_to_uploaded_file_in_temp_dir)
ilGlobalTemplateInterface $tpl
putObjectInTree(ilObject $obj, ?int $parent_node_id=null)
Add object to tree at given position.
static redirect(string $a_script)
+ Here is the call graph for this function:

◆ importQuestionsObject()

ilObjSurveyQuestionPoolGUI::importQuestionsObject ( )

display the import form to import questions into the question pool

Definition at line 325 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$tpl, getImportForm(), and ILIAS\UICore\GlobalTemplate\setContent().

325  : void
326  {
327  $tpl = $this->tpl;
328  $form = $this->getImportForm();
329  $tpl->setContent($form->getHTML());
330  }
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ infoScreenForward()

ilObjSurveyQuestionPoolGUI::infoScreenForward ( )

show information screen

Definition at line 619 of file class.ilObjSurveyQuestionPoolGUI.php.

References $info, ilObjectGUI\checkPermission(), ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

Referenced by executeCommand().

619  : void
620  {
621  if (!$this->checkPermissionBool("read")) {
622  $this->checkPermission("visible");
623  }
624 
625  $info = new ilInfoScreenGUI($this);
626  $info->enablePrivateNotes();
627 
628  // standard meta data
629  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
630 
631  $this->ctrl->forwardCommand($info);
632  }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
$info
Definition: entry_point.php:21
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreenObject()

ilObjSurveyQuestionPoolGUI::infoScreenObject ( )

this one is called from the info button in the repository

Definition at line 611 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl().

611  : void
612  {
613  $this->ctrl->redirectByClass(ilInfoScreenGUI::class, "showSummary");
614  }
+ Here is the call graph for this function:

◆ moveObject()

ilObjSurveyQuestionPoolGUI::moveObject ( )

mark one or more question objects for moving

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

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

215  : void
216  {
217  $qids = $this->edit_request->getQuestionIds();
218  if (count($qids) > 0) {
219  foreach ($qids as $key => $value) {
220  $this->object->moveToClipboard($value);
221  }
222  $this->tpl->setOnScreenMessage('info', $this->lng->txt("spl_move_insert_clipboard"), true);
223  } else {
224  $this->tpl->setOnScreenMessage('info', $this->lng->txt("spl_move_select_none"), true);
225  }
226  $this->ctrl->redirect($this, "questions");
227  }
+ Here is the call graph for this function:

◆ pasteObject()

ilObjSurveyQuestionPoolGUI::pasteObject ( )

paste questions from the clipboard into the question pool

Definition at line 311 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

311  : void
312  {
313  $clip_questions = $this->edit_manager->getQuestionsFromClipboard();
314  if (count($clip_questions) > 0) {
315  $this->object->pasteFromClipboard();
316  } else {
317  $this->tpl->setOnScreenMessage('info', $this->lng->txt("spl_paste_no_objects"), true);
318  }
319  $this->ctrl->redirect($this, "questions");
320  }
+ Here is the call graph for this function:

◆ previewObject()

ilObjSurveyQuestionPoolGUI::previewObject ( )

create preview of object

Definition at line 597 of file class.ilObjSurveyQuestionPoolGUI.php.

References SurveyQuestionGUI\_getQuestionGUI(), and ILIAS\Repository\ctrl().

597  : void
598  {
600  "",
601  $this->edit_request->getPreview()
602  );
603  $this->ctrl->setParameterByClass(get_class($q_gui), "sel_question_types", $q_gui->getQuestionType());
604  $this->ctrl->setParameterByClass(get_class($q_gui), "q_id", $this->edit_request->getPreview());
605  $this->ctrl->redirectByClass(get_class($q_gui), "preview");
606  }
static _getQuestionGUI(?string $questiontype, int $question_id=-1)
Creates a question gui representation.
+ Here is the call graph for this function:

◆ propertiesObject()

ilObjSurveyQuestionPoolGUI::propertiesObject ( ?ilPropertyFormGUI  $a_form = null)

Edit question pool properties.

Definition at line 189 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl().

189  : void
190  {
191  $this->ctrl->redirectByClass(\ILIAS\SurveyQuestionPool\Settings\SettingsGUI::class);
192  }
Interface Observer Contains several chained tasks and infos about them.
+ Here is the call graph for this function:

◆ questionsObject()

ilObjSurveyQuestionPoolGUI::questionsObject ( )

list questions of question pool

Definition at line 407 of file class.ilObjSurveyQuestionPoolGUI.php.

References ilObjectGUI\$data, ilObjectGUI\$toolbar, ilObjectGUI\$user, ilObjSurveyQuestionPool\_getQuestiontypes(), ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

Referenced by deleteQuestionsObject(), and exportQuestionObject().

407  : void
408  {
409  $this->tabs_gui->activateTab("survey_questions");
410  $ilUser = $this->user;
411  $ilToolbar = $this->toolbar;
412 
413  $this->object->purgeQuestions();
414 
415  if ($this->checkPermissionBool('write')) {
416  $qtypes = new ilSelectInputGUI("", "sel_question_types");
417  $qtypes->setValue($ilUser->getPref("svy_lastquestiontype"));
418  $ilToolbar->addInputItem($qtypes);
419 
420  $options = array();
421  foreach (ilObjSurveyQuestionPool::_getQuestiontypes() as $translation => $data) {
422  $options[$data["type_tag"]] = $translation;
423  }
424  $qtypes->setOptions($options);
425 
426  $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
427 
428  $this->gui->button(
429  $this->lng->txt("svy_create_question"),
430  "createQuestion"
431  )->submit()->toToolbar();
432 
433  $ilToolbar->addSeparator();
434  /*
435  $this->gui->button(
436  $this->lng->txt("import"),
437  "importQuestions"
438  )->submit()->toToolbar();
439  */
440  }
441 
442  $table_gui = new ilSurveyQuestionsTableGUI($this, 'questions', $this->checkPermissionBool('write'));
443  $table_gui->setEditable($this->checkPermissionBool('write'));
444  $arrFilter = array();
445  foreach ($table_gui->getFilterItems() as $item) {
446  if ($item->getValue() !== false) {
447  $arrFilter[$item->getPostVar()] = $item->getValue();
448  }
449  }
450  $table_gui->setData($this->object->getQuestionsData($arrFilter));
451  $this->tpl->setContent($table_gui->getHTML());
452  }
This class represents a selection list property in a property form.
ilToolbarGUI $toolbar
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
static _getQuestiontypes()
Get all available question types.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetfilterQuestionBrowserObject()

ilObjSurveyQuestionPoolGUI::resetfilterQuestionBrowserObject ( )

Definition at line 397 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl().

397  : void
398  {
399  $table_gui = new ilSurveyQuestionsTableGUI($this, 'questions');
400  $table_gui->resetFilter();
401  $this->ctrl->redirect($this, 'questions');
402  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ saveObligatoryObject()

ilObjSurveyQuestionPoolGUI::saveObligatoryObject ( )

Save obligatory states.

Definition at line 747 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

747  : void
748  {
749  $obligatory = $this->edit_request->getObligatory();
750  $this->object->setObligatoryStates($obligatory);
751 
752  $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_obj_modified'), true);
753  $this->ctrl->redirect($this, "questions");
754  }
+ Here is the call graph for this function:

◆ updateObject()

ilObjSurveyQuestionPoolGUI::updateObject ( )

Definition at line 454 of file class.ilObjSurveyQuestionPoolGUI.php.

References ILIAS\Repository\lng().

454  : void
455  {
456  $this->update = $this->object->update();
457  $this->tpl->setOnScreenMessage('success', $this->lng->txt("msg_obj_modified"), true);
458  }
+ Here is the call graph for this function:

◆ uploadQuestionsObject()

ilObjSurveyQuestionPoolGUI::uploadQuestionsObject ( )

imports question(s) into the questionpool

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

References ilObjectGUI\$error, ilObjectGUI\$tpl, ILIAS\Repository\ctrl(), getImportForm(), ilFileUtils\moveUploadedFile(), and ILIAS\UICore\GlobalTemplate\setContent().

351  : void
352  {
353  $form = $this->getImportForm();
354  if ($form->checkInput()) {
355  // check if file was uploaded
356  $source = $_FILES["qtidoc"]["tmp_name"];
357  $error = 0;
358  if (($source === 'none') || (!$source) || $_FILES["qtidoc"]["error"] > UPLOAD_ERR_OK) {
359  $error = 1;
360  }
361  // check correct file type
362  if (!$error && strpos("xml", $_FILES["qtidoc"]["type"]) !== false) {
363  $error = 1;
364  }
365  if (!$error) {
366  // import file into questionpool
367  // create import directory
368  $this->object->createImportDirectory();
369 
370  // copy uploaded file to import directory
371  $full_path = $this->object->getImportDirectory() . "/" . $_FILES["qtidoc"]["name"];
372 
374  $_FILES["qtidoc"]["tmp_name"],
375  $_FILES["qtidoc"]["name"],
376  $full_path
377  );
378  $source = $full_path;
379  $this->object->importObject($source, true);
380  unlink($source);
381  }
382  $this->ctrl->redirect($this, "questions");
383  } else {
384  $form->setValuesByPost();
385  $tpl = $this->tpl;
386  $tpl->setContent($form->getHTML());
387  }
388  }
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
static moveUploadedFile(string $a_file, string $a_name, string $a_target, bool $a_raise_errors=true, string $a_mode="move_uploaded")
move uploaded file
ilErrorHandling $error
+ Here is the call graph for this function:

Field Documentation

◆ $archives

ILIASArchives ilObjSurveyQuestionPoolGUI::$archives
protected

Definition at line 48 of file class.ilObjSurveyQuestionPoolGUI.php.

◆ $defaultscript

string ilObjSurveyQuestionPoolGUI::$defaultscript

Definition at line 49 of file class.ilObjSurveyQuestionPoolGUI.php.

◆ $edit_manager

ILIAS SurveyQuestionPool Editing EditManager ilObjSurveyQuestionPoolGUI::$edit_manager
protected

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

◆ $edit_request

EditingGUIRequest ilObjSurveyQuestionPoolGUI::$edit_request
protected

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

◆ $gui

ILIAS SurveyQuestionPool InternalGUIService ilObjSurveyQuestionPoolGUI::$gui
protected

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

◆ $help

ilHelpGUI ilObjSurveyQuestionPoolGUI::$help
protected

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

Referenced by getTabs().

◆ $log

ilLogger ilObjSurveyQuestionPoolGUI::$log
protected

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

◆ $nav_history

ilNavigationHistory ilObjSurveyQuestionPoolGUI::$nav_history
protected

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

Referenced by executeCommand().

◆ $refinery

RefineryFactory ilObjSurveyQuestionPoolGUI::$refinery
protected

Definition at line 47 of file class.ilObjSurveyQuestionPoolGUI.php.

◆ $update

bool ilObjSurveyQuestionPoolGUI::$update
protected

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


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