git-svn-id: https://192.168.0.254/svn/Proyectos.MatritumCantat_Web/trunk@2 8e3496fd-7892-4c45-be36-0ff06e9dacc6
1136 lines
58 KiB
PHP
1136 lines
58 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://www.tsmf-mambo.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.' );
|
|
|
|
//ob_start();
|
|
$catid=(int)$catid;
|
|
$pubwrite=(int)$pubwrite;
|
|
//ip for floodprotection, post logging, subscriptions, etcetera
|
|
$ip=$_SERVER["REMOTE_ADDR"];
|
|
require_once 'components/com_simpleboard/forum.conf';
|
|
//reset variables used
|
|
$editmode=0;
|
|
// $message=mosGetParam($_POST, 'message','',1); // For some reason this just doesn't work like it should
|
|
$message=$_REQUEST["message"];
|
|
//flood protection
|
|
$sbConfig['floodprotection']=(int)$sbConfig['floodprotection'];
|
|
if ($sbConfig['floodprotection'] != 0)
|
|
{
|
|
$database->setQuery("select max(time) from #__sb_messages where ip='$ip'");
|
|
$lastPostTime=$database->loadResult();
|
|
}
|
|
if (($sbConfig['floodprotection'] != 0 && ((($lastPostTime+$sbConfig['floodprotection']) < $systime ) || $do == "edit" || $is_admin)) || $sbConfig['floodprotection'] == 0)
|
|
{
|
|
|
|
//Let's find out who we're dealing with if a registered user wants to make a post
|
|
if ($my_id != "")
|
|
{
|
|
$database->setQuery("SELECT name, username, email FROM #__users WHERE id=$my_id");
|
|
$userquery=$database->loadObjectList();
|
|
if ($database->query())
|
|
{
|
|
foreach ($userquery as $user)
|
|
{
|
|
$my_name= $sbConfig['username'] ? $user->username : $user->name;
|
|
$my_email=$user->email;
|
|
$registeredUser=1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo _POST_ERROR."<br />";
|
|
echo _POST_EXIT;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo _POST_TOPIC_FLOOD1;
|
|
echo $sbConfig['floodprotection']." "._POST_TOPIC_FLOOD2."<br />";
|
|
echo _POST_TOPIC_FLOOD3;
|
|
return;
|
|
}
|
|
|
|
|
|
//Now find out the forumname to which the user wants to post (for reference only)
|
|
$database->setQuery("SELECT name FROM #__sb_categories WHERE id=$catid");
|
|
$catName=$database->loadResult();
|
|
|
|
?>
|
|
|
|
<link rel="stylesheet" href="components/com_simpleboard/template/<?php echo $sbConfig['template']; ?>/forum.css" type="text/css" />
|
|
|
|
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
|
|
<tr>
|
|
<td align="center">
|
|
<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>' : ' ' ;?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br />
|
|
<div align="center">
|
|
<a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid);?>">
|
|
<?php echo $sbIcons['home'] ? '<img src="'.$mls.'/modules/mod_sbicons/'.$sbIcons['home'].'" border="0" alt="'._HOME.'" title="'._HOME.'" />' : _HOME; ?>
|
|
</a>
|
|
|
|
<?php
|
|
if ($my_id != 0)
|
|
{
|
|
echo $sbIcons['profile'] ?'':'| ';?><a href="<?php if ($sbConfig['cb_profile']) { echo sefRelToAbs('index.php?option=com_comprofiler&task=userDetails'); } else { echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=userprofile&do=show'); }?>">
|
|
<?php echo $sbIcons['profile'] ? '<img src="'.$mls.'/modules/mod_sbicons/'.$sbIcons['profile'].'" border="0" alt="'._GEN_MYPROFILE.'" title="'._GEN_MYPROFILE.'"/>' : _GEN_MYPROFILE; ?>
|
|
</a>
|
|
<?php
|
|
}
|
|
?>
|
|
| <a href="<?php echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&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
|
|
if ( $sbConfig['enableRulesPage'] ) {
|
|
echo $sbIcons['rules'] ?'':'| ';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&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>
|
|
<br />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
|
|
|
|
<?php
|
|
if ($action=="post")
|
|
{
|
|
?>
|
|
<table border="0" cellspacing="1" cellpadding="3" width="70%" align="center" class="sb_contentpane"><tr><td>
|
|
<?php
|
|
$parent=(int)$parentid;
|
|
if (empty($sb_authorname))
|
|
{
|
|
echo _POST_FORGOT_NAME;
|
|
}
|
|
else if (empty($subject))
|
|
{
|
|
echo _POST_FORGOT_SUBJECT;
|
|
}
|
|
else if (empty($message))
|
|
{
|
|
echo _POST_FORGOT_MESSAGE;
|
|
}
|
|
else
|
|
{
|
|
if ($parent == 0)
|
|
$thread = $parent = 0;
|
|
|
|
|
|
$database->setQuery("SELECT id,thread,parent FROM #__sb_messages WHERE id='$parent'");
|
|
$database->query();
|
|
if ($database->getNumRows() == 0)
|
|
{
|
|
// bad parent, create a new post
|
|
$parent = 0;
|
|
$thread = 0;
|
|
}
|
|
else
|
|
{
|
|
$database->loadObject($m);
|
|
$thread = $m->parent==0?$m->id:$m->thread;
|
|
}
|
|
|
|
|
|
if ($catid == 0 )
|
|
{
|
|
$catid = 1; //make sure there's a proper category
|
|
}
|
|
|
|
/*if ($attachfile != '' ) {
|
|
$noFileUpload=0;
|
|
include $sbp.'/file_upload.php';
|
|
if ($rc==0){
|
|
$noFileUpload=1;
|
|
}
|
|
}
|
|
if ($attachimage != '' ) {
|
|
$noImgUpload=0;
|
|
include $sbp.'/image_upload.php';
|
|
if ($rc==0){
|
|
$noImgUpload=1;
|
|
}
|
|
}*/
|
|
|
|
$messagesubject=$subject;//before we add slashes and all... used later in mail
|
|
$sb_authorname=trim(addslashes($sb_authorname));
|
|
$subject=trim(htmlspecialchars(addslashes($subject)));
|
|
$message=trim(htmlspecialchars(addslashes($message)));
|
|
if ($contentURL != "empty") { $message= $contentURL.'\n\n'.$message;}
|
|
//parse the message for some preliminary bbcode and stripping of HTML
|
|
$message = smile::bbencode_first_pass($message);
|
|
$subject = smile::bbencode_first_pass($subject);
|
|
|
|
//--
|
|
$email=trim(addslashes($email));
|
|
$topic_emoticon=(int)$topic_emoticon;
|
|
$topic_emoticon=$topic_emoticon>7?0:$topic_emoticon;
|
|
$posttime=time()+($sbConfig['board_ofset']*3600);
|
|
|
|
//check if the post must be reviewed by a Moderator prior to showing
|
|
//doesn't apply to admin/moderator posts ;-)
|
|
$holdPost=0;
|
|
if (!$is_moderator){
|
|
$database->setQuery("SELECT review FROM #__sb_categories WHERE id=$catid");
|
|
$holdPost=$database->loadResult();
|
|
}
|
|
|
|
|
|
$database->setQuery("INSERT INTO #__sb_messages (parent,thread,catid,name,userid,email,subject,time,ip,topic_emoticon,hold) VALUES('$parent','$thread','$catid','$sb_authorname','$my_id','$email','$subject','$posttime','$ip','$topic_emoticon','$holdPost')");
|
|
if ($database->query())
|
|
{
|
|
$pid=$database->insertId();
|
|
$database->setQuery("INSERT INTO #__sb_messages_text (mesid,message) VALUES('$pid','$message')");
|
|
$database->query();
|
|
if ($thread==0){
|
|
//if thread was zero, we now know to which id it belongs, so we can determine the thread and update it
|
|
$database->setQuery("UPDATE #__sb_messages SET thread='$pid' WHERE id='$pid'");
|
|
$database->query();
|
|
}
|
|
//update the user posts count
|
|
if ($my->id != 0){
|
|
$database->setQuery("UPDATE #__sb_users SET posts=posts+1 WHERE userid='$my->id'");
|
|
$database->query();
|
|
}
|
|
|
|
//Update the attachments table if an image has been attached
|
|
if ( $imagelocation != "" && ! $noImgUpload)
|
|
{
|
|
$database->setQuery("INSERT INTO #__sb_attachments (mesid, filelocation) values ('$pid','$imageLocation')");
|
|
if (!$database->query()){
|
|
echo "<script> alert('Storing image failed: ".$database->getErrorMsg()."'); </script>\n";
|
|
}
|
|
}
|
|
//Update the attachments table if an file has been attached
|
|
if ( $fileLocation != "" && ! $noFileUpload)
|
|
{
|
|
$database->setQuery("INSERT INTO #__sb_attachments (mesid, filelocation) values ('$pid','$fileLocation')");
|
|
if (!$database->query()){
|
|
echo "<script> alert('Storing file failed: ".$database->getErrorMsg()."'); </script>\n";
|
|
}
|
|
}
|
|
//Now manage the subscriptions (only if subscriptions are allowed)
|
|
if($sbConfig['allowsubscriptions'] == 1) {//they're allowed
|
|
//get the proper user credentials for each subscription to this topic
|
|
if ($thread==0){
|
|
$querythread=$pid;
|
|
} else {
|
|
$querythread=$thread;
|
|
}
|
|
|
|
//clean up the message
|
|
$mailmessage=smile::purify($message);
|
|
|
|
$database->setQuery("SELECT * FROM #__sb_subscriptions AS a"
|
|
. "\n LEFT JOIN #__users as u"
|
|
. "\n ON a.userid=u.id "
|
|
. "\n WHERE a.thread= '$querythread'");
|
|
$subsList=$database->loadObjectList();
|
|
|
|
//construct a useable URL
|
|
$messageUrl=sefRelToAbs($mosConfig_live_site."/index.php?option=com_simpleboard&Itemid=$Itemid&func=view&catid=$catid&id=$pid")."#$pid";
|
|
|
|
if(count($subsList)>0){//we got more than 0 subscriptions
|
|
require_once($sbp.'/sb_mail.php'); // include sbMail class for mailing
|
|
foreach($subsList as $subs){
|
|
$mailsubject = "$_COM_A_NOTIFICATION $board_title";
|
|
|
|
$msg = "$subs->name,\n";
|
|
$msg .= "$_COM_A_NOTIFICATION1 $board_title forum\n";
|
|
$msg .= "Subject: '".stripslashes($messagesubject)."' in Forum: '".stripslashes($catName)."'\n";
|
|
$msg .= "Posted by: ". stripslashes($sb_authorname) . "\n\n";
|
|
$msg .= "$_COM_A_NOTIFICATION2\n";
|
|
$msg .= "URL: $messageUrl\n\n";
|
|
$msg .= "Post:\n";
|
|
$msg .= stripslashes($mailmessage);
|
|
$msg .= "\n\n";
|
|
$msg .= "$_COM_A_NOTIFICATION3\n";
|
|
$msg .= "\n\n\n\n\n";
|
|
$msg .= "** Mambo Simpleboard Forum Component by Jan de Graaff **\n";
|
|
$msg .= "** the Two Shoes Mambo Factory - http://www.tsmf.net **";
|
|
|
|
if($ip != "127.0.0.1" && $my_id != $subs->id){//don't mail yourself
|
|
sbMail::send($sbConfig['email'],"Forum at ". $_SERVER['SERVER_NAME'],$subs->email,$mailsubject,$msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//Now manage the mail for moderators (only if configured)
|
|
if($sbConfig['mailmod'] == '1') {//they're configured
|
|
//get the proper user credentials for each moderator for this forum
|
|
$database->setQuery("SELECT * FROM #__sb_moderation AS a"
|
|
. "\n LEFT JOIN #__users AS u"
|
|
. "\n ON a.userid=u.id"
|
|
. "\n WHERE a.catid=$catid");
|
|
$modsList=$database->loadObjectList();
|
|
|
|
if(count($modsList)>0){//we got more than 0 moderators eligible for email
|
|
require_once($sbp.'/sb_mail.php'); // include sbMail class for mailing
|
|
foreach($modsList as $mods){
|
|
$mailsubject = "$_COM_A_NOTIFICATION $board_title";
|
|
|
|
$msg = "$mods->name,\n";
|
|
$msg .= "$_COM_A_NOT_MOD1 $board_title forum\n";
|
|
$msg .= "Subject: '".stripslashes($messagesubject)."' in Forum: '".stripslashes($catName)."'\n";
|
|
$msg .= "Posted by: ". stripslashes($sb_authorname) . "\n\n";
|
|
$msg .= "$_COM_A_NOT_MOD2\n";
|
|
$msg .= "URL: $messageUrl\n\n";
|
|
$msg .= "Post:\n";
|
|
$msg .= stripslashes($mailmessage);
|
|
$msg .= "\n\n";
|
|
$msg .= "$_COM_A_NOTIFICATION3\n";
|
|
$msg .= "\n\n\n\n\n";
|
|
$msg .= "** Mambo Simpleboard Forum Component by TSMF **\n";
|
|
$msg .= "** the Two Shoes Mambo Factory - http://www.tsmf.net **";
|
|
|
|
if($ip != "127.0.0.1" && $my_id != $mods->id){//don't mail yourself
|
|
//Send away
|
|
sbMail::send($sbConfig['email'],"Forum at ". $_SERVER['SERVER_NAME'],$mods->email,$mailsubject,$msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//now try adding any new subscriptions if asked for by the poster
|
|
if($subscribeMe == 1){
|
|
if ($thread==0){$sb_thread=$pid;}else{$sb_thread=$thread;}
|
|
$database->setQuery("INSERT INTO #__sb_subscriptions (thread,userid) VALUES ('$sb_thread','$my_id')");
|
|
if ($database->query()){
|
|
echo _POST_SUBSCRIBED_TOPIC."<br /><br />";
|
|
}else{
|
|
echo _POST_NO_SUBSCRIBED_TOPIC."<br /><br />";
|
|
}
|
|
}
|
|
|
|
|
|
if($holdPost==1){
|
|
echo _POST_SUCCES_REVIEW.' <a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._GEN_CONTINUE.'</a>.';
|
|
}else{
|
|
echo '<div align="center">'._POST_SUCCESS_POSTED.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$pid).'#'.$pid.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$pid).'#'.$pid;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo _POST_ERROR_MESSAGE;
|
|
}
|
|
}?>
|
|
</td></tr></table>
|
|
<?php
|
|
}
|
|
else if ($action=="cancel")
|
|
{
|
|
echo '<br /><br /><div align="center">'._SUBMIT_CANCEL."</div><br />";
|
|
echo '<div align="center">'._SUBMIT_CANCEL.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$pid).'#'.$pid.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
}
|
|
else
|
|
{
|
|
if ($do=="quote")
|
|
{//reply do quote
|
|
//check if topic isn't locked
|
|
if($replyto != 0)
|
|
{
|
|
$database->setQuery("select thread from #__sb_messages where id='$replyto'");
|
|
$topicID=$database->loadResult();
|
|
if ($topicID != 0){ //message replied to is not the topic post; check if the topic post itself is locked
|
|
$database->setQuery("select locked from #__sb_messages where id='$topicID'");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_TOPIC;
|
|
}else{ //message replied to is the topic post; check if that's locked
|
|
|
|
|
|
$database->setQuery("select locked from #__sb_messages where id='$replyto'");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_TOPIC;
|
|
}
|
|
if ($topicLock==0){ //topic not locked; check if forum is locked
|
|
$database->setQuery("select locked from #__sb_categories where id='$catid'");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_FORUM;
|
|
}
|
|
}
|
|
|
|
|
|
if (( ($sbConfig['pubwrite']==0 && $my_id != 0)||$sbConfig['pubwrite']==1) && ($topicLock==0 || ($topicLock==1 && $is_moderator)))
|
|
{//user is allowed to make a quote
|
|
$parentid=0;
|
|
$replyto=(int)$replyto;
|
|
if ($replyto > 0)
|
|
{
|
|
$database->setQuery("SELECT #__sb_messages.*,#__sb_messages_text.message FROM #__sb_messages,#__sb_messages_text WHERE id='$replyto' AND mesid='$replyto'");
|
|
$database->query();
|
|
if ($database->getNumRows() > 0)
|
|
{
|
|
$database->loadObject($message);
|
|
//$message->message=smile::smileReplace($message->message,0, $sbs);
|
|
$table = array_flip(get_html_translation_table(HTML_ENTITIES));
|
|
$quote = strtr($message->message, $table);
|
|
$htmlText = "[b]".stripslashes($message->name)." "._POST_WROTE.":[/b]\n";
|
|
$htmlText .= '[quote]'.$quote."[/quote]";
|
|
$quote=smile::sbStripHtmlTags($quote);
|
|
//$quote=RTESafe_sb(nl2br($quote));
|
|
$resubject = strtr($message->subject, $table);
|
|
$resubject = strtolower(substr($resubject,0,strlen(_POST_RE)))==strtolower(_POST_RE)?stripslashes($resubject):_POST_RE.stripslashes($resubject);
|
|
//$resubject = htmlspecialchars($resubject);
|
|
$resubject=smile::sbStripHtmlTags($resubject);
|
|
$parentid = $message->id;
|
|
$authorName=$my_name;
|
|
}
|
|
}
|
|
|
|
?>
|
|
<form action="<?php echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='. $Itemid .'>&func=post'); ?>" method="post" name="postform" enctype="multipart/form-data">
|
|
<input type="hidden" name="parentid" value="<?php echo $parentid;?>" />
|
|
<input type="hidden" name="catid" value="<?php echo $catid;?>" />
|
|
<input type="hidden" name="action" value="post" />
|
|
<input type="hidden" name="contentURL" value="empty" />
|
|
<?php
|
|
//get the writing stuff in:
|
|
$no_upload="0";//only edit mode should disallow this
|
|
include($map.'/components/com_simpleboard/write.html.php');
|
|
//--
|
|
//echo "</form>";
|
|
}
|
|
else
|
|
{//user is not allowed to write a quote
|
|
if ($sbConfig['pubwrite']==1)
|
|
{
|
|
echo "<p align=\"center\">$lockedWhat "._POST_LOCKED."<br />";
|
|
echo _POST_NO_NEW."<br /><br /></p>";
|
|
}else{
|
|
echo "<p align=\"center\">";
|
|
echo _POST_NO_PUBACCESS1."<br />";
|
|
echo _POST_NO_PUBACCESS2."<br /><br />";
|
|
if ($sbConfig['cb_profile']) {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_comprofiler&task=registers').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
} else {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_registration&task=register').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if ($do=="reply")
|
|
{// reply no quote
|
|
//check if topic isn't locked
|
|
if($replyto != 0)
|
|
|
|
{
|
|
$database->setQuery("select thread from #__sb_messages where id='$replyto'");
|
|
$topicID=$database->loadResult();
|
|
if ($topicID != 0){ //message replied to is not the topic post; check if the topic post itself is locked
|
|
$database->setQuery("select locked from #__sb_messages where id='$topicID'");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_TOPIC;
|
|
}else{ //message replied to is the topic post; check if that's locked
|
|
$database->setQuery("select locked from #__sb_messages where id='$replyto'");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_TOPIC;
|
|
}
|
|
}
|
|
if ($topicLock==0){ //topic not locked; check if forum is locked
|
|
$database->setQuery("select locked from #__sb_categories where id=$catid");
|
|
$topicLock=$database->loadResult();
|
|
$lockedWhat=_GEN_FORUM;
|
|
}
|
|
|
|
|
|
if ((($sbConfig['pubwrite']==0 && $my_id != 0)||$sbConfig['pubwrite']==1) && ($topicLock==0 || ($topicLock==1 && $is_moderator)))
|
|
{//user is allowed to make a post
|
|
$parentid=0;
|
|
$replyto=(int)$replyto;
|
|
$setFocus=0;
|
|
if ($replyto > 0)
|
|
{
|
|
$database->setQuery("SELECT #__sb_messages.*,#__sb_messages_text.message FROM #__sb_messages,#__sb_messages_text WHERE id='$replyto' AND mesid='$replyto'");
|
|
$database->query();
|
|
if ($database->getNumRows() > 0)
|
|
{
|
|
$database->loadObject($message);
|
|
$table = array_flip(get_html_translation_table(HTML_ENTITIES));
|
|
$resubject = htmlspecialchars(strtr($message->subject, $table));
|
|
$resubject = strtolower(substr($resubject,0,strlen(_POST_RE)))==strtolower(_POST_RE)?stripslashes($resubject):_POST_RE.stripslashes($resubject);
|
|
//$resubject = htmlspecialchars($resubject);
|
|
//$resubject=smile::sbStripHtmlTags($resubject);
|
|
|
|
//$resubject = strtolower(substr($message->subject,0,strlen(_POST_RE)))==strtolower(_POST_RE)?stripslashes($message->subject):_POST_RE.stripslashes($message->subject);
|
|
//$resubject = htmlspecialchars($resubject);
|
|
$parentid = $message->id;
|
|
$htmlText="";
|
|
}
|
|
}
|
|
$authorName=$my_name;
|
|
|
|
?>
|
|
<form action="<?php echo sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid . '&func=post'); ?>" method="post" name="postform" enctype="multipart/form-data">
|
|
<input type="hidden" name="parentid" value="<?php echo $parentid;?>" />
|
|
<input type="hidden" name="catid" value="<?php echo $catid;?>" />
|
|
<input type="hidden" name="action" value="post" />
|
|
<input type="hidden" name="contentURL" value="empty" />
|
|
<?php
|
|
//get the writing stuff in:
|
|
$no_upload="0";//only edit mode should disallow this
|
|
include($map.'/components/com_simpleboard/write.html.php');
|
|
//--
|
|
//echo "</form>";
|
|
|
|
}
|
|
else
|
|
{//user is not allowed to write a post
|
|
if ($sbConfig['pubwrite']==1)
|
|
{
|
|
echo "<p align=\"center\">$lockedWhat "._POST_LOCKED."<br />";
|
|
echo _POST_NO_NEW."<br /><br /></p>";
|
|
}else{
|
|
echo "<p align=\"center\">";
|
|
echo _POST_NO_PUBACCESS1."<br />";
|
|
echo _POST_NO_PUBACCESS2."<br /><br />";
|
|
if ($sbConfig['cb_profile']) {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_comprofiler&task=registers').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
} else {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_registration&task=register').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if ($do=="newFromBot")
|
|
{// The Mosbot "discuss on forums" has detected an unexisting thread and wants to create one
|
|
|
|
if ((($sbConfig['pubwrite']==0 && $my_id != 0)||$sbConfig['pubwrite']==1))
|
|
{//user is allowed to make a post
|
|
|
|
$parentid=0;
|
|
$replyto=(int)$replyto;
|
|
$setFocus=0;
|
|
// $resubject = base64_decode($resubject); //per mf#6100 -- jdg 16/07/2005
|
|
$resubject = base64_decode(strtr($resubject, "()", "+/"));
|
|
$resubject = str_replace("%20"," ",$resubject);
|
|
$resubject = preg_replace('/%32/','&',$resubject);
|
|
$resubject = preg_replace('/%33/',';',$resubject);
|
|
$resubject = preg_replace("/\'/",''',$resubject);
|
|
$resubject = preg_replace("/\"/",'"',$resubject);
|
|
|
|
|
|
//$table = array_flip(get_html_translation_table(HTML_ENTITIES));
|
|
//$resubject = strtr($resubject, $table);
|
|
$fromBot=1; //this new topic comes from the discuss mambot
|
|
$authorName=htmlspecialchars($my_name);
|
|
$rowItemid = mosGetParam( $_REQUEST, 'rowItemid', 0 );
|
|
if ( $rowItemid ) {
|
|
$contentURL=sefRelToAbs('index.php?option=content&task=view&Itemid='.$rowItemid.'&id='.$rowid);
|
|
}
|
|
else {
|
|
$contentURL=sefRelToAbs('index.php?option=content&task=view&Itemid=1&id='.$rowid);
|
|
}
|
|
$contentURL= _POST_DISCUSS.': [url='.$contentURL.']'.$resubject.'[/url]';
|
|
|
|
?>
|
|
<form action="<?php echo sefRelToAbs("index.php?option=com_simpleboard&Itemid=$Itemid&func=post");?>" method="post" name="postform" enctype="multipart/form-data">
|
|
<input type="hidden" name="parentid" value="<?php echo $parentid;?>" />
|
|
<input type="hidden" name="catid" value="<?php echo $catid;?>" />
|
|
<input type="hidden" name="action" value="post" />
|
|
<input type="hidden" name="contentURL" value="<?php echo $contentURL ;?>" />
|
|
<?php
|
|
//get the writing stuff in:
|
|
$no_upload="0";//only edit mode should disallow this
|
|
include($map.'/components/com_simpleboard/write.html.php');
|
|
//--
|
|
//echo "</form>";
|
|
|
|
}
|
|
else
|
|
{//user is not allowed to write a post
|
|
if ($sbConfig['pubwrite']==1)
|
|
{
|
|
echo "<p align=\"center\">$lockedWhat "._POST_LOCKED."<br />";
|
|
echo _POST_NO_NEW."<br /><br /></p>";
|
|
}else{
|
|
echo "<p align=\"center\">";
|
|
echo _POST_NO_PUBACCESS1."<br />";
|
|
echo _POST_NO_PUBACCESS2."<br /><br />";
|
|
if ($sbConfig['cb_profile']) {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_comprofiler&task=registers').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
} else {
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_registration&task=register').'">'._POST_NO_PUBACCESS3.'</a><br /></p>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if ($do == "edit") {
|
|
$allowEdit=0;
|
|
$id=(int)$id;
|
|
$database->setQuery("SELECT * FROM #__sb_messages LEFT JOIN #__sb_messages_text ON #__sb_messages.id=#__sb_messages_text.mesid WHERE #__sb_messages.id='$id'");
|
|
$message1=$database->loadObjectList();
|
|
|
|
foreach($message1 as $mes) {
|
|
$userID=$mes->userid;
|
|
}
|
|
//Check for a moderator or superadmin
|
|
if ($is_moderator) {
|
|
$allowEdit=1;
|
|
}
|
|
if ($sbConfig['useredit']==1 && $my_id != "" ) {
|
|
//Now, if the author==viewer and the viewer is allowed to edit his/her own post the let them edit
|
|
if ($my_id == $userID ) {
|
|
$allowEdit=1;
|
|
}
|
|
}
|
|
if ($allowEdit==1) {
|
|
//we're now in edit mode
|
|
$editmode=1;
|
|
foreach($message1 as $mes)
|
|
{
|
|
$htmlText=smile::sbStripHtmlTags($mes->message);
|
|
$table = array_flip(get_html_translation_table(HTML_ENTITIES));
|
|
$htmlText = strtr($htmlText, $table);
|
|
$htmlText=smile::sbHtmlSafe($htmlText);
|
|
$resubject=htmlspecialchars(stripslashes($mes->subject));
|
|
$authorName=htmlspecialchars($mes->name);
|
|
|
|
?>
|
|
<form action="<?php echo sefRelToAbs("index.php?option=com_simpleboard&Itemid=$Itemid&catid=$catid&func=post"); ?>" method="post" name="postform" enctype="multipart/form-data" />
|
|
<input type="hidden" name="id" value="<?php echo $mes->id;?>" />
|
|
<input type="hidden" name="do" value="editpostnow" />
|
|
<?php
|
|
|
|
//get the writing stuff in:
|
|
//first check if there is an uploaded image or file already for this post (no new ones allowed)
|
|
$no_file_upload=0;
|
|
$no_image_upload=0;
|
|
|
|
$database->setQuery("SELECT filelocation FROM #__sb_attachments WHERE mesid='$id'");
|
|
$attachments=$database->loadObjectList();
|
|
if (count($attachments > 0) ) {
|
|
foreach($attachments as $att) {
|
|
if (preg_match("&/uploaded/files/&si", $att->filelocation) ){
|
|
$no_file_upload="1";
|
|
}
|
|
if (preg_match("&/uploaded/images/&si", $att->filelocation) ){
|
|
$no_image_upload="1";
|
|
}
|
|
}
|
|
} else {
|
|
$no_upload="0";
|
|
}
|
|
include($map.'/components/com_simpleboard/write.html.php');
|
|
//echo "</form>";
|
|
}
|
|
}
|
|
else
|
|
{ echo "Hacking attempt!";}
|
|
}
|
|
else if ($do == "editpostnow") {
|
|
$database->setQuery("SELECT * FROM #__sb_messages LEFT JOIN #__sb_messages_text ON #__sb_messages.id=#__sb_messages_text.mesid WHERE #__sb_messages.id='$id'");
|
|
$message1=$database->loadObjectList();
|
|
|
|
foreach($message1 as $mes) {
|
|
$userid=$mes->userid;
|
|
}
|
|
//Check for a moderator or superadmin
|
|
if ($is_moderator) {
|
|
$allowEdit=1;
|
|
}
|
|
|
|
if ($sbConfig['useredit']==1 && $my_id != "" ) {
|
|
//Now, if the author==viewer and the viewer is allowed to edit his/her own post the let them edit
|
|
if ($my_id == $userid ) {
|
|
$allowEdit=1;
|
|
}
|
|
}
|
|
|
|
if ($allowEdit==1) {
|
|
if ($attachfile != '' ) {
|
|
include $sbp.'/file_upload.php';
|
|
}
|
|
if ($attachimage != '' ) {
|
|
include $sbp.'/image_upload.php';
|
|
}
|
|
|
|
$message=trim(htmlspecialchars(addslashes($message)));
|
|
|
|
if ($sbConfig['editMarkUp']) {
|
|
$posttime=time()+($sbConfig['board_ofset']*3600);
|
|
$message = $message."<br><br>"._EDIT_BY." ".$my->username.", "._EDIT_AT." ".date(_DATETIME, $posttime);
|
|
}
|
|
//parse the message for some preliminary bbcode and stripping of HTML
|
|
$message = smile::bbencode_first_pass($message);
|
|
$id=(int)$id;
|
|
$database->setQuery("SELECT id FROM #__sb_messages WHERE id='$id'");
|
|
$database->query();
|
|
if ($database->getNumRows() > 0)
|
|
{
|
|
$database->setQuery("UPDATE #__sb_messages SET name='$sb_authorname', email='".addslashes($email)."', subject='".addslashes($subject)."', topic_emoticon='".((int)$topic_emoticon)."' WHERE id='$id'");
|
|
$dbr_nameset=$database->query();
|
|
$database->setQuery("UPDATE #__sb_messages_text SET message='$message' WHERE mesid='$id'");
|
|
if ($database->query() && $dbr_nameset)
|
|
{
|
|
//Update the attachments table if an image has been attached
|
|
if ( $imageLocation != "" )
|
|
{
|
|
$database->setQuery("INSERT INTO #__sb_attachments (mesid, filelocation) values ('$id','$imageLocation')");
|
|
if (!$database->query()){
|
|
echo "<script> alert('Storing image failed: ".$database->getErrorMsg()."'); </script>\n";
|
|
}
|
|
}
|
|
//Update the attachments table if an file has been attached
|
|
if ( $fileLocation != "" )
|
|
{
|
|
$database->setQuery("INSERT INTO #__sb_attachments (mesid, filelocation) values ('$id','$fileLocation')");
|
|
if (!$database->query()){
|
|
echo "<script> alert('Storing file failed: ".$database->getErrorMsg()."'); </script>\n";
|
|
}
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_EDIT.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
}
|
|
else
|
|
echo _POST_ERROR_MESSAGE_OCCURED;
|
|
}
|
|
else
|
|
{
|
|
echo _POST_INVALID;
|
|
}
|
|
}else{echo ("Hacking attempt");}
|
|
}
|
|
else if ($do == "delete")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
$id=(int)$id;
|
|
$database->setQuery("SELECT * FROM #__sb_messages WHERE id=$id");
|
|
$message=$database->loadObjectList();
|
|
foreach ($message as $mes)
|
|
{
|
|
?>
|
|
|
|
<form action="<?php echo sefRelToAbs("index.php?option=com_simpleboard&Itemid=$Itemid&catid=$catid&func=post"); ?>" method="post" name="myform">
|
|
<input type="hidden" name="do" value="deletepostnow" />
|
|
<input type="hidden" name="id" value="<?php echo $mes->id;?>" />
|
|
<?php echo _POST_ABOUT_TO_DELETE;?>: <strong><?php echo stripslashes(htmlspecialchars($mes->subject));?></strong>.<br /><br />
|
|
<?php echo _POST_ABOUT_DELETE;?><br /><br />
|
|
<input type="checkbox" checked name="delAttachments" value="delAtt" /> <?php echo _POST_DELETE_ATT;?>
|
|
<br /><br />
|
|
<a href="javascript:document.myform.submit();"><?php echo _GEN_CONTINUE;?></a>
|
|
| <a href="<?php echo sefRelToAbs("index.php?option=com_simpleboard&Itemid=$Itemid&func=view&catid=$catid;&id=$id");?>"><?php echo _GEN_CANCEL;?></a>
|
|
</form>
|
|
<?php
|
|
}
|
|
}
|
|
else if ($do == "deletepostnow")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
$sqlError="";
|
|
$id=(int)$id;
|
|
$database->setQuery("SELECT parent,thread,subject FROM #__sb_messages WHERE id=$id");
|
|
$message=$database->loadObjectList();
|
|
foreach($message as $mes)
|
|
{
|
|
$thread=$mes->thread;
|
|
$removechildren=(int)$removechildren;
|
|
if ($mes->parent==0)
|
|
{
|
|
// this is the forum topic; if removed, all children must be removed as well.
|
|
//first select all children ids that belong to this topic.. we need them later on
|
|
//to delete the message bodies belonging to them
|
|
$database->setQuery("SELECT id FROM #__sb_messages WHERE thread=$id");
|
|
//$childlist=$database->loadObjectList();
|
|
$children=implode(",",$database->loadResultArray());
|
|
$database->setQuery("DELETE FROM #__sb_messages WHERE id=$id");
|
|
if (!$database->query())
|
|
$sqlError="Could not delete the Topic post - nothing else deleted";
|
|
else
|
|
{//Topic post deleted, now the rest
|
|
$database->setQuery("DELETE FROM #__sb_messages WHERE thread=$id");
|
|
if (!$database->query())
|
|
$sqlError="Could not delete child posts, but Topic post was deleted. Update the database manually.";
|
|
else
|
|
{
|
|
$database->setQuery("DELETE FROM #__sb_messages_text WHERE mesid=$id");
|
|
if (!$database->query())
|
|
$sqlError="Could not delete the text of the Topic post. Update the database manually.";
|
|
$database->setQuery("DELETE FROM #__sb_messages_text WHERE mesid IN ($children)");
|
|
if (!$database->query())
|
|
$sqlError="Could not delete childs posts texts. Everything else deleted. Update the database manually.";
|
|
if ($delAttachments=="delAtt")
|
|
{//delete all attachments
|
|
$query="SELECT filelocation FROM #__sb_attachments WHERE mesid IN ($children)";
|
|
$database->setQuery($query);
|
|
$fileList=$database->loadObjectList();
|
|
if (count($fileList)>0){
|
|
foreach ($fileList as $fl){
|
|
unlink($fl->filelocation);
|
|
}
|
|
$database->setQuery("DELETE FROM #__sb_attachments WHERE mesid IN ($children)");
|
|
$database->query();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} // fi ($mes->parent==0)
|
|
else
|
|
{//this is not the Topic post, so delete it and promote the direct children one level up in
|
|
//the hierarchy
|
|
$thread=$mes->thread;
|
|
$database->setQuery("UPDATE #__sb_messages SET parent='$mes->parent' WHERE parent='$id'");
|
|
if (!$database->query()) {$sqlError="Could not promote children in post hierarchy. Nothing deleted.";}
|
|
else {
|
|
$database->setQuery("DELETE FROM #__sb_messages WHERE id='$id'");
|
|
if (!$database->query()) { $sqlError="Could not delete the post. Try again.";}
|
|
else {
|
|
$database->setQuery("DELETE FROM #__sb_messages_text WHERE mesid='$id'");
|
|
if (!$database->query()) { $sqlError="Could not delete the posts text. Post itself is deleted. Update the database manually.";}
|
|
}
|
|
if ($delAttachments=="delAtt")
|
|
{//delete all attachments
|
|
$database->setQuery("SELECT filelocation FROM #__sb_attachments WHERE mesid=$id");
|
|
$fileList=$database->loadObjectList();
|
|
if (count($fileList)>0){
|
|
foreach ($fileList as $fl){
|
|
unlink($fl->filelocation);
|
|
}
|
|
$database->setQuery("DELETE FROM #__sb_attachments WHERE mesid=$id");
|
|
$database->query();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Now, check for errors:
|
|
if ($sqlError=="")
|
|
{
|
|
echo '<div align="center">'._POST_SUCCESS_DELETE.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$thread).'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=showcat&catid=<?=$catid;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
echo _POST_ERROR_TOPIC."<br />";
|
|
echo "$sqlError";
|
|
}
|
|
}//foreach($message as $mes
|
|
}//fi $do==deletepostnow
|
|
else if ($do == "move")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
$catid=(int)$catid;
|
|
$id=(int)$id;
|
|
|
|
//get list of available forums
|
|
//$database->setQuery("SELECT id,name FROM #__sb_categories WHERE parent != '0'");
|
|
$database->setQuery( "SELECT a.*, b.name AS category"
|
|
. "\nFROM #__sb_categories AS a"
|
|
. "\nLEFT JOIN #__sb_categories AS b ON b.id = a.parent"
|
|
. "\nWHERE a.parent != '0'"
|
|
. "\nORDER BY parent, ordering");
|
|
$catlist=$database->loadObjectList();
|
|
// get topic subject:
|
|
$database->setQuery("select subject from #__sb_messages where id=$id");
|
|
$topicSubject=$database->loadResult();
|
|
?>
|
|
<form action="<?php echo sefRelToAbs("index.php?option=com_simpleboard&Itemid=$Itemid&func=post"); ?>" method="post" name="myform">
|
|
<input type="hidden" name="do" value="domovepost" />
|
|
<input type="hidden" name="id" value="<?php echo $id;?>" />
|
|
|
|
<p><?php echo _GEN_TOPIC;?>: <strong><?php echo $topicSubject;?></strong><br /><br />
|
|
<?php echo _POST_MOVE_TOPIC;?>:<br />
|
|
<select name="catid" size="4">
|
|
<?php
|
|
foreach ($catlist as $cat)
|
|
{
|
|
echo "<OPTION value=\"$cat->id\" > $cat->category/$cat->name </OPTION>";
|
|
}?>
|
|
</select><br /><br />
|
|
<input type="submit" class="button" value="<?php echo _GEN_MOVE;?>" />
|
|
</form>
|
|
|
|
<?php
|
|
}
|
|
else if ($do == "domovepost")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
$catid=(int)$catid;
|
|
$id=(int)$id;
|
|
//get the some details from the original post for later
|
|
$database->setQuery("SELECT `subject`, `catid`, `time` AS timestamp FROM #__sb_messages WHERE `id`='$id'");
|
|
$oldRecord=$database->loadObjectList();
|
|
$newSubject=_MOVED_TOPIC." ".$oldRecord[0]->subject;
|
|
$database->setQuery("SELECT MAX(time) AS timestamp FROM #__sb_messages WHERE `thread`='$id'");
|
|
$lastTimestamp=$database->loadResult();
|
|
if ($lastTimestamp == "") { $lastTimestamp = $oldRecord[0]->timestamp; }
|
|
|
|
//perform the actual move
|
|
//Move topic post first
|
|
$database->setQuery("UPDATE #__sb_messages SET `catid`='$catid' WHERE `id`='$id'");
|
|
if ($database->query())
|
|
{ //succeeded; move the rest of the thread if exists
|
|
$database->setQuery("UPDATE #__sb_messages set `catid`='$catid' WHERE `thread`='$id'");
|
|
if ($database->query())
|
|
{
|
|
//okay, now try to insert a 'Moved topic' notification post entry in the 'old' forum
|
|
$database->setQuery("INSERT INTO #__sb_messages (`parent`, `subject`, `time`, `catid`, `moved`) VALUES ('0','$newSubject','".$lastTimestamp."','".$oldRecord[0]->catid."','1')");
|
|
if ($database->query() ) {
|
|
//determine the new location for link composition
|
|
$newId=$database->insertid();
|
|
$newURL = "catid=".$catid."&id=".$id;
|
|
$database->setQuery("INSERT INTO #__sb_messages_text (`mesid`, `message`) VALUES ('$newId', '$newURL')");
|
|
if (! $database->query() ) { $database->stderr(true); }
|
|
//and update the thread id on the 'moved' post for the right ordering when viewing the forum..
|
|
$database->setQuery("UPDATE #__sb_messages SET `thread`='$newId' WHERE `id`='$newId'");
|
|
if (! $database->query() ) { $database->stderr(true); }
|
|
}
|
|
|
|
//move succeeded
|
|
echo '<div align="center">'._POST_SUCCESS_MOVE.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?=$catid;?>&id=<?=$id;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
echo "Severe database error. Update your database manually so the replies to the topic are matched to the new forum as well";
|
|
//this is severe.. takes a lot of coding to programatically correct it. Won't do that.
|
|
//chances of this happening are very slim. Disclaimer: this is software as-is *lol*;
|
|
//go read the GPL and the header of this file..
|
|
}
|
|
}
|
|
else
|
|
{?>
|
|
<?php echo _POST_TOPIC_NOT_MOVED;?> <a href="index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?php echo $catid;?>&id=<?php echo $id;?>"><?php echo _POST_CLICK;?></a>
|
|
<?php
|
|
}
|
|
}
|
|
else if ($do == "subscribe")
|
|
{
|
|
$catid=(int)$catid;
|
|
$id=(int)$id;
|
|
$database->setQuery("INSERT INTO #__sb_subscriptions (thread,userid) VALUES ('$sb_thread','$my_id')");
|
|
if ($database->query()){
|
|
echo _POST_SUBSCRIBED_TOPIC."<br /><br />";
|
|
}else{
|
|
echo _POST_NO_SUBSCRIBED_TOPIC."<br /><br />";
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_SUBSCRIBE.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$pid).'#'.$pid.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>'; ?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=userprofile&do=show'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
else if ($do == "sticky")
|
|
{
|
|
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
$database->setQuery("update #__sb_messages set ordering=1 where id=$id");
|
|
if ($database->query()){
|
|
echo '<p align="center">'._POST_STICKY_SET.'<br /><br />';
|
|
}else{
|
|
echo '<p align="center">'._POST_STICKY_NOT_SET.'<br /><br />';
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_REQUEST2.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?=$catid;?>&id=<?=$id;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
else if ($do == "unsticky")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
|
|
$database->setQuery("update #__sb_messages set ordering=0 where id=$id");
|
|
|
|
if ($database->query()){
|
|
echo '<p align="center">'._POST_STICKY_UNSET.'<br /><br />';
|
|
}else{
|
|
echo '<p align="center">'._POST_STICKY_NOT_UNSET.'<br /><br />';
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_REQUEST2.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>'; ?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?=$catid;?>&id=<?=$id;?>'",3500);
|
|
</script>
|
|
|
|
<?php
|
|
}
|
|
else if ($do == "lock")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
//lock topic post
|
|
$database->setQuery("update #__sb_messages set locked=1 where id=$id");
|
|
if ($database->query()){
|
|
echo '<p align="center">'._POST_LOCK_SET.'<br /><br />';
|
|
}else{
|
|
echo '<p align="center">'._POST_LOCK_NOT_SET.'<br /><br />';
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_REQUEST2.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>';
|
|
?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?=$catid;?>&id=<?=$id;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
else if ($do == "unlock")
|
|
{
|
|
if(!$is_moderator){ die("Hacking Attempt!");}
|
|
|
|
$database->setQuery("update #__sb_messages set locked=0 where id=$id");
|
|
if ($database->query()){
|
|
echo '<p align="center">'._POST_LOCK_UNSET.'<br /><br />';
|
|
}else{
|
|
echo '<p align="center">'._POST_LOCK_NOT_UNSET.'<br /><br />';
|
|
}
|
|
echo '<div align="center">'._POST_SUCCESS_REQUEST2.'<br /><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=view&catid='.$catid.'&id='.$id).'#'.$id.'">'._POST_SUCCESS_VIEW.'</a><br />';
|
|
echo '<a href="'.sefRelToAbs('index.php?option=com_simpleboard&Itemid='.$Itemid.'&func=showcat&catid='.$catid).'">'._POST_SUCCESS_FORUM.'</a><br />';
|
|
echo '</div>'; ?>
|
|
<script language="javascript">
|
|
setTimeout("location='<?php echo $mls;?>/index.php?option=com_simpleboard&Itemid=<?php echo $Itemid;?>&func=view&catid=<?=$catid;?>&id=<?=$id;?>'",3500);
|
|
</script>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
function listThreadHistory($id,$sbConfig, $database, $sbs)
|
|
{
|
|
if($id != 0)
|
|
{
|
|
//get the parent# for the post on which 'reply' or 'quote' is chosen
|
|
$database->setQuery("SELECT parent FROM #__sb_messages WHERE id='$id'");
|
|
$this_message_parent = $database->loadResult();
|
|
//Get the thread# for the same post
|
|
$database->setQuery("SELECT thread FROM #__sb_messages WHERE id='$id'");
|
|
$this_message_thread = $database->loadResult();
|
|
//determine the correct thread# for the entire thread
|
|
if ($this_message_parent==0)
|
|
{$thread=$id;} else {$thread=$this_message_thread;}
|
|
//get all the messages for this thread
|
|
$database->setQuery("SELECT * FROM #__sb_messages LEFT JOIN #__sb_messages_text ON #__sb_messages.id=#__sb_messages_text.mesid WHERE thread='$thread' OR id='$thread' AND hold = 0 ORDER BY time DESC LIMIT ".$sbConfig['historyLimit']);
|
|
$messages=$database->loadObjectList();
|
|
//and the subject of the first thread (for reference)
|
|
$database->setQuery("SELECT subject FROM #__sb_messages WHERE id='$thread' and parent=0");
|
|
$this_message_subject = $database->loadResult();
|
|
echo "<b>"._POST_TOPIC_HISTORY.":</b> ".htmlspecialchars($this_message_subject)." <br />"._POST_TOPIC_HISTORY_MAX." $historyLimit "._POST_TOPIC_HISTORY_LAST."<br />";
|
|
?>
|
|
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="sb_review_table">
|
|
<tr>
|
|
<td class="sb_review_header" width="20%" align="center"><strong><?php echo _GEN_AUTHOR;?></strong></td>
|
|
<td class="sb_review_header" align="center"><strong><?php echo _GEN_MESSAGE;?></strong></td>
|
|
</tr>
|
|
<?php
|
|
$k=0;
|
|
foreach($messages as $mes)
|
|
{
|
|
$k = 1-$k;
|
|
$mes->name = htmlspecialchars($mes->name);
|
|
$mes->email = htmlspecialchars($mes->email);
|
|
$mes->subject = htmlspecialchars($mes->subject);
|
|
$mes->message = smile::smileReplace($mes->message,1, $sbs, $sbConfig['disemoticons']);
|
|
?>
|
|
<tr>
|
|
<td class="sb_review_body<?php echo $k;?>" valign="top"><?php echo stripslashes($mes->name);?></td>
|
|
<td class="sb_review_body<?php echo $k;?>">
|
|
<?php
|
|
$sb_message_txt = stripslashes(nl2br($mes->message));
|
|
$sb_message_txt = str_replace("</P><br />","</P>", $sb_message_txt );
|
|
//Long Words Wrap:
|
|
$sb_message_txt = smile::htmlwrap($sb_message_txt, $sbConfig['wrap']);
|
|
if ($sbConfig['badwords']) {
|
|
$badwords = Badword::filter($sb_message_txt, $my);
|
|
if ($badwords == "true") {
|
|
$sb_message_txt = _COM_A_BADWORDS_NOTICE ;
|
|
}
|
|
}
|
|
echo $sb_message_txt;
|
|
?>
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<?php }
|
|
?>
|
|
|
|
|
|
</table><?php
|
|
}//else: this is a new topic so there can't be a history
|
|
}
|
|
?>
|