Version 3.2.3

This commit is contained in:
Neo committed 2025-12-19 00:34:03 -08:00
1 parent ae5c01cc78
commit 78706903a2
2641 files changed
+228363 -201264

No files matched your search

@@ -2,19 +2,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* Report Center :: Posts plugin
* Last Updated: $LastChangedDate: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @author Based on original "Report Center" by Luke Scott
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 5713 $
* @link http://hatynka.in
* @version $Rev: 8644 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -25,11 +25,19 @@ if ( ! defined( 'IN_IPB' ) )
class post_plugin
{
/**#@+
* Registry objects
/**
* Registry Object Shortcuts
*
* @var object
*/
* @var $registry
* @var $DB
* @var $settings
* @var $request
* @var $lang
* @var $member
* @var $memberData
* @var $cache
* @var $caches
*/
protected $registry;
protected $DB;
protected $settings;
@@ -39,7 +47,6 @@ class post_plugin
protected $memberData;
protected $cache;
protected $caches;
/**#@-*/
/**
* Holds extra data for the plugin
@@ -51,8 +58,8 @@ class post_plugin
/**
* Constructor
*
* @param object Registry object
* @return void
* @param object $registry Registry object
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
@@ -70,8 +77,7 @@ class post_plugin
$this->caches =& $this->registry->cache()->fetchCaches();
$this->lang = $this->registry->class_localization;
$classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/app_class_forums.php', 'app_class_forums', 'forums' );
$app_class_forums = new $classToLoad( $this->registry );
ipsRegistry::getAppClass( 'forums' );
}
/**
@@ -162,7 +168,7 @@ class post_plugin
foreach( $this->caches['moderators'] as $mod )
{
if( $mod['member_id'] == $this->memberData['member_id'] )
if( $this->memberData['member_id'] AND $mod['member_id'] == $this->memberData['member_id'] )
{
$these_forums = explode( ',', IPSText::cleanPermString( $mod['forum_id'] ) );
@@ -379,11 +385,30 @@ class post_plugin
return $return_data;
}
/**
* Accepts an array of data from rc_reports_index and returns an array formatted nearly identical to processReport()
*
* @param array Report data
* @return array Formatted report data
*/
public function formatReportData( $report_data )
{
return array(
'REDIRECT_URL' => $report_data['url'],
'FORUM_ID' => $report_data['exdat1'],
'REPORT_INDEX' => $report_data['id'],
'SAVED_URL' => str_replace( '&amp;', '&', $report_data['url'] ),
'REPORT' => '',
'SEOTITLE' => $report_data['seoname'],
'TEMPLATE' => 'showtopic',
);
}
/**
* Where to send user after report is submitted
*
* @param array Report data
* @return void
* @return @e void
*/
public function reportRedirect( $report_data )
{
@@ -414,26 +439,26 @@ class post_plugin
}
$this->DB->build( array(
'select' => 'noti.*',
'from' => array( 'rc_modpref' => 'noti' ),
'where' => "(m.member_group_id IN(" . $group_ids . ") " . ( count($secondaryWhere) ? "OR " . implode( ' OR ', $secondaryWhere ) : '' ) . ") AND (g.g_is_supmod=1 OR g.g_access_cp=1 OR moderator.forum_id LIKE '%,{$report_data['FORUM_ID']},%')",
'add_join' => array(
array(
'select' => 'm.member_id as real_member_id, m.members_display_name as name, m.language, m.members_disable_pm, m.email, m.member_group_id',
'from' => array( 'members' => 'm' ),
'where' => 'm.member_id=noti.mem_id',
),
array(
'select' => 'moderator.member_id, moderator.group_id',
'from' => array( 'moderators' => 'moderator' ),
'where' => 'moderator.member_id=m.member_id OR moderator.group_id=m.member_group_id',
),
array(
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id',
'type' => 'left',
),
)
'select' => 'm.member_id as real_member_id, m.members_display_name as name, m.language, m.members_disable_pm, m.email, m.member_group_id',
'from' => array( 'members' => 'm' ),
'where' => "(m.member_group_id IN(" . $group_ids . ") " . ( count($secondaryWhere) ? "OR " . implode( ' OR ', $secondaryWhere ) : '' ) . ") AND (g.g_is_supmod=1 OR g.g_access_cp=1 OR moderator.forum_id LIKE '%,{$report_data['FORUM_ID']},%')",
'add_join' => array(
array(
'select' => 'noti.*',
'from' => array( 'rc_modpref' => 'noti' ),
'where' => 'm.member_id=noti.mem_id',
),
array(
'select' => 'moderator.member_id, moderator.group_id',
'from' => array( 'moderators' => 'moderator' ),
'where' => 'moderator.member_id=m.member_id OR moderator.group_id=m.member_group_id',
),
array(
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id',
'type' => 'left',
),
)
) );
$this->DB->execute();
@@ -456,9 +481,9 @@ class post_plugin
* Check access to report the topic
*
* @param integer Topic id
* @return void
* @return @e void
*/
private function _checkAccess( $tid )
protected function _checkAccess( $tid )
{
if ( ! $this->memberData['member_id'] )
{