Version 1.3.0

This commit is contained in:
Neo committed 2025-12-19 00:17:06 -08:00
1 parent 7ef3d1712a
commit f87d29ba65
290 files changed
+50206 -17930

No files matched your search

+53 -22
View File
@@ -2,15 +2,17 @@
/*
+--------------------------------------------------------------------------
| Invision Board v1.1
| Invision Power Board v1.3 Final
| ========================================
| by Matthew Mecham
| (c) 2001,2002 Invision Power Services
| http://www.ibforums.com
| (c) 2001 - 2003 Invision Power Services
| http://www.invisionpower.com
| ========================================
| Web: http://www.ibforums.com
| Email: phpboards@ibforums.com
| Licence Info: phpib-licence@ibforums.com
| Web: http://www.invisionboard.com
| Time: Sun, 04 Jan 2004 00:30:16 GMT
| Release: 28e7bfb25f08ac72a789cb1b172fa185
| Email: matt@invisionpower.com
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > Topic display in printable format module
@@ -37,6 +39,7 @@ class Printable {
var $mem_titles = array();
var $mod_action = array();
var $poll_html = "";
var $parser = "";
/***********************************************************************************/
//
@@ -57,6 +60,10 @@ class Printable {
$this->html = $std->load_template('skin_printpage');
require ROOT_PATH."sources/lib/post_parser.php";
$this->parser = new post_parser();
/***********************************/
// Check the input
/***********************************/
@@ -73,7 +80,7 @@ class Printable {
// Get the forum info based on the forum ID, get the category name, ID, and get the topic details
//-------------------------------------
$DB->query("SELECT t.*, f.name as forum_name, f.id as forum_id, f.read_perms, f.password, f.reply_perms, f.start_perms, f.allow_poll, f.posts as forum_posts, f.topics as forum_topics, c.name as cat_name, c.id as cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c where t.tid='".$ibforums->input[t]."' and f.id = t.forum_id and f.category=c.id");
$DB->query("SELECT t.*, f.name as forum_name, f.id as forum_id, f.read_perms, f.password, f.reply_perms, f.start_perms, f.allow_poll, f.posts as forum_posts, f.topics as forum_topics, f.use_html, c.name as cat_name, c.id as cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c where t.tid='".$ibforums->input[t]."' and f.id = t.forum_id and f.category=c.id");
$this->topic = $DB->fetch_row();
@@ -83,7 +90,8 @@ class Printable {
'topics' => $this->topic['forum_topics'] ,
'read_perms' => $this->topic['read_perms'] ,
'allow_poll' => $this->topic['allow_poll'] ,
'password' => $this->topic['password']
'password' => $this->topic['password'] ,
'use_html' => $this->topic['use_html']
);
$this->category = array( 'name' => $this->topic['cat_name'],
@@ -124,7 +132,8 @@ class Printable {
$bad_entry = $this->check_access();
if ($bad_entry == 1) {
if ($bad_entry == 1)
{
$std->Error( array( LEVEL => 1, MSG => 'no_view_topic') );
}
@@ -176,7 +185,7 @@ class Printable {
$title = substr( str_replace( " ", "_" , preg_replace( "/&(lt|gt|quot|#124|#036|#33|#39);/", "", $this->topic['title'] ) ), 0, 12);
//$this->output .= "<br><br><font size='1'><center>Powered by Invision Board<br>&copy; 2002 Invision PS</center></font></body></html>";
//$this->output .= "<br><br><font size='1'><center>Powered by Invision Power Board<br>&copy; 2002 Invision PS</center></font></body></html>";
@flush();
@header("Content-type: $header");
@@ -195,7 +204,7 @@ class Printable {
function get_posts()
{
global $ibforums, $DB, $std;
global $ibforums, $DB, $std, $skin_universal;
/***********************************/
// Render the page top
@@ -240,8 +249,7 @@ class Printable {
if ($mem_ids != "")
{
$DB->query("SELECT id,name,mgroup,email,joined,ip_address,avatar,avatar_size,posts,aim_name,icq_number,signature,
website,yahoo,title,hide_email,msnname from ibf_members WHERE id in ($mem_ids)");
$DB->query("SELECT g.*, m.* FROM ibf_members m, ibf_groups g WHERE m.id in ($mem_ids) AND m.mgroup=g.g_id");
while ( $m = $DB->fetch_row() )
{
@@ -330,15 +338,42 @@ class Printable {
// Siggie stuff
//--------------------------------------------------------------
if (!$ibforums->vars[SIG_SEP]) $ibforums->vars[SIG_SEP] = "<br><br>--------------------<br>";
$row['signature'] = "";
if ($poster['signature'] and $ibforums->member['view_sigs'])
{
if ($row['use_sig'] == 1)
{
$row['signature'] = "<!--Signature-->{$ibforums->vars[SIG_SEP]}<span class='signature'>{$poster['signature']}</span><!--E-Signature-->";
if ( $ibforums->vars['sig_allow_html'] == 1 )
{
$poster['signature'] = $this->parser->parse_html($poster['signature'], 0);
}
if ( $ibforums->vars['post_wordwrap'] > 0 )
{
$poster['signature'] = $this->parser->my_wordwrap( $poster['signature'], $ibforums->vars['post_wordwrap']) ;
}
$row['signature'] = $skin_universal->signature_separator($poster['signature']);
}
}
//--------------------------------------------------------------
// Parse HTML tag on the fly
//--------------------------------------------------------------
if ( $this->forum['use_html'] == 1 )
{
// So far, so good..
if ( stristr( $row['post'], '[dohtml]' ) )
{
// [doHTML] tag found..
$parse = ($this->forum['use_html'] AND $poster['g_dohtml']) ? 1 : 0;
$row['post'] = $this->parser->post_db_parse($row['post'], $parse );
}
}
$posts_html .= $this->html->pp_postentry( $poster, $row );
@@ -368,7 +403,7 @@ class Printable {
$message = preg_replace( "#<!--Flash (.+?)-->.+?<!--End Flash-->#e" , "(FLASH MOVIE)" , $message );
//$message = preg_replace( "#<img src=[\"'](\S+?)['\"].+"."?".">#" , "(IMAGE: \\1)" , $message );
//$message = preg_replace( "#<a href=[\"'](http|https|ftp|news)://(\S+?)['\"].+?".">(.+?)</a>#" , "(URL: \\1://\\2)" , $message );
$message = preg_replace( "#<a href=[\"'](http|https|ftp|news)://(\S+?)['\"].+?".">(.+?)</a>#" , "\\1://\\2" , $message );
//$message = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#" , "(EMAIL: \\2)" , $message );
//$message = preg_replace( "#<!--sql-->(.+?)<!--sql1-->(.+?)<!--sql2-->(.+?)<!--sql3-->#e" , "\n\n--------------- SQL -----------\n\\2\n----------------\n\n", $message);
@@ -385,11 +420,7 @@ class Printable {
$this->m_group = $ibforums->member['mgroup'];
if ($this->forum['read_perms'] == '*')
{
$return = 0;
}
else if (preg_match( "/(^|,)$this->m_group(,|$)/", $this->forum['read_perms'] ) )
if ( $std->check_perms($this->forum['read_perms']) == TRUE )
{
$return = 0;
}