ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilForumExportGUI Class Reference

Forum export to HTML and Print. More...

+ Collaboration diagram for ilForumExportGUI:

Public Member Functions

 ilForumExportGUI ()
executeCommand ()
 Execute Command.
 printThread ()
 Print Thread.
 printPost ()
 Print Posting.
 exportHTML ()
 Export to HTML.

Detailed Description

Forum export to HTML and Print.

Author
Wolfgang Merkens wmerk.nosp@m.ens@.nosp@m.datab.nosp@m.ay.d.nosp@m.e
Version
$Id$

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

Member Function Documentation

& ilForumExportGUI::executeCommand ( )

Execute Command.

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

References $cmd.

{
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
switch($next_class)
{
default:
return $this->$cmd();
break;
}
}
ilForumExportGUI::exportHTML ( )

Export to HTML.

Definition at line 276 of file class.ilForumExportGUI.php.

References $_GET, $lng, $tpl, ilUtil\deliverData(), exit, ilForumTopic\getFirstPostNode(), ilForumProperties\getInstance(), and ilUtil\switchColor().

{
global $lng, $tpl, $ilDB, $ilUser, $ilAccess, $ilias;
if (!$ilAccess->checkAccess('read,visible', '', $_GET['ref_id']))
{
$ilias->raiseError($lng->txt('permission_denied'), $ilias->error_obj->MESSAGE);
}
$tplEx = new ilTemplate('tpl.forums_export_html.html', true, true, 'Modules/Forum');
// threads
for ($j = 0; $j < count($_POST['forum_id']); $j++)
{
$objCurrentTopic = new ilForumTopic(addslashes($_POST['forum_id'][$j]), $ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']));
// get forum- and thread-data
$this->frm->setWhereCondition('top_pk = '.$ilDB->quote($objCurrentTopic->getForumId()));
if (is_array($frmData = $this->frm->getOneTopic()))
{
$objFirstPostNode = $objCurrentTopic->getFirstPostNode();
$postTree = $objCurrentTopic->getPostTree($objFirstPostNode);
$posNum = count($postTree);
$z = 0;
foreach ($postTree as $post)
{
$tplEx->setCurrentBlock('posts_row');
$rowCol = ilUtil::switchColor($z++, 'tblrow2', 'tblrow1');
$tplEx->setVariable('ROWCOL', $rowCol);
$objForumProperties = ilForumProperties::getInstance($frmData['top_frm_fk']);
if ($objForumProperties->isAnonymized())
{
// if anonymized
if ($post->getUserAlias() != '') $tplEx->setVariable('AUTHOR', $post->getUserAlias());
else $tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
else
{
// get author data
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
if ($post->getUserId())
{
// get create- and update-dates
if ($post->getUpdateUserId())
{
$lastuserdata = $this->frm->getUserData($post->getUpdateUserId());
$tplEx->setVariable('POST_UPDATE', "<br />[".$lng->txt('edited_at').": ".
$this->frm->convertDate($post->getChangeDate())." - ".strtolower($lng->txt('from'))." ".
$lastuserdata['login']."]");
}
if ($author['public_profile'] != 'n')
{
$tplEx->setVariable('TXT_REGISTERED', $lng->txt('registered_since'));
$tplEx->setVariable('REGISTERED_SINCE', $this->frm->convertDate($author['create_date']));
}
if ($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$numPosts = $this->frm->countUserArticles($post->getUserId());
}
else
{
$numPosts = $this->frm->countActiveUserArticles($post->getUserId());
}
$tplEx->setVariable('TXT_NUM_POSTS', $lng->txt('forums_posts'));
$tplEx->setVariable('NUM_POSTS', $numPosts);
}
$tplEx->setVariable('SUBJECT', $post->getSubject());
$tplEx->setVariable('TXT_CREATE_DATE', $lng->txt('forums_thread_create_date'));
$tplEx->setVariable('POST_DATE', $this->frm->convertDate($post->getCreateDate()));
$tplEx->setVariable('SPACER', "<hr noshade width=\"100%\" size=\"1\" align=\"center\" />");
if ($post->isCensored())
{
$tplEx->setVariable('POST', nl2br(stripslashes($post->getCensorshipComment())));
}
else
{
$tplEx->setVariable('POST', nl2br($this->frm->prepareText($post->getMessage(), 0, '', 'export')));
}
$tplEx->parseCurrentBlock('posts_row');
unset($author);
} // foreach ($postTree as $post)
$tplEx->setCurrentBlock('posttable');
$tplEx->setVariable('TXT_AUTHOR', $lng->txt('author'));
$tplEx->setVariable('TXT_POST', $lng->txt('forums_thread').': '.$objCurrentTopic->getSubject());
$tplEx->parseCurrentBlock('posttable');
// Thread Headline
$tplEx->setCurrentBlock('thread_headline');
$tplEx->setVariable('T_TITLE', $objCurrentTopic->getSubject());
if ($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$tplEx->setVariable('T_NUM_POSTS', $objCurrentTopic->countPosts());
}
else
{
$tplEx->setVariable('T_NUM_POSTS', $objCurrentTopic->countActivePosts());
}
$tplEx->setVariable('T_NUM_VISITS', $objCurrentTopic->getVisits());
$tplEx->setVariable('T_FORUM', $frmData['top_name']);
$objForumProperties = ilForumProperties::getInstance($frmData['top_frm_fk']);
if ($objForumProperties->isAnonymized())
{
unset($t_author);
if ($objCurrentTopic->getUserAlias() != '') $tplEx->setVariable('T_AUTHOR', $objCurrentTopic->getUserAlias());
else $tplEx->setVariable('T_AUTHOR', $lng->txt('forums_anonymous'));
}
else
{
unset($t_author);
$t_author = $this->frm->getUser($objCurrentTopic->getUserId());
$tplEx->setVariable('T_AUTHOR', $t_author->getLogin());
}
$tplEx->setVariable('T_TXT_FORUM', $lng->txt('forum').': ');
$tplEx->setVariable('T_TXT_TOPIC', $lng->txt('forums_thread').': ');
$tplEx->setVariable('T_TXT_AUTHOR', $lng->txt('forums_thread_create_from').': ');
$tplEx->setVariable('T_TXT_NUM_POSTS', $lng->txt('forums_articles').': ');
$tplEx->setVariable('T_TXT_NUM_VISITS', $lng->txt('visits').': ');
$tplEx->parseCurrentBlock('thread_headline');
$tplEx->setCurrentBlock('thread_block');
$tplEx->parseCurrentBlock('thread_block');
$tplEx->setCurrentBlock('forum_block');
$tplEx->parseCurrentBlock('forum_block');
} // if (is_array($frmData = $this->frm->getOneTopic()))
} // for ($j = 0; $j < count($_POST["forum_id"]); $j++)
ilUtil::deliverData($tplEx->get(), 'forum_html_export_'.$_GET['ref_id'].'.html');
exit();
}

+ Here is the call graph for this function:

ilForumExportGUI::ilForumExportGUI ( )

Definition at line 36 of file class.ilForumExportGUI.php.

References $ilCtrl, and $lng.

{
global $lng, $ilCtrl, $ilUser;
require_once './Modules/Forum/classes/class.ilForum.php';
$this->frm = new ilForum();
$this->ctrl = $ilCtrl;
$lng->loadLanguageModule('forum');
}
ilForumExportGUI::printPost ( )

Print Posting.

Definition at line 178 of file class.ilForumExportGUI.php.

References $_GET, $lng, $tpl, and ilForumProperties\getInstance().

{
global $tpl, $lng, $ilDB, $ilAccess, $ilias;
if (!$ilAccess->checkAccess('read,visible', '', $_GET['ref_id']))
{
$ilias->raiseError($lng->txt('permission_denied'), $ilias->error_obj->MESSAGE);
}
$tplEx = new ilTemplate('tpl.forums_export_print.html', true, true, 'Modules/Forum');
$tplEx->setVariable('CSSPATH', $tpl->tplPath);
// get forum- and thread-data
$this->frm->setWhereCondition('top_pk = '.$ilDB->quote($_GET['top_pk']));
if (is_array($frmData = $this->frm->getOneTopic()))
{
// post object
$post = new ilForumPost(addslashes($_GET['print_post']));
// headline
$tplEx->setVariable('HEADLINE', $lng->txt('forum').': '.$frmData['top_name'].' > '.
$lng->txt('forums_thread').': '.$post->getThread()->getSubject());
$tplEx->setCurrentBlock('posts_row');
$tplEx->setVariable('ROWCOL', 'tblrow2');
$objForumProperties = ilForumProperties::getInstance($frmData['top_frm_fk']);
if ($objForumProperties->isAnonymized())
{
if ($post->getUserAlias() != '') $tplEx->setVariable('AUTHOR', $post->getUserAlias());
else $tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
else
{
// get author data
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
if ($post->getUserId())
{
// get create- and update-dates
if ($post->getUpdateUserId())
{
$lastuserdata = $this->frm->getUserData($post->getUpdateUserId());
$tplEx->setVariable('POST_UPDATE', "<br />[".$lng->txt('edited_at').": ".
$this->frm->convertDate($post->getChangeDate())." - ".strtolower($lng->txt('from'))." ".$lastuserdata['login']."]");
}
if ($author['public_profile'] != 'n')
{
$tplEx->setVariable('TXT_REGISTERED', $lng->txt('registered_since'));
$tplEx->setVariable('REGISTERED_SINCE', $this->frm->convertDate($author['create_date']));
}
if ($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$numPosts = $this->frm->countUserArticles($post->getUserId());
}
else
{
$numPosts = $this->frm->countActiveUserArticles($post->getUserId());
}
$tplEx->setVariable('TXT_NUM_POSTS', $lng->txt('forums_posts'));
$tplEx->setVariable('NUM_POSTS', $numPosts);
}
$tplEx->setVariable('SUBJECT', $post->getSubject());
$tplEx->setVariable('TXT_CREATE_DATE', $lng->txt('forums_thread_create_date'));
$tplEx->setVariable('POST_DATE', $this->frm->convertDate($post->getCreateDate()));
$tplEx->setVariable('SPACER', "<hr noshade width=\"100%\" size=\"1\" align=\"center\" />");
if ($post->isCensored())
{
$tplEx->setVariable('POST', nl2br(stripslashes($post->getCensorshipComment())));
}
else
{
$tplEx->setVariable('POST', nl2br($this->frm->prepareText($post->getMessage(), 0, '', 'export')));
}
$tplEx->parseCurrentBlock('posts_row');
$tplEx->setCurrentBlock('posttable');
$tplEx->setVariable('TXT_AUTHOR', $lng->txt('author'));
$tplEx->setVariable('TXT_POST', $lng->txt('forums_thread').': '.$post->getThread()->getSubject());
$tplEx->parseCurrentBlock('posttable');
} // if (is_array($frmData = $this->frm->getOneTopic()))
$tplEx->show();
}

+ Here is the call graph for this function:

ilForumExportGUI::printThread ( )

Print Thread.

Definition at line 68 of file class.ilForumExportGUI.php.

References $_GET, $lng, $tpl, ilForumTopic\getFirstPostNode(), ilForumProperties\getInstance(), and ilUtil\switchColor().

{
global $tpl, $lng, $ilDB, $ilUser, $ilAccess, $ilias;
if (!$ilAccess->checkAccess('read,visible', '', $_GET['ref_id']))
{
$ilias->raiseError($lng->txt('permission_denied'), $ilias->error_obj->MESSAGE);
}
$tplEx = new ilTemplate('tpl.forums_export_print.html', true, true, 'Modules/Forum');
$tplEx->setVariable('CSSPATH', $tpl->tplPath);
// get forum- and thread-data
$this->frm->setWhereCondition('top_pk = '.$ilDB->quote($_GET['thr_top_fk']));
if (is_array($frmData = $this->frm->getOneTopic()))
{
$objCurrentTopic = new ilForumTopic(addslashes($_GET['print_thread']), $ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']));
$objFirstPostNode = $objCurrentTopic->getFirstPostNode();
$postTree = $objCurrentTopic->getPostTree($objFirstPostNode);
$posNum = count($postTree);
// headline
$tplEx->setVariable('HEADLINE', $lng->txt('forum').': '.$frmData['top_name'].' > '.
$lng->txt('forums_thread').': '.$objCurrentTopic->getSubject().' > '.
$lng->txt('forums_count_art').': '.$posNum);
$z = 0;
foreach ($postTree as $post)
{
$tplEx->setCurrentBlock('posts_row');
$rowCol = ilUtil::switchColor($z++, 'tblrow2', 'tblrow1');
$tplEx->setVariable('ROWCOL', $rowCol);
// forum properties
$objForumProperties = ilForumProperties::getInstance($frmData['top_frm_fk']);
if ($objForumProperties->isAnonymized())
{
// if anonymized
if ($post->getUserAlias() != '') $tplEx->setVariable('AUTHOR', $post->getUserAlias());
else $tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
else
{
// get author data
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
if ($post->getUserId())
{
// get create- and update-dates
if ($post->getUpdateUserId() > 0)
{
$last_user_data = $this->frm->getUserData($post->getUpdateUserId());
$tplEx->setVariable('POST_UPDATE', "<br />[".$lng->txt("edited_at").": ".
$this->frm->convertDate($post->getChangeDate())." - ".strtolower($lng->txt("from"))." ".$last_user_data['login']."]");
}
if ($author['public_profile'] != 'n')
{
$tplEx->setVariable('TXT_REGISTERED', $lng->txt('registered_since').':');
$tplEx->setVariable('REGISTERED_SINCE', $this->frm->convertDate($author['create_date']));
}
if ($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$numPosts = $this->frm->countUserArticles($post->getUserId());
}
else
{
$numPosts = $this->frm->countActiveUserArticles($post->getUserId());
}
$tplEx->setVariable('TXT_NUM_POSTS', $lng->txt('forums_posts').':');
$tplEx->setVariable('NUM_POSTS', $numPosts);
}
$tplEx->setVariable('SUBJECT', $post->getSubject());
$tplEx->setVariable('TXT_CREATE_DATE', $lng->txt('forums_thread_create_date'));
$tplEx->setVariable('POST_DATE', $this->frm->convertDate($post->getCreateDate()));
$tplEx->setVariable('SPACER', "<hr noshade width=\"100%\" size=\"1\" align=\"center\" />");
if ($post->isCensored() > 0)
{
$tplEx->setVariable('POST', nl2br(stripslashes($post->getCensorshipComment())));
}
else
{
$tplEx->setVariable('POST', nl2br($this->frm->prepareText($post->getMessage(), 0, '', 'export')));
}
$tplEx->parseCurrentBlock('posts_row');
unset($author);
} // foreach ($postTree as $post)
$tplEx->setCurrentBlock('posttable');
$tplEx->setVariable('TXT_AUTHOR', $lng->txt('author'));
$tplEx->setVariable('TXT_POST', $lng->txt('forums_thread').': '.$objCurrentTopic->getSubject());
$tplEx->parseCurrentBlock('posttable');
} // if (is_array($frmData = $this->frm->getOneTopic()))
$tplEx->show();
}

+ Here is the call graph for this function:


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