ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjPollGUI Class Reference

Class ilObjPollGUI. More...

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

Public Member Functions

 __construct ($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
 Constructor.
 getType ()
 Functions that must be overwritten.
 setTabs ()
 create tabs (repository/workspace switch)
 executeCommand ()
 execute command
 render ($a_form=null)
 Render object context.
 saveQuestion ()
 showParticipants ()
 showParticipantVotes ()
 confirmDeleteAllVotes ()
 deleteAllVotes ()
 vote ()
 subscribe ()
 unsubscribe ()
 getHTML ()
 return user view
 addLocatorItems ()
 Functions to be overwritten.
- Public Member Functions inherited from ilObject2GUI
 delete ()
 Display delete confirmation form (repository/workspace switch)
 confirmedDelete ()
 Delete objects (repository/workspace switch)
 withReferences ()
 Final/Private declaration of unchanged parent methods.
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui
 getCreationMode ()
 get creation mode
 isVisible ()
 trash ()
 undelete ()
 cancelDelete ()
 removeFromSystem ()
 cloneAll ()
 view ()
 view object content (repository/workspace switch)
 create ()
 Deleted in ilObject.
 save ()
 edit ()
 update ()
 cancel ()
 importFile ()
 Import.
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public.
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled
 cancelDeleteObject ()
 cancel deletion of object
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 createObject ()
 create new object form
 cancelCreation ()
 cancel create action and go back to repository parent
 saveObject ()
 save object
 editObject ()
 edit object
 updateObject ()
 updates object entry in object_data
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g.
 isVisible ($a_ref_id, $a_type)
 viewObject ()
 list childs of current object
 deleteObject ($a_error=false)
 Display deletion confirmation screen.
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI.

Static Public Member Functions

static _goto ($a_target)
 Deep link.
- Static Public Member Functions inherited from ilObject2GUI
static handleAfterSaveCallback (ilObject $a_obj, $a_callback_ref_id)
 After creation callback.
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root.
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root.

Protected Member Functions

 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook.
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form.
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields.
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput())
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object.
 initQuestionForm ($a_read_only=false)
 setParticipantsSubTabs ($a_active)
 sendNotifications ()
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here.
 assignObject ()
 create object instance as internal property (repository/workspace switch)
 getAccessHandler ()
 Get access handler.
 setLocator ()
 set Locator
 deleteConfirmation ()
 Display delete confirmation form (workspace specific)
 deleteConfirmedObjects ()
 Delete objects (workspace specific)
 prepareOutput ()
 prepare output
 setTitleAndDescription ()
 called by prepare output
 showUpperIcon ()
 omitLocator ($a_omit=true)
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g.
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command
 getCenterColumnHTML ()
 Get center column.
 getRightColumnHTML ()
 Display right column.
 setColumnSettings ($column_gui)
 May be overwritten in subclasses.
 checkPermission ($a_perm, $a_cmd="")
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu)
 redirectToRefId ()
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning.
 fillCloneSearchTemplate ($a_tpl_varname, $a_type)
 searchCloneSource ()
 buildCloneSelect ($existing_objs)
 addAdminLocatorItems ()
 getReturnLocation ()
 Deprecated functions.
 setReturnLocation ()
 showActions ()
 getTitlesByRefId ()
 getTabs ()
 __showButton ()
 hitsperpageObject ()
 __initTableGUI ()
 __setTableGUIBasicData ()
 initCreationForms ($a_new_type)
 Init creation froms.
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position.
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
 Check permission.
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu.
 redrawHeaderAction ()
 Updating icons after ajax call.
 getPermanentLinkWidget ($a_append=null, $a_center=false)
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting.
- Protected Member Functions inherited from ilObjectGUI
 insertHeaderAction ($a_list_gui)
 Insert header action into main template.
 addHeaderAction ()
 Add header action menu.
 redrawHeaderActionObject ()
 Ajax call: redraw action header only.
 showMountWebfolderIcon ()
 setAdminTabs ()
 set admin tabs public
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded)
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion)
 initCreateForm ($a_new_type)
 Init object creation form.
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types.
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates.
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen.
 initEditForm ()
 Init object edit form.
 getEditFormValues ()
 Get values for edit form.
 afterUpdate ()
 Post (successful) object update hook.
 initImportForm ($a_new_type)
 Init object import form.
 importFileObject ($parent_id=null)
 Import.
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook.
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g.
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl.
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste
 getTabs (&$tabs_gui)
 get tabs abstract method.
 __showButton ($a_cmd, $a_text, $a_target= '')
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table
 redirectToRefId ($a_ref_id, $a_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 $_GET["ref_id"] value
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error.
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files.

Additional Inherited Members

- Data Fields inherited from ilObject2GUI
 $tree
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
- Protected Attributes inherited from ilObject2GUI
 $object_id
 $node_id
 $creation_forms = array()
 $id_type = array()
 $parent_id
 $access_handler

Detailed Description

Constructor & Destructor Documentation

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

Constructor.

Parameters
int$a_id
int$a_id_type
int$a_parent_node_id

Reimplemented from ilObject2GUI.

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

References ilObjectGUI\$lng.

{
global $lng;
parent::__construct($a_id, $a_id_type, $a_parent_node_id);
$lng->loadLanguageModule("poll");
}

Member Function Documentation

static ilObjPollGUI::_goto (   $a_target)
static

Deep link.

Parameters
string$a_target

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

References $_GET, ilObjectGUI\$ref_id, ilObject2GUI\$tree, ilLink\_getLink(), ilObject\_lookupObjId(), exit, and ilUtil\redirect().

{
global $tree, $ilAccess;
$id = explode("_", $a_target);
$ref_id = $id[0];
// #13728 - used in notification mostly
if ($ilAccess->checkAccess("write", "", $ref_id))
{
$_GET["baseClass"] = "ilRepositoryGUI";
$_GET["ref_id"] = $ref_id;
$_GET["cmd"] = "showParticipants";
include("ilias.php");
exit;
}
else
{
// is sideblock: so show parent instead
$container_id = $tree->getParentId($ref_id);
// #11810
include_once "Services/Link/classes/class.ilLink.php";
"#poll".ilObject::_lookupObjId($id[0]));
}
}

+ Here is the call graph for this function:

ilObjPollGUI::addLocatorItems ( )

Functions to be overwritten.

Reimplemented from ilObject2GUI.

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

References ilObject2GUI\$node_id.

{
global $ilLocator;
if (is_object($this->object))
{
$ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, ""), "", $this->node_id);
}
}
ilObjPollGUI::afterSave ( ilObject  $a_new_object)
protected

Post (successful) object creation hook.

Parameters
ilObject$a_new_object

Reimplemented from ilObjectGUI.

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

References $ilCtrl, and ilUtil\sendSuccess().

{
global $ilCtrl;
ilUtil::sendSuccess($this->lng->txt("object_added"), true);
$ilCtrl->redirect($this, "render");
}

+ Here is the call graph for this function:

ilObjPollGUI::confirmDeleteAllVotes ( )

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

References ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObject2GUI\checkPermissionBool(), and ilUtil\sendInfo().

{
global $lng, $tpl, $ilTabs;
if(!$this->checkPermissionBool("write"))
{
ilUtil::sendInfo($lng->txt("no_permission"));
return;
}
$ilTabs->activateTab("participants");
include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
$cgui = new ilConfirmationGUI();
$cgui->setHeaderText($lng->txt("poll_delete_votes_sure"));
$cgui->setFormAction($this->ctrl->getFormAction($this));
$cgui->setCancel($lng->txt("cancel"), "showParticipants");
$cgui->setConfirm($lng->txt("confirm"), "deleteAllVotes");
$tpl->setContent($cgui->getHTML());
}

+ Here is the call graph for this function:

ilObjPollGUI::deleteAllVotes ( )

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

References $ilCtrl, ilObjectGUI\$lng, ilObject2GUI\checkPermissionBool(), and ilUtil\sendInfo().

{
global $ilCtrl, $lng;
if(!$this->checkPermissionBool("write"))
{
ilUtil::sendInfo($lng->txt("no_permission"));
return;
}
$this->object->deleteAllVotes();
$ilCtrl->redirect($this, "showParticipants");
}

+ Here is the call graph for this function:

ilObjPollGUI::executeCommand ( )

execute command

Reimplemented from ilObject2GUI.

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

References $cmd, $ilCtrl, ilObjectGUI\$tpl, ilObject2GUI\getAccessHandler(), ilObject2GUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), and ilObject2GUI\prepareOutput().

{
global $ilCtrl, $tpl, $ilTabs, $ilNavigationHistory;
$next_class = $ilCtrl->getNextClass($this);
$cmd = $ilCtrl->getCmd();
$tpl->getStandardTemplate();
// add entry to navigation history
if(!$this->getCreationMode() &&
$this->getAccessHandler()->checkAccess("read", "", $this->node_id))
{
$link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "frameset");
$ilNavigationHistory->addItem($this->node_id, $link, "poll");
}
switch($next_class)
{
case "ilinfoscreengui":
$this->prepareOutput();
$this->infoScreenForward();
break;
case "ilcommonactiondispatchergui":
include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
$this->ctrl->forwardCommand($gui);
break;
case "ilpermissiongui":
$this->prepareOutput();
$ilTabs->activateTab("id_permissions");
include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
$perm_gui = new ilPermissionGUI($this);
$this->ctrl->forwardCommand($perm_gui);
break;
case "ilobjectcopygui":
include_once "./Services/Object/classes/class.ilObjectCopyGUI.php";
$cp = new ilObjectCopyGUI($this);
$cp->setType("poll");
$this->ctrl->forwardCommand($cp);
break;
case 'ilexportgui':
$this->prepareOutput();
$ilTabs->activateTab("export");
include_once("./Services/Export/classes/class.ilExportGUI.php");
$exp_gui = new ilExportGUI($this);
$exp_gui->addFormat("xml");
$ilCtrl->forwardCommand($exp_gui);
break;
default:
}
return true;
}

+ Here is the call graph for this function:

ilObjPollGUI::getEditFormCustomValues ( array &  $a_values)
protected

Add values to custom edit fields.

Parameters
array$a_values

Reimplemented from ilObjectGUI.

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

References ilObjectActivation\TIMINGS_ACTIVATION.

{
include_once "Services/Object/classes/class.ilObjectActivation.php";
$a_values["online"] = $this->object->IsOnline();
$a_values["results"] = $this->object->getViewResults();
$a_values["access_type"] = ($this->object->getAccessType() == ilObjectActivation::TIMINGS_ACTIVATION);
$a_values["period"] = $this->object->getVotingPeriod();
$a_values["sort"] = $this->object->getSortResultByVotes();
$a_values["comment"] = $this->object->getShowComments();
$a_values["show_results_as"] = $this->object->getShowResultsAs();
}
ilObjPollGUI::getHTML ( )

return user view

Returns
string

Reimplemented from ilObject2GUI.

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

{
}
ilObjPollGUI::getType ( )

Functions that must be overwritten.

Reimplemented from ilObject2GUI.

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

{
return "poll";
}
ilObjPollGUI::initEditCustomForm ( ilPropertyFormGUI  $a_form)
protected

Add custom fields to update form.

Parameters
ilPropertyFormGUI$a_form

Reimplemented from ilObjectGUI.

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

References $comment, ilObjectGUI\$lng, $results, $section, ilObject\_getAllReferences(), ilPropertyFormGUI\addItem(), ilSubEnabledFormPropertyGUI\addSubItem(), IL_CAL_UNIX, ilFormPropertyGUI\setInfo(), ilFormPropertyGUI\setRequired(), ilDateDurationInputGUI\setShowTime(), ilObjPoll\SHOW_RESULTS_AS_BARCHART, ilObjPoll\SHOW_RESULTS_AS_PIECHART, ilObjPoll\VIEW_RESULTS_AFTER_PERIOD, ilObjPoll\VIEW_RESULTS_AFTER_VOTE, ilObjPoll\VIEW_RESULTS_ALWAYS, and ilObjPoll\VIEW_RESULTS_NEVER.

{
global $lng;
// activation
include_once "Services/Object/classes/class.ilObjectActivation.php";
$this->lng->loadLanguageModule('rep');
$section->setTitle($this->lng->txt('rep_activation_availability'));
$a_form->addItem($section);
// additional info only with multiple references
$act_obj_info = $act_ref_info = "";
if(sizeof(ilObject::_getAllReferences($this->object->getId())) > 1)
{
$act_obj_info = ' '.$this->lng->txt('rep_activation_online_object_info');
$act_ref_info = $this->lng->txt('rep_activation_access_ref_info');
}
$online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'),'online');
$online->setInfo($this->lng->txt('poll_activation_online_info').$act_obj_info);
$a_form->addItem($online);
$act_type = new ilCheckboxInputGUI($this->lng->txt('rep_visibility_until'),'access_type');
// $act_type->setInfo($this->lng->txt('poll_availability_until_info'));
$this->tpl->addJavaScript('./Services/Form/js/date_duration.js');
include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
$dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), "access_period");
$dur->setShowTime(true);
$date = $this->object->getAccessBegin();
$dur->setStart(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
$dur->setStartText($this->lng->txt('rep_activation_limited_start'));
$date = $this->object->getAccessEnd();
$dur->setEnd(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
$dur->setEndText($this->lng->txt('rep_activation_limited_end'));
$act_type->addSubItem($dur);
$a_form->addItem($act_type);
// period/results
$section->setTitle($this->lng->txt('poll_voting_period_and_results'));
$a_form->addItem($section);
$prd = new ilCheckboxInputGUI($this->lng->txt('poll_voting_period_limited'),'period');
$vdur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), "voting_period");
$vdur->setShowTime(true);
$date = $this->object->getVotingPeriodBegin();
$vdur->setStart(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
$vdur->setStartText($this->lng->txt('poll_voting_period_start'));
$date = $this->object->getVotingPeriodEnd();
$vdur->setEnd(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
$vdur->setEndText($this->lng->txt('poll_voting_period_end'));
$prd->addSubItem($vdur);
$a_form->addItem($prd);
$results = new ilRadioGroupInputGUI($lng->txt("poll_view_results"), "results");
$results->setRequired(true);
$results->addOption(new ilRadioOption($lng->txt("poll_view_results_always"),
$results->addOption(new ilRadioOption($lng->txt("poll_view_results_never"),
$results->addOption(new ilRadioOption($lng->txt("poll_view_results_after_vote"),
$results->addOption(new ilRadioOption($lng->txt("poll_view_results_after_period"),
$a_form->addItem($results);
$show_result_as = new ilRadioGroupInputGUI($lng->txt("poll_show_results_as"), "show_results_as");
$show_result_as->setRequired(true);
$result_bar = new ilRadioOption($lng->txt("poll_barchart"),
$show_result_as->addOption($result_bar);
$show_result_as->addOption(new ilRadioOption($lng->txt("poll_piechart"),
$a_form->addItem($show_result_as);
$sort = new ilRadioGroupInputGUI($lng->txt("poll_result_sorting"), "sort");
$sort->setRequired(true);
$sort->addOption(new ilRadioOption($lng->txt("poll_result_sorting_answers"), 0));
$sort->addOption(new ilRadioOption($lng->txt("poll_result_sorting_votes"), 1));
$a_form->addItem($sort);
$section->setTitle($this->lng->txt('poll_comments'));
$a_form->addItem($section);
$comment = new ilCheckboxInputGUI($this->lng->txt('poll_comments'), 'comment');
//$comment->setInfo($this->lng->txt('poll_comments_info'));
$a_form->addItem($comment);
}

+ Here is the call graph for this function:

ilObjPollGUI::initQuestionForm (   $a_read_only = false)
protected

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

References $file, $ilCtrl, $img, ilObjectGUI\$lng, ilRadioOption\setInfo(), and ilFormPropertyGUI\setRequired().

Referenced by render(), and saveQuestion().

{
global $lng, $ilCtrl;
include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
$form = new ilPropertyFormGUI();
$form->setFormAction($ilCtrl->getFormAction($this, "saveQuestion"));
$form->setTitle($lng->txt("obj_poll"));
$question = new ilTextAreaInputGUI($lng->txt("poll_question"), "question");
$question->setRequired(true);
$question->setCols(40);
$question->setRows(2);
$question->setValue($this->object->getQuestion());
$question->setDisabled($a_read_only);
$form->addItem($question);
$dimensions = " (".ilObjPoll::getImageSize()."px)";
$img = new ilImageFileInputGUI($lng->txt("poll_image").$dimensions, "image");
$img->setDisabled($a_read_only);
$form->addItem($img);
// show existing file
$file = $this->object->getImageFullPath(true);
if($file)
{
$img->setImage($file);
}
$anonymous = new ilRadioGroupInputGUI($lng->txt("poll_mode"), "mode");
$anonymous->setRequired(true);
$option = new ilRadioOption($lng->txt("poll_mode_anonymous"), 0);
$option->setInfo($lng->txt("poll_mode_anonymous_info"));
$anonymous->addOption($option);
$option = new ilRadioOption($lng->txt("poll_mode_personal"), 1);
$option->setInfo($lng->txt("poll_mode_personal_info"));
$anonymous->addOption($option);
$anonymous->setValue($this->object->getNonAnonymous());
$anonymous->setDisabled($a_read_only);
$form->addItem($anonymous);
$nanswers = new ilNumberInputGUI($lng->txt("poll_max_number_of_answers"), "nanswers");
$nanswers->setRequired(true);
$nanswers->setMinValue(1);
$nanswers->setSize(3);
$nanswers->setValue($this->object->getMaxNumberOfAnswers());
$nanswers->setDisabled($a_read_only);
$form->addItem($nanswers);
$answers = new ilTextInputGUI($lng->txt("poll_answers"), "answers");
$answers->setRequired(true);
$answers->setMulti(true, true);
$answers->setDisabled($a_read_only);
$form->addItem($answers);
$multi_answers = array();
foreach($this->object->getAnswers() as $idx => $item)
{
if(!$idx)
{
$answers->setValue($item["answer"]);
}
$multi_answers[] = $item["answer"];
}
$answers->setMultiValues($multi_answers);
if(!$a_read_only)
{
$form->addCommandButton("saveQuestion", $lng->txt("save"));
}
return $form;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjPollGUI::render (   $a_form = null)

Render object context.

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

References $ilCtrl, $ilUser, ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObject2GUI\checkPermissionBool(), initQuestionForm(), and ilUtil\sendInfo().

Referenced by saveQuestion().

{
global $tpl, $ilTabs, $ilCtrl, $lng, $ilToolbar, $ilUser;
if(!$this->checkPermissionBool("write"))
{
ilUtil::sendInfo($lng->txt("no_permission"));
return;
}
$ilTabs->activateTab("content");
if(!$a_form)
{
if($this->object->countVotes())
{
$url = $ilCtrl->getLinkTarget($this, "showParticipants");
ilUtil::sendInfo($lng->txt("poll_votes_no_edit").
" <a href=\"".$url."\">&raquo;".$lng->txt("poll_result")."</a>");
}
$a_form = $this->initQuestionForm($this->object->countVotes());
}
$tpl->setPermanentLink('poll', $this->node_id);
$tpl->setContent($a_form->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjPollGUI::saveQuestion ( )

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

References initQuestionForm(), render(), and ilUtil\sendSuccess().

{
$form = $this->initQuestionForm();
if($form->checkInput())
{
$this->object->setQuestion($form->getInput("question"));
$this->object->setNonAnonymous($form->getInput("mode"));
$image = $form->getItemByPostVar("image");
if($_FILES["image"]["tmp_name"])
{
$this->object->uploadImage($_FILES["image"]);
}
else if($image->getDeletionFlag())
{
$this->object->deleteImage();
}
$nr_of_anwers = $this->object->saveAnswers($form->getInput("answers"));
// #15073
$this->object->setMaxNumberOfAnswers(min($form->getInput("nanswers"), $nr_of_anwers));
if($this->object->update())
{
ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
$this->ctrl->redirect($this, "render");
}
}
$form->setValuesByPost();
$this->render($form);
}

+ Here is the call graph for this function:

ilObjPollGUI::sendNotifications ( )
protected

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

References $ilUser, ilNotification\getNotificationsForObject(), ilNotification\TYPE_POLL, and ilNotification\updateNotificationTime().

Referenced by vote().

{
global $ilUser;
// recipients
include_once "./Services/Notification/classes/class.ilNotification.php";
$this->object->getId(), null, true);
if(!sizeof($users))
{
return;
}
include_once "./Services/Notification/classes/class.ilSystemNotification.php";
$ntf = new ilSystemNotification();
$ntf->setLangModules(array("poll"));
$ntf->setRefId($this->ref_id);
if($this->object->getNonAnonymous())
{
$ntf->setChangedByUserId($ilUser->getId());
}
$ntf->setSubjectLangId('poll_vote_notification_subject');
$ntf->setIntroductionLangId('poll_vote_notification_body');
$ntf->setGotoLangId('poll_vote_notification_link');
$ntf->setReasonLangId('poll_vote_notification_reason');
$notified = $ntf->sendMail($users, null, "read");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjPollGUI::setParticipantsSubTabs (   $a_active)
protected

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

References $ilCtrl, and ilObjectGUI\$lng.

Referenced by showParticipants(), and showParticipantVotes().

{
global $ilTabs, $lng, $ilCtrl;
if(!$this->object->getNonAnonymous())
{
return;
}
$ilTabs->addSubTab("result_answers", $lng->txt("poll_result_answers"),
$ilCtrl->getLinkTarget($this, "showParticipants"));
$ilTabs->addSubTab("result_users", $lng->txt("poll_result_users"),
$ilCtrl->getLinkTarget($this, "showParticipantVotes"));
$ilTabs->activateSubTab($a_active);
}

+ Here is the caller graph for this function:

ilObjPollGUI::setTabs ( )

create tabs (repository/workspace switch)

this had to be moved here because of the context-specific permission tab

Reimplemented from ilObject2GUI.

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

References ilObjectGUI\$lng, and ilObject2GUI\checkPermissionBool().

{
global $lng, $ilHelp;
$ilHelp->setScreenIdComponent("poll");
if ($this->checkPermissionBool("write"))
{
$this->tabs_gui->addTab("content",
$lng->txt("content"),
$this->ctrl->getLinkTarget($this, ""));
}
if ($this->checkPermissionBool("write"))
{
$this->tabs_gui->addTab("settings",
$lng->txt("settings"),
$this->ctrl->getLinkTarget($this, "edit"));
$this->tabs_gui->addTab("participants",
$lng->txt("poll_result"),
$this->ctrl->getLinkTarget($this, "showParticipants"));
$this->tabs_gui->addTab("export",
$lng->txt("export"),
$this->ctrl->getLinkTargetByClass("ilexportgui", ""));
}
// will add permissions if needed
}

+ Here is the call graph for this function:

ilObjPollGUI::showParticipants ( )

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

References ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObject2GUI\checkPermissionBool(), ilUtil\sendInfo(), and setParticipantsSubTabs().

{
global $lng, $ilTabs, $tpl;
if(!$this->checkPermissionBool("write"))
{
ilUtil::sendInfo($lng->txt("no_permission"));
return;
}
$ilTabs->activateTab("participants");
$this->setParticipantsSubTabs("result_answers");
include_once "Modules/Poll/classes/class.ilPollAnswerTableGUI.php";
$tbl = new ilPollAnswerTableGUI($this, "showParticipants");
$tpl->setContent($tbl->getHTML());
}

+ Here is the call graph for this function:

ilObjPollGUI::showParticipantVotes ( )

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

References ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObject2GUI\checkPermissionBool(), ilUtil\sendInfo(), and setParticipantsSubTabs().

{
global $ilTabs, $lng, $tpl;
if(!$this->checkPermissionBool("write") ||
!$this->object->getNonAnonymous())
{
ilUtil::sendInfo($lng->txt("no_permission"));
return;
}
$ilTabs->activateTab("participants");
$this->setParticipantsSubTabs("result_users");
include_once "Modules/Poll/classes/class.ilPollUserTableGUI.php";
$tbl = new ilPollUserTableGUI($this, "showParticipantVotes");
$tpl->setContent($tbl->getHTML());
}

+ Here is the call graph for this function:

ilObjPollGUI::subscribe ( )

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

References $ilUser, ilObjectGUI\$lng, ilObject2GUI\$tree, ilLink\_getLink(), ilUtil\redirect(), ilUtil\sendSuccess(), ilNotification\setNotification(), and ilNotification\TYPE_POLL.

{
global $ilUser, $tree, $lng;
include_once "./Services/Notification/classes/class.ilNotification.php";
ilNotification::setNotification(ilNotification::TYPE_POLL, $ilUser->getId(), $this->object->getId(), true);
ilUtil::sendSuccess($lng->txt("settings_saved"), true);
include_once "Services/Link/classes/class.ilLink.php";
ilUtil::redirect(ilLink::_getLink($tree->getParentId($this->ref_id)));
}

+ Here is the call graph for this function:

ilObjPollGUI::unsubscribe ( )

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

References $ilUser, ilObjectGUI\$lng, ilObject2GUI\$tree, ilLink\_getLink(), ilUtil\redirect(), ilUtil\sendSuccess(), ilNotification\setNotification(), and ilNotification\TYPE_POLL.

{
global $ilUser, $tree, $lng;
include_once "./Services/Notification/classes/class.ilNotification.php";
ilNotification::setNotification(ilNotification::TYPE_POLL, $ilUser->getId(), $this->object->getId(), false);
ilUtil::sendSuccess($lng->txt("settings_saved"), true);
include_once "Services/Link/classes/class.ilLink.php";
ilUtil::redirect(ilLink::_getLink($tree->getParentId($this->ref_id)));
}

+ Here is the call graph for this function:

ilObjPollGUI::updateCustom ( ilPropertyFormGUI  $a_form)
protected

Insert custom update form values into object.

Parameters
ilPropertyFormGUI$a_form

Reimplemented from ilObjectGUI.

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

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

{
$this->object->setViewResults($a_form->getInput("results"));
$this->object->setOnline($a_form->getInput("online"));
$this->object->setSortResultByVotes($a_form->getInput("sort"));
$this->object->setShowComments($a_form->getInput("comment"));
$this->object->setShowResultsAs($a_form->getInput("show_results_as"));
include_once "Services/Object/classes/class.ilObjectActivation.php";
if($a_form->getInput("access_type"))
{
$this->object->setAccessType(ilObjectActivation::TIMINGS_ACTIVATION);
$period = $a_form->getItemByPostVar("access_period");
$this->object->setAccessBegin($period->getStart()->get(IL_CAL_UNIX));
$this->object->setAccessEnd($period->getEnd()->get(IL_CAL_UNIX));
}
else
{
$this->object->setAccessType(ilObjectActivation::TIMINGS_DEACTIVATED);
}
if($a_form->getInput("period"))
{
$this->object->setVotingPeriod(1);
$period = $a_form->getItemByPostVar("voting_period");
$this->object->setVotingPeriodBegin($period->getStart()->get(IL_CAL_UNIX));
$this->object->setVotingPeriodEnd($period->getEnd()->get(IL_CAL_UNIX));
}
else
{
$this->object->setVotingPeriod(0);
}
}

+ Here is the call graph for this function:

ilObjPollGUI::validateCustom ( ilPropertyFormGUI  $a_form)
protected

Validate custom values (if not possible with checkInput())

Parameters
ilPropertyFormGUI$a_form
Returns
boolean

Reimplemented from ilObjectGUI.

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

References ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ilUtil\sendFailure(), and ilObjPoll\VIEW_RESULTS_AFTER_PERIOD.

{
// #14606
if(!$a_form->getInput("period") &&
{
ilUtil::sendFailure($this->lng->txt("form_input_not_valid"));
$a_form->getItemByPostVar("results")->setAlert($this->lng->txt("poll_view_results_after_period_impossible"));
return false;
}
return parent::validateCustom($a_form);
}

+ Here is the call graph for this function:

ilObjPollGUI::vote ( )

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

References $_POST, $_SESSION, $ilUser, ilObject2GUI\$tree, $valid, ilLink\_getLink(), ilUtil\redirect(), and sendNotifications().

{
global $tree, $ilUser;
$valid = true;
if($this->object->getMaxNumberOfAnswers() > 1)
{
if(sizeof($_POST["aw"]) > $this->object->getMaxNumberOfAnswers())
{
$valid = false;
}
if(!sizeof($_POST["aw"]))
{
$valid = false;
}
}
else
{
if((int)!$_POST["aw"])
{
$valid = false;
}
}
if($valid)
{
unset($_SESSION["last_poll_vote"][$this->object->getId()]);
$this->object->saveVote($ilUser->getId(), $_POST["aw"]);
}
else
{
$_SESSION["last_poll_vote"][$this->object->getId()] = $_POST["aw"];
}
include_once "Services/Link/classes/class.ilLink.php";
ilUtil::redirect(ilLink::_getLink($tree->getParentId($this->ref_id)));
}

+ Here is the call graph for this function:


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