Snippets

Deze database laat de laatste snippets zien voor phpBB3. Snippets zijn kleine stukjes code die speciale functionaliteit toevoegen. Er zijn 13 snippets in de database.

Laatste snippets

Cookie settings
door John op 23 februari 2008
Groepslid
door John op 23 februari 2008
Ajax kalender
door John op 8 februari 2008

Snippets
Ajax kalender

phpBB Ajax kalender


Snippets: Selecteer alles
  1. <?php
  2. /*
  3. *
  4. * @package phpBB3
  5. * @version 3.0
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  7. *
  8. * @Original MOD Authors: John Peskens
  9. * @http://john-peskens.nl
  10. */
  11.  
  12. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Datum in het verleden
  13. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Altijd veranderd
  14. header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
  15. header("Cache-Control: post-check=0, pre-check=0", false);
  16. header("Pragma: no-cache");                          // HTTP/1.0
  17.  
  18. $output = '';
  19. if ((!isset($_GET['month']) || $_GET['month'] == '') && (!isset($_GET['year']) || $_GET['year'] == ''))
  20. {
  21.         $time = time();
  22.         $maand = date('n',$time);
  23.     $jaar = date('Y',$time);
  24. } else
  25. {
  26.         $maand = intval($_GET['month']);
  27.     $jaar = intval($_GET['year']);
  28. }
  29.  
  30. define('IN_PHPBB', true);
  31. $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../forum/';
  32. $phpEx = substr(strrchr(__FILE__, '.'), 1);
  33. include($phpbb_root_path . 'common.' . $phpEx);
  34. $user->session_begin();
  35. $user->setup();
  36.  
  37. function getMonthlyEvents($jaar, $maand)
  38. {
  39.         global $db, $table_prefix;
  40.         $events = array();
  41.        
  42.         $sql = "SELECT cid, color FROM ".$table_prefix."calendar_categories ORDER BY cid ASC";
  43.         $result = $db->sql_query($sql);
  44.         while ($row = $db->sql_fetchrow($result))
  45.         {
  46.                 $categorie[] = $row;
  47.         }
  48.  
  49.         $theFirst   = "$jaar-$maand-01";   // the first of the month in YYYY-MM-01 format for SQL
  50.         $theFirstTs = mktime(0, 0, 0, $maand, 1, $jaar);   // the first as a UNIX timestamp
  51.         $firstInfo  = getdate($theFirstTs);                // date info for the first
  52.         $nDays      = date('t', $theFirstTs);              // how many days this month
  53.  
  54.         $lastDay = sprintf('%04d-%02d-%02d', $jaar, $maand, $nDays);
  55.  
  56.         $sql = "SELECT eid, title, startdate, days, categorie FROM ".$table_prefix."calendar_events WHERE
  57.                         (startdate >= '".$theFirst."' AND startdate <= '".$lastDay."' AND activ = 1)
  58.                         order by startdate asc, days desc";
  59.  
  60.         $result = $db->sql_query($sql);
  61.         while ($row = $db->sql_fetchrow($result))
  62.         {
  63.                 if (isset($start) && $start == $row['startdate'])
  64.                 {
  65.                         $title .= "\n\r".$row['title'];
  66.                 } else
  67.                 {
  68.                         $title  = $row['title'];
  69.                 }
  70.                 $start      = $row['startdate'];
  71.  
  72.                 $startTs    = strtotime($start);
  73.                 $startInfo  = getdate($startTs);
  74.                 $startDay   = $startInfo['mday'];
  75.                
  76.                 $eventId    = intval($row['eid']);
  77.  
  78.                 for($i = 0; $i < $row['days']; $i++)
  79.                 {
  80.                         $ts = mktime(0, 0, 0, $maand, $startDay + $i, $jaar);
  81.                         if ($ts == $startTs)
  82.                         {
  83.                                 $events[$startDay + $i]['title'] = $title;
  84.                                 $events[$startDay + $i]['color'] = $categorie[$row['categorie']-1]['color'];
  85.                                 $events[$startDay + $i]['eid'] = $row['eid'];
  86.                                 $startTs = mktime(0, 0, 0, $maand, ($startDay + $i + 1), $jaar);
  87.                         }
  88.                 }
  89.         }
  90.         return $events;
  91. }
  92.  
  93. if (1 == 1)
  94. {
  95.         $date = getdate(mktime(0,0,0,$maand,1,$jaar));
  96.         $today = getdate();
  97.  
  98.         $days = date("t",mktime(0,0,0,$maand,1,$jaar));
  99.         $start = $date['wday']+1;
  100.  
  101.         $month_aray = array();
  102.         for ($i = 1; $i <= 12; $i++)
  103.         {
  104.                 $month_aray += array($i => $user->lang['datetime'][date('F', mktime(1, 0, 0, (int)$i, 1, 2008))]);
  105.         }
  106.  
  107.         $name = $month_aray[$maand];
  108.         $year2 = $date['year'];
  109.         $offset = $days + $start - 1;
  110.  
  111.         if($maand == 12)
  112.         {
  113.                 $next = 1;
  114.                 $nexty = $jaar + 1;
  115.         } else
  116.         {
  117.                 $next = $maand + 1;
  118.                 $nexty = $jaar;
  119.         }
  120.  
  121.         if ($maand == 1)
  122.         {
  123.                 $prev = 12;
  124.                 $prevy = $jaar - 1;
  125.         } else
  126.         {
  127.                 $prev = $maand - 1;
  128.                 $prevy = $jaar;
  129.         }
  130.  
  131.         if ($offset <= 28) $weeks = 28;
  132.         elseif ($offset > 35) $weeks = 42;
  133.         else $weeks = 35;
  134.  
  135.         $output .= '<table cellpadding="2" cellspacing="1" align="center" style="width: 140px; height: 110px"><tr><td colspan="7"><table border="0" width="100%"><tr><td valign="middle"><a href="javascript:navigate('.$prev.','.$prevy.')"><img src="/Calendar/left.gif" border="0"></a><a href="javascript:navigate("","")"><img src="/Calendar/center.gif" hspace="3" border="0"></a><a href="javascript:navigate('.$next.','.$nexty.')"><img src="/Calendar/right.gif" border="0"></a></td><td align="right"><div id="heading">'.$name.' '.$year2.'</div></td></tr></table></td></tr><tr>';
  136.         $day_aray = array();
  137.         $weekday = date('w', mktime(4, 0, 0, 2 , 21, 2008));
  138.  
  139.         for ($i = -$weekday; $i < 7 - $weekday; $i++)
  140.         {
  141.                 $day_aray += array($i + $weekday => $user->lang['datetime'][date('D', mktime(4, 0, 0, 2, (21 + $i), 2008))]);
  142.         }      
  143.         for ($i = 0; $i < 7; $i++)
  144.         {
  145.                 $output .= '<td align="center" style="width: 14%">'.$day_aray[$i].'</td>';
  146.         }
  147.         $output .= '</tr>';
  148.  
  149.         $col=1;
  150.         $cur=1;
  151.         $next=0;
  152.         $events = getMonthlyEvents($jaar, $maand);     
  153.  
  154.         for ($i = 1; $i <= $weeks; $i++)
  155.         {
  156.                 if ($next == 3) $next = 0;
  157.                 if ($col == 1) $output .= '<tr>';
  158.                 $output .= '<td valign="top" align="center" ';
  159.                 if (isset($events[$cur]['title'])) $output .= 'title="'.$events[$cur]['title'].' "';
  160.                 $output .= '>';
  161.  
  162.                 if ($i <= ($days+($start-1)) && $i >= $start)
  163.                 {
  164.                         $output .='<div';
  165.  
  166.                         if (($cur == $today['mday']) && ($maand == $today['mon']) && ($jaar == $today['year']))
  167.                         {
  168.                                 $output .= ' style="color:#FF0000;';
  169.                         if (isset($events[$cur]['title']) && $cur == $today['mday']) $output .= ' border-width: 1px; border-style: solid; border-color: #737475;';
  170.                         if (isset($events[$cur]['title']) && $cur != $today['mday']) $output .= ' style="border-width: 1px; border-style: solid; border-color: #737475;';
  171.                                 $output .= '"';
  172.                         }
  173.                         $output .= '>';
  174.                         $output .= '<b';
  175.                         if (isset($events[$cur]['title'])) $output .= ' style="cursor: hand; color: #'.$events[$cur]['color'].';"';
  176.                         $output .= '>';
  177.                         $output .= $cur;
  178.                         $output .= '</b>';
  179.                 $output .= '</div></td>';
  180.                     $cur++;
  181.             $col++;
  182.                 } else
  183.                 {
  184.                         $output .= '&nbsp;</td>';
  185.                         $col++;
  186.                 }
  187.             if ($col == 8)
  188.                 {
  189.                     $output .= '</tr>';
  190.                     $col = 1;
  191.             }
  192.         }
  193.         $output .= '</table>';
  194. }
  195. echo $output;
  196. ?>
14579 maal bekeken
© John Peskens    scripts by Forumhulp.com