[Tip] Adding A Biography Section To A Users Profile

Started by Alan S, September 22, 2006, 06:10:58 PM

Previous topic - Next topic

Alan S

Been working on this for most of the day. Adds a simple biography section to a users profile. BBC code is allowed in the biography section.

File = $themedir/languages/Profile.english.php

Find

$txt[80] = 'You are not allowed to change this person's profile.';

Add on a new line

$txt['bionotice'] = 'BBC code is allowed in the biography box.';
$txt['bio'] = 'Biography';


File = $themedir/Profile.template.php

Find

// Can they add this member as a buddy?
if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
echo '
&nbsp;&nbsp;<a href="', $scripturl, '?action=buddy;u=', $context['member']['id'], ';sesc=', $context['session_id'], '">[', $txt['buddy_' . ($context['member']['is_buddy'] ? 'remove' : 'add')], ']</a>';

echo '
</td>
</tr><tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr><tr>
<td><b>', $txt[231], ': </b></td>
<td>', $context['member']['gender']['name'], '</td>
</tr><tr>
<td><b>', $txt[420], ':</b></td>
<td>', $context['member']['age'] . ($context['member']['today_is_birthday'] ? ' &nbsp; <img src="' . $settings['images_url'] . '/bdaycake.gif" width="40" alt="" />' : ''), '</td>
</tr><tr>
<td><b>', $txt[227], ':</b></td>
<td>', $context['member']['location'], '</td>
</tr><tr>
<td><b>', $txt['local_time'], ':</b></td>
<td>', $context['member']['local_time'], '</td>
</tr><tr>';

if (!empty($modSettings['userLanguage']))
echo '
<td><b>', $txt['smf225'], ':</b></td>
<td>', $context['member']['language'], '</td>
</tr><tr>';
     echo '
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr>';



Add After

//Show the box for the biography

    echo '
<td><b>Biography:</b></td>
<td>', parse_bbc($context['member']['options']['bio']), '</td>
</tr><tr>';

echo '
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
    </tr>';




Find

// Website details.
echo '
<tr>
<td colspan="2"><hr width="100%" size="1" class="hrcolor" /></td>
</tr>
<tr>
<td width="40%"><b>', $txt[83], ': </b><div class="smalltext">', $txt[598], '</div></td>
<td><input type="text" name="websiteTitle" size="50" value="', $context['member']['website']['title'], '" /></td>
</tr><tr>
<td width="40%"><b>', $txt[84], ': </b><div class="smalltext">', $txt[599], '</div></td>
<td><input type="text" name="websiteUrl" size="50" value="', $context['member']['website']['url'], '" /></td>


Add After

; <td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
    </tr>

<td><b>Biography:</b> <div class="smalltext">', $txt['bionotice'], '</div></td> <td><textarea name="default_options[bio]" rows="7" cols="70">', @$context['member']['options']['bio'], '</textarea></td>


I'll most likely make it into mod form if enough people want it on there forum.

Preview Attached.

Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P

Zenigata

Nice, thank you! Does this work in 1.0 or 1.1?


Thanks

Alan S

I coded it for 1.1 but it should work on 1.0 aswell since not much has changed in the profile. The search code might be a bit different but it will still work.
Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P

mersindost

#3
Thanks so Much.

This mod is working in 1.1.4  :-*

Edit: But  have problem  :(

8: Undefined index: bio
Dosya: /home/sitecom/domains/site.com/public_html/forum/Themes/default/languages/Who.turkish.php (eval?)
Satır: 297
I Am Simple Machines Hero, Because I LOVE Simple Machines

metallica48423

did you add it to the turkish language file as well as the english one?
Justin O'Leary
Ex-Project Manager
Ex-Lead Support Specialist

QuoteMicrosoft wants us to "Imagine life without walls"...
I say, "If there are no walls, who needs Windows?"


Useful Links:
Online Manual!
How to Help us Help you
Search
Settings Repair Tool

mersindost

Did you mean Profile.Turkish.php?

Yes, I added codes to the Profile.Turkish.php too.
I Am Simple Machines Hero, Because I LOVE Simple Machines

Hoochie Coochie Man

I take this error:

QuoteHoochie Coochie Man   15 Kasım 2007, 23:57:40 
85.100.14.178     3d120b781e91d41587dd16021f82719c 
http://www.istanblues.org/forum/index.php?action=profile;u=284 
8: Undefined index: bio
Dosya: /home/blues/public_html/forum/Themes/default/languages/Who.turkish.php (eval?)
Satır: 287
İnadına SMF 1.1.X

Hoochie Coochie Man

İnadına SMF 1.1.X

metallica48423

you added


$txt['bionotice'] = 'BBC code is allowed in the biography box.';
$txt['bio'] = 'Biography';
?

to the turkish language file?  what abut turkish-utf8 if you use UTF8?
Justin O'Leary
Ex-Project Manager
Ex-Lead Support Specialist

QuoteMicrosoft wants us to "Imagine life without walls"...
I say, "If there are no walls, who needs Windows?"


Useful Links:
Online Manual!
How to Help us Help you
Search
Settings Repair Tool

marinesct

I had the same problem.  When you [add after] in the third step, make sure you don't have any extra ';' listed.  I found an extra ';' in my Forum Profile Information section and went in to delete it.

Since I had some confusion with how to place it, I coded it as below.  The ';' that was with the original code, should've been taken out.


// Website details.
echo '
<tr>
<td colspan="2"><hr width="100%" size="1" class="hrcolor" /></td>
</tr>
<tr>
<td width="40%"><b>', $txt[83], ': </b><div class="smalltext">', $txt[598], '</div></td>
<td><input type="text" name="websiteTitle" size="50" value="', $context['member']['website']['title'], '" /></td>
</tr><tr>
<td width="40%"><b>', $txt[84], ': </b><div class="smalltext">', $txt[599], '</div></td>
<td><input type="text" name="websiteUrl" size="50" value="', $context['member']['website']['url'], '" /></td>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
            </tr><tr>
<td><b>Biography:</b> <div class="smalltext">', $txt['bionotice'], '</div></td>
<td><textarea name="default_options[bio]" rows="7" cols="70">', @$context['member']['options']['bio'], '</textarea></td>
</tr>';


After I fixed the problem, I hadnt had any errors...so far.

Hoochie Coochie Man

#10
Quote from: BlackMage on November 29, 2007, 10:47:30 PM
you added


$txt['bionotice'] = 'BBC code is allowed in the biography box.';
$txt['bio'] = 'Biography';
?

to the turkish language file?  what abut turkish-utf8 if you use UTF8?

Yes I added it to "languages/Profile.turkish.php"
I'm not using "UTF8"
İnadına SMF 1.1.X

Hoochie Coochie Man

#11
"marinesct" your conclusion is not solved my problem.
I'm still taking this error:

Quotehttp://www.istanblues.org/forum/index.php?action=profile;u=341 
8: Undefined index: bio
File: /home/blues/public_html/forum/Themes/default/languages/Who.turkish.php (eval?)
Line: 305
İnadına SMF 1.1.X

Hoochie Coochie Man

I take this error:

QuoteHoochie Coochie Man   15 Kasım 2007, 23:57:40 
85.100.14.178     3d120b781e91d41587dd16021f82719c 
http://www.istanblues.org/forum/index.php?action=profile;u=284 
8: Undefined index: bio
Dosya: /home/blues/public_html/forum/Themes/default/languages/Who.turkish.php (eval?)
Satır: 287



I solved my promlem myself..
Alan you must change this:
<td>', parse_bbc($context['member']['options']['bio']), '</td>

To that:
<td>', @$context['member']['options']['bio'], '</td>

and there is no error message again..
İnadına SMF 1.1.X

metallica48423

without parse_bbc around it, any bbcode in a bio will appear as plaintext

the @ does not fix the error, it only suppresses it.
Justin O'Leary
Ex-Project Manager
Ex-Lead Support Specialist

QuoteMicrosoft wants us to "Imagine life without walls"...
I say, "If there are no walls, who needs Windows?"


Useful Links:
Online Manual!
How to Help us Help you
Search
Settings Repair Tool

Hoochie Coochie Man

#14
Quote from: BlackMage on December 05, 2007, 05:05:10 PM
without parse_bbc around it, any bbcode in a bio will appear as plaintext

the @ does not fix the error, it only suppresses it.

Well, I don't know another way to disappear the error.
Show me if you know a way..

Beside, i don't need to BBC in bioagraphy anyway..
İnadına SMF 1.1.X

Deaks

~~~~
Former SMF Project Manager
Former SMF Customizer

Hoochie Coochie Man

İnadına SMF 1.1.X

badams

I need help.....Getting same error as Hoochie with the exception that my error states Who.english.php and not Who.turkish.php....

Error:

8: Undefined index: bio
File: /Themes/default/languages/Who.english.php (eval?)
Line: 287

Running SMF 1.1.4

Any help would be appreciated.....




Hoochie Coochie Man

İnadına SMF 1.1.X

badams

Thanks, Hoochie.  Problem is....I want to use BBC......

I'm trying to figure out why the error is specifying Who.english.php....or in your case Who.turkish.php.  Should something be added to this file?

Sorry, I'm a newbie here.....

badams

In testing this I discovered that I only get the error on the member profiles where the biography is empty....they haven't entered anything.....I don't get the error when I view a profile where the member has entered a biography......

Jalkson

Check your Who.english.php, and modifications.english.php.

Make sure this code appears.


$txt['bio'] = 'Biography';



I'm still really new to all this, but it could be your issue. :P

badams

When I tested earlier....I meant to state that I had added that line of code to Who.english.php and it took care of the error messages for those profiles that had entered text in the biography field.  However, I was still getting errors for those profiles that were not filled out by members.

Since I had already added

$txt['bio'] = 'Biography';

to Who.english.php....I took your suggestion and added the same code to modifications.english.php and I still get the error on those profiles where the member has not entered anything in their biography.



Jalkson

What errors are you receiving?  The same as before, but only on the empty profile bios?


Jalkson

I'm unsure of how to fix the issue.  Seeing as how the OP is still active, it might be in your best interest to either wait and see if he answers, or PM him.

Good luck, and I'll let you know if I figure it out.

badams

OK....went back to the drawing board and Alan's original code.....

In testing....I discovered that the adding the the code in Who.english.php or modifications.english.php....didn't make any difference what so ever....

Going back to the original code.....the error occurs only on those profiles where members did not fill in the biography......

I did not receive the error when a biography was present......

I feel like I'm a little bit more ahead...but back where I started....

Sounds like it needs an "If" statement somewhere....


Hoochie Coochie Man

Guys Guys Guys :)
Listen to me dear @badams @Jalkson,

Believe me I worked on it many times. I did everything.. But still got the same error.
And finally I figured out myself.
Ok I couldn't use BBC now. But it is better taking this error everyday.
Besides, I don't need BBC in biography :)

I wrote to Alan on MSN 3 or 4 weeks ago, and he never turn back to me. So I delete him, and this story end for me.

I am using this tip now, I'm not taking errors. So I am happy :) Thanks Alan for this tip anyway ;)
İnadına SMF 1.1.X

Jalkson

Yes, you're fix makes it so the error doesn't show, but technically it isn't a fix.  If all the features aren't working, it isn't fixed. :P

Try pming him on the forums,  he was active today, so I'm sure you might be able to get a hold of him.



Hoochie Coochie Man

Quote from: Jalkson on January 11, 2008, 06:50:07 PM
Yes, you're fix makes it so the error doesn't show, but technically it isn't a fix.  If all the features aren't working, it isn't fixed. :P
But technically it is a fix for me, because I don't need BBC tags really :) :P


Quote from: Jalkson on January 11, 2008, 06:50:07 PM
Try pming him on the forums,  he was active today, so I'm sure you might be able to get a hold of him.
Maan, I give up.. :)
İnadına SMF 1.1.X

matasanos

I Know this topic has not been posted in for too much days..but i have found the solution thanks to woden and a old post

Quote from: woden on May 15, 2006, 06:26:00 PM
On the default theme Profile.template.php

Look for:

// Some more information.
echo '
</td>
</tr><tr>
<td><b>', $txt[96], ': </b></td>
<td><a href="', $context['member']['website']['url'], '" target="_blank">', $context['member']['website']['title'], '</a></td>
</tr>


and after that add this:


<tr><td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr><tr>
<td><b>About Me: </b></td>
<td>', parse_bbc (@$context['member']['options']['about_me']), '</td>
</tr><tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>



The look for:

// Website details.
echo '
<tr>
<td colspan="2"><hr width="100%" size="1" class="hrcolor" /></td>
</tr>
<tr>
<td width="40%"><b>', $txt[83], ': </b><div class="smalltext">', $txt[598], '</div></td>
<td><input type="text" name="websiteTitle" size="50" value="', $context['member']['website']['title'], '" /></td>
</tr><tr>
<td width="40%"><b>', $txt[84], ': </b><div class="smalltext">', $txt[599], '</div></td>
<td><input type="text" name="websiteUrl" size="50" value="', $context['member']['website']['url'], '" /></td></tr>';


And after that add:


echo '<tr>
<td><b>About Me: </b></td>
<td><textarea name="default_options[about_me]" rows="4" cols="80" class="editor">', @$context['member']['options']['about_me'], '</textarea></td>
</tr>';


It's that easy. Please make backups before you change things. ;D

PHPLearner

Quote from: matasanos on October 02, 2008, 01:30:11 PM
I Know this topic has not been posted in for too much days..but i have found the solution thanks to woden and a old post

Quote from: woden on May 15, 2006, 06:26:00 PM
On the default theme Profile.template.php

Look for:

// Some more information.
echo '
</td>
</tr><tr>
<td><b>', $txt[96], ': </b></td>
<td><a href="', $context['member']['website']['url'], '" target="_blank">', $context['member']['website']['title'], '</a></td>
</tr>


and after that add this:


<tr><td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr><tr>
<td><b>About Me: </b></td>
<td>', parse_bbc (@$context['member']['options']['about_me']), '</td>
</tr><tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>



The look for:

// Website details.
echo '
<tr>
<td colspan="2"><hr width="100%" size="1" class="hrcolor" /></td>
</tr>
<tr>
<td width="40%"><b>', $txt[83], ': </b><div class="smalltext">', $txt[598], '</div></td>
<td><input type="text" name="websiteTitle" size="50" value="', $context['member']['website']['title'], '" /></td>
</tr><tr>
<td width="40%"><b>', $txt[84], ': </b><div class="smalltext">', $txt[599], '</div></td>
<td><input type="text" name="websiteUrl" size="50" value="', $context['member']['website']['url'], '" /></td></tr>';


And after that add:


echo '<tr>
<td><b>About Me: </b></td>
<td><textarea name="default_options[about_me]" rows="4" cols="80" class="editor">', @$context['member']['options']['about_me'], '</textarea></td>
</tr>';


It's that easy. Please make backups before you change things. ;D

Thanks A Bunch, That Took Care Of It!!!....Woo-Hoo, Used 1.1.9 Also

iiKiller

This is pretty cool ;) How about it for SMF 2.0 anytime? And this as a Mod would be wicked :D

JBlaze

Quote from: iiKiller on July 07, 2009, 01:40:06 PM
This is pretty cool ;) How about it for SMF 2.0 anytime? And this as a Mod would be wicked :D

Seeing as you have already packaged it as a mod :)
Jason Clemons
Former Team Member 2009 - 2012

Alan S

Yeah i just recieved a PM from the SMF customisation team informing me that a mod had been rejected until proof could be provided that permission was given from the original coder to package it as a mod.

iKorp, iiKiller usualy permission is asked for before packaging the mod and the code is not just packaged and submitted as if it is your own work.

I would have had no problem saying you could package it if you had asked me 1st.....
Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P

Liam.

Sorry :S
Suppose I was just too eager to get it out :P I added you as an author though, proves I wasn't trying to hog it :P Okay then, you'll probably say no now, but; "May I release this packaged mod please Alan?" Once again, sorry for not asking before.

Alan S

Lol , Its no problem.

Yes , I give my permission for IKorp to release this code as a mod.


You should link to this post when your resubmitting this mod or they will reject it again.
Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P

Joshua Dickerson

Come work with me at Promenade Group



Need help? See the wiki. Want to help SMF? See the wiki!

Did you know you can help develop SMF? See us on Github.

How have you bettered the world today?

darrenbeige

Quote from: Hoochie Coochie Man on December 05, 2007, 03:30:57 PM
I solved my promlem myself..
Alan you must change this:
<td>', parse_bbc($context['member']['options']['bio']), '</td>

To that:
<td>', @$context['member']['options']['bio'], '</td>

and there is no error message again..

If you want bbccode functionality enabled and not have the error, you need to change <td>', parse_bbc($context['member']['options']['bio']), '</td> to <td>', (!empty($context['member']['options']['bio']) ? parse_bbc($context['member']['options']['bio']) : '', '</td>.

Liam.

Groundup - I submitted it a while back now, twice (once after getting permission), but it's still not been accepted.

Still - how do you do this for SMF 2.0?

dkharp


Advertisement: