Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

+43 -6
View File
@@ -106,6 +106,12 @@ class _Warning extends \IPS\Content\Item
}
}
}
if ( $this->cheev_point_reduction )
{
$member->achievements_points += $this->cheev_point_reduction;
$consequences['cheev_point_reduction'] = $this->cheev_point_reduction;
}
/* Save */
$member->save();
@@ -283,6 +289,7 @@ class _Warning extends \IPS\Content\Item
$elements[] = new \IPS\Helpers\Form\Select( 'warn_reason', NULL, TRUE, array( 'options' => $reasons ) );
$elements[] = new \IPS\Helpers\Form\Number( 'warn_points', 0, FALSE, array( 'valueToggles' => array( 'warn_remove' ), 'disabled' => ( !$first->points_override ) ) );
$elements[] = new \IPS\Helpers\Form\Date( 'warn_remove', -1, FALSE, array( 'time' => TRUE, 'unlimited' => -1, 'unlimitedLang' => 'never' ), NULL, NULL, NULL, 'warn_remove' );
$elements[] = new \IPS\Helpers\Form\Number( 'warn_cheeve_point_reduction', $first->cheev_point_reduction, FALSE, array( 'disabled' => ( !$first->cheev_override ) ) );
$elements[] = new \IPS\Helpers\Form\Editor( 'warn_member_note', NULL, FALSE, array( 'app' => 'core', 'key' => 'Modcp', 'autoSaveKey' => "warn-member-" . \IPS\Request::i()->id, 'attachIds' => ( $item === NULL ? NULL : array( $item->id, NULL, 'member' ) ), 'minimize' => 'warn_member_note_placeholder' ) );
$elements[] = new \IPS\Helpers\Form\Editor( 'warn_mod_note', NULL, FALSE, array( 'app' => 'core', 'key' => 'Modcp', 'autoSaveKey' => "warn-mod-" . \IPS\Request::i()->id, 'attachIds' => ( $item === NULL ? NULL : array( $item->id, NULL, 'mod' ) ), 'minimize' => 'warn_mod_note_placeholder' ) );
$elements[] = new \IPS\Helpers\Form\CheckboxSet( 'warn_punishment', array(), FALSE, array(
@@ -331,12 +338,14 @@ class _Warning extends \IPS\Content\Item
}, \IPS\Member::loggedIn()->language()->addToStack('until'), NULL, NULL, 'warn_suspend' );
$member = \IPS\Member::load( \IPS\Request::i()->id );
$member = \IPS\Member::load( \IPS\Request::i()->id );
if( $member->temp_ban OR $member->mod_posts OR $member->restrict_post )
{
$elements[] = \IPS\Member::loggedIn()->language()->addToStack('member_existing_penalties', TRUE, array( 'sprintf' => $member->name ) );
}
if( $member->temp_ban OR $member->mod_posts OR $member->restrict_post )
{
$elements[] = \IPS\Member::loggedIn()->language()->addToStack('member_existing_penalties', TRUE, array( 'sprintf' => $member->name ) );
}
\IPS\Member::loggedIn()->language()->words['warn_cheeve_point_reduction_desc'] = \IPS\Member::loggedIn()->language()->addToStack('warn_cheeve_point_reduction__desc', NULL, [ 'sprintf' => [ $member->name, $member->achievements_points, $member->name ] ] );
/* Return */
return $elements;
@@ -357,7 +366,7 @@ class _Warning extends \IPS\Content\Item
{
\IPS\Output::i()->error( 'no_module_permission', '2C150/3', 403, '' );
}
$values = $this->processWarning( $values, \IPS\Member::loggedIn() );
parent::processBeforeCreate( $values );
@@ -396,6 +405,25 @@ class _Warning extends \IPS\Content\Item
}
}
}
if ( $this->cheev_point_reduction )
{
$member->achievements_points -= $this->cheev_point_reduction;
if ( $member->achievements_points >= $this->cheev_point_reduction )
{
/* Eg points to deduct is 50, user has 100 */
$member->achievements_points -= $this->cheev_point_reduction;
}
else
{
/* Eg points to deduct is 50, user has 10, so set points deducted to 10 so undo doesn't add 50 back */
$this->cheev_point_reduction = $member->achievements_points;
}
$consequences['cheev_point_reduction'] = $this->cheev_point_reduction;
}
$member->members_bitoptions['unacknowledged_warnings'] = (bool) \IPS\Settings::i()->warnings_acknowledge;
$member->save();
$member->logHistory( 'core', 'warning', array( 'wid' => $this->id, 'points' => $this->points, 'reason' => $this->reason, 'consequences' => $consequences ) );
@@ -461,6 +489,15 @@ class _Warning extends \IPS\Content\Item
$this->expire_date = $values['warn_remove'];
}
}
if ( ! $reason->cheev_override )
{
$this->cheev_point_reduction = $reason->cheev_point_reduction;
}
else
{
$this->cheev_point_reduction = $values['warn_cheeve_point_reduction'];
}
$this->reason = $values['warn_reason'];
}