TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

April 20, 2024, 01:10:20 AM

Login with username, password and session length
Members
  • Total Members: 3,885
  • Latest: Growner
Stats
  • Total Posts: 195,165
  • Total Topics: 21,219
  • Online today: 118
  • Online ever: 3,540 (September 03, 2022, 01:38:54 AM)
Users Online
  • Users: 0
  • Guests: 110
  • Total: 110

phpRaider: Weekly Raid Block: Front Page

Started by SMFnub, May 25, 2008, 04:52:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SMFnub

I got this idea from cyberbane, but using different script.

So I created a php script, and uploaded it to my phpraider directoy.

I use this code in a center block to be shown on my frontpage
include ('/home/ACCOUNT/public_html/SITE/phpraider/raid_week_display.php');

Script is attached.

Problem, the writing and even the border of everything on the frontpage is affected by this.  I want all style or whatever to stay within that script / block, not affect the rest of the site.

P.S I do not know html or php, everything I did on my site has been just from tinkering.


JPDeni

You can eliminate the


<html>

</html>


and


<head>

</head>


tags.

It would be better if you put your style into a div statement, like


<div style="margin: 0px; padding: 0px; align: center; background-color: #000000; color: #b0b0b0; font-family: Arial, Verdana, sans-serif;">


Similarly, you can add the styles for the table and td inline. I would suggest that you either put all of the css into inline format or move it to the .css file for the default theme.

SMFnub

This did not work for me.  Anything in <div style= does not show anymore.

JPDeni

It would probably take a whole lot of editing to put that into an article, after I looked at it more.

You might do better by creating a separate .html page and then use an iframe to put it into an article.

SMFnub

Its not an article, its small weekly raid schedule block.

JPDeni

I was just going to go back over your code and see if I could fix it, but you took it out.

SMFnub

#6
I made an attachment since it was so huge to post. But here it is

BTW thanks for looking this over.

<?
// Copyright Eternal Souls, Created by Zemathar of the Eternals Souls Guild on EU Scarhield Legion server,
// feel free to use this code as long as you do not remove this message.
// Here are the config for this page.

// Version 1.1.1
// Color & layout tweaked by Dracula
//

// Version 1.1.0
// Implemented the "no raid" function.
// You can now display an image or text if there is no raid that day.
// You can of cause have it like standard where nothing will be displayed.

// Version 1.0.1
// Implemented $timezone
// There you can change the output time to be in your timezone. You will have to calculate by yourself how many
// hours plus or minus you need.
//
// $db_table_raid is a value pointed to where the xxx_raid tabel is located. You will have to check in the database for the
// right value.

// Version 1.0
// I made this addon just because we needed it.
// It has it flaws and buggs but I will try to fix them as soon as possible


//NOTE! we have put the phpraiderfiles in a folder that we have named raids,
//if you do not want do go thru the code and change to much we advice you to
//do the same.
// ******************************************************
// START OF CONFIGURATION
//

// Where the raidcalender's index.php is located
$raid_cal_index = 'http://SITE/phpraider/';

// How many hours + or - the viewer should calculate. Some do have to edit this to make
// the timedisplay to be correct.
// For example $timezone = 3  or  $timezone = -4
$timezone = -5;

// Where the raidcalenders raid-icons are located
$raid_icon_folder = '/phpraider/games/WoW/images/raids/';

// MySQL- settings. Note that db_table_prefixes can vary depending on what you choose when you install phpraider.
$db_raid_server = 'localhost';
$db_raid_database_name = '';
$db_raid_database_user = '';
$db_raid_database_pwd = '';
$db_table_raid = '';
$db_table_signups = '';

// Layout. The size of the windows of the days displayed.
//$layout_frame_width = 100;
$layout_frame_width     = 75;
$layout_frame_height = 54;
$layout_frame_raidinfo = 20;

// How many raid icons fit in the table cell?
$max_raids_per_day = 2;

// What will be displayed when no raids are planned for that particular day.
// You can choose to have a text or an icon.
// $no_raid_type = 'image';
// $no_raid_type = 'text';
// $no_raid_type = 'none';
$no_raid_type = 'none';                                                // What mode do you want?
$no_raid_text = 'No raid today';                                // What text to be shown
$no_raid_image = '/phpraider/games/WoW/images/raids/unknown.png';        // link to your icon if you use that.

$no_raid_txt = 'No raid today';
//
// END OF CONFIGURATION
// ******************************************************

$db = mysql_connect($db_raid_server, $db_raid_database_user, $db_raid_database_pwd);
mysql_select_db($db_raid_database_name, $db);

//CHECK OFFSET FROM CURRENT WEEK AND SETS VARIABLES
if ($_GET["offset"]) {
   $weekoffset = $_GET["offset"]*604800;
   $wo = $_GET["offset"];
}
else {
   $weekoffset = 0;
   $wo = 0;
}
$prev = $wo-1;
$next = $wo+1;

$weekstart = (date('U')-(date('w')+6)%7*86400)+$weekoffset;        // sets start date of displayed week

?>

<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
background-color: #000000;
color: #b0b0b0;
font-family: Arial, Verdana, sans-serif;
}
table {
border: 1px solid #282828;
}
td {
border: 1px solid #404040;
}
td.today {
background-color: #202020;
border: 1px solid #407040;
}
a:link,a:active,a:visited {
text-decoration: none;
color: #006699;
}
a:hover {
text-decoration: underline;
color: #4080b0;
}
.daycontent {
clear: both;
text-align: center;
margin: 0px;
padding-bottom: 0px;
padding-top: 2px;
}
.day {
color: #ffcc33;
font-size: 10pt;
padding-left: 4px;
font-weight: bold;
float: left;
}
.date {
color: #808080;
font-size: 8pt;
padding-top: 2px;
padding-right: 4px;
float: right;
}
#info {
color: #c0b050;
font-size: 8pt;
text-align: center;
}
.available    { color: #80d080; }
.unavailable  { color: #f08080; }
.field        { color: #60b0b0; }

</style>
<script type="text/javascript">
function InsertText(str) {
var oDiv=document.getElementById("info");
oDiv.innerHTML=str;
}
function ClearText() {
  InsertText("<a href=\"?offset=<?=$prev;?>\">&lt;&lt; Previous</a> - <a href=\"?offset=0\">Current</a> - <a href=\"?offset=<?=$next;?>\">Next &gt;&gt;</a> <a href=\"http://contemptsc.org/index.php?page=8\" class=\"raid_calendar\" target=\"_parent\">Sign Up Here</a></td></tr></table>");
}
</script>
</head>
<body onload='javascript:ClearText()'>

<!-- PHP -->
<?

// Lets deal with the output

echo "\t<table align='center' width='" . (7 * ($layout_frame_width+2) + 2) . "px' border='0' cellspacing='0' cellpadding='0'>\n";
echo "\t<tr height='" . $layout_frame_height . "'>\n";

$now_timestamp = mktime( date("H,i") );
$now = date(dmY, $now_timestamp);

// Loops through the week
for ( $i = 0; $i < 7; $i++ ) {

$raidscheduled = 0;

$current = $weekstart + (86400*($i) );
$xday = gmdate('D', $current);
$xdate = gmdate('d', $current);
$currdate = gmdate('dmY', $current);

if ($now == $currdate) {
$today = " class='today'";
} else {
$today = "";
}

echo "\t\t<td{$today} valign='top' width='" . $layout_frame_width . "px'>\n";
echo "\t\t\t<div class='day'>" . $xday . "</div><div class='date'>" . $xdate . "</div>\n";
echo "\t\t\t<div class='daycontent'>";

// Getting raid start dates
$sql = mysql_query("SELECT * FROM $db_table_raid ORDER by start_time", $db);

while ($check = mysql_fetch_array($sql)){

// Checks if the date of the raid is equal to displayed day
        if ($currdate == gmdate('dmY', $check["start_time"])) {

// We need to have a maximum number of raids per day (otherwise layout becomes a mess)
if ($raidscheduled < $max_raids_per_day) {

// Count the signups
$sql2 = mysql_query("SELECT COUNT(*) FROM $db_table_signups WHERE raid_id=".$check['raid_id']." AND cancel=0");
$signupcount = mysql_result($sql2, 0);

// Count the cancels
$sql2 = mysql_query("SELECT COUNT(*) FROM $db_table_signups WHERE raid_id=".$check['raid_id']." AND cancel=1");
$cancelcount = mysql_result($sql2, 0);

            $invite_time  = date("H:i",$check["invite_time"]+$timezone);
            $start_time   = date("H:i",$check["start_time"]+$timezone);
            $freeze_time  = date("H:i",$check["start_time"] - (($check["freeze_time"]*3600)+$timezone)); 
            $freeze_timestamp = $check["start_time"] - (($check["freeze_time"]*3600)+$timezone);
           
            $img_txt = $check['location'];
$img_txt .= " (<span class='available'>" . $signupcount . "</span>,<span class='unavailable'>" . $cancelcount . "</span>)";
            if ($now_timestamp <= $freeze_timestamp) {
$img_txt .= " Freeze: <span class='field'>" . $freeze_time . "</span>";
            } else {
            $img_txt .= " <span class='field'>Frozen</span>";
            }
$img_txt .= " Invite: <span class='field'>" . $invite_time . "</span>";
$img_txt .= " Start: <span class='field'>" . $start_time . "</span>";

echo "<img src='" . $raid_icon_folder . $check['icon_name']."' onmouseover=\"InsertText('" . addslashes($img_txt) . "');\" onmouseout='ClearText();' border='0'>";
echo "</a>";
}

        $raidscheduled = $raidscheduled + 1;
}
}

if (!$raidscheduled) {
switch ($no_raid_type) {
case text:
        echo $no_raid_txt . "";
        break;
case image:
        echo "<img src='" . $no_raid_image . "'>";
        break;
default:
        echo "";
        break;
}
}
echo "</div>\n";
    echo "\t\t</td>\n";
}

echo "\t</tr>\n";
echo "\t<tr>\n";
echo "\t\t<td colspan='7' height='" . $layout_frame_raidinfo . "'><div id='info'></div></td>\n";
echo "\t</tr>\n";
echo "\t</table>\n";
?>
<!-- ENDPHP -->

</body>
</html>

JPDeni

I'm sorry. I hadn't looked at it enough. This is too big of a mess for me to figure out.

The only thing I can suggest is to try an iframe in a scriptbox.

SMFnub

The iframe seems to work fine for now, thanks for the suggestion

JPDeni

Whew!! :D I'm so glad it's working. I was feeling bad about not being able to help.

Rawool

Im having quite a strange problem.  It is almost as though the script itself is not working.

If you look on my website http://www.eclectic.mjmwebtech.com/site/index.php, you will see the week there.  You will also see there are raids scheduled and the icon is there. 

The good news, everything visual is fine....here comes the bad news.....

There is no functionality.  I have posted on the phpraider forum as well where this is listed and many others are having the same problem.   Nothing happens when you mouse over it, there are no previous, current, next, sign-up buttons.  It is more or less or a picture than anything. 

As for the script.  I copied it word for word and have double checked it 3 times now.  The only changes I have made are to do with the database and timezone.  And again, only where I should be changing things.

IchBin

If there's a problem with the script, you need to seek help from the author. We did not write this script.