+Добавлены аватары к группам

Signed-off-by: Dark Nightmare <gtdarknightmare@gmail.com>
This commit is contained in:
Dark Nightmare 2014-08-03 14:00:24 +06:00
commit f992d730fd
6 changed files with 113 additions and 49 deletions

View file

@ -36,6 +36,13 @@ switch ($mode)
$this->response['new_value'] = $value; $this->response['new_value'] = $value;
break; break;
case 'delete_avatar':
delete_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']);
$value = 0;
$mode = 'avatar_ext_id';
$this->response['act'] = $value;
break;
default: default:
$this->ajax_die('Unknown mode'); $this->ajax_die('Unknown mode');
} }

View file

@ -15,6 +15,8 @@ $group_id = isset($_REQUEST[POST_GROUPS_URL]) ? intval($_REQUEST[POST_GROUPS_URL
$group_info = array(); $group_info = array();
$is_moderator = false; $is_moderator = false;
$submit = !empty($_POST['submit']);
if ($group_id) if ($group_id)
{ {
if (!$group_info = get_group_data($group_id)) if (!$group_info = get_group_data($group_id))
@ -31,7 +33,35 @@ if ($group_id)
if ($is_moderator) if ($is_moderator)
{ {
// TODO Creation Date, Admin panel, Avatar, Some tasty features // TODO Creation Date, Admin panel, Some tasty features
// Avatar
if ($submit)
{
if (isset($_POST['delete_avatar']))
{
delete_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']);
$avatar_ext_id = 0;
}
else if (!empty($_FILES['avatar']['name']) && $bb_cfg['avatars']['up_allowed'])
{
require(INC_DIR .'functions_upload.php');
$upload = new upload_common();
if ($upload->init($bb_cfg['avatars'], $_FILES['avatar']) AND $upload->store('avatar', array("user_id" => GROUP_AVATAR_MASK . $group_id, "avatar_ext_id" => $group_info['avatar_ext_id'])))
{
$avatar_ext_id = (int) $upload->file_ext_id;
}
else
{
bb_die(implode($upload->errors));
}
}
DB()->query("UPDATE ". BB_GROUPS ." SET avatar_ext_id = $avatar_ext_id WHERE group_id = $group_id LIMIT 1");
}
$group_type = ''; $group_type = '';
if ($group_info['group_type'] == GROUP_OPEN) if ($group_info['group_type'] == GROUP_OPEN)
@ -63,7 +93,11 @@ if ($is_moderator)
'S_GROUP_CLOSED_CHECKED' => ($group_info['group_type'] == GROUP_CLOSED) ? ' checked="checked"' : '', 'S_GROUP_CLOSED_CHECKED' => ($group_info['group_type'] == GROUP_CLOSED) ? ' checked="checked"' : '',
'S_GROUP_HIDDEN_CHECKED' => ($group_info['group_type'] == GROUP_HIDDEN) ? ' checked="checked"' : '', 'S_GROUP_HIDDEN_CHECKED' => ($group_info['group_type'] == GROUP_HIDDEN) ? ' checked="checked"' : '',
'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_GROUPCP_ACTION' => "groupcp.php?" . POST_GROUPS_URL . "=$group_id", 'S_GROUP_CONFIG_ACTION' => "group_config.php?" . POST_GROUPS_URL . "=$group_id",
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))),
'AVATAR_URL_PATH' => ($group_info['avatar_ext_id']) ? get_avatar_path(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']) : '',
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false, 'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
)); ));

View file

@ -513,6 +513,7 @@ else
'PAGE_TITLE' => $lang['GROUP_CONTROL_PANEL'], 'PAGE_TITLE' => $lang['GROUP_CONTROL_PANEL'],
'GROUP_NAME' => htmlCHR($group_info['group_name']), 'GROUP_NAME' => htmlCHR($group_info['group_name']),
'GROUP_DESCRIPTION' => bbcode2html($group_info['group_description']), 'GROUP_DESCRIPTION' => bbcode2html($group_info['group_description']),
'GROUP_AVATAR' => get_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id'], true),
'GROUP_DETAILS' => $group_details, 'GROUP_DETAILS' => $group_details,
'MOD_USER' => profile_url($group_moderator), 'MOD_USER' => profile_url($group_moderator),
'MOD_AVATAR' => $avatar, 'MOD_AVATAR' => $avatar,

View file

@ -246,6 +246,8 @@ define('NOGENDER', 0);
# 1 - обычный опрос # 1 - обычный опрос
define('POLL_FINISHED', 2); define('POLL_FINISHED', 2);
define('GROUP_AVATAR_MASK', 9999900);
// Torrents (reserved: -1) // Torrents (reserved: -1)
define('TOR_NOT_APPROVED', 0); // не проверено define('TOR_NOT_APPROVED', 0); // не проверено
define('TOR_CLOSED', 1); // закрыто define('TOR_CLOSED', 1); // закрыто

View file

@ -6,7 +6,8 @@ function manage_group(mode, value) {
group_id : {GROUP_ID}, group_id : {GROUP_ID},
value : value value : value
}); });
ajax.callback.manage_group = function(data){ ajax.callback.manage_group = function(data) {
if (data.act == 0) $('div#avatar').hide(100);
console.log(data); console.log(data);
} }
} }
@ -14,9 +15,7 @@ function manage_group(mode, value) {
<h1 class="pagetitle">{PAGE_TITLE}<!-- IF GROUP_NAME --> :: {GROUP_NAME}<!-- ENDIF --></h1> <h1 class="pagetitle">{PAGE_TITLE}<!-- IF GROUP_NAME --> :: {GROUP_NAME}<!-- ENDIF --></h1>
<p class="nav"><a href="{U_GROUP_URL}">{L_GROUP_RETURN}</a></p> <p class="nav"><a href="{U_GROUP_URL}">{L_GROUP_RETURN}</a></p>
<form action="{S_GROUPCP_ACTION}" method="post"> <table class="forumline pad_4">
{S_HIDDEN_FIELDS}
<table class="forumline pad_4">
<col class="row1" width="20%"> <col class="row1" width="20%">
<col class="row2" width="100%"> <col class="row2" width="100%">
<tr> <tr>
@ -56,8 +55,29 @@ function manage_group(mode, value) {
</td> </td>
</tr> </tr>
<tr> <tr>
<td>{L_AVATAR}</td> <td>
<td><input type="file" />&nbsp;<input class="mainoption" type="submit" name="avatarupload" value="{L_UPLOAD_AVATAR_FILE}" /></td> {L_AVATAR}
<!-- IF AVATAR_URL_PATH -->
<div id="avatar" align="center">
<p>
<img src="{AVATARS_URL}/{AVATAR_URL_PATH}" alt="avatar" />
</p>
<p>
<input type="button" name="delete_avatar" value="{L_DELETE_IMAGE}" onclick="javascript:manage_group(this.name,this.value)" />
</p>
</div>
<!-- ENDIF -->
</td>
<td valign="top">
<div id="avatar_explain" class="med">{AVATAR_EXPLAIN}</div><br/>
<!-- IF $bb_cfg['avatars']['up_allowed'] -->
<form action="{S_GROUP_CONFIG_ACTION}" method="post" enctype="multipart/form-data">
{S_HIDDEN_FIELDS}
<input type="hidden" name="MAX_FILE_SIZE" value="{$bb_cfg['avatars']['max_size']}" />
<input type="file" name="avatar" />
<input class="mainoption" type="submit" name="submit" value="{L_UPLOAD_AVATAR_FILE}" />
</form>
<!-- ENDIF -->
</td>
</tr> </tr>
</table> </table>
</form>

View file

@ -57,7 +57,7 @@
<tr><td colspan="2"><h2>{GROUP_NAME}</h2></td></tr> <tr><td colspan="2"><h2>{GROUP_NAME}</h2></td></tr>
<tr> <tr>
<td align="center" valign="top"> <td align="center" valign="top">
<div style="height:100px;width:100px;background:#285e8e;">&nbsp;</div> {GROUP_AVATAR}
</td> </td>
<td valign="top"> <td valign="top">
<!-- IF GROUP_DESCRIPTION --> <!-- IF GROUP_DESCRIPTION -->