ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilPollBlockGUI Class Reference

BlockGUI class for polls. More...

+ Inheritance diagram for ilPollBlockGUI:
+ Collaboration diagram for ilPollBlockGUI:

Public Member Functions

 __construct ()
 Constructor.
 setBlock ($a_block)
 Do most of the initialisation.
executeCommand ()
 execute command
 fillRow ($a_poll)
 getHTML ()
 Get block HTML code.
- Public Member Functions inherited from ilBlockGUI
 ilBlockGUI ()
 Constructor.
 addHeaderLink ($a_href, $a_text, $status=true)
 getHeaderLinks ()
 setData ($a_data)
 Set Data.
 getData ()
 Get Data.
 setBigMode ($a_bigmode)
 Set Big Mode.
 getBigMode ()
 Get Big Mode.
 setBlockId ($a_block_id=0)
 Set Block Id.
 getBlockId ()
 Get Block Id.
 setAvailableDetailLevels ($a_max, $a_min=0)
 Set Available Detail Levels.
 setCurrentDetailLevel ($a_currentdetaillevel)
 Set Current Detail Level.
 setGuiObject (&$a_gui_object)
 Set GuiObject.
 getGuiObject ()
 Get GuiObject.
 getCurrentDetailLevel ()
 Get Current Detail Level.
 setTitle ($a_title)
 Set Title.
 getTitle ()
 Get Title.
 setImage ($a_image)
 Set Image.
 getImage ()
 Get Image.
 setOffset ($a_offset)
 Set Offset.
 getOffset ()
 Get Offset.
 correctOffset ()
 setLimit ($a_limit)
 Set Limit.
 getLimit ()
 Get Limit.
 setEnableEdit ($a_enableedit)
 Set EnableEdit.
 getEnableEdit ()
 Get EnableEdit.
 setRepositoryMode ($a_repositorymode)
 Set RepositoryMode.
 getRepositoryMode ()
 Get RepositoryMode.
 setFooterInfo ($a_footerinfo, $a_hide_and_icon=false)
 Set Footer Info.
 getFooterInfo ($a_hide_and_icon=false)
 Get Footer Info.
 setSubtitle ($a_subtitle)
 Set Subtitle.
 getSubtitle ()
 Get Subtitle.
 setRefId ($a_refid)
 Set Ref Id (only used if isRepositoryObject() is true).
 getRefId ()
 Get Ref Id (only used if isRepositoryObject() is true).
 setAdminCommands ($a_admincommands)
 Set Administration Commmands.
 getAdminCommands ()
 Get Administration Commmands.
 setColSpan ($a_colspan)
 Set Columns Span.
 getColSpan ()
 Get Columns Span.
 setEnableDetailRow ($a_enabledetailrow)
 Set EnableDetailRow.
 getEnableDetailRow ()
 Get EnableDetailRow.
 setEnableNumInfo ($a_enablenuminfo)
 Set Enable Item Number Info.
 getEnableNumInfo ()
 Get Enable Item Number Info.
 setProperties ($a_properties)
 This function is supposed to be used for block type specific properties, that should be inherited through ilColumnGUI->setBlockProperties.
 getProperty ($a_property)
 setProperty ($a_property, $a_value)
 setRowTemplate ($a_rowtemplatename, $a_rowtemplatedir="")
 Set Row Template Name.
 getNavParameter ()
 getDetailParameter ()
 getConfigParameter ()
 getMoveParameter ()
 getRowTemplateName ()
 Get Row Template Name.
 getRowTemplateDir ()
 Get Row Template Directory.
 addBlockCommand ($a_href, $a_text, $a_target="", $a_img="", $a_right_aligned=false, $a_checked=false)
 Add Block Command.
 getBlockCommands ()
 Get Block commands.
 addHeaderCommand ($a_href, $a_text, $a_as_close=false)
 Add Header Block Command.
 getHeaderCommands ()
 Get Header Block commands.
 addFooterLink ($a_text, $a_href="", $a_onclick="", $a_block_id="", $a_top=false, $a_omit_separator=false, $a_checked=false)
 Add a footer text/link.
 getFooterLinks ()
 Get footer links.
 clearFooterLinks ()
 Clear footer links.
 handleDetailLevel ()
 Handle read/write current detail level.
 fillHeaderCommands ()
 Fill header commands block.
 fillHeaderTitleBlock ()
 Fill header title block (title and.
 setDataSection ($a_content)
 Call this from overwritten fillDataSection(), if standard row based data is not used.
 fillDataSection ()
 Standard implementation for row based data.
 fillFooter ()
 fillPreviousNext ()
 Fill previous/next row.
 setPreviousNextLinks ()
 Get previous/next linkbar.
 fillFooterLinks ($a_top=false, $a_numinfo="")
 Fill footer links.
 fillDetailRow ()
 Fill Detail Setting Row.

Static Public Member Functions

static getBlockType ()
 Get block type.
static isRepositoryObject ()
 Get block type.
static getScreenMode ()
 Get Screen Mode for current command.

Static Public Attributes

static $block_type = "poll"

Protected Attributes

 $poll_block
- Protected Attributes inherited from ilBlockGUI
 $data = array()
 $colspan = 1
 $enablenuminfo = true
 $detail_min = 0
 $detail_max = 0
 $bigmode = false
 $footer_links = array()
 $block_id = 0
 $header_commands = array()
 $allow_moving = true
 $move = array("left" => false, "right" => false, "up" => false, "down" => false)
 $enabledetailrow = true
 $header_links = array()
 $footerinfo = false
 $footerinfo_icon = false
 $block_commands = array()
 $max_count = false
 $close_command = false
 $image = false
 $property = false
 $nav_value = ""
 $css_row = ""
 $dropdown

Additional Inherited Members

- Protected Member Functions inherited from ilBlockGUI
 fillRowColor ($a_placeholder="CSS_ROW")
 preloadData (array $data)
 Can be overwritten in subclasses.

Detailed Description

BlockGUI class for polls.

Author
Jörg Lützenkirchen
Version
$Id$

ilPollBlockGUI: ilColumnGUI

Definition at line 17 of file class.ilPollBlockGUI.php.

Constructor & Destructor Documentation

ilPollBlockGUI::__construct ( )

Constructor.

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

References $lng, and ilBlockGUI\setRowTemplate().

{
global $lng;
$lng->loadLanguageModule("poll");
$this->setRowTemplate("tpl.block.html", "Modules/Poll");
}

+ Here is the call graph for this function:

Member Function Documentation

& ilPollBlockGUI::executeCommand ( )

execute command

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

References $cmd, and $ilCtrl.

{
global $ilCtrl;
$next_class = $ilCtrl->getNextClass();
$cmd = $ilCtrl->getCmd("getHTML");
switch ($next_class)
{
default:
return $this->$cmd();
}
}
ilPollBlockGUI::fillRow (   $a_poll)

Reimplemented from ilBlockGUI.

Definition at line 90 of file class.ilPollBlockGUI.php.

References $_SESSION, $ilCtrl, $ilUser, $img, $lng, $total, ilDatePresentation\formatDate(), ilBlockGUI\getRefId(), IL_CAL_UNIX, ilDatePresentation\setUseRelativeDates(), and ilDatePresentation\useRelativeDates().

{
global $ilCtrl, $lng, $ilUser;
// handle messages
$mess = $this->poll_block->getMessage($ilUser->getId());
if($mess)
{
$this->tpl->setVariable("TXT_QUESTION", $mess);
return;
}
// nested form problem
if(!$_SESSION["il_cont_admin_panel"])
{
// vote
if($this->poll_block->mayVote($ilUser->getId()))
{
$this->tpl->setCurrentBlock("answer");
foreach($a_poll->getAnswers() as $item)
{
$this->tpl->setVariable("VALUE_ANSWER", $item["id"]);
$this->tpl->setVariable("TXT_ANSWER_VOTE", nl2br($item["answer"]));
$this->tpl->parseCurrentBlock();
}
$ilCtrl->setParameterByClass("ilobjpollgui",
"ref_id", $this->getRefId());
$url = $ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjpollgui"),
"vote");
$ilCtrl->clearParametersByClass("ilobjpollgui");
$url .= "#poll".$a_poll->getID();
$this->tpl->setVariable("URL_FORM", $url);
$this->tpl->setVariable("CMD_FORM", "vote");
$this->tpl->setVariable("TXT_SUBMIT", $lng->txt("poll_vote"));
if($this->poll_block->getPoll()->getVotingPeriod())
{
$this->tpl->setVariable("TXT_VOTING_PERIOD",
sprintf($lng->txt("poll_voting_period_info"),
ilDatePresentation::formatDate(new ilDateTime($this->poll_block->getPoll()->getVotingPeriodEnd(), IL_CAL_UNIX))));
}
}
// result
if($this->poll_block->maySeeResults($ilUser->getId()))
{
if(!$this->poll_block->mayNotResultsYet($ilUser->getId()))
{
$perc = $this->poll_block->getPoll()->getVotePercentages();
$total = $perc["total"];
$perc = $perc["perc"];
$this->tpl->setVariable("TOTAL_ANSWERS", sprintf($lng->txt("poll_population"), $total));
$this->tpl->setCurrentBlock("answer_result");
foreach($a_poll->getAnswers() as $item)
{
$this->tpl->setVariable("TXT_ANSWER_RESULT", nl2br($item["answer"]));
$this->tpl->setVariable("PERC_ANSWER_RESULT", round($perc[$item["id"]]["perc"]));
$this->tpl->parseCurrentBlock();
}
}
else
{
$end = $this->poll_block->getPoll()->getVotingPeriodEnd();
// #14607
$info = "";
if($this->poll_block->getPoll()->hasUserVoted($ilUser->getId()))
{
$info .= $lng->txt("poll_block_message_already_voted")." ";
}
$this->tpl->setVariable("TOTAL_ANSWERS", $info.
sprintf($lng->txt("poll_block_results_available_on"), $end));
}
}
else if($this->poll_block->getPoll()->hasUserVoted($ilUser->getId()))
{
$this->tpl->setVariable("TOTAL_ANSWERS", $lng->txt("poll_block_message_already_voted"));
}
}
$this->tpl->setVariable("ANCHOR_ID", $a_poll->getID());
$this->tpl->setVariable("TXT_QUESTION", nl2br(trim($a_poll->getQuestion())));
$desc = trim($a_poll->getDescription());
if($desc)
{
$this->tpl->setVariable("TXT_DESC", nl2br($desc));
}
$img = $a_poll->getImageFullPath();
if($img)
{
$this->tpl->setVariable("URL_IMAGE", $img);
}
}

+ Here is the call graph for this function:

static ilPollBlockGUI::getBlockType ( )
static

Get block type.

Returns
string Block type.

Reimplemented from ilBlockGUI.

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

References $block_type.

{
}
ilPollBlockGUI::getHTML ( )

Get block HTML code.

Reimplemented from ilBlockGUI.

Definition at line 205 of file class.ilPollBlockGUI.php.

References $ilCtrl, $ilUser, $lng, ilBlockGUI\addBlockCommand(), ilBlockGUI\getRefId(), ilBlockGUI\setData(), and ilBlockGUI\setTitle().

{
global $ilCtrl, $lng, $ilAccess, $ilUser, $tree, $objDefinition;
$this->poll_block->setRefId($this->getRefId());
$this->may_write = $ilAccess->checkAccess("write", "", $this->getRefId());
$this->has_content = $this->poll_block->hasAnyContent($ilUser->getId(), $this->getRefId());
if(!$this->may_write && !$this->has_content)
{
return "";
}
$poll_obj = $this->poll_block->getPoll();
$this->setTitle($poll_obj->getTitle());
$this->setData(array($poll_obj));
if ($this->may_write)
{
// edit
$ilCtrl->setParameterByClass("ilobjpollgui",
"ref_id", $this->getRefId());
$ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjpollgui"),
"render"),
$lng->txt("edit_content"));
$ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjpollgui"),
"edit"),
$lng->txt("settings"));
/* delete (#10993 - see ilBlockGUI)
$parent_id = $tree->getParentId($this->getRefId());
$type = ilObject::_lookupType($parent_id, true);
$class = $objDefinition->getClassName($type);
if($class)
{
$class = "ilobj".strtolower($class)."gui";
$ilCtrl->setParameterByClass($class, "ref_id", $parent_id);
$ilCtrl->setParameterByClass($class, "item_ref_id", $this->getRefId());
$this->addBlockCommand(
$ilCtrl->getLinkTargetByClass($class, "delete"),
$lng->txt("delete"));
}
*/
$ilCtrl->clearParametersByClass("ilobjpollgui");
}
return parent::getHTML();
}

+ Here is the call graph for this function:

static ilPollBlockGUI::getScreenMode ( )
static

Get Screen Mode for current command.

Reimplemented from ilBlockGUI.

Definition at line 59 of file class.ilPollBlockGUI.php.

References IL_SCREEN_SIDE.

{
return IL_SCREEN_SIDE;
}
static ilPollBlockGUI::isRepositoryObject ( )
static

Get block type.

Returns
string Block type.

Reimplemented from ilBlockGUI.

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

{
return true;
}
ilPollBlockGUI::setBlock (   $a_block)

Do most of the initialisation.

Definition at line 67 of file class.ilPollBlockGUI.php.

References ilBlockGUI\setBlockId().

{
$this->setBlockId($a_block->getId());
$this->poll_block = $a_block;
}

+ Here is the call graph for this function:

Field Documentation

ilPollBlockGUI::$block_type = "poll"
static

Definition at line 19 of file class.ilPollBlockGUI.php.

Referenced by getBlockType().

ilPollBlockGUI::$poll_block
protected

Definition at line 21 of file class.ilPollBlockGUI.php.


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