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: