Version 3.4.8

This commit is contained in:
Neo committed 2025-12-19 00:42:42 -08:00
1 parent b45ea0dffb
commit c603205a25
1398 files changed
+36675 -31023

No files matched your search

@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Admin forum functions library
* Last Updated: $Date: 2012-05-22 13:10:11 -0400 (Tue, 22 May 2012) $
* Last Updated: $Date: 2014-12-31 17:46:06 -0500 (Wed, 31 Dec 2014) $
* </pre>
*
* @author $Author: ips_terabyte $
* @author $Author: rashbrook $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @since 26th January 2004
* @version $Rev: 10783 $
* @version $Rev: 12581 $
*
*/
@@ -187,7 +187,8 @@ class admin_forum_functions extends class_forums
$data['_fullname'] = $data['members_display_name'];
}
$data['randId'] = substr( str_replace( array( ' ', '.' ), '', uniqid( microtime(), true ) ), 0, 10 );
//$data['randId'] = substr( str_replace( array( ' ', '.' ), '', uniqid( microtime(), true ) ), 0, 10 );
$data['randId'] = $r['id'];
$data['forum_id'] = $forum_id;
$r['_mods'][] = $data;
@@ -2,7 +2,7 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Forums Class
* Last Updated: $Date: 2013-03-27 20:18:32 -0400 (Wed, 27 Mar 2013) $
* </pre>
@@ -5,6 +5,6 @@
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
IP.Board
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>
@@ -3,7 +3,7 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Forum hook gateway
* Owner: Matt "Oh Lord, why did I get assigned this?" Mecham
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
@@ -5,6 +5,6 @@
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
IP.Board
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>
@@ -5,6 +5,6 @@
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
IP.Board
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>
File diff suppressed because it is too large. Load diff
@@ -2,19 +2,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Moderator actions
* Last Updated: $Date: 2013-10-28 17:58:20 -0400 (Mon, 28 Oct 2013) $
* Last Updated: $Date: 2015-02-23 06:21:10 -0500 (Mon, 23 Feb 2015) $
* </pre>
* File Created By: Matt Mecham
*
* @author $Author: rashbrook $
* @author $Author: stuarts $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Revision: 12396 $
* @version $Revision: 12602 $
*
*/
@@ -633,15 +633,15 @@ class classPost
// OPEN...
//-----------------------------------------
$_POST['open_time_date'] = isset($_POST['open_time_date']) ? $_POST['open_time_date'] : NULL;
$_POST['open_time_time'] = isset($_POST['open_time_time']) ? $_POST['open_time_time'] : NULL;
$_POST['close_time_date'] = isset($_POST['close_time_date']) ? $_POST['close_time_date'] : NULL;
$_POST['close_time_time'] = isset($_POST['close_time_time']) ? $_POST['close_time_time'] : NULL;
$this->request['open_time_date'] = isset($this->request['open_time_date']) ? $this->request['open_time_date'] : NULL;
$this->request['open_time_time'] = isset($this->request['open_time_time']) ? $this->request['open_time_time'] : NULL;
$this->request['close_time_date'] = isset($this->request['close_time_date']) ? $this->request['close_time_date'] : NULL;
$this->request['close_time_time'] = isset($this->request['close_time_time']) ? $this->request['close_time_time'] : NULL;
if ( $this->can_set_open_time AND $_POST['open_time_date'] AND $_POST['open_time_time'] )
if ( $this->can_set_open_time AND $this->request['open_time_date'] AND $this->request['open_time_time'] )
{
$date = strtotime( $_POST['open_time_date'] );
list( $hour , $minute ) = explode( ":", $_POST['open_time_time'] );
$date = strtotime( $this->request['open_time_date'] );
list( $hour , $minute ) = explode( ":", $this->request['open_time_time'] );
if ( $date )
{
@@ -654,10 +654,10 @@ class classPost
// CLOSE...
//-----------------------------------------
if ( $this->can_set_close_time AND $_POST['close_time_date'] AND $_POST['close_time_time'] )
if ( $this->can_set_close_time AND $this->request['close_time_date'] AND $this->request['close_time_time'] )
{
$date = strtotime( $_POST['close_time_date'] );
list( $hour , $minute ) = explode( ":", $_POST['close_time_time'] );
$date = strtotime( $this->request['close_time_date'] );
list( $hour , $minute ) = explode( ":", $this->request['close_time_time'] );
if ( $date )
{
@@ -968,10 +968,13 @@ class classPost
$parser = new $classToLoad();
$parser->testForParsingLimits( $new_post );
/* Assign to variable instead of passing reference, PHP Strict standards */
$errors = $parser->getErrors();
if ( is_array( $parser->getErrors() ) && count( $parser->getErrors() ) )
if ( is_array( $errors ) && count( $errors ) )
{
$this->_postErrors = 'merge_' . array_pop( $parser->getErrors() );
$this->_postErrors = 'merge_' . array_pop( $errors );
$this->showReplyForm();
return;
}
@@ -2191,13 +2194,16 @@ EOF;
}
else
{
/* Remove the poll */
$this->DB->delete( 'polls', 'tid=' . $topic['tid'] );
$this->DB->delete( 'voters', 'tid=' . $topic['tid'] );
/* Update topics table later */
$updateTopicTable['poll_state'] = 0;
$updateTopicTable['last_vote'] = 0;
/* Remove the poll... but only if we aren't on mobile (see ticket 897586) */
if ( $this->registry->output->getAsMobileSkin() !== TRUE )
{
$this->DB->delete( 'polls', 'tid=' . $topic['tid'] );
$this->DB->delete( 'voters', 'tid=' . $topic['tid'] );
/* Update topics table later */
$updateTopicTable['poll_state'] = 0;
$updateTopicTable['last_vote'] = 0;
}
}
}
@@ -2236,7 +2242,7 @@ EOF;
$this->DB->update( 'forums', $_forumUpdate, 'id=' . $this->getForumData('id') );
}
if ( ($this->moderator['edit_topic'] == 1) OR ( $this->getAuthor('g_is_supmod') == 1 ) )
if ( (isset( $this->moderator['edit_topic'] ) AND $this->moderator['edit_topic'] == 1) OR ( $this->getAuthor('g_is_supmod') == 1 ) )
{
$this->DB->insert( 'moderator_logs', array(
'forum_id' => $this->getForumData('id'),
@@ -2952,7 +2958,7 @@ EOF;
$ignored = $this->DB->buildAndFetch( array( 'select' => '*',
'from' => 'ignored_users',
'where' => 'ignore_ignore_id=' . $this->memberData['member_id'] . ' AND ignore_owner_id=' . $_toMember['member_id'] . ' AND ignore_topics = 1' ) );
if ( $this->registry->getClass('topics')->canView( $topic, $_toMember ) && ! $ignored )
{
if ( ( ! isset( $seen[ $_quoted['author_id'] ] ) ) && $_quoted['author_id'] && ( $_quoted['author_id'] != $this->getAuthor('member_id') ) and ( ! in_array( $_quoted['author_id'], $membersToSkip ) ) )
@@ -3072,7 +3078,7 @@ EOF;
}
else
{
$_POST['votes'] = isset($_POST['votes']) ? $_POST['votes'] : 0;
$_POST['votes'] = isset($_POST['votes']) ? $_POST['votes'] : array();
$questions[ $question_id ]['votes'][ $choice_id ] = intval( $_POST['votes'][ $question_id.'_'.$choice_id ] );
}
@@ -3367,7 +3373,7 @@ EOF;
$dbs = array( 'last_title' => $topic['title'],
'seo_last_title' => IPSText::makeSeoTitle( $topic['title'] ),
'last_id' => $topic['tid'],
'last_post' => IPS_UNIX_TIME_NOW,
'last_post' => ( $this->getDate() ? $this->getDate() : IPS_UNIX_TIME_NOW ),
'last_poster_name' => $this->getAuthor('member_id') ? $this->getAuthor('members_display_name') : $this->request['UserName'],
'seo_last_name' => IPSText::makeSeoTitle( $this->getAuthor('member_id') ? $this->getAuthor('members_display_name') : $this->request['UserName'] ),
'last_poster_id' => $this->getAuthor('member_id'),
@@ -2,19 +2,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Posting display formatting methods
* Last Updated: $Date: 2013-03-20 10:14:51 -0400 (Wed, 20 Mar 2013) $
* Last Updated: $Date: 2015-01-22 15:41:59 -0500 (Thu, 22 Jan 2015) $
* </pre>
* File Created By: Matt Mecham
*
* @author $Author: mmecham $
* @author $Author: rashbrook $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Revision: 12094 $
* @version $Revision: 12590 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -1054,7 +1054,7 @@ class classPostForms extends classPost
{
foreach( $_POST['question'] as $id => $question )
{
$poll_questions[$id] = IPSText::parseCleanValue( $question );
$poll_questions[ intval( $id ) ] = IPSText::parseCleanValue( $question );
}
$poll_question = ipsRegistry::$request['poll_question'];
@@ -1065,7 +1065,7 @@ class classPostForms extends classPost
{
foreach( $_POST['multi'] as $id => $checked )
{
$poll_multi[ $id ] = $checked;
$poll_multi[ intval( $id ) ] = intval( $checked );
}
}
@@ -1073,7 +1073,7 @@ class classPostForms extends classPost
{
foreach( $_POST['choice'] as $id => $choice )
{
$poll_choices[ $id ] = IPSText::parseCleanValue( $choice );
$poll_choices[ IPSText::parseCleanValue( $id ) ] = IPSText::parseCleanValue( $choice );
}
}
@@ -1083,7 +1083,7 @@ class classPostForms extends classPost
{
foreach( $_POST['votes'] as $id => $vote )
{
$poll_votes[ $id ] = $vote;
$poll_votes[ intval( $id ) ] = IPSText::parseCleanValue( $vote );
}
}
}
@@ -5,6 +5,6 @@
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
IP.Board
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.6
* IP.Board v3.4.8
* Moderator actions
* Last Updated: $Date: 2013-09-04 23:48:12 -0400 (Wed, 04 Sep 2013) $
* Last Updated: $Date: 2014-12-31 17:46:06 -0500 (Wed, 31 Dec 2014) $
* </pre>
*
* @author $Author: rashbrook $
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Revision: 12345 $
* @version $Revision: 12581 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -1089,6 +1089,11 @@ class app_forums_classes_topics
{
$post = array_merge( $group, $post );
}
if ( !empty( $post['mgroup_others'] ) )
{
$post = ips_MemberRegistry::setUpSecondaryGroups( $post );
}
}
/* Post IP overrides member */
@@ -1708,7 +1713,7 @@ class app_forums_classes_topics
$member = $this->member->setUpSecondaryGroups( $member );
}
$member = IPSMember::buildDisplayData( $member, array( 'signature' => 1, 'customFields' => 1, 'warn' => 1, 'checkFormat' => 1, 'cfLocation' => 'topic', 'photoTagSize' => array( 'thumb', 'small' ) ) );
$member = IPSMember::buildDisplayData( $member, array( 'signature' => 1, 'customFields' => 1, 'warn' => 1, 'checkFormat' => 1, 'cfSkinGroup' => 'topic', 'cfLocation' => 'topic', 'photoTagSize' => array( 'thumb', 'small' ) ) );
//-----------------------------------------
// Add it to the cached list
@@ -2432,8 +2437,11 @@ class app_forums_classes_topics
$sort_value = $date['post_date'];
}
}
$sort_order = ( $this->settings['post_order_sort'] == 'asc' ? '<' : '>' );
$this->DB->build( array( 'select' => 'COUNT(*) as posts', 'from' => 'posts', 'where' => "topic_id={$post['topic_id']} AND {$sort_field} <=" . intval( $sort_value ) . ' AND ' . $query ) );
$this->DB->build( array( 'select' => 'COUNT(*) as posts', 'from' => 'posts', 'where' => "topic_id={$post['topic_id']} AND {$sort_field} {$sort_order}=" . intval( $sort_value ) . ' AND ' . $query ) );
$this->DB->execute();
$cposts = $this->DB->fetch();
@@ -2450,10 +2458,11 @@ class app_forums_classes_topics
$st = ($pages - 1) * $this->settings['display_max_posts'];
/* @see Ticket 878869
if( $this->settings['post_order_sort'] == 'desc' )
{
$st = (ceil(($cposts['posts']/$this->settings['display_max_posts'])) - $pages) * $this->settings['display_max_posts'];
}
}*/
return intval( $this->registry->getClass('topics')->stToPage( $st ) );
}