Calendar

From FundaWiki

Jump to: navigation, search

Insert this code into a PHP-element to display calendar. An alternate version made by Little-L can be found at LittleL Calendar

  • Note that this will only be necessary until the next major release.


	function minicalendar($table, $calendar, $month, $year) {
	  global $parser;

	  // Default values
	  if (empty($month)) $month = date("n");
	  if (empty($year)) $year = date("Y");

	  // Fetch array of events
	  $events = array();
	  $res = $parser->D->dbQuery("SELECT TIMESTART,TIMEEND, TITLE FROM ".$table." WHERE calendar=\"$calendar\"");
	  while ($event = $parser->D->dbFetchArray($res)) {
		$events[count($events)] = $event;
	  }

	  $firstday = mktime(0, 0, 0, $month, 1, $year);

	  // Calendar header
	  print '';
	}

	print '<style>
	  .minicalendar {
		float: left;
		height: 200px;
		margin-right: 20px;
	  }

	  .minicalendar table {
		border: 1px solid #c0c0c0;
		font-size: 80%;
		padding: 5px;
		margin-top: 10px;
	  }

	  .minicalendar td {
		padding: 2px;
		text-align: center;
	  }

	  .minicalendar .header {
		border-bottom: 1px solid #c0c0c0;
		padding-bottom: 5px;
	  }

	  .minicalendar .spacer {
		border-bottom: 1px solid #c0c0c0;
		height: 1px;
	  }

	  .minicalendar .eventday {
		background-color: #dcdcdc;
		border: 1px solid #c0c0c0;
	  }

	  .calendars {
		clear: both;
		font-size: 80%;
	  }
	</style>';

	minicalendar("calendarcon", "personal", date("n")-1);
	minicalendar("calendarcon", "personal");
	minicalendar("calendarcon", "personal", date("n")+1);
	/*
	minicalendar("calendarcon", 4);
	minicalendar("calendarcon", 5);
	minicalendar("calendarcon", 6);
	minicalendar("calendarcon", 7);
	minicalendar("calendarcon", 8);
	minicalendar("calendarcon", 9);
	minicalendar("calendarcon", 10);
	minicalendar("calendarcon", 11);
	minicalendar("calendarcon", 12);
	*/
	print '';


	function listEvents($table, $calendar, $onlynew=false) {
	  global $parser;

	  // Fetch array of events
	  $events = array();
	  $new = $onlynew == true ? " AND TIMEEND > ".mktime() : "";
	  $res = $parser->D->dbQuery("SELECT * FROM ".$table." WHERE calendar=\"$calendar\" $new ORDER BY TIMESTART");
	  while ($event = $parser->D->dbFetchArray($res)) {
		if (date("d-m-Y", $event["TIMESTART"]) != date("d-m-Y", $event["TIMEEND"])) {
		  print "<h4>".date("d-m-Y", $event["TIMESTART"])." - ".date("d-m-Y", $event["TIMEEND"])."</h4>";
		} else {
		  print "<h4>".date("d-m-Y", $event["TIMESTART"])."</h4>";
		}
		print "<small>".date("H:i", $event["TIMESTART"])." - ".date("H:i", $event["TIMEEND"])."</small><br>";
		print nl2br(htmlentities($event["TITLE"]));
	  }
	}
	listEvents("calendarcon", "personal");
Personal tools