PageRenderTime 56ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/v1.4/paneles/kalendorius.php

http://mightmedia.googlecode.com/
PHP | 177 lines | 114 code | 25 blank | 38 comment | 41 complexity | 018fc830409daf420c0cba7766fe8efc MD5 | raw file
Possible License(s): AGPL-1.0, LGPL-2.0, GPL-2.0
  1. <?php
  2. /**
  3. * @Projektas: MightMedia TVS
  4. * @Puslapis: www.coders.lt
  5. * @$Author: P.Dambrauskas $
  6. * @copyright CodeRS Š2008
  7. * @license GNU General Public License v2
  8. * @$Revision: 1175 $
  9. * @$Date: 2009-03-22 14:40:07 +0100 (Sun, 22 Mar 2009) $
  10. **/
  11. $redagavimas = "Ne";
  12. function svente($array, $siandien = '', $return = '') {
  13. //Gauname šiandienos (m?nesis-diena)
  14. if (!$siandien) {
  15. $siandien = date('n-j');
  16. }
  17. //Tikriname ar šven?i? masyve nurodyta diena egzistuoja
  18. if (array_key_exists($siandien, $array)) {
  19. foreach ($array[$siandien] as $key => $val) {
  20. if (empty($return)) {
  21. $return .= $val;
  22. } //Jei išvedam švent? pirm? kart?
  23. else {
  24. $return .= ", <br />" . $val;
  25. } //Išvedame daugiau nei vien? švent?, atskiriame kableliais
  26. }
  27. }
  28. return $return;
  29. }
  30. //class maxCalendar{
  31. function showCalendar($year = 0, $month = 0) {
  32. global $lang;
  33. /*$sventes = array( //Valstybin?s švent?s
  34. "1-1" => array("Naujieji metai", "Lietuvos v?liavos diena"),
  35. "1-13" => array("Laisv?s gyn?j? diena"),
  36. "2-16" => array("Lietuvos valstyb?s atk?rimo diena"),
  37. "3-11" => array("Lietuvos nepriklausomyb?s atk?rimo diena"),
  38. "5-1" => array("Tarptautin? darbo diena"),
  39. "5-4" => array("Motinos diena"),
  40. "6-24" => array("Rasos diena", "Joninin?s"),
  41. "7-6" => array("Valstyb?s diena", "Lietuvos karaliaus Mindaugo kar?navimo diena"),
  42. "8-15" => array("Žolin?s"),
  43. "11-1" => array("Vis? švent?j? diena"),
  44. "12-25" => array("Kal?dos"),
  45. "12-26" => array("Kal?dos (antra diena)"), //Lietuvos Respublikos atmintinos dienos
  46. "8-23" => array("Juodojo kaspino diena", "Baltijos kelio diena"),
  47. "8-31" => array("Laisv?s diena"),
  48. "9-1" => array("Mokslo ir žini? diena"),
  49. "9-8" => array("Šilin? (Šv?. Mergel?s Marijos gimimo diena)", "Vytauto Didžiojo kar?navimo diena"), //Kitos švent?s
  50. "3-18" => array("FDisk gimtadienis")
  51. );*/
  52. $sventes = array();
  53. //Ieskom kieno gimtadieniai
  54. //$sql = "SELECT SQL_CACHE `id`,`nick`,`gim_data`,DATE_FORMAT(`gim_data`,'%e') AS `diena` FROM `" . LENTELES_PRIESAGA . "users` WHERE DATE_FORMAT(`gim_data`,'%c')=DATE_FORMAT(NOW(),'%c')";
  55. $sql = "SELECT SQL_CACHE `id`, `nick`, `gim_data`, DATE_FORMAT(`gim_data`,'%e') as `diena` FROM `" . LENTELES_PRIESAGA . "users` WHERE DATE_FORMAT(`gim_data`,'%c')=MONTH(NOW())";
  56. $sql = mysql_query1($sql) or die(mysql_error());
  57. if (mysql_num_rows($sql) > 0) {
  58. while ($row = mysql_fetch_assoc($sql)) {
  59. if($row['diena'] >= date("j")){
  60. $sventes[date('n') . "-" . $row['diena']][] = "<b>" . $row['nick'] . "</b> {$lang['calendar']['birthday']}. " . (amzius($row['gim_data']) + 1) . "m.";
  61. }
  62. }
  63. }
  64. // Get today, reference day, first day and last day info
  65. if (($year == 0) || ($month == 0)) {
  66. $referenceDay = getdate();
  67. } else {
  68. $referenceDay = getdate(mktime(0, 0, 0, $month, 1, $year));
  69. }
  70. $firstDay = getdate(mktime(0, 0, 0, $referenceDay['mon'], 1, $referenceDay['year']));
  71. $lastDay = getdate(mktime(0, 0, 0, $referenceDay['mon'] + 1, 0, $referenceDay['year']));
  72. $today = getdate();
  73. $ieskom = array("December", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November");
  74. $keiciam = array($lang['calendar']['December'], $lang['calendar']['January'], $lang['calendar']['February'], $lang['calendar']['March'], $lang['calendar']['April'], $lang['calendar']['May'], $lang['calendar']['June'], $lang['calendar']['July'], $lang['calendar']['August'], $lang['calendar']['September'], $lang['calendar']['October'], $lang['calendar']['November']);
  75. $referenceDay['month'] = str_replace($ieskom, $keiciam, $referenceDay['month']);
  76. $month = $referenceDay['mon'];
  77. $year = $referenceDay['year'];
  78. // Create a table with the necessary header informations
  79. $return = '<div class="kalendorius"><table width="100%" >
  80. <tr><th colspan="7">' . $referenceDay['month'] . ' - ' . $referenceDay['year'] . '</th></tr>
  81. <tr class="days"><td>' . $lang['calendar']['Mon'] . '</td><td>' . $lang['calendar']['Tue'] . '</td><td>' . $lang['calendar']['Wed'] . '</td><td>' . $lang['calendar']['Thu'] . '</td><td>' . $lang['calendar']['Fri'] . '</td><td>' . $lang['calendar']['Sat'] . '</td><td>' . $lang['calendar']['Sun'] . '</td></tr>';
  82. // Display the first calendar row with correct positioning
  83. $return .= '<tr>';
  84. if ($firstDay['wday'] == 0)
  85. $firstDay['wday'] = 7;
  86. for ($i = 1; $i < $firstDay['wday']; $i++) {
  87. $return .= '<td>&nbsp;</td>';
  88. }
  89. $actday = 0;
  90. for ($i = $firstDay['wday']; $i <= 7; $i++) {
  91. $actday++;
  92. $svente = svente($sventes, "" . $today['mon'] . "-" . $actday . "");
  93. if (($actday == $today['mday']) /*&& ($today['mon'] == $month)*/ ) {
  94. $class = " style='border:1px solid red'";
  95. } else {
  96. $class = '';
  97. }
  98. if (!empty($svente)) {
  99. $return .= "<td$class ><div style='color:red' title=\"<b>{$lang['calendar']['this']}</b><br/>" . $svente . "<br/>\">$actday</div></td>";
  100. } else {
  101. $return .= "<td$class>$actday</td>";
  102. }
  103. }
  104. $return .= '</tr>';
  105. //Get how many complete weeks are in the actual month
  106. $fullWeeks = floor(($lastDay['mday'] - $actday) / 7);
  107. for ($i = 0; $i < $fullWeeks; $i++) {
  108. $return .= '<tr>';
  109. for ($j = 0; $j < 7; $j++) {
  110. $actday++;
  111. $svente = svente($sventes, "" . $today['mon'] . "-" . $actday . "");
  112. if (($actday == $today['mday']) && ($today['mon'] == $month)) {
  113. $class = " style='border:1px solid red'";
  114. } else {
  115. $class = '';
  116. }
  117. if (!empty($svente)) {
  118. $return .= "<td$class ><div style='color:red' title=\"<b>{$lang['calendar']['this']}</b><br/>" . $svente . "<br/>\">$actday</div></td>";
  119. } else {
  120. $return .= "<td$class>$actday</td>";
  121. }
  122. }
  123. $return .= '</tr>';
  124. }
  125. //Now display the rest of the month
  126. if ($actday < $lastDay['mday']) {
  127. $return .= '<tr>';
  128. for ($i = 0; $i < 7; $i++) {
  129. $actday++;
  130. $svente = svente($sventes, "" . $today['mon'] . "-" . $actday . "");
  131. if (($actday == $today['mday']) && ($today['mon'] == $month)) {
  132. $class = " style='border:1px solid red'";
  133. } else {
  134. $class = '';
  135. }
  136. if ($actday <= $lastDay['mday']) {
  137. if (!empty($svente)) {
  138. $return .= "<td$class ><div style='color:red' title=\"<b>{$lang['calendar']['this']}</b><br/>" . $svente . "<br/>\">$actday</div></td>";
  139. } else {
  140. $return .= "<td$class>$actday</td>";
  141. }
  142. } else {
  143. $return .= '<td>&nbsp;</td>';
  144. }
  145. }
  146. $return .= '</tr>';
  147. }
  148. $return .= '</table></div>';
  149. return $return;
  150. }
  151. $text = showCalendar();
  152. ?>