1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-13 19:15:20 +02:00

[feature/avatars] Fix acp front-end of user and group avatars

Due to the changes to the avatar manager etc. these had to be updated.

PHPBB3-10018
This commit is contained in:
Marc Alexander 2012-11-17 00:50:23 +01:00
parent 5d0a20bbb6
commit c70cbfac43
7 changed files with 52 additions and 81 deletions

View File

@ -0,0 +1,11 @@
<dl>
<dt><label for="av_gravatar_email">{L_GRAVATAR_AVATAR_EMAIL}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_EMAIL_EXPLAIN}</span></dt>
<dd><input type="text" name="av_gravatar_email" id="av_gravatar_email" value="{AV_GRAVATAR_EMAIL}" class="inputbox" /></dd>
</dl>
<dl>
<dt><label for="av_gravatar_width">{L_GRAVATAR_AVATAR_SIZE}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_SIZE_EXPLAIN}</span></dt>
<dd>
<label for="av_gravatar_width"><input type="text" name="av_gravatar_width" id="av_gravatar_width" size="3" value="{AV_GRAVATAR_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
<label for="av_gravatar_height"><input type="text" name="av_gravatar_height" id="av_gravatar_height" size="3" value="{AV_GRAVATAR_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>
</dd>
</dl>

View File

@ -3,7 +3,7 @@
<dd><input type="text" name="av_remote_url" id="av_remote_url" value="{AV_REMOTE_URL}" class="inputbox" /></dd>
</dl>
<dl>
<dt><label for="width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
<dt><label for="av_remote_width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
<dd>
<label for="av_remote_width"><input type="text" name="av_remote_width" id="av_remote_width" size="3" value="{AV_REMOTE_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
<label for="av_remote_height"><input type="text" name="av_remote_height" id="av_remote_height" size="3" value="{AV_REMOTE_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>

View File

@ -107,9 +107,9 @@
<dd>{AVATAR}</dd>
</dl>
<dl>
<dt><label>{L_AVATAR_TYPE}</label></dt>
<dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver">
<option value="">{L_NO_AVATAR}</option>
<option value="">{L_NO_AVATAR_CATEGORY}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@ -2,49 +2,6 @@
<fieldset>
<legend>{L_ACP_USER_AVATAR}</legend>
<dl>
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
<dd>{AVATAR_IMAGE}</dd>
<dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
</dl>
<!-- IF not S_IN_AVATAR_GALLERY -->
<!-- IF S_UPLOAD_FILE -->
<dl>
<dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_MAX_FILESIZE}" /><input type="file" id="uploadfile" name="uploadfile" /></dd>
</dl>
<!-- ENDIF -->
<!-- IF S_REMOTE_UPLOAD -->
<dl>
<dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}{L_COLON}</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
<dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
</dl>
<!-- ENDIF -->
<!-- IF S_ALLOW_REMOTE -->
<dl>
<dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}{L_COLON}</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
<dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
</dl>
<dl>
<dt><label for="width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
<dd><input name="width" type="text" id="width" size="3" value="{USER_AVATAR_WIDTH}" /> <span>{L_PIXEL} &times; </span> <input type="text" name="height" size="3" value="{USER_AVATAR_HEIGHT}" /> <span>{L_PIXEL}</span></dd>
</dl>
<!-- ENDIF -->
<!-- IF S_DISPLAY_GALLERY -->
<dl>
<dt><label>{L_AVATAR_GALLERY}{L_COLON}</label></dt>
<dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
</dl>
<!-- ENDIF -->
<!-- ELSE -->
</fieldset>
<fieldset>
<legend>{L_AVATAR_GALLERY}</legend>
<dl>
<dt><label for="category">{L_AVATAR_CATEGORY}{L_COLON}</label></dt>
<dd><select name="category" id="category">{S_CAT_OPTIONS}</select>&nbsp;<input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
</dl>
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
<dl>
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
@ -52,11 +9,11 @@
</dl>
</fieldset>
<fieldset>
<legend>{L_AVATAR_SELECT_NEW}</legend>
<legend>{L_AVATAR_SELECT}</legend>
<dl>
<dt><label>{L_AVATAR_TYPE}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver">
<option value="">{L_NO_AVATAR}</option>
<option value="">{L_NO_AVATAR_CATEGORY}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@ -333,26 +333,23 @@ class acp_groups
if ($config['allow_avatar'])
{
// Handle avatar
$driver = request_var('avatar_driver', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"])
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $avatar_error);
if ($result && empty($avatar_error))
{
// Success! Lets save the result
/*
$result = array(
'avatar' => ...,
'avatar_width' => ...,
'avatar_height' => ...,
'avatar_type' => $driver,
'avatar' => $result['avatar'],
'avatar_width' => $result['avatar_width'],
'avatar_height' => $result['avatar_height'],
);
*/
$submit_ary = array_merge($submit_ary, $result);
$submit_ary['avatar_type'] = $driver;
}
}
else
@ -522,27 +519,29 @@ class acp_groups
if ($config['allow_avatar'])
{
$avatars_enabled = false;
$focused_driver = request_var('avatar_driver', $avatar_data['avatar_type']);
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $avatar_data['avatar_type']));
foreach ($avatar_drivers as $driver)
{
if ($config["allow_avatar_$driver"])
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->is_enabled())
{
$avatars_enabled = true;
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
$template->set_filenames(array(
'avatar' => "acp_avatar_options_$driver.html",
'avatar' => "acp_avatar_options_$config_name.html",
));
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{
$driver_u = strtoupper($driver);
$driver_n = str_replace('.', '_', $driver);
$driver_u = strtoupper($driver_n);
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang('AVATAR_DRIVER_' . $driver_u . '_TITLE'), // @TODO add lang values
'L_EXPLAIN' => $user->lang('AVATAR_DRIVER_' . $driver_u . '_EXPLAIN'),
'L_TITLE' => $user->lang($driver_u . '_TITLE'),
'L_EXPLAIN' => $user->lang($driver_u . '_EXPLAIN'),
'DRIVER' => $driver,
'DRIVER' => $driver_n,
'SELECTED' => ($driver == $focused_driver),
'OUTPUT' => $template->assign_display('avatar'),
));

View File

@ -1744,8 +1744,9 @@ class acp_users
{
if (check_form_key($form_name))
{
$driver = request_var('avatar_driver', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"])
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $error);
@ -1791,27 +1792,30 @@ class acp_users
}
}
$focused_driver = request_var('avatar_driver', $user_row['user_avatar_type']);
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $user_row['user_avatar_type']));
foreach ($avatar_drivers as $driver)
{
if ($config["allow_avatar_$driver"])
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->is_enabled())
{
$avatars_enabled = true;
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
$template->set_filenames(array(
'avatar' => "acp_avatar_options_$driver.html",
'avatar' => "acp_avatar_options_$config_name.html",
));
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->prepare_form($template, $avatar_data, $error))
{
$driver_u = strtoupper($driver);
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang('AVATAR_DRIVER_' . $driver_u . '_TITLE'), // @TODO add lang values
'L_EXPLAIN' => $user->lang('AVATAR_DRIVER_' . $driver_u . '_EXPLAIN'),
$driver_n = str_replace('.', '_', $driver);
$driver_u = strtoupper($driver_n);
'DRIVER' => $driver,
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang($driver_u . '_TITLE'),
'L_EXPLAIN' => $user->lang($driver_u . '_EXPLAIN'),
'DRIVER' => $driver_n,
'SELECTED' => ($driver == $focused_driver),
'OUTPUT' => $template->assign_display('avatar'),
));

View File

@ -642,7 +642,7 @@ class ucp_profile
$driver_u = strtoupper($driver_n);
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang($driver_u . '_TITLE'), // @TODO add lang values
'L_TITLE' => $user->lang($driver_u . '_TITLE'),
'L_EXPLAIN' => $user->lang($driver_u . '_EXPLAIN'),
'DRIVER' => $driver_n,