ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilObjPollGUI Class Reference

Class ilObjPollGUI. More...

+ Inheritance diagram for ilObjPollGUI:
+ Collaboration diagram for ilObjPollGUI:

Public Member Functions

 __construct (int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
 
 getType ()
 
 executeCommand ()
 
 render (?ilPropertyFormGUI $a_form=null)
 
 saveQuestion ()
 
 showParticipants ()
 
 showParticipantVotes ()
 
 confirmDeleteAllVotes ()
 
 deleteAllVotes ()
 
 vote ()
 
 subscribe ()
 
 unsubscribe ()
 
- Public Member Functions inherited from ilObject2GUI
 __construct (int $id=0, int $id_type=self::REPOSITORY_NODE_ID, int $parent_node_id=0)
 
 executeCommand ()
 execute command More...
 
 getIdType ()
 
 delete ()
 Display delete confirmation form (repository/workspace switch) More...
 
 confirmedDelete ()
 Delete objects (repository/workspace switch) More...
 
 getHTML ()
 
 withReferences ()
 Final/Private declaration of unchanged parent methods. More...
 
 setCreationMode (bool $mode=true)
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 isVisible (int $ref_id, string $type)
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 view ()
 view object content (repository/workspace switch) More...
 
 getType ()
 Functions that must be overwritten. More...
 
 create ()
 CRUD. More...
 
 save ()
 
 edit ()
 
 update ()
 
 cancel ()
 
 putObjectInTree (ilObject $obj, ?int $parent_node_id=null)
 Add object to tree at given position. 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)
 
- Static Public Member Functions inherited from ilObject2GUI
static handleAfterSaveCallback (ilObject $obj, ?int $callback_ref_id)
 After creation callback. 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)
 

Protected Member Functions

 afterSave (ilObject $new_object)
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 
 getEditFormCustomValues (array &$a_values)
 
 validateCustom (ilPropertyFormGUI $form)
 
 updateCustom (ilPropertyFormGUI $form)
 
 setTabs ()
 
 initQuestionForm (bool $a_read_only=false)
 
 setParticipantsSubTabs (string $a_active)
 
 sendNotifications ()
 
 addLocatorItems ()
 
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here. More...
 
 assignObject ()
 create object instance as internal property (repository/workspace switch) More...
 
 getAccessHandler ()
 
 setLocator ()
 set Locator More...
 
 deleteConfirmedObjects ()
 Delete objects (workspace specific) This should probably be moved elsewhere as done with RepUtil. More...
 
 setTitleAndDescription ()
 
 omitLocator (bool $omit=true)
 
 getTargetFrame (string $cmd, string $target_frame="")
 
 setTargetFrame (string $cmd, string $target_frame)
 
 getCenterColumnHTML ()
 
 getRightColumnHTML ()
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 showPossibleSubObjects ()
 
 redirectToRefId (int $ref_id, string $cmd="")
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 
 setTabs ()
 create tabs (repository/workspace switch) More...
 
 getReturnLocation (string $cmd, string $location="")
 Deprecated functions. More...
 
 setReturnLocation (string $cmd, string $location)
 
 showActions ()
 
 getTabs ()
 
 addLocatorItems ()
 Functions to be overwritten. More...
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $node_id=null)
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 redrawHeaderAction ()
 Updating icons after ajax call. More...
 
- 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

ilHelpGUI $help
 
ilTabsGUI $tabs
 
ilNavigationHistory $nav_history
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
DataFactory $data_factory
 
PollImageFactoryInterface $poll_image_factory
 
- Protected Attributes inherited from ilObject2GUI
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ilFavouritesManager $favourites
 
ilErrorHandling $error
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilToolbarGUI $toolbar
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Factory $refinery
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
int $request_ref_id
 
int $id_type
 
int $parent_id
 
string $type
 
string $html
 
int $object_id
 
int $node_id = null
 
array $creation_forms = []
 
 $access_handler
 
- Protected Attributes inherited from ilObjectGUI
ILIAS Notes Service $notes_service
 
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
 
ilObjectCustomIconFactory $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 = ""
 

Additional Inherited Members

- Data Fields inherited from ilObject2GUI
const OBJECT_ID = 0
 
const REPOSITORY_NODE_ID = 1
 
const WORKSPACE_NODE_ID = 2
 
const REPOSITORY_OBJECT_ID = 3
 
const WORKSPACE_OBJECT_ID = 4
 
const PORTFOLIO_OBJECT_ID = 5
 
- 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]
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjPollGUI::__construct ( int  $a_id = 0,
int  $a_id_type = self::REPOSITORY_NODE_ID,
int  $a_parent_node_id = 0 
)

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

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ILIAS\Repository\locator(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

47  {
48  global $DIC;
49 
50  $this->lng = $DIC->language();
51  $this->ctrl = $DIC->ctrl();
52  $this->help = $DIC["ilHelp"];
53  $this->tpl = $DIC["tpl"];
54  $this->tabs = $DIC->tabs();
55  $this->nav_history = $DIC["ilNavigationHistory"];
56  $this->toolbar = $DIC->toolbar();
57  $this->user = $DIC->user();
58  $this->tree = $DIC->repositoryTree();
59  $this->locator = $DIC["ilLocator"];
60  $this->ui_factory = $DIC->ui()->factory();
61  $this->ui_renderer = $DIC->ui()->renderer();
62  $this->poll_image_factory = new PollImageFactory();
63  $this->data_factory = new DataFactory();
64 
65  parent::__construct($a_id, $a_id_type, $a_parent_node_id);
66 
67  $this->lng->loadLanguageModule("poll");
68  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: shib_login.php:22
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjPollGUI::_goto ( string  $a_target)
static

Definition at line 647 of file class.ilObjPollGUI.php.

References $DIC, ilObjectGUI\$id, ilObjectGUI\$ref_id, ilObjectGUI\$tree, ilObject\_lookupObjId(), ilTree\getParentId(), ILIAS\Repository\int(), and ilUtil\redirect().

647  : void
648  {
649  global $DIC;
650 
651  $tree = $DIC->repositoryTree();
652  $ilAccess = $DIC->access();
653  $ilCtrl = $DIC->ctrl();
654 
655  $id = explode("_", $a_target);
656  $ref_id = (int) ($id[0] ?? 0);
657 
658  // #13728 - used in notification mostly
659  if ($ilAccess->checkAccess("write", "", $ref_id)) {
660  $ilCtrl->setParameterByClass(self::class, "ref_id", $ref_id);
661  $ilCtrl->redirectByClass([ilRepositoryGUI::class, self::class,], "showParticipants");
662  } else {
663  // is sideblock: so show parent instead
664  $container_id = $tree->getParentId($ref_id);
665 
666  // #11810
667  ilUtil::redirect(ilLink::_getLink($container_id) .
668  "#poll" . ilObject::_lookupObjId($ref_id));
669  }
670  }
static _lookupObjId(int $ref_id)
global $DIC
Definition: shib_login.php:22
getParentId(int $a_node_id)
get parent id of given node
static redirect(string $a_script)
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjPollGUI::addLocatorItems ( )
protected

Definition at line 640 of file class.ilObjPollGUI.php.

References ilObject2GUI\$node_id, ILIAS\Repository\ctrl(), ILIAS\Repository\locator(), and ILIAS\Repository\object().

640  : void
641  {
642  if (is_object($this->object)) {
643  $this->locator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, ""), "", $this->node_id);
644  }
645  }
+ Here is the call graph for this function:

◆ afterSave()

ilObjPollGUI::afterSave ( ilObject  $new_object)
protected

Definition at line 75 of file class.ilObjPollGUI.php.

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

75  : void
76  {
77  $this->tpl->setOnScreenMessage('success', $this->lng->txt("object_added"), true);
78  $this->ctrl->redirect($this, "render");
79  }
+ Here is the call graph for this function:

◆ confirmDeleteAllVotes()

ilObjPollGUI::confirmDeleteAllVotes ( )

Definition at line 534 of file class.ilObjPollGUI.php.

References ilObject2GUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

534  : void
535  {
536  if (!$this->checkPermissionBool("write")) {
537  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_permission"));
538  return;
539  }
540 
541  $this->tabs->activateTab("participants");
542 
543  $cgui = new ilConfirmationGUI();
544  $cgui->setHeaderText($this->lng->txt("poll_delete_votes_sure"));
545 
546  $cgui->setFormAction($this->ctrl->getFormAction($this));
547  $cgui->setCancel($this->lng->txt("cancel"), "showParticipants");
548  $cgui->setConfirm($this->lng->txt("confirm"), "deleteAllVotes");
549 
550  $this->tpl->setContent($cgui->getHTML());
551  }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
+ Here is the call graph for this function:

◆ deleteAllVotes()

ilObjPollGUI::deleteAllVotes ( )

Definition at line 553 of file class.ilObjPollGUI.php.

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

553  : void
554  {
555  if (!$this->checkPermissionBool("write")) {
556  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_permission"));
557  return;
558  }
559 
560  $this->object->deleteAllVotes();
561 
562  $this->ctrl->redirect($this, "showParticipants");
563  }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
+ Here is the call graph for this function:

◆ executeCommand()

ilObjPollGUI::executeCommand ( )

Definition at line 267 of file class.ilObjPollGUI.php.

References ILIAS\Repository\ctrl(), ilObject2GUI\getAccessHandler(), ilObject2GUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), ilObject2GUI\prepareOutput(), and ILIAS\Repository\tabs().

267  : void
268  {
269  $next_class = $this->ctrl->getNextClass($this);
270  $cmd = $this->ctrl->getCmd();
271 
272  $this->tpl->loadStandardTemplate();
273 
274  // add entry to navigation history
275  if (!$this->getCreationMode() &&
276  $this->getAccessHandler()->checkAccess("read", "", $this->node_id)) {
277  $link = $this->ctrl->getLinkTargetByClass("ilrepositorygui", "frameset");
278  $this->nav_history->addItem($this->node_id, $link, "poll");
279  }
280 
281  switch ($next_class) {
282  case "ilcommonactiondispatchergui":
284  $this->ctrl->forwardCommand($gui);
285  break;
286 
287  case "ilpermissiongui":
288  $this->prepareOutput();
289  $this->tabs->activateTab("id_permissions");
290  $perm_gui = new ilPermissionGUI($this);
291  $this->ctrl->forwardCommand($perm_gui);
292  break;
293 
294  case "ilobjectcopygui":
295  $cp = new ilObjectCopyGUI($this);
296  $cp->setType("poll");
297  $this->ctrl->forwardCommand($cp);
298  break;
299 
300  case 'ilexportgui':
301  $this->prepareOutput();
302  $this->tabs->activateTab("export");
303  $exp_gui = new ilExportGUI($this);
304  $this->ctrl->forwardCommand($exp_gui);
305  break;
306 
307  default:
308  parent::executeCommand();
309  }
310  }
GUI class for the workflow of copying objects.
prepareOutput(bool $show_sub_objects=true)
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
+ Here is the call graph for this function:

◆ getEditFormCustomValues()

ilObjPollGUI::getEditFormCustomValues ( array &  $a_values)
protected

Definition at line 161 of file class.ilObjPollGUI.php.

References IL_CAL_UNIX, null, and ILIAS\Repository\object().

161  : void
162  {
163  $a_values["online"] = !$this->object->getOfflineStatus();
164  $a_values["results"] = $this->object->getViewResults();
165  $a_values["access_period"]["start"] = $this->object->getAccessBegin()
166  ? new ilDateTime($this->object->getAccessBegin(), IL_CAL_UNIX)
167  : null;
168  $a_values["access_period"]["end"] = $this->object->getAccessEnd()
169  ? new ilDateTime($this->object->getAccessEnd(), IL_CAL_UNIX)
170  : null;
171  $a_values["voting_period"]["start"] = $this->object->getVotingPeriodBegin()
172  ? new ilDateTime($this->object->getVotingPeriodBegin(), IL_CAL_UNIX)
173  : null;
174  $a_values["voting_period"]["end"] = $this->object->getVotingPeriodEnd()
175  ? new ilDateTime($this->object->getVotingPeriodEnd(), IL_CAL_UNIX)
176  : null;
177  $a_values["sort"] = (string) (int) $this->object->getSortResultByVotes();
178  $a_values["comment"] = $this->object->getShowComments();
179  $a_values["show_results_as"] = $this->object->getShowResultsAs();
180  }
const IL_CAL_UNIX
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ getType()

ilObjPollGUI::getType ( )

Definition at line 70 of file class.ilObjPollGUI.php.

70  : string
71  {
72  return "poll";
73  }

◆ initEditCustomForm()

ilObjPollGUI::initEditCustomForm ( ilPropertyFormGUI  $a_form)
protected

Definition at line 81 of file class.ilObjPollGUI.php.

References $comment, $results, ilObject\_getAllReferences(), ilPropertyFormGUI\addItem(), ilRadioGroupInputGUI\addOption(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ilObjPoll\SHOW_RESULTS_AS_BARCHART, ilObjPoll\SHOW_RESULTS_AS_STACKED_CHART, ilObjPoll\VIEW_RESULTS_AFTER_PERIOD, ilObjPoll\VIEW_RESULTS_AFTER_VOTE, ilObjPoll\VIEW_RESULTS_ALWAYS, and ilObjPoll\VIEW_RESULTS_NEVER.

81  : void
82  {
83  // activation
84  $this->lng->loadLanguageModule('rep');
85 
86  $section = new ilFormSectionHeaderGUI();
87  $section->setTitle($this->lng->txt('rep_activation_availability'));
88  $a_form->addItem($section);
89 
90  // additional info only with multiple references
91  $act_obj_info = $act_ref_info = "";
92  if (count(ilObject::_getAllReferences($this->object->getId())) > 1) {
93  $act_obj_info = ' ' . $this->lng->txt('rep_activation_online_object_info');
94  $act_ref_info = $this->lng->txt('rep_activation_access_ref_info');
95  }
96 
97  $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online');
98  $online->setInfo($this->lng->txt('poll_activation_online_info') . $act_obj_info);
99  $a_form->addItem($online);
100 
101  $dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_based_availability'), "access_period");
102  $dur->setShowTime(true);
103  $a_form->addItem($dur);
104 
105 
106  // period/results
107 
108  $section = new ilFormSectionHeaderGUI();
109  $section->setTitle($this->lng->txt('poll_voting_period_and_results'));
110  $a_form->addItem($section);
111 
112  $vdur = new ilDateDurationInputGUI($this->lng->txt('poll_voting_period_limited'), "voting_period");
113  $vdur->setShowTime(true);
114  $a_form->addItem($vdur);
115 
116  $results = new ilRadioGroupInputGUI($this->lng->txt("poll_view_results"), "results");
117  $results->addOption(new ilRadioOption(
118  $this->lng->txt("poll_view_results_always"),
120  ));
121  $results->addOption(new ilRadioOption(
122  $this->lng->txt("poll_view_results_never"),
124  ));
125  $results->addOption(new ilRadioOption(
126  $this->lng->txt("poll_view_results_after_vote"),
128  ));
129  $results->addOption(new ilRadioOption(
130  $this->lng->txt("poll_view_results_after_period"),
132  ));
133  $a_form->addItem($results);
134 
135  $show_result_as = new ilRadioGroupInputGUI($this->lng->txt("poll_show_results_as"), "show_results_as");
136  $result_bar = new ilRadioOption(
137  $this->lng->txt("poll_barchart"),
139  );
140  $show_result_as->addOption($result_bar);
141  $show_result_as->addOption(new ilRadioOption(
142  $this->lng->txt("poll_stacked_chart"),
144  ));
145  $a_form->addItem($show_result_as);
146 
147  $sort = new ilRadioGroupInputGUI($this->lng->txt("poll_result_sorting"), "sort");
148  $sort->addOption(new ilRadioOption($this->lng->txt("poll_result_sorting_answers"), "0"));
149  $sort->addOption(new ilRadioOption($this->lng->txt("poll_result_sorting_votes"), "1"));
150  $a_form->addItem($sort);
151 
152  $section = new ilFormSectionHeaderGUI();
153  $section->setTitle($this->lng->txt('poll_comments'));
154  $a_form->addItem($section);
155 
156  $comment = new ilCheckboxInputGUI($this->lng->txt('poll_comments'), 'comment');
157  //$comment->setInfo($this->lng->txt('poll_comments_info'));
158  $a_form->addItem($comment);
159  }
This class represents an option in a radio group.
const int VIEW_RESULTS_ALWAYS
const int VIEW_RESULTS_AFTER_PERIOD
const int SHOW_RESULTS_AS_BARCHART
static _getAllReferences(int $id)
get all reference ids for object ID
const int SHOW_RESULTS_AS_STACKED_CHART
addOption(ilRadioOption $a_option)
This class represents a property in a property form.
$results
$comment
Definition: buildRTE.php:72
const int VIEW_RESULTS_AFTER_VOTE
const int VIEW_RESULTS_NEVER
+ Here is the call graph for this function:

◆ initQuestionForm()

ilObjPollGUI::initQuestionForm ( bool  $a_read_only = false)
protected

Definition at line 343 of file class.ilObjPollGUI.php.

References $url, ILIAS\Repository\ctrl(), ilObjPoll\getImageSize(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ilFormPropertyGUI\setDisabled(), ilFormPropertyGUI\setInfo(), and ilFormPropertyGUI\setRequired().

Referenced by render(), and saveQuestion().

344  {
345  $form = new ilPropertyFormGUI();
346  $form->setFormAction($this->ctrl->getFormAction($this, "saveQuestion"));
347  $form->setTitle($this->lng->txt("obj_poll"));
348 
349  $question = new ilTextAreaInputGUI($this->lng->txt("poll_question"), "question");
350  $question->setRequired(true);
351  $question->setCols(40);
352  $question->setRows(2);
353  $question->setValue($this->object->getQuestion());
354  $question->setDisabled($a_read_only);
355  $form->addItem($question);
356 
357  $dimensions = " (" . ilObjPoll::getImageSize() . "px)";
358  $img = new ilImageFileInputGUI($this->lng->txt("poll_image") . $dimensions, "image");
359  $img->setDisabled($a_read_only);
360  $form->addItem($img);
361 
362  // show existing file
363  $url = $this->poll_image_factory->handler()->getThumbnailImageURL($this->data_factory->objId($this->object_id));
364  if (!is_null($url)) {
365  $img->setImage($url);
366  }
367 
368  $anonymous = new ilRadioGroupInputGUI($this->lng->txt("poll_mode"), "mode");
369  $option = new ilRadioOption($this->lng->txt("poll_mode_anonymous"), "0");
370  $option->setInfo($this->lng->txt("poll_mode_anonymous_info"));
371  $anonymous->addOption($option);
372  $option = new ilRadioOption($this->lng->txt("poll_mode_personal"), "1");
373  $option->setInfo($this->lng->txt("poll_mode_personal_info"));
374  $anonymous->addOption($option);
375  $anonymous->setValue($this->object->getNonAnonymous() ? "1" : "0");
376  $anonymous->setDisabled($a_read_only);
377  $form->addItem($anonymous);
378 
379  $answers = new ilTextInputGUI($this->lng->txt("poll_answers"), "answers");
380  $answers->setRequired(true);
381  $answers->setMulti(true, true);
382  $answers->setDisabled($a_read_only);
383  $form->addItem($answers);
384 
385  $multi_answers = array();
386  foreach ($this->object->getAnswers() as $idx => $item) {
387  $answer = (string) ($item['answer'] ?? '');
388  if (!$idx) {
389  $answers->setValue($answer);
390  }
391  $multi_answers[] = $answer;
392  }
393  $answers->setMultiValues($multi_answers);
394 
395  $answer_count = count($this->object->getAnswers());
396  $limit = new ilCheckboxInputGUI($this->lng->txt("poll_limit_number_of_answers"), 'limit');
397  $limit->setChecked($this->object->getMaxNumberOfAnswers() !== $answer_count);
398  $limit->setDisabled($a_read_only);
399  $nanswers = new ilNumberInputGUI($this->lng->txt("poll_max_number_of_answers"), "nanswers");
400  $nanswers->setRequired(true);
401  $nanswers->setMinValue(1);
402  $nanswers->setSize(3);
403  $max_answers = 1;
404  if ($this->object->getMaxNumberOfAnswers() < $answer_count) {
405  $max_answers = $this->object->getMaxNumberOfAnswers();
406  }
407  $nanswers->setValue((string) $max_answers);
408  $nanswers->setDisabled($a_read_only);
409  $limit->addSubItem($nanswers);
410  $form->addItem($limit);
411 
412  if (!$a_read_only) {
413  $form->addCommandButton("saveQuestion", $this->lng->txt("save"));
414  }
415 
416  return $form;
417  }
This class represents an option in a radio group.
$url
Definition: shib_logout.php:66
This class represents a property in a property form.
This class represents a number property in a property form.
static getImageSize()
setRequired(bool $a_required)
This class represents an image file property in a property form.
This class represents a text area property in a property form.
setDisabled(bool $a_disabled)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ render()

ilObjPollGUI::render ( ?ilPropertyFormGUI  $a_form = null)

Definition at line 312 of file class.ilObjPollGUI.php.

References $message, $url, ilObject2GUI\checkPermissionBool(), ILIAS\Repository\ctrl(), initQuestionForm(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and ILIAS\Repository\tabs().

Referenced by saveQuestion().

312  : void
313  {
314  if (!$this->checkPermissionBool("write")) {
315  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_permission"));
316  return;
317  }
318 
319  $this->tabs->activateTab("question");
320 
321  $message = "";
322  if (!$a_form) {
323  if ($this->object->countVotes()) {
324  $url = $this->ctrl->getLinkTarget($this, "showParticipants");
325 
326  $mbox = $this->ui_factory->messageBox()->info($this->lng->txt("poll_votes_no_edit"))
327  ->withLinks([$this->ui_factory->link()->standard(
328  $this->lng->txt("poll_result"),
329  $url
330  )]);
331 
332  $message = $this->ui_renderer->render($mbox);
333  }
334 
335  $a_form = $this->initQuestionForm((bool) $this->object->countVotes());
336  }
337 
338  $this->tpl->setPermanentLink('poll', $this->node_id);
339 
340  $this->tpl->setContent($message . $a_form->getHTML());
341  }
$url
Definition: shib_logout.php:66
initQuestionForm(bool $a_read_only=false)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
$message
Definition: xapiexit.php:31
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveQuestion()

ilObjPollGUI::saveQuestion ( )

Definition at line 420 of file class.ilObjPollGUI.php.

References $res, ILIAS\Repository\ctrl(), initQuestionForm(), ILIAS\Repository\int(), ILIAS\Repository\lng(), ILIAS\Repository\object(), render(), and ILIAS\Repository\user().

420  : void
421  {
422  $form = $this->initQuestionForm();
423  if ($form->checkInput()) {
424  $prelim_nr_of_answers = count((array) $form->getInput("answers"));
425 
426  if (
427  $form->getInput("limit") &&
428  (int) $form->getInput("nanswers") >= $prelim_nr_of_answers
429  ) {
430  $form->getItemByPostVar('nanswers')->setAlert(
431  $this->lng->txt('poll_limit_not_below_answer_count')
432  );
433  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('form_input_not_valid'));
434  $form->setValuesByPost();
435  $this->render($form);
436  return;
437  }
438 
439  $nr_of_anwers = $this->object->saveAnswers((array) $form->getInput("answers"));
440 
441  if ($form->getInput("limit")) {
442  // #15073
443  $this->object->setMaxNumberOfAnswers(min((int) $form->getInput("nanswers"), $nr_of_anwers));
444  } else {
445  $this->object->setMaxNumberOfAnswers($nr_of_anwers);
446  }
447 
448  $this->object->setQuestion((string) $form->getInput("question"));
449  $this->object->setNonAnonymous((bool) $form->getInput("mode"));
450 
451  $image = $form->getItemByPostVar("image");
452  $res = $form->getFileUpload("image");
453  if (!empty($res)) {
454  $this->object->uploadImage(
455  (string) ($res['tmp_name'] ?? ""),
456  (string) ($res['name'] ?? "")
457  );
458  } elseif ($image->getDeletionFlag()) {
459  $this->poll_image_factory->handler()->deleteImage(
460  $this->data_factory->objId($this->object->getId()),
461  $this->user->getId()
462  );
463  }
464 
465  if ($this->object->update()) {
466  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
467  $this->ctrl->redirect($this, "render");
468  }
469  }
470 
471  $form->setValuesByPost();
472  $this->render($form);
473  }
$res
Definition: ltiservices.php:66
initQuestionForm(bool $a_read_only=false)
render(?ilPropertyFormGUI $a_form=null)
+ Here is the call graph for this function:

◆ sendNotifications()

ilObjPollGUI::sendNotifications ( )
protected

Definition at line 613 of file class.ilObjPollGUI.php.

References ilNotification\getNotificationsForObject(), null, ILIAS\Repository\object(), ilNotification\TYPE_POLL, and ilNotification\updateNotificationTime().

Referenced by vote().

613  : void
614  {
615  // recipients
618  $this->object->getId(),
619  null,
620  true
621  );
622  if (!count($users)) {
623  return;
624  }
625 
626  $ntf = new ilSystemNotification();
627  $ntf->setLangModules(array("poll"));
628  $ntf->setRefId($this->ref_id);
629 
630  $ntf->setSubjectLangId('poll_vote_notification_subject');
631  $ntf->setIntroductionLangId('poll_vote_notification_body');
632  $ntf->setGotoLangId('poll_vote_notification_link');
633  $ntf->setReasonLangId('poll_vote_notification_reason');
634 
635  $notified = $ntf->sendMailAndReturnRecipients($users, null, "read");
636 
638  }
static getNotificationsForObject(int $type, int $id, ?int $page_id=null, bool $ignore_threshold=false)
Get all users/recipients for given object.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static updateNotificationTime(int $type, int $id, array $user_ids, ?int $page_id=null, bool $activate_new_entries=true)
Update the last mail timestamp for given object and users.
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:
+ Here is the caller graph for this function:

◆ setParticipantsSubTabs()

ilObjPollGUI::setParticipantsSubTabs ( string  $a_active)
protected

Definition at line 475 of file class.ilObjPollGUI.php.

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

Referenced by showParticipants(), and showParticipantVotes().

475  : void
476  {
477  if (!$this->object->getNonAnonymous()) {
478  return;
479  }
480 
481  $this->tabs->addSubTab(
482  "result_answers",
483  $this->lng->txt("poll_result_answers"),
484  $this->ctrl->getLinkTarget($this, "showParticipants")
485  );
486  $this->tabs->addSubTab(
487  "result_users",
488  $this->lng->txt("poll_result_users"),
489  $this->ctrl->getLinkTarget($this, "showParticipantVotes")
490  );
491 
492  $this->tabs->activateSubTab($a_active);
493  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTabs()

ilObjPollGUI::setTabs ( )
protected

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

References ilObject2GUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), and ILIAS\Repository\lng().

231  : void
232  {
233  $this->help->setScreenIdComponent("poll");
234 
235  if ($this->checkPermissionBool("write")) {
236  $this->tabs_gui->addTab(
237  "question",
238  $this->lng->txt("question"),
239  $this->ctrl->getLinkTarget($this, "")
240  );
241  }
242 
243  if ($this->checkPermissionBool("write")) {
244  $this->tabs_gui->addTab(
245  "settings",
246  $this->lng->txt("settings"),
247  $this->ctrl->getLinkTarget($this, "edit")
248  );
249 
250  $this->tabs_gui->addTab(
251  "participants",
252  $this->lng->txt("poll_result"),
253  $this->ctrl->getLinkTarget($this, "showParticipants")
254  );
255 
256  $this->tabs_gui->addTab(
257  "export",
258  $this->lng->txt("export"),
259  $this->ctrl->getLinkTargetByClass("ilexportgui", "")
260  );
261  }
262 
263  // will add permissions if needed
264  parent::setTabs();
265  }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
+ Here is the call graph for this function:

◆ showParticipants()

ilObjPollGUI::showParticipants ( )

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

References ilObject2GUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), setParticipantsSubTabs(), ILIAS\Repository\tabs(), and ILIAS\Repository\toolbar().

495  : void
496  {
497  if (!$this->checkPermissionBool("write")) {
498  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_permission"));
499  return;
500  }
501 
502  $this->tabs->activateTab("participants");
503  $this->setParticipantsSubTabs("result_answers");
504 
505  $tbl = new ilPollAnswerTableGUI($this, "showParticipants");
506 
507  if ($tbl->getItems()) {
508  $this->toolbar->addComponent(
509  $this->ui_factory->button()->standard(
510  $this->lng->txt("poll_delete_votes"),
511  $this->ctrl->getLinkTarget($this, 'confirmDeleteAllVotes')
512  )
513  );
514  }
515 
516  $this->tpl->setContent($tbl->getHTML());
517  }
setParticipantsSubTabs(string $a_active)
TableGUI class for poll answers.
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
+ Here is the call graph for this function:

◆ showParticipantVotes()

ilObjPollGUI::showParticipantVotes ( )

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

References ilObject2GUI\checkPermissionBool(), ILIAS\Repository\lng(), ILIAS\Repository\object(), setParticipantsSubTabs(), and ILIAS\Repository\tabs().

519  : void
520  {
521  if (!$this->checkPermissionBool("write") ||
522  !$this->object->getNonAnonymous()) {
523  $this->tpl->setOnScreenMessage('info', $this->lng->txt("no_permission"));
524  return;
525  }
526 
527  $this->tabs->activateTab("participants");
528  $this->setParticipantsSubTabs("result_users");
529 
530  $tbl = new ilPollUserTableGUI($this, "showParticipantVotes");
531  $this->tpl->setContent($tbl->getHTML());
532  }
setParticipantsSubTabs(string $a_active)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
TableGUI class for poll users.
+ Here is the call graph for this function:

◆ subscribe()

ilObjPollGUI::subscribe ( )

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

References ILIAS\Repository\lng(), ilUtil\redirect(), ilNotification\setNotification(), ilNotification\TYPE_POLL, and ILIAS\Repository\user().

597  : void
598  {
599  ilNotification::setNotification(ilNotification::TYPE_POLL, $this->user->getId(), $this->object->getId(), true);
600 
601  $this->tpl->setOnScreenMessage('success', $this->lng->txt("poll_notification_activated"), true);
602  ilUtil::redirect(ilLink::_getLink($this->tree->getParentId($this->ref_id)));
603  }
static setNotification(int $type, int $user_id, int $id, bool $status=true)
Set notification status for object and user.
static redirect(string $a_script)
+ Here is the call graph for this function:

◆ unsubscribe()

ilObjPollGUI::unsubscribe ( )

Definition at line 605 of file class.ilObjPollGUI.php.

References ILIAS\Repository\lng(), ilUtil\redirect(), ilNotification\setNotification(), ilNotification\TYPE_POLL, and ILIAS\Repository\user().

605  : void
606  {
607  ilNotification::setNotification(ilNotification::TYPE_POLL, $this->user->getId(), $this->object->getId(), false);
608 
609  $this->tpl->setOnScreenMessage('success', $this->lng->txt("poll_notification_deactivated"), true);
610  ilUtil::redirect(ilLink::_getLink($this->tree->getParentId($this->ref_id)));
611  }
static setNotification(int $type, int $user_id, int $id, bool $status=true)
Set notification status for object and user.
static redirect(string $a_script)
+ Here is the call graph for this function:

◆ updateCustom()

ilObjPollGUI::updateCustom ( ilPropertyFormGUI  $form)
protected

Definition at line 202 of file class.ilObjPollGUI.php.

References ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), IL_CAL_UNIX, ilObjectActivation\TIMINGS_ACTIVATION, and ilObjectActivation\TIMINGS_DEACTIVATED.

202  : void
203  {
204  $this->object->setViewResults((int) $form->getInput("results"));
205  $this->object->setOfflineStatus(!((string) $form->getInput("online") === "1"));
206  $this->object->setSortResultByVotes((bool) $form->getInput("sort"));
207  $this->object->setShowComments((bool) $form->getInput("comment"));
208  $this->object->setShowResultsAs((int) $form->getInput("show_results_as"));
209 
210  $period = $form->getItemByPostVar("access_period");
211  if ($period->getStart() && $period->getEnd()) {
212  $this->object->setAccessType(ilObjectActivation::TIMINGS_ACTIVATION);
213  $this->object->setAccessBegin($period->getStart()->get(IL_CAL_UNIX));
214  $this->object->setAccessEnd($period->getEnd()->get(IL_CAL_UNIX));
215  } else {
216  $this->object->setAccessType(ilObjectActivation::TIMINGS_DEACTIVATED);
217  }
218 
219  $period = $form->getItemByPostVar("voting_period");
220  if ($period->getStart() && $period->getEnd()) {
221  $this->object->setVotingPeriod(true);
222  $this->object->setVotingPeriodBegin($period->getStart()->get(IL_CAL_UNIX));
223  $this->object->setVotingPeriodEnd($period->getEnd()->get(IL_CAL_UNIX));
224  } else {
225  $this->object->setVotingPeriodBegin(0);
226  $this->object->setVotingPeriodEnd(0);
227  $this->object->setVotingPeriod(false);
228  }
229  }
getItemByPostVar(string $a_post_var)
const IL_CAL_UNIX
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
+ Here is the call graph for this function:

◆ validateCustom()

ilObjPollGUI::validateCustom ( ilPropertyFormGUI  $form)
protected

Definition at line 182 of file class.ilObjPollGUI.php.

References $valid, ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ILIAS\Repository\lng(), and ilObjPoll\VIEW_RESULTS_AFTER_PERIOD.

182  : bool
183  {
184  $valid = true;
185  if ($form->getInput("online") && !$this->object->getAnswers()) {
186  $form->getItemByPostVar("online")->setAlert($this->lng->txt("poll_cannot_set_online_no_answers"));
187  $valid = false;
188  }
189  #20594
190  if (!array_filter($form->getInput("voting_period")) &&
191  (int) $form->getInput("results") === ilObjPoll::VIEW_RESULTS_AFTER_PERIOD) {
192  $form->getItemByPostVar("results")->setAlert($this->lng->txt("poll_view_results_after_period_impossible"));
193  $valid = false;
194  }
195  if (!$valid) {
196  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("form_input_not_valid"));
197  return false;
198  }
199  return parent::validateCustom($form);
200  }
getItemByPostVar(string $a_post_var)
const int VIEW_RESULTS_AFTER_PERIOD
$valid
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
+ Here is the call graph for this function:

◆ vote()

ilObjPollGUI::vote ( )

Definition at line 565 of file class.ilObjPollGUI.php.

References $DIC, $valid, ANONYMOUS_USER_ID, ilSession\get(), ILIAS\Repository\object(), ilUtil\redirect(), sendNotifications(), ilSession\set(), and ILIAS\Repository\user().

565  : void
566  {
567  global $DIC;
568  $aw = (array) ($DIC->http()->request()->getParsedBody()['aw'] ?? array());
569 
570  $valid = true;
571  if ($this->object->getMaxNumberOfAnswers() > 1) {
572  if (count($aw) > $this->object->getMaxNumberOfAnswers()) {
573  $valid = false;
574  }
575  if (!count($aw)) {
576  $valid = false;
577  }
578  } elseif ((int) !$aw) {
579  $valid = false;
580  }
581 
582  $session_last_poll_vote = ilSession::get('last_poll_vote');
583  if ($valid && $this->user->getId() != ANONYMOUS_USER_ID) {
584  unset($session_last_poll_vote[$this->object->getId()]);
585  ilSession::set('last_poll_vote', $session_last_poll_vote);
586  $this->object->saveVote($this->user->getId(), $aw);
587 
588  $this->sendNotifications();
589  } else {
590  $session_last_poll_vote[$this->object->getId()] = $aw;
591  ilSession::set('last_poll_vote', $session_last_poll_vote);
592  }
593 
594  ilUtil::redirect(ilLink::_getLink($this->tree->getParentId($this->ref_id)));
595  }
static get(string $a_var)
const ANONYMOUS_USER_ID
Definition: constants.php:27
$valid
global $DIC
Definition: shib_login.php:22
static redirect(string $a_script)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

Field Documentation

◆ $data_factory

DataFactory ilObjPollGUI::$data_factory
protected

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

◆ $help

ilHelpGUI ilObjPollGUI::$help
protected

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

◆ $nav_history

ilNavigationHistory ilObjPollGUI::$nav_history
protected

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

◆ $poll_image_factory

PollImageFactoryInterface ilObjPollGUI::$poll_image_factory
protected

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

◆ $tabs

ilTabsGUI ilObjPollGUI::$tabs
protected

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

◆ $ui_factory

UIFactory ilObjPollGUI::$ui_factory
protected

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

◆ $ui_renderer

UIRenderer ilObjPollGUI::$ui_renderer
protected

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


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