ILIAS  Release_4_2_x_branch Revision 61807
 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 35 of file class.ilForumExportGUI.php.

Member Function Documentation

& ilForumExportGUI::executeCommand ( )

Execute Command.

Definition at line 52 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.

Todo:
mjansen: possible bugfix for mantis #8223

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

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

{
global $lng, $tpl, $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++)
for ($j = 0; $j < count($_POST['thread_ids']); $j++)
{
//$objCurrentTopic = new ilForumTopic(addslashes($_POST['forum_id'][$j]), $ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']));
$objCurrentTopic = new ilForumTopic(addslashes($_POST['thread_ids'][$j]), $ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']));
// get forum- and thread-data
$this->frm->setMDB2WhereCondition('top_pk = %s ', array('integer'), array($objCurrentTopic->getForumId()));
if (is_array($frmData = $this->frm->getOneTopic()))
{
$objFirstPostNode = $objCurrentTopic->getFirstPostNode();
$objCurrentTopic->setOrderField('frm_posts_tree.rgt');
$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);
if($post->getUserId())
{
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
else
{
if(strlen($post->getUserAlias()))
{
$tplEx->setVariable('AUTHOR', $post->getUserAlias());
$tplEx->setVariable('PSEUDONYM', $lng->txt('frm_pseudonym'));
}
else
{
$tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
}
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_on').": ".
$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
{
if($post->getMessage() == strip_tags($post->getMessage()))
{
// We can be sure, that there are not html tags
$post->setMessage(nl2br($post->getMessage()));
}
$tplEx->setVariable('POST', ilRTE::_replaceMediaObjectImageSrc($this->frm->prepareText($post->getMessage(), 0, '', 'export'), 1));
}
$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 37 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.

Todo:
mjansen: possible bugfix for mantis #8223

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

References $_GET, $lng, $tpl, and ilRTE\_replaceMediaObjectImageSrc().

{
global $tpl, $lng, $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->setMDB2WhereCondition('top_pk = %s ', array('integer'), array($_GET['top_pk']));
if (is_array($frmData = $this->frm->getOneTopic()))
{
// post object
$post = new ilForumPost((int)$_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');
if($post->getUserId())
{
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
else
{
if(strlen($post->getUserAlias()))
{
$tplEx->setVariable('AUTHOR', $post->getUserAlias());
$tplEx->setVariable('PSEUDONYM', $lng->txt('frm_pseudonym'));
}
else
{
$tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
}
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_on').": ".
$this->frm->convertDate($post->getChangeDate())." - ".strtolower($lng->txt('from'))." ".$lastuserdata['login']."]");
}
if ($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$numPosts = $this->frm->countUserArticles($post->getUserId());
}
else
{
$numPosts = $this->frm->countActiveUserArticles($post->getUserId());
}
}
$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
{
if($post->getMessage() == strip_tags($post->getMessage()))
{
// We can be sure, that there are not html tags
$post->setMessage(nl2br($post->getMessage()));
}
$tplEx->setVariable('POST', ilRTE::_replaceMediaObjectImageSrc($this->frm->prepareText($post->getMessage(), 0, '', 'export'), 1));
}
$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.

Todo:
mjansen: possible bugfix for mantis #8223

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

References $_GET, $lng, $tpl, ilRTE\_replaceMediaObjectImageSrc(), ilForumTopic\setOrderField(), and ilUtil\switchColor().

{
global $tpl, $lng, $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->setMDB2WhereCondition('top_pk = %s ', array('integer'), array($_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']));
$objCurrentTopic->setOrderField('frm_posts_tree.rgt');
$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);
if($post->getUserId())
{
$author = $this->frm->getUserData($post->getUserId(), $post->getImportName());
$tplEx->setVariable('AUTHOR', $author['login']);
}
else
{
if(strlen($post->getUserAlias()))
{
$tplEx->setVariable('AUTHOR', $post->getUserAlias());
$tplEx->setVariable('PSEUDONYM', $lng->txt('frm_pseudonym'));
}
else
{
$tplEx->setVariable('AUTHOR', $lng->txt('forums_anonymous'));
}
}
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_on").": ".
$this->frm->convertDate($post->getChangeDate())." - ".strtolower($lng->txt("from"))." ".$last_user_data['login']."]");
}
if($ilAccess->checkAccess('moderate_frm', '', $_GET['ref_id']))
{
$numPosts = $this->frm->countUserArticles($post->getUserId());
}
else
{
$numPosts = $this->frm->countActiveUserArticles($post->getUserId());
}
}
$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
{
if($post->getMessage() == strip_tags($post->getMessage()))
{
// We can be sure, that there are not html tags
$post->setMessage(nl2br($post->getMessage()));
}
$tplEx->setVariable('POST', ilRTE::_replaceMediaObjectImageSrc($this->frm->prepareText($post->getMessage(), 0, '', 'export'), 1));
}
$tplEx->parseCurrentBlock('posts_row');
} // 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: