1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-24 09:30:34 +01:00

[ticket/11150] Set settings

PHPBB3-11150
This commit is contained in:
Tristan Darricau 2015-09-15 10:54:38 +02:00 committed by Tristan Darricau
parent 3d363a7bb3
commit 3640302afd
No known key found for this signature in database
GPG Key ID: 817043C2E29DB881
5 changed files with 77 additions and 4 deletions

View File

@ -20,10 +20,28 @@
<fieldset style="clear: both;">
<legend>{{ lang('EXTENSIONS_GALLERY_SETTINGS') }}</legend>
<dl>
<dt><label for="force_unstable">{L_FORCE_UNSTABLE}{L_COLON}</label></dt>
<dt><label for="enable_on_install">{{ lang('ENABLE_ON_INSTALL') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" id="force_unstable" name="force_unstable" class="radio" value="1"<!-- IF FORCE_UNSTABLE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="force_unstable" class="radio" value="0"<!-- IF not FORCE_UNSTABLE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<label><input type="radio" id="enable_on_install" name="enable_on_install" class="radio" value="1"{% if settings.enable_on_install %} checked="checked" {% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="enable_on_install" class="radio" value="0"{% if not settings.enable_on_install %} checked="checked" {% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
<dl>
<dt><label for="purge_on_remove">{{ lang('PURGE_ON_REMOVE') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" id="purge_on_remove" name="purge_on_remove" class="radio" value="1"{% if settings.purge_on_remove %} checked="checked" {% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="purge_on_remove" class="radio" value="0"{% if not settings.purge_on_remove %} checked="checked" {% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
<dl>
<dt>
<label for="enable_packagist">{{ lang('ENABLE_PACKAGIST') }}{{ lang('COLON') }}</label><br />
<span class="explain">
<strong class="error">{{ lang('WARNING') }}{{ lang('COLON') }}</strong> {{ lang('ENABLE_PACKAGIST_DETAIL') }}
</span></dt>
<dd>
<label><input type="radio" id="enable_packagist" name="enable_packagist" class="radio" value="1"{% if settings.enable_packagist %} checked="checked" {% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="enable_packagist" class="radio" value="0"{% if not settings.enable_packagist %} checked="checked" {% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>

View File

@ -7,7 +7,7 @@
<p>{L_EXTENSIONS_EXPLAIN}</p>
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.1" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> &bull; <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
<span class="small"><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
</fieldset>
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">

View File

@ -29,6 +29,8 @@ class acp_extensions
var $page_title;
private $db;
/** @var phpbb\config\config */
private $config;
private $template;
private $user;
@ -574,6 +576,42 @@ class acp_extensions
break;
case 'list':
default:
if ($this->request->is_set('enable_packagist') && confirm_box(true))
{
$this->config->set('exts_composer_packagist', true);
trigger_error($language->lang('CONFIG_UPDATED') . adm_back_link($this->u_action));
}
$submit = $this->request->is_set('update');
if ($submit)
{
if (!check_form_key('gallery_settings'))
{
trigger_error($language->lang('FORM_INVALID') . adm_back_link($this->u_action), E_USER_WARNING);
}
$enable_packagist = $this->request->variable('enable_packagist', false);
$enable_on_install = $this->request->variable('enable_on_install', false);
$purge_on_remove = $this->request->variable('purge_on_remove', false);
//$repositories = $this->request->variable('repositories', []);
$this->config->set('exts_composer_enable_on_install', $enable_on_install);
$this->config->set('exts_composer_purge_on_remove', $purge_on_remove);
if ($enable_packagist)
{
$s_hidden_fields = build_hidden_fields(array(
'enable_packagist' => $enable_packagist
));
confirm_box(false, $language->lang('ENABLE_PACKAGIST_CONFIRM'), $s_hidden_fields);
}
else
{
$this->config->set('exts_composer_packagist', $enable_packagist);
trigger_error($language->lang('CONFIG_UPDATED') . adm_back_link($this->u_action));
}
}
/** @var \phpbb\composer\extension_manager $manager */
$manager = $phpbb_container->get('ext.composer.manager');
@ -596,7 +634,16 @@ class acp_extensions
$this->template->assign_var('managed_extensions', array_keys($manager->get_managed_packages()));
$this->template->assign_var('installed_extensions', array_keys($extensions_manager->all_available()));
$this->template->assign_var('U_ACTION', $this->u_action);
$this->template->assign_var('settings', [
'enable_packagist' => $this->config['exts_composer_packagist'],
'enable_on_install' => $this->config['exts_composer_enable_on_install'],
'purge_on_remove' => $this->config['exts_composer_purge_on_remove'],
'repositories' => unserialize($this->config['exts_composer_repositories']),
]);
$this->request->disable_super_globals();
add_form_key('gallery_settings');
break;
}
}

View File

@ -143,4 +143,10 @@ $lang = array_merge($lang, array(
'META_FIELD_NOT_SET' => 'Required meta field %s has not been set.',
'META_FIELD_INVALID' => 'Meta field %s is invalid.',
'EXTENSIONS_GALLERY_SETTINGS' => 'Extensions gallery settings',
'ENABLE_ON_INSTALL' => 'Enable extensions when installing',
'PURGE_ON_REMOVE' => 'Purge extensions when removing',
'ENABLE_PACKAGIST' => 'Enable Packagist usage',
'ENABLE_PACKAGIST_DETAIL' => 'TODO text explaining why packagist shouldn\'t be enabled, dev usage, etc...',
));

View File

@ -22,6 +22,8 @@ class extensions_composer extends \phpbb\db\migration\migration
array('config.add', array('exts_composer_packagist', true)),
array('config.add', array('exts_composer_json_file', 'composer-ext.json')),
array('config.add', array('exts_composer_vendor_dir', 'vendor-ext/')),
array('config.add', array('exts_composer_enable_on_install', false)),
array('config.add', array('exts_composer_purge_on_remove', false)),
array('module.add', array(
'acp',
'ACP_EXTENSION_MANAGEMENT',