Version 3.4.5

This commit is contained in:
Neo committed 2025-12-19 00:38:12 -08:00
1 parent fb6b5baabc
commit e4478369d8
1360 files changed
+228921 -179445

No files matched your search

@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Member form manipulation
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-08-22 10:47:20 -0400 (Wed, 22 Aug 2012) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: mmecham $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 1st march 2002
* @version $Revision: 10914 $
* @version $Revision: 11250 $
*
*/
@@ -97,6 +97,12 @@ class admin_member_form__members implements admin_member_form
'url' => 'section=tools&amp;module=members&amp;do=merge',
'title' => ipsRegistry::getClass('class_localization')->words['form_mergemember'] );
}
$array[] = array( 'img' => '',
'url' => "<a href='" . ipsRegistry::getClass('output')->buildSeoUrl( "showuser={$member['member_id']}", 'public', $member['members_seo_name'], 'showuser' ) . "' target='_blank'>" . ipsRegistry::getClass('class_localization')->words['form_profilemember'] . '</a>',
'title' => '' );
return $array;
}
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* IP.Board messenger attachments plugin
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2013-04-25 15:26:40 -0400 (Thu, 25 Apr 2013) $
* </pre>
*
* @author $Author: bfarber $
@@ -15,7 +15,7 @@
* @subpackage Core
* @link http://www.invisionpower.com
* @since 6/24/2008
* @version $Revision: 10914 $
* @version $Revision: 12198 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -382,7 +382,7 @@ class plugin_msg extends class_attach
*/
public function getSpaceAllowance( $post_key='', $member_id='' )
{
$max_php_size = intval( IPSLib::getMaxPostSize() );
$max_php_size = IPSLib::getMaxPostSize();
$member_id = intval( $member_id ? $member_id : $this->memberData['member_id'] );
$space_left = 0;
$space_used = 0;
@@ -0,0 +1,286 @@
<?php
/**
* @file bulkMailFilters.php Bulk Mail Filters - Members App
*
* $Copyright: $
* $License: $
* $Author: mark $
* $LastChangedDate: 2012-02-13 05:07:16 -0500 (Mon, 13 Feb 2012) $
* $Revision: 10290 $
* @since 23rd August 2012
*/
/**
*
* @class bulkMailFilters_members
* @brief Says what criteria is available for this application
*
*/
class bulkMailFilters_members
{
public $filters = array( 'group', 'joined', 'last_visit' );
}
/**
*
* @class bulkMailFilter_members_group
* @brief Filter: Group
*
*/
class bulkMailFilter_members_group extends bulkMailFilter
{
/**
* Get Setting Field
*
* @param mixed Value as returned by the save method
* @return string HTML to show in ACP when adding a reminder that will allow admins to set up a reminder
*/
public function getSettingField( $criteria )
{
$groups = array();
foreach ( $this->caches['group_cache'] as $gid => $group )
{
$groups[] = array( $gid, $group['g_title'] );
}
$selectBox = ipsRegistry::getClass('output')->formMultiDropdown( 'bmf_members_groups[]', $groups, isset( $criteria['groups'] ) ? explode( ',', $criteria['groups'] ) : $_POST['bmf_members_groups'] );
$secondaryCheck = ipsRegistry::getClass('output')->formCheckbox( 'bmf_members_groups_secondary', isset( $criteria['secondary'] ) ? $criteria['secondary'] : $_POST['bmf_members_groups_secondary'] );
return "{$selectBox}<br /><span class='desctext'>{$this->lang->words['bulkMailFilter_members_group_desc']}</span><br /><br />{$secondaryCheck} {$this->lang->words['bulkMailFilter_members_group_secondary']}";
}
/**
* Save Setting Field
*
* @param array POST data from the form using the form elements provided in the getSettingField method
* @return mixed If this criteria should be ignored, return FALSE. Otherwise, return whatever data you will need in your
* getMembers method to fetch members that match the chosen criteria
* @throws Exception You can throw an Exception with the message being the error to display if the user has provided invalid data
*/
public function save( $post )
{
if ( !$post['bmf_members_groups'] )
{
return false;
}
else
{
return array( 'groups' => implode( ',', $post['bmf_members_groups'] ), 'secondary' => (bool) $post['bmf_members_groups_secondary'] );
}
}
/**
* Get Members
*
* @param mixed Whatever data was returned by save method
* @return array Array with two elements:
* 'joins' should be an array of any additional tables to join (as per ipsRegistry::DB()->build)
* 'where' should be an array of where clauses
* The table 'members' is already available with the prefix 'm'
*/
public function getMembers( $data )
{
if ( $data['groups'] )
{
$return = $this->DB->buildWherePermission( explode( ',', $data['groups'] ), 'member_group_id', FALSE );
if ( $data['secondary'] )
{
$return = "( {$return} OR " . $this->DB->buildWherePermission( explode( ',', $data['groups'] ), 'mgroup_others', FALSE ) . ' )';
}
return array( 'where' => array( $return ) );
}
}
}
/**
*
* @class bulkMailFilters_members
* @brief Filter: Joined Date
*
*/
class bulkMailFilter_members_joined extends bulkMailFilter
{
/**
* Get Setting Field
*
* @param mixed Value as returned by the save method
* @return string HTML to show in ACP when adding a reminder that will allow admins to set up a reminder
*/
public function getSettingField( $criteria )
{
$selectBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_joined_type', array(
array( '', $this->lang->words['bmf_ignore'] ),
array( 'b', $this->lang->words['bmf_before'] ),
array( 'a', $this->lang->words['bmf_after'] )
), isset( $criteria['type'] ) ? $criteria['type'] : $_POST['bmf_members_joined_type'] );
$selectedDate = isset( $criteria['date'] ) ? $criteria['date'] : time();
$dates = array();
foreach ( range( 1, 31 ) as $d )
{
$dates[] = array( $d, $d );
}
$dateBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_joined_d', $dates, isset( $_POST['bmf_members_joined_d'] ) ? $_POST['bmf_members_joined_d'] : date( 'j', $selectedDate ) );
$months = array();
foreach( range( 1, 12 ) as $m )
{
$months[] = array( $m, date( 'F', mktime( 0, 0, 0, $m, 1, 2000 ) ) );
}
$monthBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_joined_m', $months, isset( $_POST['bmf_members_joined_m'] ) ? $_POST['bmf_members_joined_m'] : date( 'n', $selectedDate ) );
$yearBox = ipsRegistry::getClass('output')->formSimpleInput( 'bmf_members_joined_y', isset( $_POST['bmf_members_joined_y'] ) ? $_POST['bmf_members_joined_y'] : date( 'Y', $selectedDate ) );
return "{$selectBox} {$dateBox} {$monthBox} {$yearBox}";
}
/**
* Save Setting Field
*
* @param array POST data from the form using the form elements provided in the getSettingField method
* @return mixed If this criteria should be ignored, return FALSE. Otherwise, return whatever data you will need in your
* getMembers method to fetch members that match the chosen criteria
* @throws Exception You can throw an Exception with the message being the error to display if the user has provided invalid data
*/
public function save( $post )
{
if ( !$post['bmf_members_joined_type'] )
{
return false;
}
else
{
$date = mktime( 0, 0, 0, $post['bmf_members_joined_m'], $post['bmf_members_joined_d'], $post['bmf_members_joined_y'] );
if ( !checkdate( $post['bmf_members_joined_m'], $post['bmf_members_joined_d'], $post['bmf_members_joined_y'] ) or $date === FALSE or $date === -1 )
{
throw new Exception( $this->lang->words['bulkMailFilter_members_joined_error'] );
}
return array( 'type' => $post['bmf_members_joined_type'], 'date' => $date );
}
}
/**
* Get Members
*
* @param mixed Whatever data was returned by save method
* @return array Array with two elements:
* 'joins' should be an array of any additional tables to join (as per ipsRegistry::DB()->build)
* 'where' should be an array of where clauses
* The table 'members' is already available with the prefix 'm'
*/
public function getMembers( $data )
{
switch ( $data['type'] )
{
case 'a':
return array( 'where' => array( "(m.joined>{$data['date']})" ) );
break;
case 'b':
return array( 'where' => array( "(m.joined<{$data['date']})" ) );
break;
}
}
}
/**
*
* @class bulkMailFilters_members
* @brief Filter: Last Visit Date
*
*/
class bulkMailFilter_members_last_visit extends bulkMailFilter
{
/**
* Get Setting Field
*
* @param array
* @return string HTML to show in ACP when adding a reminder that will allow admins to set up a reminder
*/
public function getSettingField( $criteria )
{
$selectBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_last_visit_type', array(
array( '', $this->lang->words['bmf_ignore'] ),
array( 'b', $this->lang->words['bmf_before'] ),
array( 'a', $this->lang->words['bmf_after'] )
), isset( $criteria['type'] ) ? $criteria['type'] : $_POST['bmf_members_last_visit_type'] );
$selectedDate = isset( $criteria['date'] ) ? $criteria['date'] : time();
$dates = array();
foreach ( range( 1, 31 ) as $d )
{
$dates[] = array( $d, $d );
}
$dateBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_last_visit_d', $dates, isset( $_POST['bmf_members_last_visit_d'] ) ? $_POST['bmf_members_last_visit_d'] : date( 'j', $selectedDate ) );
$months = array();
foreach( range( 1, 12 ) as $m )
{
$months[] = array( $m, date( 'F', mktime( 0, 0, 0, $m, 1, 2000 ) ) );
}
$monthBox = ipsRegistry::getClass('output')->formDropdown( 'bmf_members_last_visit_m', $months, isset( $_POST['bmf_members_last_visit_m'] ) ? $_POST['bmf_members_last_visit_m'] : date( 'n', $selectedDate ) );
$yearBox = ipsRegistry::getClass('output')->formSimpleInput( 'bmf_members_last_visit_y', isset( $_POST['bmf_members_last_visit_y'] ) ? $_POST['bmf_members_last_visit_y'] : date( 'Y', $selectedDate ) );
return "{$selectBox} {$dateBox} {$monthBox} {$yearBox}";
}
/**
* Save Setting Field
*
* @param array POST data from the form using the form elements provided in the getSettingField method
* @return mixed If this criteria should be ignored, return FALSE. Otherwise, return whatever data you will need in your
* getMembers method to fetch members that match the chosen criteria
* @throws Exception You can throw an Exception with the message being the error to display if the user has provided invalid data
*/
public function save( $post )
{
if ( !$post['bmf_members_last_visit_type'] )
{
return false;
}
else
{
$date = mktime( 0, 0, 0, $post['bmf_members_last_visit_m'], $post['bmf_members_last_visit_d'], $post['bmf_members_last_visit_y'] );
if ( !checkdate( $post['bmf_members_last_visit_m'], $post['bmf_members_last_visit_d'], $post['bmf_members_last_visit_y'] ) or $date === FALSE or $date === -1 )
{
throw new Exception( $this->lang->words['bulkMailFilter_members_last_visit_error'] );
}
return array( 'type' => $post['bmf_members_last_visit_type'], 'date' => $date );
}
}
/**
* Get Members
*
* @param mixed Whatever data was returned by save method
* @return array Array with two elements:
* 'joins' should be an array of any additional tables to join (as per ipsRegistry::DB()->build)
* 'where' should be an array of where clauses
* The table 'members' is already available with the prefix 'm'
*/
public function getMembers( $data )
{
switch ( $data['type'] )
{
case 'a':
return array( 'where' => array( "(m.last_visit>{$data['date']})" ) );
break;
case 'b':
return array( 'where' => array( "(m.last_visit<{$data['date']})" ) );
break;
}
}
}
@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Core extensions
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-21 09:09:36 -0400 (Mon, 21 May 2012) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 10914 $
* @version $Rev: 10771 $
*
*/
@@ -149,18 +149,18 @@ class publicSessions__members
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Item Marking
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-21 09:09:36 -0400 (Mon, 21 May 2012) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @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 $Rev: 10914 $
* @version $Rev: 10771 $
*/
class itemMarking__members
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Core variables extension file
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 1st march 2002
* @version $Revision: 10914 $
* @version $Revision: 10721 $
*
*/
@@ -3,7 +3,7 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Dashboard Notifications
* Last Updated: $Date
*
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*
*/
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Define data hook locations (Members)
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*/
$dataHookLocations = array(
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* BBCode Management : Determines if bbcode can be used in this section
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -15,7 +15,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 27th January 2004
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*
*/
@@ -0,0 +1,117 @@
<?php
/**
* @file emailLists.php Members Email Lists Extension
*
* $Copyright: $
* $License: $
* $Author: mark $
* $LastChangedDate: 2012-06-20 05:50:23 -0400 (Wed, 20 Jun 2012) $
* $Revision: 10952 $
* @since 11th June 2012
*/
/**
*
* @class emailLists_members
* @brief Members Email Lists Extension
*
*/
class emailLists_members
{
/**
* Get Form Data
*
* @return array
*/
public function getFormData( $current )
{
/* Get groups */
$groups = array();
foreach ( ipsRegistry::cache()->getCache('group_cache') as $g )
{
$groups[] = array( $g['g_id'], $g['g_title'] );
}
/* Return */
return array(
'group' => array(
"Is in group",
ipsRegistry::getClass('output')->formMultiDropdown( 'members-group[]', $groups, ( empty( $current ) ) ? array() : $current['group'] )
),
'last_visit' => array(
"Last Visit Was",
ipsRegistry::getClass('output')->formDropdown( 'members-last_visit_1', array( array( 'l', "Less Than" ), array( 'e', "Equal to" ), array( 'g', "Greater Than" ) ), ( empty( $current ) ) ? 'l' : $current['last_visit_1'] ) .
ipsRegistry::getClass('output')->formSimpleInput( 'members-last_visit_2', ( empty( $current ) ) ? '' : $current['last_visit_2'] ) .
" days ago"
),
'joined' => array(
"Joined",
ipsRegistry::getClass('output')->formDropdown( 'members-joined_1', array( array( 'l', "Less Than" ), array( 'e', "Equal to" ), array( 'g', "Greater Than" ) ), ( empty( $current ) ) ? 'l' : $current['joined_1'] ) .
ipsRegistry::getClass('output')->formSimpleInput( 'members-joined_2', ( empty( $current ) ) ? '' : $current['joined_2'] ) .
" days ago"
),
);
}
/**
* Get Query Data
*
* @param array Rules
* @return array Query Data
*/
public function getQueryData( $rules )
{
$return = array();
/* Member Group */
if ( !empty( $rules['group'] ) )
{
$return['where'][] = ipsRegistry::DB()->buildWherePermission( $rules['group'], 'members.member_group_id', FALSE );
}
/* Last Visit */
if ( $rules['last_visit_2'] !== '' )
{
switch ( $rules['last_visit_1'] )
{
case 'l':
$return['where'][] = "( members.last_visit<{$rules['last_visit_2']} )";
break;
case 'g':
$return['where'][] = "( members.last_visit>{$rules['last_visit_2']} )";
break;
case 'w':
$return['where'][] = "( members.last_visit={$rules['last_visit_2']} )";
break;
}
}
/* Join Date */
if ( $rules['joined_2'] !== '' )
{
switch ( $rules['joined_1'] )
{
case 'l':
$return['where'][] = "( members.joined<{$rules['joined_2']} )";
break;
case 'g':
$return['where'][] = "( members.joined>{$rules['joined_2']} )";
break;
case 'w':
$return['where'][] = "( members.joined={$rules['joined_2']} )";
break;
}
}
return $return;
}
}
@@ -0,0 +1,130 @@
<?php
/**
* @file mandrill.php Community Enhancements - Mandrill
*~TERABYTE_DOC_READY~
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
* $License: http://www.invisionpower.com/company/standards.php#license$
* $Author: mark $
* @since 24 July 2012
* $LastChangedDate: 2012-06-20 10:50:23 +0100 (Wed, 20 Jun 2012) $
* @version v3.4.5
* $Revision: 10952 $
*/
/**
*
* @class enhancements_members_mandrill
* @brief Community Enhancements - Mandrill
*/
class enhancements_members_mandrill
{
/**
* Constructor
*
* @param ipsRegistry
*/
public function __construct( $registry )
{
$this->title = $registry->getClass('class_localization')->words['enhancements_mandrill'];
$this->description = $registry->getClass('class_localization')->words['enhancements_mandrill_desc'];
$this->enabled = ( ipsRegistry::$settings['mandrill_api_key'] );
}
/**
* Edit Settings
*
* @param string Error
* @return string Output
*/
public function editSettings( $error='' )
{
ipsRegistry::getClass('class_localization')->loadLanguageFile( 'admin_bulkmail', 'members' );
if ( $this->enabled )
{
return ipsRegistry::getClass('output')->loadTemplate( 'cp_skin_bulkmail', 'members' )->mandrillManage( $error );
}
else
{
return ipsRegistry::getClass('output')->loadTemplate( 'cp_skin_bulkmail', 'members' )->mandrillSignup( $error );
}
}
/**
* Save Settings
*/
public function saveSettings()
{
/* Are we turning off? */
if ( ipsRegistry::$request['off'] )
{
IPSLib::updateSettings( array( 'mandrill_username' => '', 'mandrill_api_key' => '' ) );
ipsRegistry::getClass('output')->silentRedirect( ipsRegistry::$settings['_base_url'] . "app=core&amp;module=applications&amp;section=enhancements&amp;do=edit&amp;service=enhancements_members_mandrill" );
return;
}
/* Load language files so we have error messages if we need em */
ipsRegistry::getClass('class_localization')->loadLanguageFile( 'admin_bulkmail', 'members' );
/* Are we adding new values or just enabling SMTP? */
if ( ipsRegistry::$request['smtp_on'] )
{
ipsRegistry::$request['username'] = ipsRegistry::$settings['mandrill_username'];
ipsRegistry::$request['api_key'] = ipsRegistry::$settings['mandrill_api_key'];
ipsRegistry::$request['smtp'] = 1;
$update = array();
}
else
{
/* Trim (like a haircut, but with strings) */
ipsRegistry::$request['username'] = trim( ipsRegistry::$request['username'] );
ipsRegistry::$request['api_key'] = trim( ipsRegistry::$request['api_key'] );
/* If we don't have anything, tell them off */
if ( !ipsRegistry::$request['username'] or !ipsRegistry::$request['username'] )
{
return $this->editSettings( 'mandrill_setup_noinfo' );
}
/* Now shoot that over to Mandrill to make sure they're cool with it */
require_once IPSLib::getAppDir('members') . '/sources/classes/mandrill.php';
$mandrill = new Mandrill( ipsRegistry::$request['api_key'] );
$info = $mandrill->users_info();
if ( $info === NULL or $info->username != ipsRegistry::$request['username'] )
{
return $this->editSettings( 'mandrill_bad_credentials' );
}
/* So we're saving at least the API key and the username */
$update = array( 'mandrill_username' => ipsRegistry::$request['username'], 'mandrill_api_key' => ipsRegistry::$request['api_key'] );
}
/* Fire that off to IPS so Mandrill knows it's one of ours */
$classToLoad = IPSLib::loadLibrary( IPS_KERNEL_PATH . 'classFileManagement.php', 'classFileManagement' );
$file = new $classToLoad();
$json = NULL;
/* If they want to use Mandrill for SMTP too, that call will contain the SMTP info,
so set it if we got it, or if the call failed, throw an error */
if ( ipsRegistry::$request['smtp'] )
{
if ( $json )
{
$json = json_decode( $json, TRUE );
$update = array_merge( $update, $json );
}
else
{
return $this->editSettings( 'mandrill_error' );
}
}
/* Update the settings */
IPSLib::updateSettings( $update );
/* And boink the hell out of it */
ipsRegistry::getClass('output')->silentRedirect( ipsRegistry::$settings['_base_url'] . "app=core&amp;module=applications&amp;section=enhancements&amp;do=edit&amp;service=enhancements_members_mandrill" );
return;
}
}
@@ -0,0 +1,69 @@
<?php
/**
* @file facebook.php Community Enhancements - IPS Spam Monitoring
*~TERABYTE_DOC_READY~
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
* $License: http://www.invisionpower.com/company/standards.php#license$
* $Author: mark $
* @since 24 July 2012
* $LastChangedDate: 2012-06-20 10:50:23 +0100 (Wed, 20 Jun 2012) $
* @version v3.4.5
* $Revision: 10952 $
*/
/**
*
* @class enhancements_members_spammonitoring
* @brief Community Enhancements - IPS Spam Monitoring
*/
class enhancements_members_spammonitoring
{
/**
* Applicable Settings
*/
public $settings = array( 'spam_service_enabled', 'spam_service_send_to_ips', 'spam_service_timeout', 'spam_service_action_timeout', 'spam_service_action_0', 'spam_service_action_1', 'spam_service_action_2', 'spam_service_action_3', 'spam_service_action_4' );
/**
* Constructor
*
* @param ipsRegistry
*/
public function __construct( $registry )
{
$this->title = $registry->getClass('class_localization')->words['enhancements_spammonitoring'];
$this->description = $registry->getClass('class_localization')->words['enhancements_spammonitoring_desc'];
$this->message = "<a href='http://external.ipslink.com/ipboard30/landing/?p=spamserviceinfo' target='_blank'>{$registry->getClass('class_localization')->words['enhancements_spammonitoring_help']}</a>";
$this->enabled = ( ipsRegistry::$settings['spam_service_enabled'] and $this->check( TRUE ) );
}
/**
* Check service is available
*/
public function check( $return=FALSE )
{
$ok = FALSE;
$licenseData = ipsRegistry::cache()->getCache('licenseData');
if ( isset( $licenseData['ipbMain'] ) )
{
foreach ( $licenseData['ipbMain'] as $service )
{
if ( $service['name'] == 'Spam Monitoring Service' and $service['status'] == 'Ok' )
{
$ok = TRUE;
break;
}
}
}
if ( $return )
{
return $ok;
}
if ( !$ok )
{
ipsRegistry::getClass('output')->showError( ipsRegistry::getClass('class_localization')->words['enhancements_spammonitoring_error'] );
}
}
}
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* RSS output plugin :: posts
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -15,7 +15,7 @@
* @subpackage Forums
* @link http://www.invisionpower.com
* @since 6/24/2008
* @version $Revision: 10914 $
* @version $Revision: 10721 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -1,106 +1,124 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* Sets up SEO templates
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 10914 $
*
*/
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
/**
* SEO templates
*
* 'allowRedirect' is a flag to tell IP.Board whether to check the incoming link and if not formatted correctly, redirect the correct one
*
* OUT FORMAT REGEX:
* First array element is a regex to run to see if we've a match for the URL
* The second array element is the template to use the results of the parenthesis capture
*
* Special variable #{__title__} is replaced with the $title data passed to output->formatUrl( $url, $title)
*
* IMPORTANT: Remember that when these regex are used, the output has not been fully parsed so you will get:
* showuser={$data['member_id']} NOT showuser=1 so do not try and match numerics only!
*
* IN FORMAT REGEX
*
* This allows the registry to piece back together a URL based on the template regex
* So, for example: "/user/(\d+?)/", 'matches' => array( array( 'showuser' => '$1' ) )tells IP.Board to populate 'showuser' with the result
* of the parenthesis capture #1
*/
$_SEOTEMPLATES = array(
'showuser' => array( 'app' => 'members',
'allowRedirect' => 1,
'out' => array( '#showuser=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'user/$1-#{__title__}/$2$4' ),
'in' => array( 'regex' => "#^/user/(\d+?)-#i",
'matches' => array( array( 'showuser', '$1' ) ) ) ),
'members_status_single' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(?:&|&amp;)status_id=(\d+?)(&|$)#i', 'statuses/id/$1/$2' ),
'in' => array( 'regex' => "#/statuses/id/(\d+?)/#i",
'matches' => array( array( 'app' , 'members' ),
array( 'section', 'status' ),
array( 'module' , 'profile' ),
array( 'type' , 'single' ),
array( 'status_id', '$1' ) ) ) ),
'members_status_friends'=> array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=friends(&|$)#i', 'statuses/friends/$2' ),
'in' => array( 'regex' => "#/statuses/friends#i",
'matches' => array( array( 'app' , 'members' ),
array( 'section', 'status' ),
array( 'module' , 'profile' ),
array( 'type' , 'friends' ) ) ) ),
'members_status_all' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status((?:&|&amp;)type=all)?(&|$)#i', 'statuses/all/$2' ),
'in' => array( 'regex' => "#/statuses/all#i",
'matches' => array( array( 'app' , 'members' ),
array( 'section', 'status' ),
array( 'module' , 'profile' ) ) ) ),
'members_list' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members((&|&amp;)module=list)?#i', 'members/' ),
'in' => array(
'regex' => "#/members(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'list' ) )
)
),
'most_liked' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=reputation(?:&|&amp;)section=most#i', 'best-content/' ),
'in' => array(
'regex' => "#/best-content(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'reputation' ),
array( 'section', 'most' ) )
)
),
);
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.5
* Sets up SEO templates
* Last Updated: $Date: 2013-02-04 18:48:34 -0500 (Mon, 04 Feb 2013) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 11934 $
*
*/
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
/**
* SEO templates
*
* 'allowRedirect' is a flag to tell IP.Board whether to check the incoming link and if not formatted correctly, redirect the correct one
*
* OUT FORMAT REGEX:
* First array element is a regex to run to see if we've a match for the URL
* The second array element is the template to use the results of the parenthesis capture
*
* Special variable #{__title__} is replaced with the $title data passed to output->formatUrl( $url, $title)
*
* IMPORTANT: Remember that when these regex are used, the output has not been fully parsed so you will get:
* showuser={$data['member_id']} NOT showuser=1 so do not try and match numerics only!
*
* IN FORMAT REGEX
*
* This allows the registry to piece back together a URL based on the template regex
* So, for example: "/user/(\d+?)/", 'matches' => array( array( 'showuser' => '$1' ) )tells IP.Board to populate 'showuser' with the result
* of the parenthesis capture #1
*/
$_SEOTEMPLATES = array(
'showuser' => array( 'app' => 'members',
'allowRedirect' => 1,
'out' => array( '#showuser=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'user/$1-#{__title__}/$2$4' ),
'in' => array( 'regex' => "#^/user/(\d+?)(?:-|/|$)#i",
'matches' => array( array( 'showuser', '$1' ) ) ) ),
'members_status_legacy' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=xxxxx(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(&|$)#i', 'statuses/user/#{__title-0__}-#{__title-1__}/$1' ),
'newTemplate' => 'members_status_single',
'in' => array( 'regex' => "#^/statuses/id/(\d+?)(/|$|\?)#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'single' ),
array( 'status_id', '$1' ) ) ) ),
'members_status_single' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(&|$)#i', 'statuses/user/#{__title-0__}-#{__title-1__}/$1' ),
'in' => array( 'regex' => "#^/statuses/user/([^/]+?)/\{__varBlock__\}status_id#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'single' ) ) ) ),
'members_status_member_all' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=memberall(?:&|&amp;)member_id=\d+?(&|$)#i', 'statuses/user/#{__title-0__}-#{__title-1__}/$1' ),
'in' => array( 'regex' => "#^/statuses/user/(\d+?)(?:-([^/]+?))?/(?!\#\{__varBlock__\}status_id)#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section' , 'status' ),
array( 'member_id' , '$1' ) ) ) ),
'members_status_friends'=> array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=friends(&|$)#i', 'statuses/friends/$2' ),
'in' => array( 'regex' => "#^/statuses/friends#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'friends' ) ) ) ),
'members_status_all' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status((?:&|&amp;)type=all)?(&|$)#i', 'statuses/all/$2' ),
'in' => array( 'regex' => "#^/statuses/all#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ) ) ) ),
'members_list' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members((&|&amp;)module=list)?#i', 'members/' ),
'in' => array(
'regex' => "#^/members(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'list' ) )
)
),
'most_liked' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=reputation(?:&|&amp;)section=most#i', 'best-content/' ),
'in' => array(
'regex' => "#^/best-content(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'reputation' ),
array( 'section', 'most' ) )
)
),
);
@@ -0,0 +1,124 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.5
* Sets up SEO templates
* Last Updated: $Date: 2013-02-04 18:48:34 -0500 (Mon, 04 Feb 2013) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 11934 $
*
*/
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
/**
* SEO templates
*
* 'allowRedirect' is a flag to tell IP.Board whether to check the incoming link and if not formatted correctly, redirect the correct one
*
* OUT FORMAT REGEX:
* First array element is a regex to run to see if we've a match for the URL
* The second array element is the template to use the results of the parenthesis capture
*
* Special variable #{__title__} is replaced with the $title data passed to output->formatUrl( $url, $title)
*
* IMPORTANT: Remember that when these regex are used, the output has not been fully parsed so you will get:
* showuser={$data['member_id']} NOT showuser=1 so do not try and match numerics only!
*
* IN FORMAT REGEX
*
* This allows the registry to piece back together a URL based on the template regex
* So, for example: "/user/(\d+?)/", 'matches' => array( array( 'showuser' => '$1' ) )tells IP.Board to populate 'showuser' with the result
* of the parenthesis capture #1
*/
$_SEOTEMPLATES = array(
'showuser' => array( 'app' => 'members',
'allowRedirect' => 1,
'out' => array( '#showuser=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'user/$1/$2$4' ),
'in' => array( 'regex' => "#^/user/(\d+?)(?:-|/|$)#i",
'matches' => array( array( 'showuser', '$1' ) ) ) ),
'members_status_legacy' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=xxxxx(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(&|$)#i', 'statuses/user/#{__title-0__}/$1' ),
'newTemplate' => 'members_status_single',
'in' => array( 'regex' => "#^/statuses/id/(\d+?)(/|$|\?)#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'single' ),
array( 'status_id', '$1' ) ) ) ),
'members_status_single' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(&|$)#i', 'statuses/user/#{__title-0__}/$1' ),
'in' => array( 'regex' => "#^/statuses/user/([^/]+?)/\{__varBlock__\}status_id#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'single' ) ) ) ),
'members_status_member_all' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=memberall(?:&|&amp;)member_id=\d+?(&|$)#i', 'statuses/user/#{__title-0__}/$1' ),
'in' => array( 'regex' => "#^/statuses/user/(\d+?)(?:-([^/]+?))?/(?!\#\{__varBlock__\}status_id)#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section' , 'status' ),
array( 'member_id' , '$1' ) ) ) ),
'members_status_friends'=> array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=friends(&|$)#i', 'statuses/friends/$2' ),
'in' => array( 'regex' => "#^/statuses/friends#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ),
array( 'type' , 'friends' ) ) ) ),
'members_status_all' => array( 'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status((?:&|&amp;)type=all)?(&|$)#i', 'statuses/all/$2' ),
'in' => array( 'regex' => "#^/statuses/all#i",
'matches' => array( array( 'app' , 'members' ),
array( 'module' , 'profile' ),
array( 'section', 'status' ) ) ) ),
'members_list' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members((&|&amp;)module=list)?#i', 'members/' ),
'in' => array(
'regex' => "#^/members(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'list' ) )
)
),
'most_liked' => array(
'app' => 'members',
'allowRedirect' => 0,
'out' => array( '#app=members(?:&|&amp;)module=reputation(?:&|&amp;)section=most#i', 'best-content/' ),
'in' => array(
'regex' => "#^/best-content(/|$|\?)#i",
'matches' => array( array( 'app', 'members' ),
array( 'module', 'reputation' ),
array( 'section', 'most' ) )
)
),
);
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Forum permissions mappings
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-08-22 10:11:25 -0400 (Wed, 22 Aug 2012) $
* </pre>
*
* @author $author$
@@ -14,7 +14,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 11249 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -32,7 +32,7 @@ if ( ! defined( 'IN_IPB' ) )
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 11249 $
*/
class membersMemberSync
{
@@ -74,17 +74,6 @@ class membersMemberSync
$this->registry->getClass('memberStatus')->deleteAllMemberStatus();
}
/**
* This method is run when a member is un-flagged as a spammer
*
* @param array $member Array of member data
* @return @e void
*/
public function onUnSetAsSpammer( $member )
{
}
/**
* This method is called after a member account has been removed
*
@@ -7,7 +7,7 @@
* $Author: mmecham $
* @since 2/17/2011
* $LastChangedDate: 2012-01-24 11:56:40 -0500 (Tue, 24 Jan 2012) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 10180 $
*/
@@ -4,11 +4,11 @@
*~TERABYTE_DOC_READY~
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
* $License: http://www.invisionpower.com/company/standards.php#license$
* $Author: bfarber $
* $Author: mark $
* @since 2/18/2011
* $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* @version v3.3.4
* $Revision: 10914 $
* $LastChangedDate: 2012-03-23 08:34:13 -0400 (Fri, 23 Mar 2012) $
* @version v3.4.5
* $Revision: 10474 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -7,7 +7,7 @@
* $Author: mark $
* @since 2/17/2011
* $LastChangedDate: 2011-11-16 11:36:38 -0500 (Wed, 16 Nov 2011) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 9829 $
*/
@@ -7,7 +7,7 @@
* $Author: mark $
* @since 2/17/2011
* $LastChangedDate: 2011-11-16 11:36:38 -0500 (Wed, 16 Nov 2011) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 9829 $
*/
@@ -7,7 +7,7 @@
* $Author: mark $
* @since 2/17/2011
* $LastChangedDate: 2011-11-16 11:36:38 -0500 (Wed, 16 Nov 2011) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 9829 $
*/
@@ -7,7 +7,7 @@
* $Author: ips_terabyte $
* @since 2/14/2011
* $LastChangedDate: 2011-12-14 12:27:41 -0500 (Wed, 14 Dec 2011) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 10000 $
*/
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Define the core notification types
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2013-05-21 20:51:17 -0400 (Tue, 21 May 2013) $
* </pre>
*
* @author $Author: bfarber $
@@ -15,7 +15,7 @@
* @subpackage Forums
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 10914 $
* @version $Rev: 12263 $
*
*/
@@ -38,21 +38,46 @@ class members_notifications
*/
$_NOTIFY = array(
array( 'key' => 'profile_comment', 'default' => array( 'inline' ), 'disabled' => array(), 'icon' => 'notify_profilecomment' ),
array( 'key' => 'friend_request', 'default' => array( 'inline' ), 'disabled' => array(), 'icon' => 'notify_friendrequest' ),
array( 'key' => 'friend_request_approve', 'default' => array( 'inline' ), 'disabled' => array(), 'icon' => 'notify_friendrequest' ),
array( 'key' => 'friend_request', 'default' => array( 'inline' ), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_friendrequest' ),
array( 'key' => 'friend_request_approve', 'default' => array( 'inline' ), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_friendrequest' ),
array( 'key' => 'new_private_message', 'default' => array( 'email' ), 'disabled' => array( 'inline' ), 'icon' => 'notify_pm' ),
array( 'key' => 'reply_private_message', 'default' => array( 'email' ), 'disabled' => array( 'inline' ), 'icon' => 'notify_pm' ),
array( 'key' => 'invite_private_message', 'default' => array( 'email' ), 'disabled' => array( 'inline' ), 'icon' => 'notify_pm' ),
array( 'key' => 'reply_your_status', 'default' => array(), 'disabled' => array(), 'icon' => 'notify_statusreply' ),
array( 'key' => 'reply_any_status', 'default' => array(), 'disabled' => array(), 'icon' => 'notify_statusreply' ),
array( 'key' => 'friend_status_update', 'default' => array(), 'disabled' => array(), 'icon' => 'notify_statusreply' ),
array( 'key' => 'reply_your_status', 'default' => array(), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_statusreply' ),
array( 'key' => 'reply_any_status', 'default' => array(), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_statusreply' ),
array( 'key' => 'friend_status_update', 'default' => array(), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_statusreply' ),
array( 'key' => 'warning', 'default' => array( 'email' ), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_warning' ),
array( 'key' => 'warning_mods', 'default' => array( 'inline' ), 'disabled' => array(), 'show_callback' => true, 'icon' => 'notify_warning' ),
);/*noLibHook*/
return $_NOTIFY;
}
public function friend_request( $member )
{
return (bool) ( ipsRegistry::$settings['friends_enabled'] && $member['g_can_add_friends'] );
}
public function friend_request_approve( $member )
{
return (bool) ( ipsRegistry::$settings['friends_enabled'] && $member['g_can_add_friends'] );
}
public function friend_status_update( $member )
{
return (bool) ( ipsRegistry::$settings['su_enabled'] && ipsRegistry::$settings['friends_enabled'] && $member['g_can_add_friends'] );
}
public function reply_your_status( $member )
{
return (bool) ( ipsRegistry::$settings['su_enabled'] );
}
public function reply_any_status( $member )
{
return (bool) ( ipsRegistry::$settings['su_enabled'] );
}
public function warning( $member )
{
if ( !ipsRegistry::$settings['warn_on'] )
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Fetches meta data for notifications
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $author$
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Config for about me tab
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*
*/
@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Profile Plugin Library
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-09-14 10:11:40 -0400 (Fri, 14 Sep 2012) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: mark $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Revision: 10914 $
* @version $Revision: 11340 $
*
*/
@@ -69,7 +69,7 @@ class profile_friends extends profile_plugin_parent
/* Get em! */
$queryData = array( 'select' => 'f.*',
'from' => array( 'profile_friends' => 'f' ),
'where' => 'f.friends_member_id=' . $member['member_id'] . ' AND f.friends_approved=1',
'where' => 'f.friends_member_id=' . $member['member_id'] . ' AND f.friends_approved=1 AND m.member_banned=0 AND ( ! ' . IPSBWOptions::sql( 'bw_is_spammer', 'members_bitoptions', 'members', 'global', 'has' ) . ')',
'add_join' => array(
1 => array( 'select' => 'pp.*',
'from' => array( 'profile_portal' => 'pp' ),
@@ -100,7 +100,7 @@ class profile_friends extends profile_plugin_parent
{
if( $row['member_id'] )
{
$friends[ $row['members_display_name'] ] = IPSMember::buildDisplayData( $row, 0 );
$friends[ IPSText::mbstrtolower($row['members_display_name']) ] = IPSMember::buildDisplayData( $row, 0 );
}
}
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Config for reputation tab
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 4th January 2012
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*
*/
@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Reputation Profile Tab
* Last Updated: $Date: 2012-07-09 12:56:26 -0400 (Mon, 09 Jul 2012) $
* Last Updated: $Date: 2012-09-27 11:58:26 -0400 (Thu, 27 Sep 2012) $
* </pre>
*
* @author $Author: AndyMillne $
* @author $Author: mark $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @since 4th January 2012
* @version $Revision: 11047 $
* @version $Revision: 11387 $
*
*/
@@ -64,7 +64,7 @@ class profile_reputation extends profile_plugin_parent
/* What is it we're getting? */
$app = ( ! empty($this->request['app_tab']) and isset( $supportedApps[ $this->request['app_tab'] ] ) ) ? $this->request['app_tab'] : 'forums';
$type = ( isset( $this->request['type'] ) and $this->request['type'] == 'received' ) ? 'received' : 'given';
$type = ( isset( $this->request['type'] ) and $this->request['type'] == 'given' ) ? 'given' : 'received';
$st = isset( $this->request['st'] ) ? intval( $this->request['st'] ) : 0;
/* Can we view given reputation - If not, no point going any further*/
@@ -88,7 +88,7 @@ class profile_reputation extends profile_plugin_parent
$this->DB->build( $queryForCount );
$rawQuery = $this->DB->fetchSqlString();
$this->DB->flushQuery();
$this->DB->allow_sub_select = 1;
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Config for about me tab
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*
*/
@@ -3,9 +3,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Profile Plugin Library
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-08-28 17:56:22 -0400 (Tue, 28 Aug 2012) $
* </pre>
*
* @author $Author: bfarber $
@@ -15,7 +15,7 @@
* @subpackage Members
* @link http://www.invisionpower.com
* @since 20th February 2002
* @version $Revision: 10914 $
* @version $Revision: 11296 $
*
*/
@@ -57,5 +57,4 @@ class profile_status extends profile_plugin_parent
return $content ? $content : $this->registry->getClass('output')->getTemplate('profile')->tabNoContent( 'err_no_status_to_show' );
}
}
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Report Center :: Private Messages plugin
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $LastChangedDate: 2013-05-08 17:43:20 -0400 (Wed, 08 May 2013) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 12240 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -323,19 +323,19 @@ class messages_plugin
) );
$message = "[quote name='" . IPSText::getTextClass('bbcode')->makeQuoteSafe( $data['members_display_name'] ) . "']";
$message .= $data['msg_post'];
$message .= $this->registry->output->parseIPSTags( $data['msg_post'] );
$message .= "[/quote]\n\n";
$message .= $this->request['message'];
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_html = 0;
IPSText::getTextClass('bbcode')->parse_emoticons = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 1;
IPSText::getTextClass('bbcode')->parsing_section = 'reports';
/* Load editor stuff */
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
$editor = new $classToLoad();
$editor->setLegacyMode(false);
$build_report = array(
'rid' => $rid,
'report' => IPSText::getTextClass('bbcode')->preDbParse( $message ),
'report' => $editor->process( $message ),
'report_by' => $this->memberData['member_id'],
'date_reported' => time(),
);
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Report Center :: Profiles plugin
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $LastChangedDate: 2013-04-12 20:11:40 -0400 (Fri, 12 Apr 2013) $
* </pre>
*
* @author $Author: bfarber $
@@ -14,7 +14,7 @@
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 12172 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -158,11 +158,20 @@ class profiles_plugin
$ex_form_data = array(
'member_id' => $mem,
'ctyp' => 'profile',
'title' => $member['members_display_name']
'title' => $member['members_display_name'] ? $member['members_display_name'] : $this->lang->words['missing_name_report'],
);
$this->registry->output->setTitle( $this->lang->words['report_mem_page'] );
$this->registry->output->addNavigation( $member['members_display_name'], "showuser=" . $member['member_id'] );
if( $member['members_display_name'] )
{
$this->registry->output->addNavigation( $member['members_display_name'], "showuser=" . $member['member_id'] );
}
else
{
$this->registry->output->addNavigation( $this->lang->words['missing_name_report'], '' );
}
$this->registry->output->addNavigation( $this->lang->words['report_mem_page'], '' );
$this->lang->words['report_basic_title'] = $this->lang->words['report_mem_page'];
@@ -171,7 +180,7 @@ class profiles_plugin
$url = $this->registry->getClass('output')->buildSEOUrl( "showuser=" . $ex_form_data['member_id'], 'public', $member['members_seo_name'], 'showuser' );
return $this->registry->getClass('reportLibrary')->showReportForm( $member['members_display_name'], $url, $ex_form_data );
return $this->registry->getClass('reportLibrary')->showReportForm( $member['members_display_name'] ? $member['members_display_name'] : $this->lang->words['missing_name_report'], $url, $ex_form_data );
}
/**
@@ -262,15 +271,15 @@ class profiles_plugin
$this->DB->update( 'rc_reports_index', array( 'date_updated' => time(), 'status' => $status['new'], 'seoname' => $data['members_seo_name'], 'seotemplate' => 'showuser' ), "id='{$rid}'" );
}
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_html = 0;
IPSText::getTextClass('bbcode')->parse_emoticons = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 1;
IPSText::getTextClass('bbcode')->parsing_section = 'reports';
/* Load editor stuff */
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
$editor = new $classToLoad();
$editor->setLegacyMode(false);
$build_report = array(
'rid' => $rid,
'report' => IPSText::getTextClass('bbcode')->preDbParse( $this->request['message'] ),
'report' => $editor->process( $this->request['message'] ),
'report_by' => $this->memberData['member_id'],
'date_reported' => time(),
);
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Config file
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2013-04-15 17:26:30 -0400 (Mon, 15 Apr 2013) $
* </pre>
*
* @author $author$
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 12179 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -22,16 +22,18 @@ if ( ! defined( 'IN_IPB' ) )
exit();
}
$memberData = ipsRegistry::member()->fetchMemberData();
/* Can search with this app */
$CONFIG['can_search'] = 1;
$CONFIG['can_search'] = ( $memberData['g_mem_info'] ) ? 1 : 0;
/* Can view new content with this app */
$CONFIG['can_viewNewContent'] = 1;
$CONFIG['can_viewNewContent'] = ( $memberData['g_mem_info'] ) ? 1 : 0;
$CONFIG['can_vnc_filter_by_followed'] = 0;
$CONFIG['can_vnc_unread_content'] = 0;
/* Can fetch user generated content */
$CONFIG['can_userContent'] = 1;
$CONFIG['can_userContent'] = ( $memberData['g_mem_info'] ) ? 1 : 0;
/* Content types, put the default one first */
if( $_REQUEST['do'] == 'user_activity' )
File diff suppressed because it is too large. Load diff
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Returns HTML for the form (optional class, not required)
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $author$
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 10721 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -2,9 +2,9 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Formats forum search results
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* Last Updated: $Date: 2012-05-25 13:17:47 -0400 (Fri, 25 May 2012) $
* </pre>
*
* @author $author$
@@ -13,7 +13,7 @@
* @package IP.Board
* @subpackage Forums
* @link http://www.invisionpower.com
* @version $Rev: 10914 $
* @version $Rev: 10798 $
*/
if ( ! defined( 'IN_IPB' ) )
@@ -3,7 +3,7 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* IP.Board v3.4.5
* Sphinx template file
* Last Updated: $Date: 2011-06-02 17:57:20 -0400 (Thu, 02 Jun 2011) $
* </pre>
@@ -7,7 +7,7 @@
* $Author: ips_terabyte $ (Original: Mark)
* @since -
* $LastChangedDate: 2010-10-14 13:11:17 -0400 (Thu, 14 Oct 2010) $
* @version v3.3.4
* @version v3.4.5
* $Revision: 477 $
*/