Version 4.7.6

This commit is contained in:
Neo committed 2025-12-19 16:05:19 -08:00
1 parent 8ba7d43898
commit 7b7404e741
1085 files changed
+30590 -7837

No files matched your search

@@ -414,7 +414,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['approve'] = array(
'icon' => 'check-circle',
'title' => 'approve',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=approve&id=' . $member->member_id . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=approve&id=' . $member->member_id )->getSafeUrlFromFilters()->csrf(),
'id' => "{$member->member_id}-approve",
'data' => array(
'bubble' => '',
@@ -423,7 +423,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['ban'] = array(
'icon' => 'times',
'title' => 'ban',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=ban&id=' . $member->member_id . '&permban=1' . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=ban&id=' . $member->member_id . '&permban=1' )->csrf()->getSafeUrlFromFilters(),
'id' => "{$member->member_id}-ban",
'data' => array(
'bubble' => '',
@@ -435,7 +435,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['resend_email'] = array(
'icon' => 'envelope-o',
'title' => 'resend_validation_email',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=resendEmail&id=' . $member->member_id . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=resendEmail&id=' . $member->member_id )->csrf()->getSafeUrlFromFilters(),
'data' => array( 'doajax' => '' ),
'id' => "{$member->member_id}-resend",
);
@@ -453,7 +453,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['unlock'] = array(
'icon' => 'unlock',
'title' => 'unlock',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=unlock&id=' . $member->member_id . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=unlock&id=' . $member->member_id )->csrf()->getSafeUrlFromFilters(),
'data' => array( 'bubble' => '' )
);
}
@@ -461,7 +461,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['view'] = array(
'icon' => 'search',
'title' => 'view',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=view&id=' . $member->member_id . $this->getSafeUrlFromFilters() ),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=view&id=' . $member->member_id )->getSafeUrlFromFilters(),
);
if ( !\IPS\Request::i()->_groupFilter )
@@ -473,7 +473,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['flag'] = array(
'icon' => 'flag',
'title' => 'spam_flag',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=spam&id=' . $member->member_id . '&status=1' . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=spam&id=' . $member->member_id . '&status=1')->csrf()->getSafeUrlFromFilters(),
'hidden' => $member->members_bitoptions['bw_is_spammer'],
'id' => "{$member->member_id}-flag",
'data' => array(
@@ -483,7 +483,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['unflag'] = array(
'icon' => 'flag ipsType_spammer',
'title' => 'spam_unflag',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=spam&id=' . $member->member_id . '&status=0' . $this->getSafeUrlFromFilters() )->csrf(),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=spam&id=' . $member->member_id . '&status=0' )->csrf()->getSafeUrlFromFilters(),
'hidden' => !$member->members_bitoptions['bw_is_spammer'],
'id' => "{$member->member_id}-unflag",
'data' => array(
@@ -498,7 +498,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
$return['delete'] = array(
'icon' => 'times-circle',
'title' => 'delete',
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=delete&id=' . $member->member_id . $this->getSafeUrlFromFilters() ),
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=members&do=delete&id=' . $member->member_id )->getSafeUrlFromFilters(),
'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack( 'delete_member', FALSE, array( 'sprintf' => $member->name ) ) ),
);
}
@@ -1544,6 +1544,9 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
{
/* Still here? We've already confirmed and we only have the internal login handler, so go ahead. */
$member->forcePasswordReset();
\IPS\Session::i()->log( 'acplog__reset_password_member', array( $member->name => FALSE ) );
\IPS\Output::i()->redirect( $member->acpUrl() );
}
}
@@ -1633,7 +1636,9 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
}
\IPS\Task::queue( 'core', 'ForcePasswordReset', $options, 1, \array_keys( $options ) );
\IPS\Session::i()->log( 'acplog__reset_password_all' );
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=members&controller=members" ), 'saved' );
}
@@ -2989,32 +2994,14 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
}
}
\IPS\Session::i()->log( 'acplog__deleted_guest_content', array( $values['guest_name_to_delete'] => FALSE ) );
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=moderation&controller=spam&searchResult=guest_captcha" ), 'deleted' );
}
\IPS\Output::i()->output = $form;
}
/**
* Return a partial query string based on any filters or sort options
*
* @return string
*/
protected function getSafeUrlFromFilters(): string
{
$extraUrlParams = [];
foreach( [ 'filter', 'sortby', 'sortdirection' ] as $param )
{
if ( isset( \IPS\Request::i()->$param ) )
{
$extraUrlParams[ $param ] = \IPS\Request::i()->$param;
}
}
return \count( $extraUrlParams ) ? '&' . http_build_query( $extraUrlParams ) : '';
}
/**
* Delete Member
*
@@ -3082,7 +3069,7 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
break;
}
\IPS\Output::i()->redirect( \IPS\Http\Url::internal("app=core&module=members&controller=members" . $this->getSafeUrlFromFilters() ), 'deleted' );
\IPS\Output::i()->redirect( \IPS\Http\Url::internal("app=core&module=members&controller=members" )->getSafeUrlFromFilters(), 'deleted' );
}
/* Display Form */
@@ -3267,6 +3254,8 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
/* Rebuild */
$member->removeReputation( \IPS\Request::i()->type );
}
\IPS\Session::i()->log( 'acplog__member_reaction_removed_' . \IPS\Request::i()->type , array( $member->name => FALSE ) );
/* redirect */
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=view&id={$member->member_id}" ), 'saved' );
@@ -4400,6 +4389,8 @@ class _members extends \IPS\Helpers\CoverPhoto\Controller
}
}
}
\IPS\Session::i()->log( 'acplog__member_pii_exported', array( $member->name => FALSE ) );
/* Build */
\IPS\Output::i()->sendOutput( $xml->asXML(), 200, 'application/xml', array( "Content-Disposition" => \IPS\Output::getContentDisposition( 'attachment', $member->name . '_personal_information.xml' ) ), FALSE, FALSE, FALSE );