Additional Settings For Custom Profile Fields [1.2]
RateU Offline
Administrator
*******
Posts: 2,350
Joined: Mar 2010
Post: #61
RE: Additional Settings For Custom Profile Fields
(06-20-2012 08:05 AM)brad-t Wrote:  I am wondering if it's possible to do Avatar upload and Signature edit in this page as well
You can try this attachment (attached) in your test board. The avatar gallery is not included here.

This uses usercp_editsig, usercp_editsig_suspended, usercp_editsig_current and usercp_avatar templates. So you need to edit those templates.
This is for example only:
usercp_avatar:
Basically, you only need the input fields from this template.

HTML Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
	<tr>
		<td class="thead" colspan="2">
			<strong>{$lang->custom_avatar}</strong>
		</td>
	</tr>
	<tr>
		<td class="trow1" width="40%"><strong>{$lang->avatar_upload}</strong></td>
		<td class="trow1" width="60%">
			<input type="file" name="avatarupload" size="25" class="fileupload" />
			{$auto_resize}
		</td>
	</tr>
	<tr>
		<td class="trow2" width="40%"><strong>{$lang->avatar_url}</strong></td>
		<td class="trow2" width="60%"><input type="text" class="textbox" name="avatarurl" size="45" value="{$avatarurl}" /></td>
	</tr>
	<tr>
		<td class="trow1 smalltext" colspan="2">
			{$lang->avatar_note}{$avatarmsg}
			<div style="text-align:center">
				<label><input type="radio" class="radio" name="update_remove_avatar" value="0"{$urac[0]}>{$lang->leave_sig_settings}</label>
				<label><input type="radio" class="radio" name="update_remove_avatar" value="1"{$urac[1]}>{$lang->remove_avatar}</label>
				<label><input type="radio" class="radio" name="update_remove_avatar" value="2"{$urac[2]}>{$lang->change_avatar}</label>
			</div>
		</td>
	</tr>
</table>

There is an options to update and remove avatar (line #22 - #23), so the avatar process is not executed if the user choose the 'No action' option (by default, it's selected).

usercp_editsig:
The same as the avatar above, basically, you only need to input fields from this template.

HTML Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
	<tr>
		<td class="thead" colspan="2">
			<div class="float_right">
				<label><input type="checkbox" class="checkbox" name="updatesig" value="1"{$updatesigcheck} />&nbsp;{$lang->update_sig}</label>
			</div>
			<strong>{$lang->edit_sig}</strong>
		</td>
	</tr>
	<tr>
		<td class="trow1" valign="top" width="20%">
			<span class="smalltext">{$lang->edit_sig_note}</span>
			{$smilieinserter}
		</td>
		<td class="trow1" width="80%">
			<textarea rows="15" cols="70" id="signature" name="signature">{$sig}</textarea>
			{$codebuttons}
		</td>
	</tr>
	<tr>
		<td class="trow2">
			<span class="smalltext">{$lang->edit_sig_note2}</span>
		</td>
		<td class="trow2">
			<span class="smalltext">
				<label><input type="radio" class="radio" name="updateposts" value="enable" />&nbsp;{$lang->enable_sig_posts}</label><br />
				<label><input type="radio" class="radio" name="updateposts" value="disable" />&nbsp;{$lang->disable_sig_posts}</label><br />
				<label><input type="radio" class="radio" name="updateposts" value="0" checked="checked" />&nbsp;{$lang->leave_sig_settings}</label>
			</span>
		</td>
	</tr>
</table>

There is an additional checkbox for processing (validating and updating) the signature (line #5). If the user doesn't check the checkbox, the signature won't be saved (updated), but they can still view the change (a bit similar to preview).

usercp_editsig_current:
For the current/preview signature

HTML Code
1
2
3
4
5
6
7
8
9
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead"><strong>{$lang->current_sig}</strong></td>
</tr>
<tr>
<td class="trow1">{$sigpreview}</td>
</tr>
</table>
<br />


usercp_editsig_suspended:
Will be displayed if the user doesn't have permission to edit their signature:

HTML Code
<div class="clear">{$lang->edit_sig_no_permission}</div>


There are some additional variables you need to add to your usercp template:
{$editsig}: for displaying the edit signature form or the no permission message.
{$signature}: for displaying the current/preview signature.
{$avatarupload}: for displaying the avatar form.
And you need to add enctype="multipart/form-data" to the form tags.

An example:

HTML Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<html>
<head>
<title>{$lang->user_cp}</title>
{$headerinclude}
</head>
<body>
{$header}
<table width="100%" border="0" align="center">
<tr>
{$usercpnav}
<td valign="top">
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="{$colspan}"><strong>{$lang->account_summary}</strong></td>
</tr>
<tr>
{$avatar}
<td class="trow2">
<span class="largetext">{$username}</span><br />
<strong>{$lang->postnum}</strong> <a href="search.php?action=finduser&amp;uid={$mybb->user['uid']}">{$mybb->user['posts']}</a> {$lang->posts_day}<br />
{$reputation}
<strong>{$lang->email}</strong> {$mybb->user['email']}<br />
<strong>{$lang->registration_date}</strong> {$regdate}<br />
<strong>{$lang->primary_usergroup}</strong> {$usergroup}<br />
{$referral_info}
</td>
</tr>
</table>
<br class="clear" />
{$errors}
<form action="usercp.php" method="post" enctype="multipart/form-data">
	<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
	<div class="float_right" style="width:49%">
		<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
			<tr>
				<td class="thead" colspan="2"><strong>{$lang->edit_options}</strong></td>
			</tr>
			<tr>
				<td class="trow2">{$lang->tpp}</td>
				<td class="trow2">
					{$threadperpage}
				</td>
			</tr>
			<tr>
				<td class="trow2">{$lang->ppp}</td>
				<td class="trow2">
					{$postperpage}
				</td>
			</tr>
			<tr>
				<td class="trow2">Time Zone:</td>
				<td class="trow2">{$tzselect}</td>
			</tr>
			<tr>
				<td class="trow2" colspan="2">
					<div>{$showsig}</div>
					<div>{$showavatar}</div>
				</td>
			</tr>
			<tr>
				<td class="trow2" colspan="2">
					<div>{$allownotices}</div>
					<div>{$receivepms}</div>
					<div>{$pmnotice}</div>
					<div>{$pmnotify}</div>
				</td>
			</tr>
		</table>
	</div>
	<div style="width:49%">
		<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
			<tr>
				<td class="thead" colspan="4"><strong>{$lang->edit_profile}</strong></td>
			</tr>
			{$xtpf_minp['fid3']}
			<tr>
				<td class="trow2">{$lang->birthday}</td>
				<td class="trow2">
					{$birth_day}
				</td>
			</tr>
			<tr>
				<td class="trow2">{$lang->birthdayprivacy}</td>
				<td class="trow2">
					{$bdprivacy}
				</td>
			</tr>
			<tr>
				<td class="trow2" colspan="2">
					<table border="0" style="margin:auto">
						{$xtpf_minp['fid4']}
						{$xtpf_minp['fid5']}
						<tr>
							<td><img src="images/www.png" alt="" title="{$lang->website_url}" /></td>
							<td>
								{$userwebsite}
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		{$xtpf_minp['fid2']}{$xtpf_minp['fid6']}
	</div>
	<br />{$editsig}
	<br />
	{$signature}{$avatarupload}
	<br class="clear" />
	<div class="clear" style="text-align:center">
		<input type="hidden" name="action" value="do_update_xt_proffields" />
		<input type="submit" class="button" value="Update Profile" />
	</div>
</form>
<br class="clear" />
{$latest_subscribed}
{$latest_threads}
{$latest_warnings}
{$user_notepad}
</td>
</tr>
</table>
{$footer}
</body>
</html>



Attached File(s)
.php  xt_ucp_main.php (Size: 19.36 KB / Downloads: 433)

(This post was last modified: 08-26-2012 09:31 PM by RateU.)
06-23-2012 07:54 AM
Find all posts by this user Quote this message in a reply

« Next Oldest | Next Newest »

Messages In This Thread
RE: Additional Settings For Custom Profile Fields - RateU - 06-23-2012 07:54 AM

 Standard Tools
Forum Jump: