Avatar billede expnet Seniormester
30. juli 2007 - 14:06 Der er 4 kommentarer og
1 løsning

avminarm eller en anden - ang. kalender

hej avminarm

Er det muligt at få en kopir af din kalender.

hvis der er nogle andre der sidder inde med en meget simpel kalender.

ville det være nice

Den skal bare visse fra mandag til søndag.
og skal nuvendigvis ikke køre over en db

http://wagners.users.whitehat.dk/kalender
Avatar billede avminarm Juniormester
30. juli 2007 - 20:53 #1
Hejsa - jeg har ikke lige kilde koden til mit eget script her - men en anden en, som er downloaded fra www.phpclasses.org - håber det er hvad du søger:

gem som: class.xCalendar.php

<?php
/*----------------------------------------------------------------------------*
  * Class Constructor        : xCalendar(bool $sundayFirst = false)            *
  *                                                                            *
  * Class Public Functions  : setDayNames(string array $dayNames)            *
  *                            setMonthNames(string array $monthNames)        *
  *                            getMonthTable(integer $month    = null,        *
  *                                          integer $year      = null,        *
  *                                          string  $id_string = "calendar")  *
  *----------------------------------------------------------------------------*/
  class xCalendar
  { 
    var $startSunday;
    var $DAY_NAMES;
    var $MONTH_NAMES;

  /*----------------------------------------------------------------------------*
    * Description : Class constructor.                                          *
    * Parameters  : bool $sundayFirst = Week starts from sunday (not monday)?    *
    * Return      :                                                              *
    *----------------------------------------------------------------------------*/
    function xCalendar($sundayFirst = false){               
      $this->startSunday  = $sundayFirst;
           
      if ($this->startSunday)
        $this->DAY_NAMES    = array("Sunday",  "Monday", "Tuesday", "Wednesday", "Thurday", "Friday", "Saturday");
      else
        $this->DAY_NAMES    = array("Monday", "Tuesday", "Wednesday", "Thursday",
                                    "Friday", "Saturday", "Sunday");
     
      $this->MONTH_NAMES  = array("Non-Visible", "January", "February", "March",
                                                  "April",  "May",      "June",
                                                  "July",    "August",  "September",
                                                  "October", "November", "December");
    }

  /*----------------------------------------------------------------------------*
    * Description : Set names of days.                                          *
    * Parameters  : string array $dayNames = array with 7 name for days.        *
    * Return      : Returns TRUE on success, FALSE on failure.                  *
    *----------------------------------------------------------------------------*/
    function setDayNames($dayNames)
    {
      if (is_array($dayNames))
      {
        if (count($dayNames) == 7)
        {
          $this->DAY_NAMES = $dayNames;
         
          return true;
        }
      }
     
      return false;
    }

  /*----------------------------------------------------------------------------*
    * Description : Set names of months.                                        *
    * Parameters  : string array $monthNames = array with 12 name for months.    *
    * Return      : Returns TRUE on success, FALSE on failure.                  *
    *----------------------------------------------------------------------------*/
    function setMonthNames($monthNames)
    {
      if (is_array($monthNames))
      {
        if (count($monthNames)== 12)
        {
          for ($i = 0; $i < 12; $i++)
          {
            $this->MONTH_NAMES[$i + 1] = $monthNames[$i];                 
          }
       
        return true;
        }
      }
   
      return false;
    }

  /*----------------------------------------------------------------------------*
    * Description : Return month information in HTML-table.                      *
    * Parameters  : integer $month    = month to view.                          *
    *              integer $year      = year to view.                          *
    *              string  $id_string = table ID for using right styles.        *
    * Return      : Returns month information in HTML-table, FALSE on failure.  *
    *----------------------------------------------------------------------------*/
    function getMonthTable($month = null, $year = null, $id_string = "calendar")
    {
      // If both parameters has not been specified, display current month
      if ((is_null($month)) || (is_null($year)))
      {
        $month = date('n');
        $year  = date('Y');
      }
                             
      // what is first day of month (0 = Sunday, 6 = Saturday)?
      $firstDay = date('w', mktime(0, 0, 0, $month, 1, $year));   

      // If week starts from monday, we have to degree one for right calculations.
      if (!$this->startSunday)
      {
        $firstDay = $firstDay - 1;
     
        if ($firstDay < 0)
          $firstDay = 6;
      }
         
      // Calculate how many days and rows are in this month's calendar.
      $calendarDays = date('t', mktime(0, 0, 0, $month, 1, $year));
      $calendarRows = (int) ceil(($calendarDays + $firstDay) / 7);   
                         
      // Is current day in this month?
      $today = 0;
       
      if (($month == date('n')) && ($year == date('Y')))
        $today = date('d');
                     
      // Create HTML-table from calendar informations.
      $content  = "<table id=\"".$id_string."\" cellspacing=\"0\" cellpadding=\"4\" border=\"0\">";
      $content .= "<tr>";
      $content .= "<td class=\"title\" colspan=\"7\">";
      $content .= $this->MONTH_NAMES[$month]."&nbsp;".$year;
      $content .= "</td>";
      $content .= "</tr>";       
      $content .= "<tr>";
   
      foreach ($this->DAY_NAMES as $dayName)
      {
        $content .= "<td class=\"name\">".ucfirst($dayName)."</td>";
      }
               
      for ($day = 0; $day < ($calendarRows * 7); $day++)
      {
        if (($day % 7) == 0)
          $content .= "</tr><tr>";
                               
        if (($day < $firstDay) || ($day > ($calendarDays + $firstDay - 1)))
        {
          $content .= "<td>&nbsp;</td>";
        }
        else
        {
            if ($today == (1 + $day - $firstDay))
            $content .= "<td class=\"today\">".(1 + $day - $firstDay)."</td>";
          else
            $content .= "<td>".(1 + $day - $firstDay)."</td>";
        }
      }
           
      $content .= "</tr>";
      $content .= "</table>";
           
      return $content;
    }
  }
?>


Fil som indeholder kalenderen:

  <?php
    // Add class to script.
    require_once("class.xCalendar.php");
   
    // Create new calendar object.
    $calendar = new xCalendar();
       
    // Set name of months for finnish people.
    /*$calendar->setMonthNames(array('Tammikuu',      'Helmikuu',  'Maaliskuu',
                                  'Huhtikuu',      'Toukokuu',  'Kes&auml;kuu',
                                  'Hein&auml;kuu', 'Elokuu',    'Syyskuu',
                                  'Lokakuu',      'Marraskuu', 'December'));*/
                           
    // Set name of days for finnish people.
    //$calendar->setDayNames(array('Ma', 'Ti', 'Ke', 'To', 'Pe', 'La', 'Su'));
 
    // View calendar table.
    echo $calendar->getMonthTable();
  ?>

style fil:

#calendar
{
  background-color : white;
  border-bottom    : 1px solid black;
  border-right    : 1px solid black;
  color            : black;
  font-family      : "Courier New", Courier, monospace;
  font-size        : 8pt;
}

#calendar TD
{
  border-left      : 1px solid black;
  border-top      : 1px solid black;
  text-align      : center;
}   

#calendar TD.name
{
  background-color : #E4E4E4;
  width                        : 14%;
}

#calendar TD.title
{
  background-color : #778899;
  color            : white;
  font-weight      : bold;
  text-align      : center;
}

#calendar TD.today
{
  background-color : #00CC80;
}
Avatar billede expnet Seniormester
02. september 2007 - 08:31 #2
avminarm -> kan jeg ikke logge dig til at på før 10 dages limit på den
Avatar billede avminarm Juniormester
02. september 2007 - 12:06 #3
10 dages limit - hvad mener du?
Avatar billede expnet Seniormester
02. september 2007 - 15:17 #4
eks vi har den 02 sep 2007 så skulle "limit days" gøre sådan her

så skulle den gerne lave disse dato'er til et link
02 sep
03 sep
04 sep

frem til den 11 sep og når det esk er den 30 sep skal jo går frem til den 08 okt

den skal sådan det bare gå idag frem med med link også selv om du klikker vider i kalenderen de skal bare ikke kunne klikke på mere end 10 dage af gange
Avatar billede avminarm Juniormester
02. september 2007 - 18:44 #5
hmmm det kræver en del omkodning og har ikke lige tiden nu til det - desværre!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester