Version 3.4.6

This commit is contained in:
Neo committed 2025-12-19 00:40:53 -08:00
1 parent e4478369d8
commit b45ea0dffb
1568 files changed
+155104 -161665

No files matched your search

@@ -3,19 +3,19 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.4.5
* IP.Board v3.4.6
* Friends library
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* Last Updated: $Date: 2013-10-15 10:08:51 -0400 (Tue, 15 Oct 2013) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: AndyMillne $
* @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: 10721 $
* @version $Rev: 12378 $
*
*/
@@ -31,35 +31,35 @@ class profileFriendsLib
* Registry object
*
* @var object
*/
*/
protected $registry;
/**
* Database object
*
* @var object
*/
*/
protected $DB;
/**
* Settings object
*
* @var object
*/
*/
protected $settings;
/**
* Request object
*
* @var object
*/
*/
protected $request;
/**
* Member object
*
* @var object
*/
*/
protected $member;
protected $memberData;
@@ -135,15 +135,30 @@ class profileFriendsLib
}
/* Are we already friends? */
$friend_check = $this->DB->buildAndFetch( array(
$friend_check = $this->DB->buildAndFetch( array(
'select' => 'friends_id',
'from' => 'profile_friends',
'where' => "friends_member_id={$from_id} AND friends_friend_id={$friend_id}"
'where' => "friends_member_id={$from_id} AND friends_friend_id={$friend_id}"
) );
if( $friend_check['friends_id'] )
{
return 'pp_friend_already';
/* We may have friend record but it could just be a request awaiting approval. If so just approve it
* http://community.invisionpower.com/resources/bugs.html/_/ip-board/bug-with-friends-request-friend-doesnt-appear-in-list-r43134
*/
if( !$friend_check['friends_approved'] )
{
$this->DB->update( 'profile_friends', array( 'friends_approved' => 1 ), "friends_member_id = {$from_id} AND friends_friend_id={$friend_id}" );
$this->recacheFriends( $member );
$this->recacheFriends( $friend );
return;
}
else
{
return 'pp_friend_already';
}
}
/* Check flood table */
@@ -159,7 +174,7 @@ class profileFriendsLib
$this->pendingApproval = true;
}
$_profileFriendsData = array(
$_profileFriendsData = array(
'friends_member_id' => $member['member_id'],
'friends_friend_id' => $friend['member_id'],
'friends_approved' => $friends_approved,
@@ -187,15 +202,15 @@ class profileFriendsLib
IPSText::getTextClass('email')->getTemplate( "new_friend_request", $friend['language'] );
IPSText::getTextClass( 'email' )->buildMessage( array(
IPSText::getTextClass( 'email' )->buildMessage( array(
'MEMBERS_DISPLAY_NAME' => $friend['members_display_name'],
'FRIEND_NAME' => $member['members_display_name'],
'LINK' => "{$this->settings['board_url']}/index.{$this->settings['php_ext']}?app=members&amp;section=friends&amp;module=profile&amp;do=list&amp;tab=pending"
) );
IPSText::getTextClass('email')->subject = sprintf(
IPSText::getTextClass('email')->subject,
$this->registry->output->buildSEOUrl( 'showuser=' . $member['member_id'], 'public', $member['members_seo_name'], 'showuser' ),
IPSText::getTextClass('email')->subject = sprintf(
IPSText::getTextClass('email')->subject,
$this->registry->output->buildSEOUrl( 'showuser=' . $member['member_id'], 'public', $member['members_seo_name'], 'showuser' ),
$member['members_display_name'],
"{$this->settings['board_url']}/index.{$this->settings['php_ext']}?app=members&amp;section=friends&amp;module=profile&amp;do=list&amp;tab=pending"
);
@@ -230,15 +245,15 @@ class profileFriendsLib
IPSText::getTextClass('email')->getTemplate( "new_friend_added", $friend['language'] );
IPSText::getTextClass( 'email' )->buildMessage( array(
IPSText::getTextClass( 'email' )->buildMessage( array(
'MEMBERS_DISPLAY_NAME' => $friend['members_display_name'],
'FRIEND_NAME' => $member['members_display_name'],
'LINK' => "{$this->settings['board_url']}/index.{$this->settings['php_ext']}?app=members&amp;section=friends&amp;module=profile&amp;do=list"
) );
IPSText::getTextClass('email')->subject = sprintf(
IPSText::getTextClass('email')->subject,
$this->registry->output->buildSEOUrl( 'showuser=' . $member['member_id'], 'public', $member['members_seo_name'], 'showuser' ),
IPSText::getTextClass('email')->subject = sprintf(
IPSText::getTextClass('email')->subject,
$this->registry->output->buildSEOUrl( 'showuser=' . $member['member_id'], 'public', $member['members_seo_name'], 'showuser' ),
$member['members_display_name']
);
@@ -271,10 +286,10 @@ class profileFriendsLib
* @param integer $friend_id The friend being removed
* @param integer $from_id The requesting member, defaults to current member
* @return string Error Key or blank for success
*/
*/
public function removeFriend( $friend_id, $from_id=0 )
{
/* INIT */
/* INIT */
$friend_id = intval( $friend_id );
$from_id = $from_id ? intval($from_id) : $this->memberData['member_id'];
$friend = array();
@@ -293,9 +308,9 @@ class profileFriendsLib
}
/* Check for the friend */
$friend_check = $this->DB->buildAndFetch( array(
'select' => 'friends_id',
'from' => 'profile_friends',
$friend_check = $this->DB->buildAndFetch( array(
'select' => 'friends_id',
'from' => 'profile_friends',
'where' => "friends_member_id={$from_id} AND friends_friend_id={$friend['member_id']}"
) );
@@ -312,7 +327,7 @@ class profileFriendsLib
/* Recache */
$this->recacheFriends( $member );
$this->recacheFriends( $friend );
$this->recacheFriends( $friend );
}
/**