This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
MatritumCantat_Web/www/components/com_simpleboard/userprofile.php
2012-09-18 20:02:43 +00:00

397 lines
20 KiB
PHP

<?php
//
// Copyright (C) 2003 Jan de Graaff
// All rights reserved.
//
// This program uses parts of the original Simpleboard Application
// 0.7.0b written by Josh Levine; http://www.joshlevine.net
//
// This source file is part of the SimpleBoard Component, a Mambo 4.5
// custom Component By Jan de Graaff - http://tsmf.jigsnet.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// Please note that the GPL states that any headers in files and
// Copyright notices as well as credits in headers, source files
// and output (screens, prints, etc.) can not be removed.
// You can extend them with your own credits, though...
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// The "GNU General Public License" (GPL) is available at
// http://www.gnu.org/copyleft/gpl.html.
//
// Dont allow direct linking
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$rowItemid = mosGetParam( $_REQUEST, 'Itemid' );
if ($my->id != "" && $my->id != 0)
{//we got a valid and logged on user so we can go on
//debug ("Yippie, we got in!! up#39");
//What should we do?
if($do=="show")
{//show it is..
if (!$sbConfig['cb_profile']) {
//first we gather some information about this person
$database->setQuery("SELECT * FROM #__sb_users LEFT JOIN #__users on #__users.id=#__sb_users.userid WHERE userid=$my->id");
$userDetails=$database->loadObjectList();
//Mambo userids are unique, so we don't worry about that
//fill the variables needed later
foreach($userDetails as $user)
{
$prefview = $user->view ;
$signature = $user->signature;
$username = $user->name ;
$moderator = $user->moderator;
$sbavatar = $user->avatar;
$ordering = $user->ordering;
list($avWidth, $avHeight) = @getimagesize($avatar);
//that's it we got now; later the 'future_use' columns can be used..
}
//use mypms pro avatar if configured
if ($sbConfig['avatar_src']=="pmspro") {
$database->setQuery("SELECT picture FROM #__mypms_profiles WHERE name='$username'");
$avatar=$database->loadResult();
}
elseif ($sbConfig['avatar_src']=="cb") {
$database->setQuery("SELECT avatar FROM #__comprofiler WHERE user_id='$my->id'");
$avatar=$database->loadResult();
}
else {
$avatar = $sbavatar;
}
}
//get all subscriptions for this user
$database->setQuery("select thread from #__sb_subscriptions where userid=$my->id");
$subslist=$database->loadObjectList();
$csubslist=count($subslist);
//get all forums for which this user is assigned as moderator, BUT only if the user isn't an admin
//since these are moderators for all forums (regardless if a forum is set to be moderated)
if (!$is_admin)
{
$database->setQuery("select #__sb_moderation.catid,#__sb_categories.name from #__sb_moderation left join #__sb_categories on #__sb_categories.id=#__sb_moderation.catid where #__sb_moderation.userid=$my->id");
$modslist=$database->loadObjectList();
$cmodslist=count($modslist);
}
//here we go:
?>
<link rel="stylesheet" href="components/com_simpleboard/template/<?php echo $sbConfig['template']; ?>/forum.css" type="text/css" />
<?php include('components/com_simpleboard/bb.js.php'); ?>
<table border="0" width="100%">
<?php include ($sbp.'/searchbox.php');?>
<tr>
<td align="center">
<b><font size="2"><?php echo $board_title;?></font></b>
<?php echo $sbConfig['board_offline'] ? '<br /><font color="red">' ._FORUM_IS_OFFLINE. '</font>' : '&nbsp;' ;?>
</td>
</tr>
</table>
<br />
<div align="center">
<a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&amp;Itemid='.$Itemid);?>">
<?php echo $sbIcons['home'] ? '<img src="'.$mls.'/modules/mod_sbicons/'.$sbIcons['home'].'" border="0" alt="'._HOME.'" title="'._HOME.'" />' : _HOME; ?>
</a>
<?php echo $sbIcons['help'] ?'':'| ';?><a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=faq');?>">
<?php echo $sbIcons['help'] ? '<img src="'.$mls.'/modules/mod_sbicons/'.$sbIcons['help'].'" border="0" alt="'._GEN_HELP.'" title="'._GEN_HELP.'"/>' : _GEN_HELP; ?>
</a>
<?php
// add lines for new rules menu item
if ( $sbConfig['enableRulesPage'] ) {
echo $sbIcons['rules'] ?'':' | ';
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=rules').'">';
echo $sbIcons['rules'] ? '<img src="'.$mls.'/modules/mod_sbicons/'.$sbIcons['rules'].'" border="0" alt="'._GEN_RULES.'" title="'._GEN_RULES.'"/>' : _GEN_RULES;
echo '</a>';
}?>
</div>
<?php if (!$sbConfig['cb_profile']) { ?>
<p align="center"class="contentheader"><?php echo _USER_PROFILE;?> <?php echo $username;?><br /><br /></p>
<form action="index.php?option=com_simpleboard&amp;Itemid=<?php echo Itemid;?>&amp;func=userprofile&amp;do=update" method="POST" name="postform">
<input type="hidden" name="do" value="update">
<table border=0 cellspacing=0 width="100%" align="center" class="contentpane">
<tr>
<td colspan="3" class="sectiontableheader"><?php echo _USER_GENERAL;?></td>
</tr>
<tr>
<td width="150" class="contentpane" style="vertical-align: top;"><strong><?php echo _USER_PREFERED;?>*</strong>:</td>
<td align="left" valign="top" class="contentpane" colspan="2">
<?php
// make the select list for the view type
$yesno[] = mosHTML::makeOption( 'flat', _GEN_FLAT );
$yesno[] = mosHTML::makeOption( 'threaded', _GEN_THREADED );
// build the html select list
$tosend = mosHTML::selectList( $yesno, 'newview', 'class="inputbox" size="2"', 'value', 'text', $prefview );
echo $tosend;
?>
</td>
</tr>
<tr>
<td width="150" class="contentpane" style="vertical-align: top;"><strong><?php echo _USER_ORDER;?>*</strong>:</td>
<td align="left" valign="top" class="contentpane" colspan="2">
<?php
// make the select list for the view type
$yesno1[] = mosHTML::makeOption( 0, _USER_ORDER_ASC );
$yesno1[] = mosHTML::makeOption( 1, _USER_ORDER_DESC );
// build the html select list
$tosend = mosHTML::selectList( $yesno1, 'neworder', 'class="inputbox" size="2"', 'value', 'text', $ordering );
echo $tosend;
echo '<br /><font size="1"><em>*'._USER_CHANGE_VIEW.'</em></font>';
?>
</td>
</tr>
<tr>
<td width="150" class="contentpane" style="vertical-align: top;">
<strong><?php echo _GEN_SIGNATURE;?></strong>:<br />
<i><?php echo $sbConfig['maxSig'];?> <?php echo _CHARS; ?></i><br />
<input readonly type=text name="counter" size="3" maxlength=3 value=""><br />
<?php echo _HTML_YES; ?>
</td>
<td align="left" valign="top" class="contentpane">
<textarea style="width: <?php echo $sbConfig['rtewidth']?>px; height: 60px;" class="inputbox" onMouseOver="textCounter(this.form.message,this.form.counter,<?php echo $sbConfig['maxSig'];?>);" onClick="textCounter(this.form.message,this.form.counter,<?php echo $sbConfig['maxSig'];?>);" onKeyDown="textCounter(this.form.message,this.form.counter,<?php echo $sbConfig['maxSig'];?>);" onKeyUp="textCounter(this.form.message,this.form.counter,<?php echo $sbConfig['maxSig'];?>);" type="text" name="message"><?php echo $signature;?></textarea>
<br />
<input type="button" class="button" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onClick="bbstyle(0)" onMouseOver="helpline('b')" />
<input type="button" class="button" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onClick="bbstyle(2)" onMouseOver="helpline('i')" />
<input type="button" class="button" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onClick="bbstyle(4)" onMouseOver="helpline('u')" />
<input type="button" class="button" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onClick="bbstyle(14)" onMouseOver="helpline('p')" />
<input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
<br />Colour:
<select name="addbbcode20" onChange="bbfontstyle('[color=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;" onMouseOver="helpline('s')">
<option style="color:black; background-color: #FAFAFA" value=""><?php echo _COLOUR_DEFAULT;?></option>
<option style="color:red; background-color: #FAFAFA" value="#FF0000"><?php echo _COLOUR_RED;?></option>
<option style="color:blue; background-color: #FAFAFA" value="#0000FF"><?php echo _COLOUR_BLUE;?></option>
<option style="color:green; background-color: #FAFAFA" value="#008000"><?php echo _COLOUR_GREEN;?></option>
<option style="color:yellow; background-color: #FAFAFA" value="#FFFF00"><?php echo _COLOUR_YELLOW;?></option>
<option style="color:orange; background-color: #FAFAFA" value="#FF6600"><?php echo _COLOUR_ORANGE;?></option>
</select>
Size: <select name="addbbcode22" onChange="bbfontstyle('[size=' + this.form.addbbcode22.options[this.form.addbbcode22.selectedIndex].value + ']', '[/size]')" onMouseOver="helpline('f')">
<option value="1"><?php echo _SIZE_VSMALL;?></option>
<option value="2"><?php echo _SIZE_SMALL;?></option>
<option value="3" selected="selected"><?php echo _SIZE_NORMAL;?></option>
<option value="4"><?php echo _SIZE_BIG;?></option>
<option value="5"><?php echo _SIZE_VBIG;?></option>
</select>
<br />
<input type="text" name="helpbox" size="45" maxlength="100" style="width: <?php echo $sbConfig['rtewidth']?>px; font-size:9px" class="helpline" value="<?php echo _BBCODE_HINT;?>" />
<br /> <a href="javascript:bbstyle(-1)" onMouseOver="helpline('a')"><small><?php echo _BBCODE_CLOSA;?></small></a></span><br />
<input type="checkbox" value="1" name="deleteSig"><i> <?php echo _USER_DELETE;?></i>
</td>
</tr>
<tr>
<td colspan="2" class="contentpane" style="vertical-align: top;">&nbsp;</td>
<td class="contentpane">&nbsp;</td>
</tr>
<tr>
<td class="contentpane" style="vertical-align: top;"><?php if ($sbConfig['allowAvatar']){?>
<?php echo _YOUR_AVATAR."</td><td class=\"contentpane\">";
if ($sbConfig['avatar_src']=="pmspro"){
if ($avatar!=""){?>
<img src="components/com_mypms/pictures/<?php echo $avatar;?>" ><br />
<a href="<?php echo sefRelToAbs('index.php?option=com_mypms&amp;task=upload');?>"><?php echo _SET_NEW_AVATAR; ?></a>
<?php
}else{echo _NON_SELECTED;?>
<a href="<?php echo sefRelToAbs('index.php?option=com_mypms&amp;task=upload');?>"><?php echo _SET_NEW_AVATAR; ?></a>
<?php
}
}
elseif ($sbConfig['avatar_src']=="cb"){
if ($avatar!=""){?>
<img src="components/com_comprofiler/images/<?php echo $avatar;?>" ><br />
<a href="<?php echo sefRelToAbs('index.php?option=com_comprofiler&amp;Itemid=117&amp;task=userAvatar');?>"><?php echo _SET_NEW_AVATAR; ?></a>
<?php
}else{echo _NON_SELECTED;?>
<a href="<?php echo sefRelToAbs('index.php?option=com_comprofiler&amp;Itemid=117&amp;task=userAvatar');?>"><?php echo _SET_NEW_AVATAR; ?></a>
<?php
}
}
else {
if ($avatar!=""){?>
<img src="components/com_simpleboard/avatars/<?php echo $avatar;?>" ><br />
<a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=upload');?>">
<?php echo _SET_NEW_AVATAR; ?></a><br />
<input type="checkbox" value="1" name="deleteAvatar"><i> <?php echo _USER_DELETEAV;?></i>
<?php
}else{echo _NON_SELECTED;?>
<a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=upload');?>">
<?php echo _SET_NEW_AVATAR; ?></a>
<?php }?>
<input type="hidden" value="<?php echo $avatar;?>" name="avatar">
<?php }?>
</td>
<?php } else { echo "<td>&nbsp;"; echo '<input type="hidden" value="" name="avatar"></td>'; }?>
</tr>
<tr>
<td colspan="2" class="contentpane">&nbsp;</td>
<td class="contentpane">&nbsp;</td>
</tr>
<tr><td colspan=2><input type="checkbox" name="unsubscribeAll" value="1"><i><?php echo _USER_UNSUBSCRIBE_ALL;?></i></td></tr>
<tr cellspacing="3" colspan="3">
<td colspan="3" class="sectiontableheader" align="center">&nbsp;<input type="submit" class="button" value="<?php echo _GEN_SUBMIT;?>"></td>
</tr>
</table>
</form>
<br />
<?php } ?>
<table border=0 cellspacing=0 width="100%" align="center" class="contentpane">
<tr>
<td colspan="2" class="sectiontableheader"><?php echo _USER_SUBSCRIPTIONS;?></td>
</tr>
<?php
$enum=1;//reset value
$tabclass = array("sectiontableentry1", "sectiontableentry2");//alternating row CSS classes
$k=0; //value for alternating rows
if($csubslist >0){
foreach($subslist as $subs){//get all message details for each subscription
$database->setQuery("select * from #__sb_messages where id=$subs->thread");
$subdet=$database->loadObjectList();
foreach($subdet as $sub){
$k=1-$k;
echo "<tr>";
echo ' <td class="'.$tabclass[$k].'">'.$enum.': <a href="index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=view&amp;catid='.$sub->catid.'&amp;id='.$sub->id.'">'.$sub->subject.'</a> - ' ._GEN_BY. ' ' .$sub->name;
echo ' <td class="'.$tabclass[$k].'"><a href="index.php?option=com_simpleboard&amp;Itemid='.$Itemid.'&amp;func=userprofile&do=unsubscribe&thread='.$subs->thread.'">' ._THREAD_UNSUBSCRIBE. '</a>';
echo "</tr>";
$enum++;
}
}
}
else{
echo '<tr><td>'._USER_NOSUBSCRIPTIONS.'</td></tr>';
}
?>
</table>
<br />
<table border=0 cellspacing=0 width="100%" align="center" class="contentpane">
<tr>
<td colspan="2" class="sectiontableheader"><?php echo _USER_MODERATOR;?>:</td>
</tr>
<?php
if (!$is_admin)
{
$enum=1;//reset value
$tabclass = array("sectiontableentry1", "sectiontableentry2");//alternating row CSS classes
$k=0; //value for alternating rows
if($cmodslist >0){
foreach($modslist as $mods){//get all moderator details for each moderation
$k=1-$k;
echo "<tr>";
echo ' <td class="'.$tabclass[$k].'">'.$enum.': '.$mods->name.'</td>';
echo "</tr>";
$enum++;
}
}
else
{
echo "<tr><td>"._USER_MODERATOR_NONE."</td></tr>";
}
}
else
{
echo "<tr><td>"._USER_MODERATOR_ADMIN."</td></tr>";
}
echo "</table>";
}
else if($do == "update")
{//we update anything
$rowItemid = mosGetParam( $_REQUEST, 'Itemid' );
$deleteAvatar = mosGetParam( $_POST, 'deleteAvatar' , 0 );
$deleteSig = mosGetParam( $_POST, 'deleteSig' , 0 );
$unsubscribeAll = mosGetParam( $_POST, 'unsubscribeAll', 0 );
$signature = mosGetParam( $_POST, 'message' , '' );
$newview = mosGetParam( $_POST, 'newview' , 'flat' );
$avatar = mosGetParam( $_POST, 'avatar' , '' );
(int)$neworder = mosGetParam( $_POST, 'neworder' , 0 );
if($deleteSig == 1){$signature="";}
$signature=trim(htmlentities(addslashes($signature)));
//parse the message for some preliminary bbcode and stripping of HTML
$signature = smile::bbencode_first_pass($signature);
if($deleteAvatar == 1){$avatar="";}
$database->setQuery("UPDATE #__sb_users set signature='$signature', view='$newview', avatar='$avatar', ordering='$neworder' where userid=$my_id");
setcookie("sboard_settings[current_view]",$newview);
if(!$database->query()) {
echo _USER_PROFILE_NOT_A." <strong><font color=\"red\">"._USER_PROFILE_NOT_B."</font></strong> "._USER_PROFILE_NOT_C.".<br /><br />";
}else {
echo _USER_PROFILE_UPDATED."<br /><br />";
}
echo _USER_RETURN_A." <a href=\"index.php?option=com_simpleboard&amp;Itemid=$Itemid&amp;func=userprofile&do=show\">"._USER_RETURN_B."</a><br /><br />";
if ($unsubscribeAll){
$database->setQuery("DELETE FROM #__sb_subscriptions WHERE userid='$my_id'");
$database->query();
}
?>
<script language="javascript">
setTimeout("location='index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=userprofile&do=show'",3500);
</script>
<?php
}
else if($do == "unsubscribe")
{//ergo, ergo delete
$database->setQuery("DELETE from #__sb_subscriptions where userid=$my->id and thread=$thread");
if(!$database->query()) {
echo _USER_UNSUBSCRIBE_A." <strong><font color=\"red\">"._USER_UNSUBSCRIBE_B."</font></strong> "._USER_UNSUBSCRIBE_C.".<br /><br />";
}else {
echo _USER_UNSUBSCRIBE_YES.".<br /><br />";
}
if ($sbConfig['cb_profile']) {
echo _USER_RETURN_A." <a href=\"index.php?option=com_comprofiler&amp;Itemid='.$cbitemid.'&amp;tab=getForumTab\">"._USER_RETURN_B."</a><br /><br />";
?>
<script language="javascript">
setTimeout("location='index.php?option=com_comprofiler&Itemid=<?php echo $cbitemid; ?>&tab=getForumTab'",3500);
</script>
<?php
} else {
echo _USER_RETURN_A." <a href=\"index.php?option=com_simpleboard&amp;Itemid=$Itemid&amp;func=userprofile&do=show\">"._USER_RETURN_B."</a><br /><br />";
?>
<script language="javascript">
setTimeout("location='index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=userprofile&do=show'",3500);
</script>
<?php
}
}
else
{//you got me there... don't know what to $do
echo _USER_ERROR_A;
echo _USER_ERROR_B."<br /><br />";
echo _USER_ERROR_C."<br /><br />"._USER_ERROR_D.": <code>SB001-up-02NoDO</code><br /><br />";
}
}
else
{//get outa here, you fraud!
echo _USER_ERROR_A;
echo _USER_ERROR_B."<br /><br />";
echo _USER_ERROR_C."<br /><br />"._USER_ERROR_D.": <code>SB001-up-01NLO</code><br /><br />";
//that should scare 'em off enough... ;-)
}
?>