Autor Wiadomość
blicks
PostWysłany: Wto 23:51, 26 Lut 2008    Temat postu:

Łooo, minęło troszkę czasu zanim tu wszedłem, znalazłem "kalendarz" i wkleiłem go na strone i chodzi...

Mimo wszystko dziekuje za ten co wstawiłeś.

---------------------------------------------------
Osoby używające więcej niż 3 wykrzykników lub pytajników to osoby z zaburzeniami własnej osobowości - Terry Pratchett
erwin15
PostWysłany: Sob 3:20, 23 Lut 2008    Temat postu:

blicks zarejestruj się i dopiero pytaj Evil or Very Mad

Kalendarz.
Skrypt ten umożliwia nam umieszczenie kalendarza na stronie (lub kilku), możemy definiować święta, które będą w nim zaznaczane oraz inne ważne dla nas wydarzenia. eCalendar może także wyswietlać imieniny (jeśli pobrana została tekstowa baza imion), można nim "sterować" z poziomu przeglądarki.

Kod PHP kalendarza (do umieszczenia na początku strony):
Kod:
<?php

//========eCalendar v1.0.3=========

// Autor: Emdek <emdek@epf.pl>

// Licencja: GPL

// W skrypcie wykorzystano bazę danych z imionami z: "Imieniny - skrypt pochodzi ze strony www.bastek.tvs.pl"

// Skrypt bazuje na rozwiązaniach zastosowanych w skrypcie calendar.php 1.4 autorstwa Bena Frame <ben@networkscompany.com>

function namedays ($Day, $Month, $Path, $Small) {

         if (file_exists ($Path.'1.inc')) {

            $NameDays = file ($Path.$Month.'.inc');

            return (($Small?', i':'I').'mieniny: '.trim ($NameDays[$Day]));

            }

         }

function calendar ($ID, $Date = 'NOW', $Path = './imieniny/') { // KONFIGURACJA

         $DayWeekStarts = 2; // Numer dnia od którego wyświetlane są dni w kalendarzu (2 - poniedziałek)

         $Months = array ('', 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');

         $Months2 = array ('', 'stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia');

         $Days = array ('', 'Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota');

         $ImportantDays = array (1 => array (14 => 'Jakaś data'), 10 => array (1 => 'Urodziny Zenka')); // "ważne dni"

         $Holidays = array (1 => array (1 => 'Nowy Rok'), 5 => array (1 => 'Święto pracy', 3 => 'Święto konstytucji'), 8 => array (15 => 'Wniebowzięcie NMP'), 11 => array (1 => 'Święto Zmarłych', 11 => 'Święto Niepodległości'), 12 => array (25 => 'Boże Narodzenie', 26 => 'Boże Narodzenie')); // święta

         if (!empty($_POST['d']) && $_POST['id'] == $ID) $Date = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['d'];

         else if(!empty($_POST['y']) && $_POST['id'] == $ID) {

              if ($_POST['y'] == '»') $_POST['y'] = $_POST['year'] + 1;

              else if ($_POST['y'] == '«') $_POST['y'] = $_POST['year'] - 1;

              if ($_POST['year'] < 1971 || $_POST['year'] > 2036) $_POST['y'] = 2000;

              if ($_POST['day'] < 10) $_POST['day'] = '0'.$_POST['day'];

              $Date = $_POST['y'].'-'.$_POST['month'].'-'.$_POST['day'];

              }

         else if (!empty($_POST['m']) && $_POST['id'] == $ID) {

                 if ($_POST['m'] == '»') $_POST['m'] = $_POST['month'] + 1;

                 else if ($_POST['m'] == '«') $_POST['m'] = $_POST['month'] - 1;

                 if ($_POST['m'] == 13) {

                     $_POST['m'] = 1;

                     $_POST['year']++;

                     }

                 else if ($_POST['m'] == 0) {

                         $_POST['m'] = 12;

                         $_POST['year'] = $_POST['year'] - 1;

                         }

                 if ($_POST['m'] < 10) $_POST['m'] = '0'.$_POST['m'];

                 if ($_POST['day'] < 10) $_POST['day'] = '0'.$_POST['day'];

                 if ($_POST['year'] < 1971 || $_POST['year'] > 2036) $_POST['year'] = 2000;

                 $Date = $_POST['year'].'-'.$_POST['m'].'-'.$_POST['day'];

                 }

         $Date = getdate (strtotime ($Date));

         $Holidays[date ('n', easter_date ($Date['year']))][date ('j', easter_date ($Date['year']))] = 'Wielkanoc'; // data Wielkanocy

         if (date ('t', easter_date ($Date['year'])) == 31) $Holidays[4][1] = 'Poniedziałek Wielkanocny'; // Ponioedziałek Wielkanocy

         else $Holidays[date ('n', easter_date ($Date['year']))][date ('j', easter_date ($Date['year'])) + 1] = 'Poniedziałek Wielkanocny'; // Ponioedziałek Wielkanocy

         $NumberOfDays = date (t, mktime (0, 0, 0, $Date['mon'] + 1, 0, $Date['year'], -1));

         $FirstDayOfWeek = date (w, mktime (0, 0, 0, $Date['mon'], 1, $Date['year']));

         $CalendarData = array (array (1, 0, 6, 5, 4, 3, 2, 1), array (2, 1, 0, 6, 5, 4, 3, 2), array (3, 2, 1, 0, 6, 5, 4, 3), array (4, 3, 2, 1, 0, 6, 5, 4), array (5, 4, 3, 2, 1, 0, 6, 5), array (6, 5, 4, 3, 2, 1, 0, 6), array (7, 6, 5, 4, 3, 2, 1, 0));

         $Offset = $CalendarData[$FirstDayOfWeek][$DayWeekStarts];

         $DayOfWeekNum = $CalendarData[$FirstDayOfWeek][0];

         $Calendar = '<form action="'.$_SERVER['PHP_SELF'].($_SERVER['QUERY_STRING']?'?'.$_SERVER['QUERY_STRING']:'').'" method="post" id="calendar_'.$ID.'">

<table cellspacing="0" cellpadding="0" class="calendar"><thead>

<tr>'."n".'<th class="b">

<input type="submit" name="m" value="«" class="p" />



<input type="submit" name="y" value="«" class="p" />

</th>'."n".'<th colspan="5" class="b">

'.$Months[$Date['mon']].'

'.$Date['year'].'

<input type="hidden" name="year" value="'.$Date['year'].'" />

<input type="hidden" name="month" value="'.$Date['mon'].'" />

<input type="hidden" name="day" value="'.$Date['mday'].'" />

<input type="hidden" name="id" value="'.$ID.'" />

</th>'."n".'<th class="b">

<input type="submit" name="m" value="»" class="p" />



<input type="submit" name="y" value="»" class="p" />

</th>'."n".'</tr>'."n".'<tr>'."n";

         for ($i = 0; $i <= 6; $i++) $Calendar.= '<th title="'.$Days[($i + $DayWeekStarts - (($i + $DayWeekStarts > 7)?7:0))].'">'.substr ($Days[($i + $DayWeekStarts - (($i + $DayWeekStarts > 7)?7:0))], 0, 1).'</th>'."n";

         $Calendar.= '</tr>'."n".'</thead>'."n".'<tbody>'."n".'<tr>'."n".(($Offset > 0)?'<td colspan="'.$Offset.'" class="c">&nbsp;</td>'."n":'');

         for ($i = 1; $i <= $NumberOfDays; $i++) {

             $DayOfWeek = date (l, mktime (0, 0, 0, $Date['mon'], $i, $Date['year']));

             $Calendar.= (($DayOfWeekNum == $DayWeekStarts)?'<tr>'."n":'').'<td><input type="submit" name="d" class="'.((!empty ($Holidays[$Date['mon']][$i]))?(($i == $Date['mday'])?'t':'h'):(($i == $Date['mday'])?'t':((in_array (($i + $Offset) / 7, array (1,2,3,4,5,6)))?'h':((!empty ($ImportantDays[$Date['mon']][$i]))?'i':((in_array (($i + $Offset + 1) / 7, array (1,2,3,4,5,6)))?'s':'n'))))).'" title="'.((!empty ($Holidays[$Date['mon']][$i]))?$Holidays[$Date['mon']][$i].namedays ($i, $Date['mon'], $Path, 1):((!empty ($ImportantDays[$Date['mon']][$i]))?$ImportantDays[$Date['mon']][$i].namedays ($i, $Date['mon'], $Path, 1):namedays ($i, $Date['mon'], $Path, 0))).'" value="'.$i.'" /></td>'."n".(($DayOfWeekNum == ($DayWeekStarts - 1))?'</tr>'."n":'');

             if ($DayOfWeekNum == 7) $DayOfWeekNum = 1;

             else $DayOfWeekNum++;

             }

         if (!in_array (($Offset + $NumberOfDays) / 7, array (1, 2, 3, 4, 5, 6))) $Calendar.= ((((($Offset == 5) && ($NumberOfDays > 30)) || (($Offset == 6) && ($NumberOfDays > 29)) && (42 - $NumberOfDays - $Offset > 0)) || (($NumberOfDays != 28) || ($Offset > 0) && (35 - $NumberOfDays - $Offset > 0)))?('<td colspan="'.((($NumberOfDays != 28) || ($Offset > 0) && (35 - $NumberOfDays - $Offset > 0))?(42 - $NumberOfDays - $Offset):(35 - $NumberOfDays - $Offset)).'" class="c">&nbsp;</td>'."n".'</tr>'."n"):'</tr>'."n");

         return ($Calendar.'<tr>'."n".'<td colspan="7" class="b" style="font-size:12px;">'.$Days[$Date['wday'] + 1].', '.$Date['mday'].' '.$Months2[$Date['mon']].' '.$Date['year'].' r.

'.($Holidays[$Date['mon']][$Date['mday']]?'<b style="color:#F3333F;">'.$Holidays[$Date['mon']][$Date['mday']].'</b>

':'').($ImportantDays[$Date['mon']][$Date['mday']]?'<b style="color:#333FF3;">'.$ImportantDays[$Date['mon']][$Date['mday']].'</b>

':'').((file_exists ($Path.'1.inc'))?namedays ($Date['mday'], $Date['mon'], $Path, 0):'').'</td>'."n".'</tr>'."n".'</tbody></table></form>'."n");

         }

?>


Kod CSS (należy go umieścić pomiędzy znacznikami STYLE):
Kod:
.calendar {border-top:1px solid black;border-right:1px solid black;text-align:center;width:144px;font-family:Arial, sans-serif;}

.calendar td {font-size:1px;}

.calendar td input {width:25px;border:0;border-bottom:1px solid black;border-left:1px solid black;color:black;font-size:12px;}

th {background:#DEDEDE;text-align:center;border-bottom:1px solid black;border-left:1px solid black;}

.n {background:#F0F0F0;}

.t {background:#CFFFFC;font-weight:bold;}

.h {color:#F3333F;font-weight:bold;background:#FFC00F;}

.i {color:#333FF3;font-weight:bold;}

.s {color:#399003;font-weight:bold;background:#F7E00F;}

.b {background:#E8E8E8;border-bottom:1px solid black;border-left:1px solid black;font-size:12px;}

.c {border-bottom:1px solid black;border-left:1px solid black;font-size:1px;}

.p {background:transparent;border:0;width:20px;font-weight:bold;}


Wywołanie funkcji kalendarza (pierwszy parametr: ID kalendarza (można umieszczać kilka kalendarzy o różnych ID i datach), drugi: data, która ma być wyświetlona w kalendarzu (opcja), trzeci: ścieżka do katalogu z bazą danych imion (opcja)):
Kod:
<?= calendar ('pierwszy'); ?>


P.S: Kalendarz pochodzi z CBA.pl
blicks
PostWysłany: Sob 3:15, 23 Lut 2008    Temat postu: Kalendarz

Czy wie ktoś jak na własnej stronie zrobić kalendarz?

Powered by phpBB © phpBB Group
Theme created by phpBBStyles.com