Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Mys v1.1.x Mods (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=20)
-   -   Shoutbox Mod ~ Finished. :) [[Also converts BBcode]] (http://www.mysidiaadoptables.com/forum/showthread.php?t=1212)

Arianna 12-12-2009 02:42 AM

Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Excuse me if this has been posted before. xD But I have a mod which I've just made. It's really simple, just a new database and a page, so tell me if you find any errors.
Run this SQL query:
Code:

CREATE TABLE  `yoursite_adopts`.`adopts_shoutbox` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`user` VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,
`date` VARCHAR( 20 ) NOT NULL ,
`comment` VARCHAR( 10000 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,
PRIMARY KEY (  `id` )
) ENGINE = MYISAM

Now make a file called 'shoutbox.php' with these contents...
PHP Code:

<?php

// **********************************************************************
// Rusnak PHP Adoptables Script
// Copyright 2009 Brandon Rusnak
// For help and support: http://www.rusnakweb.com/forum/
//
// Redistribution prohibited without written permission
// **********************************************************************

// Wake the sleeping giant

// **********************************************************************
// Basic Configuration Info
// **********************************************************************

include("inc/functions.php");
include(
"inc/config.php");
include(
"inc/bbcode.php");

$themeurl grabanysetting("themeurl");

// **********************************************************************
// Define our top links by calling getlinks()
// **********************************************************************

$links getlinks();

// **********************************************************************
// Define our ads by calling getads()
// **********************************************************************

$ads getads("any");

// **********************************************************************
// Grab any dynamic article content from the content table
// **********************************************************************

$pagecontent getsitecontent("index");
$article_title $pagecontent[title];
$article_content $pagecontent[content];
$article_content nl2br($article_content);

// **********************************************************************
// Grab any settings that we will need for the current page from the DB
// **********************************************************************

$browsertitle grabanysetting("browsertitle");
$sitename grabanysetting("sitename");
$slogan grabanysetting("slogan");

// **********************************************************************
// Check and see if the user is logged in to the site
// **********************************************************************

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

// **********************************************************************
// End Prepwork - Output the page to the user
// **********************************************************************

$article_title "Shoutbox";
$article_content "<p>Welcome to our shoutbox. Keep it G-rated and nice. You will be <b>banned</b> if you do not obey these rules. Thanks.</p>";

$article_content $article_content."<div class='enclosecomments'>";
$query "SELECT * FROM ".$prefix."shoutbox ORDER BY id DESC LIMIT 0, 10";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i $num) {
    
$id=@mysql_result($result,$i,"id");
    
$user=@mysql_result($result,$i,"user");
    
$date=@mysql_result($result,$i,"date");
    
$nolinecomment=@mysql_result($result,$i,"comment");
    
$nolinecomment bbconvert($nolinecomment);
    
$comment=nl2br($nolinecomment);
    
$commentdiv "<div class='comment' style='width:94%;padding:2%;background-color:aliceblue;margin-bottom:5px;'><div class='userdate' style='width:50%;height:25px;color:red;'>".$user." - ".$date."</div>".$comment."</div>";
    
$article_content $article_content.$commentdiv;
    
$i++;
}
$article_content $article_content."</div><p>Post a shoutout!</p>";
$article_content $article_content."<form action='shoutbox.php' method='post'>
This here is where you write the comment. Listen... keep it G-rated. Or we'll just delete the comment.
<textarea rows='15' cols='60' name='comment' wrap='physical' ></textarea><br>
<input type='submit' /></form>"
;

//here the user posts a comment
$comment $_POST["comment"];
if (
$comment != "") {
    
$date date("Y-m-d H:i:s");
    
// $date = "10-23-3 21:02:35";
    
$user $loggedinname;
    if (
$isloggedin!="yes") {
        
$user "Guest";
        }
    
$comment $comment;
    
mysql_query("INSERT INTO ".$prefix."shoutbox VALUES ('', '$user', '$date', '$comment')");
    
$article_content $article_content."<p>Your comment has been posted. Click <a href='shoutbox.php'>here</a> to view it.</p>";
}
else {
    
$article_content $article_content."Post a shout out, if you'd like.";
    }
// **********************************************************************
// Begin Template Definition
// **********************************************************************

//Define our current theme
$file $themeurl;

// Do the template changes and echo the ready template
$template file_get_contents($file);

$template replace(':ARTICLETITLE:',$article_title,$template);
$template replace(':ARTICLECONTENT:',$article_content,$template);
$template replace(':ARTICLEDATE:',$article_date,$template);

$template replace(':BROWSERTITLE:',$browsertitle,$template);
$template replace(':SITENAME:',$sitename,$template);

//Define our links
$template replace(':LINKSBAR:',$links,$template);

//Get the content for the side bar...
$sidebar getsidebar();
$template replace(':SIDEFEED:',$sidebar,$template);

// Okay - now what we're going to do is get the style switchery thing
$style getstyle();
$template replace(':STYLESHEET:',$style,$template);

//Get the ad content...
$template replace(':ADS:',$ads,$template);

//Get the slogan info
$template replace(':SLOGAN:',$slogan,$template);


echo 
$template;

// **********************************************************************
// End Template Definition
// **********************************************************************
?>

It works. :) Guests will post as "Guest". You can, of course, edit the code a bit so only members may post.

EDIT: PLEASE READ Sea's post below this. Shoutboxes take quite a lot of server load. I don't know much about it, but Sea does, so listen to her. :)

Seapyramid 12-22-2009 09:07 PM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Just want to make a note on shout boxes. They tend to pull many server resources & adoptables sites pull on the servers greatly just by their nature. I don't recommend any Free Service for an adoptables site because as soon as you start getting a decent number of members you tend to get shut down. I have seen it before.

Using a shout box on a free host is asking to be shut down. If you want your site to live, watch your CPU usage & don't even try a shout box on a free host.

Sea

Arianna 12-23-2009 01:56 AM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Hmmm.. I'm not using a free host, I pay for the hosting myself, $6 a month, with my own domain name. I'm not one for free hosting. *shudders*
I don't know if you think that it's free because of the subdomain, but that's only because I'm running the adoptables for another website, sort of. xD
I run a forum on my site, too, and my bandwidth and stuff all seems to be fine. :/ Could you elaborate?

Seapyramid 12-23-2009 02:24 AM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
I never meant it to be you or anyone special. :) Baudwidth is not the issue. CPU or Server resouces is. They are the things you must 'look' for & not readily available on your CPanel. They are the things even paid host don't talk much about until u exceed them & get 'white' pages or get shut down.

Sea

Arianna 12-23-2009 02:43 AM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Thanks, Sea. I'll try and do some research on stuff like that, and for now, take the shoutbox mod down.
Though I do have a question for you, if you don't mind. xD I might be integrating in with MyBB - MyBB has a low server load, I think, because lots of people run it, as do I. Would it be better have the 'shoutbox' as a thread on a forum, instead?

Seapyramid 12-26-2009 10:14 PM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Shout Box is a drain.. period! If you want to run it on a trade page or special page.. then yes.. otherwise to use on all pages... Well PGS runs a shout box on all pages. It also has a high CPU server. It is a bit more expensive then some of the others, but not bad. $10 a month & they work with your server calls. If you want to run high CPU.. well thats who I recommend to stay alive.

Sea

Arianna 12-27-2009 03:16 AM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Oh, I planned on having a 'shoutbox' page, which people would go to via a link in the navbar - not on every page... That would really be resource draining, I can understand that.
Right now my shoutbox is located here: www.twig.pixelpuppy.net/adoptables/shoutbox.php
Do you think that it's taking too many resources? Dx

Hall of Famer 12-23-2010 07:39 AM

RE: Shoutbox Mod ~ Finished. :) [[Also converts BBcode]]
 
Well this is a very interesting modification, wonder why it never received moderate attention. There's one thing I'd like to point out though, the template definition looks quite different in Arianna's shoutbox.php, and it is not compatible with the current Rusnak Adoptables script files. To fix this, simply find the template definition codes and replace it with what you usually see from other script files:

Find:
PHP Code:

// **********************************************************************
// Begin Template Definition
// **********************************************************************

//Define our current theme
$file $themeurl;

// Do the template changes and echo the ready template
$template file_get_contents($file);

$template replace(':ARTICLETITLE:',$article_title,$template);
$template replace(':ARTICLECONTENT:',$article_content,$template);
$template replace(':ARTICLEDATE:',$article_date,$template);

$template replace(':BROWSERTITLE:',$browsertitle,$template);
$template replace(':SITENAME:',$sitename,$template);

//Define our links
$template replace(':LINKSBAR:',$links,$template);

//Get the content for the side bar...
$sidebar getsidebar();
$template replace(':SIDEFEED:',$sidebar,$template);

// Okay - now what we're going to do is get the style switchery thing
$style getstyle();
$template replace(':STYLESHEET:',$style,$template);

//Get the ad content...
$template replace(':ADS:',$ads,$template);

//Get the slogan info
$template replace(':SLOGAN:',$slogan,$template);


echo 
$template;

// **********************************************************************
// End Template Definition
// **********************************************************************
?> 

Replace with:
PHP Code:

// **********************************************************************
// Begin Template Definition
// **********************************************************************

//Define our current theme
$file $themeurl;

// Do the template changes and echo the ready template
$template file_get_contents($file);

$template replace(':ARTICLETITLE:',$article_title,$template);
$template replace(':ARTICLECONTENT:',$article_content,$template);
$template replace(':ARTICLEDATE:',$article_date,$template);

$template replace(':BROWSERTITLE:',$browsertitle,$template);
$template replace(':SITENAME:',$sitename,$template);

//Define our links
$template replace(':LINKSBAR:',$links,$template);

//Get the content for the side bar...

$sidebar getsidebar();
$template replace(':SIDEFEED:',$sidebar,$template);

//Get the ad content...
$template replace(':ADS:',$ads,$template);

//Get the slogan info
$template replace(':SLOGAN:',$slogan,$template);


echo 
$template;

// **********************************************************************
// End Template Definition
// **********************************************************************



?> 

This should fix the no method error for function 'getstyle' appearing on line 132. I tested it on my development demo site, and it works perfectly. Again Arianna deserves a karma for making such an amazing shoutbox mod.


All times are GMT -5. The time now is 04:08 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.