Exemplo n.º 1
0
function edit_profile_form()
{
    global $LANG;
    if ($GLOBALS['me']) {
        $form = '<div class="edit_profile_form other_form">';
        if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['edit_profile_form']) && \site\utils::check_csrf($_POST['edit_profile_form']['csrf'], 'edit_profile_csrf')) {
            $pd = \site\utils::validate_user_data($_POST['edit_profile_form']);
            try {
                $user_info = \user\main::edit_profile($GLOBALS['me']->ID, $pd);
                $GLOBALS['me']->Avatar = $user_info->avatar;
                $form .= '<div class="success">' . $LANG['profile_success'] . '</div>';
            } catch (Exception $e) {
                $form .= '<div class="error">' . $e->getMessage() . '</div>';
            }
        }
        $csrf = $_SESSION['edit_profile_csrf'] = \site\utils::str_random(12);
        $form .= '<form method="POST" action="#" enctype="multipart/form-data">
  <div class="form_field"><label for="edit_profile_form[username]">' . $LANG['form_name'] . ':</label> <div><input type="text" name="edit_profile_form[username]" id="edit_profile_form[username]" value="' . (isset($pd['username']) ? $pd['username'] : $GLOBALS['me']->Name) . '" required /></div></div>
  <div class="form_field"><label for="edit_profile_form[email]">' . $LANG['form_email'] . ':</label> <div><input type="text" name="edit_profile_form[email]" id="edit_profile_form[email]" value="' . $GLOBALS['me']->Email . '" disabled /></div></div>
  <div class="form_field"><label for="edit_profile_form_avatar">' . $LANG['form_avatar'] . ':</label> <div><img src="' . user_avatar($GLOBALS['me']->Avatar) . '" alt="" style="width:80px; height:80px;" /> <input type="file" name="edit_profile_form_avatar" id="edit_profile_form_avatar" />
  <span>Note:* max width: 300px, max height: 300px.</span></div></div>
  <div class="form_field"><label for="edit_profile_form[subscriber]">' . $LANG['form_subscriber'] . ':</label> <div><input type="checkbox" name="edit_profile_form[subscriber]" id="edit_profile_form[subscriber]" ' . (isset($pd['subscriber']) || $_SERVER['REQUEST_METHOD'] !== 'POST' && $GLOBALS['me']->is_subscribed ? 'checked' : '') . ' /> ' . $LANG['msg_subscribe'] . '</div></div>
  <input type="hidden" name="edit_profile_form[csrf]" value="' . $csrf . '" />
  <button>' . $LANG['profile_button'] . '</button>
  </form>

  </div>';
        return $form;
    } else {
        return '<div class="info_form">' . $LANG['unavailable_form'] . '</div>';
    }
}