Version 5.0.0 beta 1
This commit is contained in:
1 parent
25ddeb65d6
commit
15c7beabc5
6736 files changed
+627902
-497943
No files matched your search
@@ -12,104 +12,117 @@
|
||||
namespace IPS\downloads\extensions\core\GroupForm;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
|
||||
use IPS\Application;
|
||||
use IPS\Extensions\GroupFormAbstract;
|
||||
use IPS\Helpers\Form;
|
||||
use IPS\Helpers\Form\Interval;
|
||||
use IPS\Helpers\Form\Number;
|
||||
use IPS\Helpers\Form\YesNo;
|
||||
use IPS\Member;
|
||||
use IPS\Member\Group;
|
||||
use IPS\Settings;
|
||||
use function defined;
|
||||
use const IPS\CIC2;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin CP Group Form
|
||||
*/
|
||||
class _Downloads
|
||||
class Downloads extends GroupFormAbstract
|
||||
{
|
||||
/**
|
||||
* Process Form
|
||||
*
|
||||
* @param \IPS\Helpers\Form $form The form
|
||||
* @param \IPS\Member\Group $group Existing Group
|
||||
* @param Form $form The form
|
||||
* @param Group $group Existing Group
|
||||
* @return void
|
||||
*/
|
||||
public function process( &$form, $group )
|
||||
public function process( Form $form, Group $group ) : void
|
||||
{
|
||||
$restrictions = $group->idm_restrictions ? json_decode( $group->idm_restrictions, TRUE ) : array();
|
||||
|
||||
$form->addHeader( 'file_management' );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_view_downloads', $group->idm_view_downloads ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_view_approvers', $group->idm_view_approvers ) );
|
||||
if( $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
$form->add( new YesNo( 'idm_view_downloads', $group->idm_view_downloads ) );
|
||||
$form->add( new YesNo( 'idm_view_approvers', $group->idm_view_approvers ) );
|
||||
if( $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_bypass_revision', $group->idm_bypass_revision ) );
|
||||
$form->add( new YesNo( 'idm_bypass_revision', $group->idm_bypass_revision ) );
|
||||
}
|
||||
|
||||
$form->addHeader( 'submission_permissions' );
|
||||
if ( \IPS\Application::appIsEnabled( 'nexus' ) and $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
if ( Application::appIsEnabled( 'nexus' ) and $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
if ( \IPS\Settings::i()->idm_nexus_on )
|
||||
if ( Settings::i()->idm_nexus_on )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_add_paid', $group->idm_add_paid ) );
|
||||
$form->add( new YesNo( 'idm_add_paid', $group->idm_add_paid ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Member::loggedIn()->language()->words['idm_add_paid_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'idm_add_paid_enable', FALSE );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_add_paid', FALSE, FALSE, array( 'disabled' => TRUE ) ) );
|
||||
Member::loggedIn()->language()->words['idm_add_paid_desc'] = Member::loggedIn()->language()->addToStack( 'idm_add_paid_enable', FALSE );
|
||||
$form->add( new YesNo( 'idm_add_paid', FALSE, FALSE, array( 'disabled' => TRUE ) ) );
|
||||
}
|
||||
}
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_bulk_submit', $group->idm_bulk_submit ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_linked_files', $group->idm_linked_files ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_import_files', $group->idm_import_files ) );
|
||||
$form->add( new YesNo( 'idm_bulk_submit', $group->idm_bulk_submit ) );
|
||||
$form->add( new YesNo( 'idm_linked_files', $group->idm_linked_files ) );
|
||||
$form->add( new YesNo( 'idm_import_files', $group->idm_import_files ) );
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'idm_max_size', $group->idm_max_size, FALSE, array( 'unlimited' => -1 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('idm_maxsize_suffix') ) );
|
||||
$form->add( new Number( 'idm_max_size', $group->idm_max_size, FALSE, array( 'unlimited' => -1 ), NULL, NULL, Member::loggedIn()->language()->addToStack('idm_maxsize_suffix') ) );
|
||||
|
||||
$form->addHeader( 'download_restrictions' );
|
||||
if ( \IPS\Application::appIsEnabled( 'nexus' ) AND \IPS\Settings::i()->idm_nexus_on )
|
||||
if ( Application::appIsEnabled( 'nexus' ) AND Settings::i()->idm_nexus_on )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_paid_restrictions', $group->idm_paid_restrictions ) );
|
||||
$form->add( new YesNo( 'idm_paid_restrictions', $group->idm_paid_restrictions ) );
|
||||
}
|
||||
if( $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
if( $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'min_posts', isset( $restrictions['min_posts'] ) ? $restrictions['min_posts'] : 0, FALSE, array( 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('approved_posts_comments') ) );
|
||||
$form->add( new Number( 'min_posts', $restrictions['min_posts'] ?? 0, FALSE, array( 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ), NULL, NULL, Member::loggedIn()->language()->addToStack('approved_posts_comments') ) );
|
||||
}
|
||||
if ( !\IPS\CIC2 )
|
||||
if ( !CIC2 )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'idm_throttling', $group->idm_throttling, FALSE, array( 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('idm_throttling_suffix') ) );
|
||||
$form->add( new Number( 'idm_throttling', $group->idm_throttling, FALSE, array( 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ), NULL, NULL, Member::loggedIn()->language()->addToStack('idm_throttling_suffix') ) );
|
||||
}
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\Interval( 'idm_wait_period', $group->g_id ? $group->idm_wait_period : 0, FALSE, array( 'valueAs' => \IPS\Helpers\Form\Interval::SECONDS, 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ) ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'limit_sim', isset( $restrictions['limit_sim'] ) ? $restrictions['limit_sim'] : 0, FALSE, array( 'unlimited' => 0 ) ) );
|
||||
if ( \IPS\Application::appIsEnabled( 'nexus' ) and \IPS\Settings::i()->idm_nexus_on )
|
||||
$form->add( new Interval( 'idm_wait_period', $group->g_id ? $group->idm_wait_period : 0, FALSE, array( 'valueAs' => Interval::SECONDS, 'unlimited' => 0, 'unlimitedLang' => 'idm_throttling_unlimited' ) ) );
|
||||
$form->add( new Number( 'limit_sim', $restrictions['limit_sim'] ?? 0, FALSE, array( 'unlimited' => 0 ) ) );
|
||||
if ( Application::appIsEnabled( 'nexus' ) and Settings::i()->idm_nexus_on )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'idm_bypass_paid', $group->idm_bypass_paid ) );
|
||||
$form->add( new YesNo( 'idm_bypass_paid', $group->idm_bypass_paid ) );
|
||||
}
|
||||
|
||||
$form->addHeader( 'bandwidth_limits' );
|
||||
$form->addMessage( 'downloads_requires_log' );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'daily_bw', isset( $restrictions['daily_bw'] ) ? $restrictions['daily_bw'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('kb_per_day') ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'weekly_bw', isset( $restrictions['weekly_bw'] ) ? $restrictions['weekly_bw'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('kb_per_week') ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'monthly_bw', isset( $restrictions['monthly_bw'] ) ? $restrictions['monthly_bw'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('kb_per_month') ) );
|
||||
$form->add( new Number( 'daily_bw', $restrictions['daily_bw'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('kb_per_day') ) );
|
||||
$form->add( new Number( 'weekly_bw', $restrictions['weekly_bw'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('kb_per_week') ) );
|
||||
$form->add( new Number( 'monthly_bw', $restrictions['monthly_bw'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('kb_per_month') ) );
|
||||
$form->addHeader( 'download_limits' );
|
||||
$form->addMessage( 'downloads_requires_log' );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'daily_dl', isset( $restrictions['daily_dl'] ) ? $restrictions['daily_dl'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('downloads_per_day') ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'weekly_dl', isset( $restrictions['weekly_dl'] ) ? $restrictions['weekly_dl'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('downloads_per_week') ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'monthly_dl', isset( $restrictions['monthly_dl'] ) ? $restrictions['monthly_dl'] : 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('downloads_per_month') ) );
|
||||
$form->add( new Number( 'daily_dl', $restrictions['daily_dl'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('downloads_per_day') ) );
|
||||
$form->add( new Number( 'weekly_dl', $restrictions['weekly_dl'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('downloads_per_week') ) );
|
||||
$form->add( new Number( 'monthly_dl', $restrictions['monthly_dl'] ?? 0, FALSE, array( 'unlimited' => 0 ), NULL, NULL, Member::loggedIn()->language()->addToStack('downloads_per_month') ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Save
|
||||
*
|
||||
* @param array $values Values from form
|
||||
* @param \IPS\Member\Group $group The group
|
||||
* @param Group $group The group
|
||||
* @return void
|
||||
*/
|
||||
public function save( $values, &$group )
|
||||
public function save( array $values, Group $group ) : void
|
||||
{
|
||||
$group->idm_view_approvers = $values['idm_view_approvers'];
|
||||
if( $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
if( $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
$group->idm_bypass_revision = $values['idm_bypass_revision'];
|
||||
}
|
||||
$group->idm_view_downloads = $values['idm_view_downloads'];
|
||||
if ( !\IPS\CIC2 )
|
||||
if ( !CIC2 )
|
||||
{
|
||||
$group->idm_throttling = $values['idm_throttling'];
|
||||
}
|
||||
@@ -119,9 +132,9 @@ class _Downloads
|
||||
$group->idm_bulk_submit = $values['idm_bulk_submit'];
|
||||
$group->idm_max_size = $values['idm_max_size'];
|
||||
|
||||
if ( \IPS\Application::appIsEnabled( 'nexus' ) and \IPS\Settings::i()->idm_nexus_on )
|
||||
if ( Application::appIsEnabled( 'nexus' ) and Settings::i()->idm_nexus_on )
|
||||
{
|
||||
if( $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
if( $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
$group->idm_add_paid = $values['idm_add_paid'];
|
||||
}
|
||||
@@ -135,7 +148,7 @@ class _Downloads
|
||||
$restrictions[ $k ] = $values[ $k ];
|
||||
}
|
||||
|
||||
if( $group->g_id != \IPS\Settings::i()->guest_group )
|
||||
if( $group->g_id != Settings::i()->guest_group )
|
||||
{
|
||||
$restrictions['min_posts'] = $values['min_posts'];
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user