Version 4.7.23

This commit is contained in:
Neo committed 2025-12-19 16:21:27 -08:00
1 parent 7124a02564
commit 25ddeb65d6
1791 files changed
+76990 -44452

No files matched your search

@@ -633,23 +633,33 @@ class _settings extends \IPS\Dispatcher\Controller
$form->addHeader('topic_settings');
$popularNowMaximum = 14400000;
$form->add( new \IPS\Helpers\Form\Custom( 'forums_popular_now', json_decode( \IPS\Settings::i()->forums_popular_now, TRUE ), FALSE, array(
'getHtml' => function( $obj ) use ( $popularNowMaximum )
{
return \IPS\Theme::i()->getTemplate('settings')->popularNow( $obj->name, $obj->value, $popularNowMaximum );
},
/* If popular now time is greater than 10,000 days */
'validate' => function( $obj ) use ( $popularNowMaximum )
{
if( isset( $obj->value['minutes'] ) AND $obj->value['minutes'] > $popularNowMaximum )
/* We no longer use popular time for cloud */
$popularNowMaximum = 14400000;
if( !\IPS\CIC )
{
$form->add( new \IPS\Helpers\Form\Custom( 'forums_popular_now', json_decode( \IPS\Settings::i()->forums_popular_now, TRUE ), FALSE, array(
'getHtml' => function( $obj ) use ( $popularNowMaximum )
{
throw new \LengthException( \IPS\Member::loggedIn()->language()->addToStack('form_number_max', FALSE, array( 'sprintf' => array( $popularNowMaximum ) ) ) );
return \IPS\Theme::i()->getTemplate('settings')->popularNow( $obj->name, $obj->value, $popularNowMaximum );
},
/* If popular now time is greater than 10,000 days */
'validate' => function( $obj ) use ( $popularNowMaximum )
{
if( isset( $obj->value['minutes'] ) AND $obj->value['minutes'] > $popularNowMaximum )
{
throw new \LengthException( \IPS\Member::loggedIn()->language()->addToStack('form_number_max', FALSE, array( 'sprintf' => array( $popularNowMaximum ) ) ) );
}
}
}
) ) );
) ) );
}
else
{
$popularSettings = json_decode( \IPS\Settings::i()->forums_popular_now, TRUE );
\IPS\Member::loggedIn()->language()->words['forums_popular_now_desc'] = \IPS\Member::loggedIn()->language()->addToStack('forums_popular_now_cloud_desc');
$form->add( new \IPS\Helpers\Form\Interval( 'forums_popular_now', $popularSettings['minutes'] ?? 0, FALSE, [ 'min' => 1, 'max' => $popularNowMaximum, 'valueAs' => \IPS\Helpers\Form\Interval::MINUTES, 'unlimitedLang' => 'never', 'unlimited' => 0 ], NULL, \IPS\Member::loggedIn()->language()->addToStack('forums_popular_now_cloud_prefix'), NULL ) );
}
$form->add( new \IPS\Helpers\Form\Number( 'forums_posts_per_page', \IPS\Settings::i()->forums_posts_per_page , TRUE, array( 'min' => 2, 'max' => 250 ) ) );
@@ -686,14 +696,24 @@ class _settings extends \IPS\Dispatcher\Controller
{
/* This setting needs to be reversed */
$values['forums_mod_actions_anon'] = !$values['forums_mod_actions_anon'];
if ( isset( $values['forums_popular_now']['never'] ) )
if( array_key_exists( 'forums_popular_now', $values ) )
{
$values['forums_popular_now'] = json_encode( array( 'posts' => 0, 'minutes' => 0 ) );
}
else
{
$values['forums_popular_now'] = json_encode( $values['forums_popular_now'] );
/* This is handled slightly different for Cloud */
if( \IPS\CIC )
{
$values['forums_popular_now'] = json_encode( array( 'posts' => 0, 'minutes' => (int) $values['forums_popular_now'] ) );
}
else
{
if ( isset( $values['forums_popular_now']['never'] ) )
{
$values['forums_popular_now'] = json_encode( array( 'posts' => 0, 'minutes' => 0 ) );
}
else
{
$values['forums_popular_now'] = json_encode( $values['forums_popular_now'] );
}
}
}
if ( isset( $values['forums_default_view_choose'] ) )