Public Member Functions

ilForumExportGUI Class Reference
[Modules/Forum]

Forum export to HTML and Print. More...

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 <wmerkens@databay.de>
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, $ilias, $lng, $tpl, ilUtil::deliverData(), exit, 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, $ilias, $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, $ilias, $lng, $tpl, 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: