diff options
| author | Cullen Walsh <ckwalsh@cullenwalsh.com> | 2011-06-18 23:49:04 -0700 |
|---|---|---|
| committer | Cullen Walsh <ckwalsh@cullenwalsh.com> | 2012-03-18 22:21:36 +0000 |
| commit | 8416bf3dc9539df19530e3bef85352d40ac795f2 (patch) | |
| tree | 07b35f758700cf3700db2f0585fb08b2a8f9b0ed /phpBB | |
| parent | a06380c69a154659f4f9985238008640670669e0 (diff) | |
| download | forums-8416bf3dc9539df19530e3bef85352d40ac795f2.tar forums-8416bf3dc9539df19530e3bef85352d40ac795f2.tar.gz forums-8416bf3dc9539df19530e3bef85352d40ac795f2.tar.bz2 forums-8416bf3dc9539df19530e3bef85352d40ac795f2.tar.xz forums-8416bf3dc9539df19530e3bef85352d40ac795f2.zip | |
[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
Diffstat (limited to 'phpBB')
| -rw-r--r-- | phpBB/adm/style/acp_avatar_options_local.html | 39 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_users.php | 14 | ||||
| -rw-r--r-- | phpBB/includes/avatar/driver/local.php | 32 | ||||
| -rw-r--r-- | phpBB/styles/prosilver/template/ucp_avatar_options_local.html | 10 |
4 files changed, 68 insertions, 27 deletions
diff --git a/phpBB/adm/style/acp_avatar_options_local.html b/phpBB/adm/style/acp_avatar_options_local.html index 0dd83db017..0a50a4eed4 100644 --- a/phpBB/adm/style/acp_avatar_options_local.html +++ b/phpBB/adm/style/acp_avatar_options_local.html @@ -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> diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index bcce458e20..9b5c52e28e 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -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( diff --git a/phpBB/includes/avatar/driver/local.php b/phpBB/includes/avatar/driver/local.php index edd62696f0..85eda96018 100644 --- a/phpBB/includes/avatar/driver/local.php +++ b/phpBB/includes/avatar/driver/local.php @@ -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; } } diff --git a/phpBB/styles/prosilver/template/ucp_avatar_options_local.html b/phpBB/styles/prosilver/template/ucp_avatar_options_local.html index 0dd83db017..9f726e2ff9 100644 --- a/phpBB/styles/prosilver/template/ucp_avatar_options_local.html +++ b/phpBB/styles/prosilver/template/ucp_avatar_options_local.html @@ -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> |
