Login
Oyunlar  

PHPRAIDER portal block

PHPRAIDER portal block

Postby talonos on Sun Mar 29, 2009 2:55 am

someone asked on another topic about a phpraider portal block

well here you go
this block only works on 1.0.* releases, but hopefully i can do 1.1.0svn soon
raidweek.php to go into your phpraider folder folder
Code: Select all
<?
// Where the raidcalender's index.php is located
$raid_cal_index = 'http://YOURSITENAME/phpraider/';

// Where the raidcalenders raid-icons are located
$raid_icon_folder = '/LINK TO YOUR RAID IMAGES FOLDER/'; // IE                   /raid/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         = 'HOSTNAME';
$db_raid_database_name   = 'DATABASE NAME';
$db_raid_database_user   = 'USERNAME';
$db_raid_database_pwd   = 'PASSWORD';
$db_table_raid         = 'phpraider_raid';
$db_table_signups      = 'phpraider_signups';

// 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 = -7;

// Layout. The size of the windows of the days displayed.
//$layout_frame_width   = 100;
$layout_frame_width     = 65;
$layout_frame_height   = 46;
$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 = 'text';                                                // 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.


// READ ME ________________________________________________________________________________________
//goto line 131 and in that line u will find the word URLINK change that word to the link of your phpraider index.php IE http://mywebsite/phpraider/index.php
//
// 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
$timezone = $timezone * 3600;                                        // Calculates the timezone-diff.

?>

<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=\"URLINK/index.php\" 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 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 = time( date("H,i") );
$now = date(dm, $now_timestamp);

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

   $raidscheduled = 0;
   
   $current = $weekstart + (86400*($i) );
   $xday = date('D', $current);
   $xdate = date('d', $current);
   $currdate = date('dm', $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 == date('dm', $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));
                 
            $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 "<a target='_parent' href='" . $raid_cal_index . "index.php?option=com_view&id=" . $check['raid_id'] . "'><img src='" . $raid_icon_folder . $check['icon_name']."' onmouseover=\"InsertText('" . addslashes($img_txt) . "');\" onmouseout='ClearText();' border='0'></a>";
         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>

don't forget to DO ALL the configurations

raidweek.html to go into your /styles/YOUR THEME/template/portal/block/ folder
Code: Select all
<div class="panel">
   <div class="inner">
      <span class="corners-top"><span></span></span>
<h3>Upcomming Events<h3>
         <div align="center"><p align="center"><iframe src="/phpraider/raidweek.php" frameborder="0" width="471" scrolling="no" height="90" allowtransparency="allowtransparency"></iframe></p>      <span class="corners-bottom"><span></span></span>
   </div>
   <span class="corners-bottom"><span></span></span>
   </div>
</div>
<br style="clear:both" />
also in this file change
Code: Select all
/phpraider/raidweek.php
to
Code: Select all
http://your-website.com/phpraider folder/raidweek.php


and to display it on your portal put
Code: Select all
             <!-- INCLUDE portal/block/raidweek.html -->
into your portal_body.html in the center block tags

DEMO here

for all this to work right u need to install and configure phpraider from HERE before u do this process
Last edited by talonos on Tue Mar 31, 2009 7:03 pm, edited 1 time in total.
talonos
 
Posts: 31
Joined: Tue Mar 10, 2009 4:17 pm

Re: PHPRAIDER portal block

Postby Sevennl on Sun Mar 29, 2009 9:47 am

Awsome !

thank you very much.
Sevennl
 
Posts: 19
Joined: Thu Mar 26, 2009 11:48 pm

Re: PHPRAIDER portal block

Postby Sevennl on Mon Mar 30, 2009 11:52 am

Installed it and it works great, even if the phpraider site is offsite ( other server ).

Got one bug tho, when it pulls the data it shows the upcoming raids, but on days where no raids are assigned ( on Wed/Fri ) it grabs raids from 11 months ago.

Using phpraider 1.0.8a with it's own database.
Sevennl
 
Posts: 19
Joined: Thu Mar 26, 2009 11:48 pm

Re: PHPRAIDER portal block

Postby Aurelye on Mon Mar 30, 2009 3:00 pm

Does'nt work for me. Blank table with no raids in them. It seems to be looking at the DB as i get errors if i post a fake db up, but i have a raid this monday its just not picking up.
Aurelye
 
Posts: 25
Joined: Wed Mar 25, 2009 1:51 pm

Re: PHPRAIDER portal block

Postby Sevennl on Mon Mar 30, 2009 3:04 pm

Make sure the 'raidweek.php' is located in the phpraider directory, and you changed all setting needed ( i forgot the one on line 131 of the file raidweek.php
Sevennl
 
Posts: 19
Joined: Thu Mar 26, 2009 11:48 pm

Re: PHPRAIDER portal block

Postby Aurelye on Mon Mar 30, 2009 3:10 pm

yeah it is located in my raider directory, and i did change all the variable's, including the one further down on line 131 or whatever it was

Its showing mon - fri as it should, just no raid info, and no text saying no raids today, just empty boxes
Aurelye
 
Posts: 25
Joined: Wed Mar 25, 2009 1:51 pm

Re: PHPRAIDER portal block

Postby talonos on Mon Mar 30, 2009 5:59 pm

have u got the latest version of phpraider as thats the only way i can work out it would display wrong or possibly a setting on your server is displaying the wrong time, i've looked over the script again n i cant see anything that would make it display the wrong months n such, go into your phpraider and see what month it displays by default that may help you diagnose it a little
talonos
 
Posts: 31
Joined: Tue Mar 10, 2009 4:17 pm

Re: PHPRAIDER portal block

Postby talonos on Mon Mar 30, 2009 6:01 pm

Aurelye wrote:yeah it is located in my raider directory, and i did change all the variable's, including the one further down on line 131 or whatever it was

Its showing mon - fri as it should, just no raid info, and no text saying no raids today, just empty boxes


double check you settings it might be erroring out if u set the wrong prefixs for the database
talonos
 
Posts: 31
Joined: Tue Mar 10, 2009 4:17 pm

Re: PHPRAIDER portal block

Postby Sevennl on Mon Mar 30, 2009 7:47 pm

talonos wrote:have u got the latest version of phpraider as thats the only way i can work out it would display wrong or possibly a setting on your server is displaying the wrong time, i've looked over the script again n i cant see anything that would make it display the wrong months n such, go into your phpraider and see what month it displays by default that may help you diagnose it a little


By mistake i delete all our raids :) hehehe
Well it seems it fixed the problem, i use the latest version of phpraider 1.0.8a, and both website and phpraider are on differnet servers / hosting.

But for now I 'kinda' ( having angry members now ) fixed the issue.
Sevennl
 
Posts: 19
Joined: Thu Mar 26, 2009 11:48 pm

Re: PHPRAIDER portal block

Postby Aurelye on Tue Mar 31, 2009 1:38 pm

http://www.exiles-dmf.com/forum/

You should be able to see that.

It's just not picking anything up. I did set the right server "localhost" i've also tried with "exiles-dmf.com" both should work but dont. I've double checked the database name, user, and password. And double checked the table names. All are fine.

Also, i don't know if it makes any difference, but we're using slightly different raid icons than the standard, but all the names are the same. Any idea's?

What versions of phpraider should it function with, im currently running v1.1.0SVN by Kyle Spraggs :

http://www.exiles-dmf.com/raider/
Aurelye
 
Posts: 25
Joined: Wed Mar 25, 2009 1:51 pm

Next

Return to [1.2.x] Development



Who is online

Users browsing this forum:

Google [Bot]