<?php # Tidspunkt for neste nerdepizza define('PVV_NESTE_PIZZA_ID', 'pvv_neste_pizza'); $wgHooks['LanguageGetMagic'][] = 'pvvMagicWords'; function pvvMagicWords(&$magicWords, $lang) { $magicWords[PVV_NESTE_PIZZA_ID] = array(0, 'NestePizza'); return true; } $wgHooks['ParserGetVariableValueSwitch'][] = 'pvvVariableValues'; function pvvVariableValues(&$parser, &$cache, &$magicWordId, &$ret) { if ($magicWordId == PVV_NESTE_PIZZA_ID) { $ret = pvvNestePizza(); } return true; } function pvvNestePizza() { $time = time(); $week = date('W'); $weekday = date('N'); if ($week % 2 == 0 && $weekday <= 5) { $daysUntilPizza = 5 - $weekday; } elseif ($week % 2 == 0 && $weekday > 5) { $daysUntilPizza = 5 - $weekday + 14; } else { $daysUntilPizza = 5 - $weekday + 7; } $pizzaTime = $time + $daysUntilPizza*24*3600; return 'Neste nerdepizza er fredag ' . date('d.m.Y', $pizzaTime) . ' (' . $daysUntilPizza . ' dager igjen).'; } $wgExtensionCredits['variable'][] = array( 'name' => 'NestePizza', 'author' => 'Øystein Skartsæterhagen', 'url' => 'http://wiki.pvv.ntnu.no/pvv/Nerdepizza', 'description' => 'Gir datoen for neste nerdepizza' ); $wgHooks['MagicWordwgVariableIDs'][] = 'pvvDeclareVarIds'; function pvvDeclareVarIds(&$aCustomVariableIds) { $aCustomVariableIds[] = PVV_NESTE_PIZZA_ID; return true; }