mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-21 06:53:49 +02:00
[feature/avatars] Made ACP avatar gallery in Manage Users prettier
Added row/column information so avatars can be displayed nicely in the ACP PHPBB3-10018
This commit is contained in:
parent
a06380c69a
commit
8416bf3dc9
@ -1,14 +1,25 @@
|
||||
<label for="category">{L_AVATAR_CATEGORY}: <select name="av_local_cat" id="category">
|
||||
<option value="">{L_NO_AVATAR_CATEGORY}</option>
|
||||
<!-- BEGIN av_local_cats -->
|
||||
<option value="{av_local_cats.NAME}"<!-- IF av_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{av_local_cats.NAME}</option>
|
||||
<!-- END av_local_cats -->
|
||||
</select></label>
|
||||
<input type="submit" value="{L_GO}" name="av_local_go" class="button2" />
|
||||
|
||||
<div id="gallery">
|
||||
<!-- BEGIN av_local_imgs -->
|
||||
<label for="av-{av_local_imgs.S_ROW_COUNT}"><img src="{av_local_imgs.AVATAR_IMAGE}" alt="" /><br />
|
||||
<input type="radio" name="av_local_file" id="av-{av_local_imgs.S_ROW_COUNT}" value="{av_local_imgs.AVATAR_FILE}" /></label>
|
||||
<!-- END av_local_imgs -->
|
||||
</div>
|
||||
<dl>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
|
||||
<dd><select name="av_local_cat" id="category">
|
||||
<option value="">{L_NO_AVATAR_CATEGORY}</option>
|
||||
<!-- BEGIN av_local_cats -->
|
||||
<option value="{av_local_cats.NAME}"<!-- IF av_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{av_local_cats.NAME}</option>
|
||||
<!-- END av_local_cats -->
|
||||
</select> <input type="submit" value="{L_GO}" name="av_local_go" class="button2" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<table cellspacing="1">
|
||||
<!-- BEGIN av_local_row -->
|
||||
<tr>
|
||||
<!-- BEGIN av_local_col -->
|
||||
<td class="row1" style="text-align: center;"><img src="{av_local_row.av_local_col.AVATAR_IMAGE}" alt="{av_local_row.av_local_col.AVATAR_NAME}" title="{av_local_row.av_local_col.AVATAR_NAME}"/></td>
|
||||
<!-- END av_local_col -->
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- BEGIN av_local_col -->
|
||||
<td class="row2" style="text-align: center;"><input type="radio" name="av_local_file" id="av-{av_local_row.av_local_col.S_ROW_COUNT}" value="{av_local_row.av_local_col.AVATAR_FILE}" /></td>
|
||||
<!-- END av_local_col -->
|
||||
</tr>
|
||||
<!-- END av_local_row -->
|
||||
</table>
|
||||
</dl>
|
||||
|
@ -1692,6 +1692,9 @@ class acp_users
|
||||
$avatar_drivers = $avatar_manager->get_valid_drivers();
|
||||
sort($avatar_drivers);
|
||||
|
||||
// This is normalised data, without the user_ prefix
|
||||
$avatar_data = phpbb_avatar_driver::clean_row($user_row, phpbb_avatar_driver::FROM_USER);
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
if (check_form_key($form_name))
|
||||
@ -1700,12 +1703,17 @@ class acp_users
|
||||
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
|
||||
{
|
||||
$avatar = $avatar_manager->get_driver($driver);
|
||||
$result = $avatar->process_form($template, $user_row, $error);
|
||||
$result = $avatar->process_form($template, $avatar_data, $error);
|
||||
|
||||
if ($result && empty($error))
|
||||
{
|
||||
// Success! Lets save the result in the database
|
||||
$result['user_avatar_type'] = $driver;
|
||||
$result = array(
|
||||
'user_avatar_type' => $driver,
|
||||
'user_avatar' => $result['avatar'],
|
||||
'user_avatar_width' => $result['avatar_width'],
|
||||
'user_avatar_height' => $result['avatar_height'],
|
||||
);
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . '
|
||||
WHERE user_id = ' . $user_id;
|
||||
@ -1751,7 +1759,7 @@ class acp_users
|
||||
|
||||
$avatar = $avatar_manager->get_driver($driver);
|
||||
|
||||
if ($avatar->prepare_form($template, $user_row, $error))
|
||||
if ($avatar->prepare_form($template, $avatar_data, $error))
|
||||
{
|
||||
$driver_u = strtoupper($driver);
|
||||
$template->assign_block_vars('avatar_drivers', array(
|
||||
|
@ -51,7 +51,7 @@ class phpbb_avatar_driver_local extends phpbb_avatar_driver
|
||||
{
|
||||
$avatar_list = $this->get_avatar_list();
|
||||
$category = request_var('av_local_cat', '');
|
||||
|
||||
|
||||
$categories = array_keys($avatar_list);
|
||||
|
||||
foreach ($categories as $cat)
|
||||
@ -67,13 +67,33 @@ class phpbb_avatar_driver_local extends phpbb_avatar_driver
|
||||
|
||||
if (!empty($avatar_list[$category]))
|
||||
{
|
||||
foreach ($avatar_list[$category] as $img => $data)
|
||||
$table_cols = isset($row['av_gallery_cols']) ? $row['av_gallery_cols'] : 4;
|
||||
$row_count = $col_count = $av_pos = 0;
|
||||
$av_count = sizeof($avatar_list[$category]);
|
||||
|
||||
reset($avatar_list[$category]);
|
||||
|
||||
while ($av_pos < $av_count)
|
||||
{
|
||||
$template->assign_block_vars('av_local_imgs', array(
|
||||
'AVATAR_IMAGE' => $this->phpbb_root_path . $this->config['avatar_gallery_path'] . '/' . $data['file'],
|
||||
'AVATAR_NAME' => $data['name'],
|
||||
'AVATAR_FILE' => $data['filename'],
|
||||
$img = current($avatar_list[$category]);
|
||||
next($avatar_list[$category]);
|
||||
|
||||
if ($col_count == 0)
|
||||
{
|
||||
++$row_count;
|
||||
$template->assign_block_vars('av_local_row', array(
|
||||
));
|
||||
}
|
||||
|
||||
$template->assign_block_vars('av_local_row.av_local_col', array(
|
||||
'AVATAR_IMAGE' => $this->phpbb_root_path . $this->config['avatar_gallery_path'] . '/' . $img['file'],
|
||||
'AVATAR_NAME' => $img['name'],
|
||||
'AVATAR_FILE' => $img['filename'],
|
||||
));
|
||||
|
||||
$col_count = ($col_count + 1) % $table_cols;
|
||||
|
||||
++$av_pos;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,8 +7,10 @@
|
||||
<input type="submit" value="{L_GO}" name="av_local_go" class="button2" />
|
||||
|
||||
<div id="gallery">
|
||||
<!-- BEGIN av_local_imgs -->
|
||||
<label for="av-{av_local_imgs.S_ROW_COUNT}"><img src="{av_local_imgs.AVATAR_IMAGE}" alt="" /><br />
|
||||
<input type="radio" name="av_local_file" id="av-{av_local_imgs.S_ROW_COUNT}" value="{av_local_imgs.AVATAR_FILE}" /></label>
|
||||
<!-- END av_local_imgs -->
|
||||
<!-- BEGIN av_local_row -->
|
||||
<!-- BEGIN av_local_col -->
|
||||
<label for="av-{av_local_row.av_local_col.S_ROW_COUNT}"><img src="{av_local_row.av_local_col.AVATAR_IMAGE}" alt="" /><br />
|
||||
<input type="radio" name="av_local_file" id="av-{av_local_row.av_local_col.S_ROW_COUNT}" value="{av_local_row.av_local_col.AVATAR_FILE}" /></label>
|
||||
<!-- END av_local_col -->
|
||||
<!-- END av_local_row -->
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user