enormousrodent Posted October 21, 2007 Share Posted October 21, 2007 Hi Guys, Do you guys know somewhere where i can find a script which creates a Calendar which can be controled via a database, so if a date is "occupied" then the date will be marked at BOOKED. Rodent Quote Link to comment Share on other sites More sharing options...
only one Posted October 21, 2007 Share Posted October 21, 2007 Look through the php scripts, i found one on this site but i can't remember if it worked from a MySQL database, maybe you should try downloading SMF, they have a calendar system. Quote Link to comment Share on other sites More sharing options...
enormousrodent Posted October 21, 2007 Author Share Posted October 21, 2007 im trying to find one that i can use to intergrate with a CMS system that i am trying to use. http://daytona.anyservers.com/~bastide/test.php This is a link to an array output, but i do not have the knowledge to turn these unix timestamps into a usable calander format. If you (or anyone) can make sense of it i would be very greatful. Thanks Quote Link to comment Share on other sites More sharing options...
only one Posted October 21, 2007 Share Posted October 21, 2007 You could use that code to set a value for each day. Basically that code is setting an array for week 40 to week 44 in the year then you can recal that array an say you want to know the day of the month the first day of week 44 is you can simply echo $array[44][1][mday]. Quote Link to comment Share on other sites More sharing options...
enormousrodent Posted October 21, 2007 Author Share Posted October 21, 2007 basically, how do i turn that information into a calendar: so: S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 etc Quote Link to comment Share on other sites More sharing options...
only one Posted October 21, 2007 Share Posted October 21, 2007 Is it that difficult? it's only a simple array. http://www.phpfreaks.com/PHP_Reference/Arrays/10.php Quote Link to comment Share on other sites More sharing options...
enormousrodent Posted October 21, 2007 Author Share Posted October 21, 2007 Honestly, it confuses the hell out of me. The Logic behind turning that into a calendar confuses me.. That is why i am asking for help..Only being honest...thanks for the links btw Here is the code that produces the array. <html> <head> <title></title> </head> <body> <?php function daysInMonths($time){ if(!$time) $time=time(); $month=strftime("%m",$time); $year=strftime("%Y",$time); return cal_days_in_month(CAL_GREGORIAN,$month,$year); } function renderCalendar($time){ if(!$time) $time=time(); //Get Month And Year $month=strftime("%m",$time); $year=strftime("%Y",$time); //Render Current Calendar $dayCount=cal_days_in_month(CAL_GREGORIAN,$month,$year); $calArray=array(); for($day=0;$day<$dayCount;$day++){ $tmNow=mktime(0,0,0,$month,$day+1,$year); $yearWeek=(int)strftime("%W",$tmNow); if($yearWeek>52) $yearWeek-=52; if(!is_array($calArray[$yearWeek])){ $calArray[$yearWeek]=array(); for($tday=0;$tday<7;$tday++){ $calArray[$yearWeek][$tday+1]=false; } } $dayInfo=array( "time" => $tmNow, "mday" => ($day+1), "wday" => (int)strftime("%w",$tmNow), "yday" => (int)strftime("%j",$tmNow) ); if(!$dayInfo['wday']) $dayInfo['wday']=7; $calArray[$yearWeek][$dayInfo['wday']]=$dayInfo; } $calInfo=array(-1=>array(),0=>array(),1=>array()); $calInfo[0]=mktime(0,0,0,$month,1,$year); //Get Next Month $nextmonth=$month+1; $nextyear=$year; if($nextmonth==13){ $nextyear++; $nextmonth-=12; } $calInfo[1]=mktime(0,0,0,$nextmonth,1,$nextyear); //Get Previous Month $prevmonth=$month-1; $prevyear=$year; if($nextmonth==0){ $prevyear--; $prevmonth+=12; } $calInfo[-1]=mktime(0,0,0,$prevmonth,1,$prevyear); //Return Calendar $cal=array('Calendar'=>$calArray,'Info'=>$calInfo); return $cal; } //----------------------------------------------------------------- ?> <pre><? print_r(renderCalendar(time())); ?> </pre> <? $Calendar = renderCalendar(time()); //Generate for current month $Months = $Calendar['Info']; $Calendar = $Calendar['Calendar']; $PreviousMonth = $Months[-1]; $CurrentMonth = $Months[0]; $NextMonth = $Months[1]; //These are the year weeks from 1-52 //that fit in the month of the calendar. $YearWeeks = array_keys($Calendar); //We parse the $Calendar array by $YearWeeks foreach($YearWeeks as $YearWeek){ $WeekDays = $Calendar[$YearWeek]; // And we further parse the $WeekDays for output foreach($WeekDays as $WeekDay){ $DayTimeStamp = $WeekDay['time']; $MonthDay = $WeekDay['mday']; $YearDay = $WeekDay['yday']; //Keep in mind on next line I loose the $WeekDay initial value //but I assigned all it's children to dedicated variable so who cares? $WeekDay = $WeekDay['wday']; //Here be dragons! Keep reading ... } } ?> </body> </html> Quote Link to comment Share on other sites More sharing options...
LemonInflux Posted October 21, 2007 Share Posted October 21, 2007 Go to phpfreaks.com -> PHP tutorials -> Calendars.. Quote Link to comment Share on other sites More sharing options...
lisaped Posted November 7, 2009 Share Posted November 7, 2009 I'm looking at something similar to: http://www.shared-house.com/login.php?erreur=intru&langue=en Where you have a simple calendar showing css style in different colors as available, booked or pending booking. You can also opt to add a color to indicate whether high season, mid season or low season. There must be a back-end form to set pending/booked dates only the owner can change. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.