Skip to content

Commit

Permalink
Working on #2972 Template Conversion to Twig Format (usercp_avatar) (#…
Browse files Browse the repository at this point in the history
…3242)

* Converted usercp_avatar

* Fixed indenting and code style

* Fixed bburl -> bbname
  • Loading branch information
Shade- authored and euantorano committed Jun 2, 2019
1 parent 9296399 commit 27c6cc4
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 52 deletions.
90 changes: 90 additions & 0 deletions inc/views/base/usercp/avatar.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{% extends 'layouts/master.twig' %}

{% block head %}
<title>{{ mybb.settings.bbname }} - {{ lang.change_avatar }}</title>
{% endblock head %}

{% block body %}
<form action="usercp.php" method="post">
<input type="hidden" name="my_post_key" value="{{ mybb.post_code }}" />

{{ error|raw }}

<table border="0" cellspacing="{{ theme.borderwidth }}" cellpadding="{{ theme.tablespace }}" class="tborder">
<thead>
<tr>
<th class="thead" colspan="2">
<strong>{{ lang.change_avatar }}</strong>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="trow1" colspan="2">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
{{ lang.avatar_note }}
{% for note in extranotes %}
<br />{{ note }}
{% endfor %}
</td>
<td class="trow1" valign="top" align="center" width="1">
<div class="usercp_container">
<img src="{{ useravatar.image }}" alt="{{ mybb.user.username }}" title="{{ mybb.user.username }}" {{ useravatar.width_height|raw }} />
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="tcat" colspan="2">
<strong>{{ lang.custom_avatar }}</strong>
</td>
</tr>
{% if mybb.usergroup.canuploadavatars %}
<tr>
<td class="trow1" width="40%">
<strong>{{ lang.avatar_upload }}</strong><br />
<span class="smalltext">{{ lang.avatar_upload_note }}</span>
</td>
<td class="trow1" width="60%">
<input type="file" name="avatarupload" size="25" class="fileupload" />
{% if mybb.settings.avatarresizing == 'auto' %}
<br />
<span class="smalltext">{{ lang.avatar_auto_resize_note }}</span>
{% elseif mybb.settings.avatarresizing == 'user' %}
<br />
<span class="smalltext">
<input type="checkbox" name="auto_resize" value="1" checked="checked" id="auto_resize" />
<label for="auto_resize">{{ lang.avatar_auto_resize_option }}</label>
</span>
{% endif %}
</td>
</tr>
{% endif %}
{% if mybb.settings.allowremoteavatars %}
<tr>
<td class="trow2" width="40%">
<strong>{{ lang.avatar_url }}</strong><br />
<span class="smalltext">{{ lang.avatar_url_note }}</span>
</td>
<td class="trow2" width="60%">
<input type="text" class="textbox" name="avatarurl" size="45" value="{{ avatarurl }}" /><br />
<span class="smalltext">{{ lang.avatar_url_gravatar|raw }}</span>
</td>
</tr>
{% endif %}
</tbody>
</table>
<br />
<div align="center">
<input type="hidden" name="action" value="do_avatar" />
<input type="submit" class="button" name="submit" value="{{ lang.change_avatar }}" />
{% if mybb.user.avatar %}
<input type="submit" class="button" name="remove" value="{{ lang.remove_avatar }}" />
{% endif %}
</div>
</form>
{% endblock body %}
77 changes: 25 additions & 52 deletions usercp.php
Original file line number Diff line number Diff line change
Expand Up @@ -1698,7 +1698,7 @@
$plugins->run_hooks('usercp_do_avatar_start');
require_once MYBB_ROOT."inc/functions_upload.php";

$avatar_error = "";
$error = "";

if(!empty($mybb->input['remove'])) // remove avatar
{
Expand All @@ -1709,14 +1709,13 @@
);
$db->update_query("users", $updated_avatar, "uid='".$mybb->user['uid']."'");
remove_avatars($mybb->user['uid']);
} elseif($_FILES['avatarupload']['name']) // upload avatar
{
} else if ($_FILES['avatarupload']['name']) { // upload avatar
if ($mybb->usergroup['canuploadavatars'] == 0) {
error_no_permission();
}
$avatar = upload_avatar();
if ($avatar['error']) {
$avatar_error = $avatar['error'];
$error = $avatar['error'];
} else {
if ($avatar['width'] > 0 && $avatar['height'] > 0) {
$avatar_dimensions = $avatar['width']."|".$avatar['height'];
Expand All @@ -1728,8 +1727,7 @@
);
$db->update_query("users", $updated_avatar, "uid='".$mybb->user['uid']."'");
}
} elseif($mybb->settings['allowremoteavatars']) // remote avatar
{
} else if ($mybb->settings['allowremoteavatars']) { // remote avatar
$mybb->input['avatarurl'] = trim($mybb->get_input('avatarurl'));
if (validate_email_format($mybb->input['avatarurl']) != false) {
// Gravatar
Expand Down Expand Up @@ -1771,34 +1769,34 @@
// Copy the avatar to the local server (work around remote URL access disabled for getimagesize)
$file = fetch_remote_file($mybb->input['avatarurl']);
if (!$file) {
$avatar_error = $lang->error_invalidavatarurl;
$error = $lang->error_invalidavatarurl;
} else {
$tmp_name = $mybb->settings['avataruploadpath']."/remote_".md5(random_str());
$fp = @fopen($tmp_name, "wb");
if (!$fp) {
$avatar_error = $lang->error_invalidavatarurl;
$error = $lang->error_invalidavatarurl;
} else {
fwrite($fp, $file);
fclose($fp);
list($width, $height, $type) = @getimagesize($tmp_name);
@unlink($tmp_name);
if (!$type) {
$avatar_error = $lang->error_invalidavatarurl;
$error = $lang->error_invalidavatarurl;
}
}
}

if (empty($avatar_error)) {
if (empty($error)) {
if ($width && $height && $mybb->settings['maxavatardims'] != "") {
list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
if (($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)) {
$lang->error_avatartoobig = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
$avatar_error = $lang->error_avatartoobig;
$error = $lang->error_avatartoobig;
}
}
}

if (empty($avatar_error)) {
if (empty($error)) {
if ($width > 0 && $height > 0) {
$avatar_dimensions = (int)$width."|".(int)$height;
}
Expand All @@ -1813,75 +1811,50 @@
}
} else // remote avatar, but remote avatars are not allowed
{
$avatar_error = $lang->error_remote_avatar_not_allowed;
$error = $lang->error_remote_avatar_not_allowed;
}

if (empty($avatar_error)) {
if (empty($error)) {
$plugins->run_hooks('usercp_do_avatar_end');
redirect("usercp.php?action=avatar", $lang->redirect_avatarupdated);
} else {
$mybb->input['action'] = "avatar";
$avatar_error = inline_error($avatar_error);
$error = inline_error($error);
}
}

if ($mybb->input['action'] == "avatar") {
$plugins->run_hooks('usercp_avatar_start');

$avatarmsg = $avatarurl = '';
$avatarurl = '';
$extranotes = [];

if ($mybb->user['avatartype'] == "upload" || stristr($mybb->user['avatar'], $mybb->settings['avataruploadpath'])) {
$avatarmsg = "<br /><strong>".$lang->already_uploaded_avatar."</strong>";
} elseif ($mybb->user['avatartype'] == "remote" || my_validate_url($mybb->user['avatar'])) {
$avatarmsg = "<br /><strong>".$lang->using_remote_avatar."</strong>";
$extranotes[] = $lang->already_uploaded_avatar;
} else if ($mybb->user['avatartype'] == "remote" || my_validate_url($mybb->user['avatar'])) {
$extranotes[] = $lang->using_remote_avatar;
$avatarurl = htmlspecialchars_uni($mybb->user['avatar']);
}

$useravatar = format_avatar($mybb->user['avatar'], $mybb->user['avatardimensions'], '100x100');
eval("\$currentavatar = \"".$templates->get("usercp_avatar_current")."\";");

if ($mybb->settings['maxavatardims'] != "") {
list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims']));
$lang->avatar_note .= "<br />".$lang->sprintf($lang->avatar_note_dimensions, $maxwidth, $maxheight);
$extranotes[] = $lang->sprintf($lang->avatar_note_dimensions, $maxwidth, $maxheight);
}

if ($mybb->settings['avatarsize']) {
$maxsize = get_friendly_size($mybb->settings['avatarsize']*1024);
$lang->avatar_note .= "<br />".$lang->sprintf($lang->avatar_note_size, $maxsize);
}

$plugins->run_hooks('usercp_avatar_intermediate');

$auto_resize = '';
if ($mybb->settings['avatarresizing'] == "auto") {
eval("\$auto_resize = \"".$templates->get("usercp_avatar_auto_resize_auto")."\";");
} elseif ($mybb->settings['avatarresizing'] == "user") {
eval("\$auto_resize = \"".$templates->get("usercp_avatar_auto_resize_user")."\";");
}

$avatarupload = '';
if ($mybb->usergroup['canuploadavatars'] == 1) {
eval("\$avatarupload = \"".$templates->get("usercp_avatar_upload")."\";");
}

$avatar_remote = '';
if ($mybb->settings['allowremoteavatars'] == 1) {
eval("\$avatar_remote = \"".$templates->get("usercp_avatar_remote")."\";");
}

$removeavatar = '';
if (!empty($mybb->user['avatar'])) {
eval("\$removeavatar = \"".$templates->get("usercp_avatar_remove")."\";");
$extranotes[] = $lang->sprintf($lang->avatar_note_size, $maxsize);
}

$plugins->run_hooks('usercp_avatar_end');

if (!isset($avatar_error)) {
$avatar_error = '';
}

eval("\$avatar = \"".$templates->get("usercp_avatar")."\";");
output_page($avatar);
output_page(\MyBB\template('usercp/avatar.twig', [
'error' => $error,
'useravatar' => $useravatar,
'extranotes' => $extranotes
]));
}

if ($mybb->input['action'] == "acceptrequest") {
Expand Down

0 comments on commit 27c6cc4

Please sign in to comment.