merge Georgs calendar
This commit is contained in:
parent
4915610b5f
commit
414e5e174d
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
require_once("../libs/sanitize.php");
|
||||
require_once ("../../../lib/base.php");
|
||||
if( !OC_USER::isLoggedIn()){
|
||||
die("nosession");
|
||||
}
|
||||
if(sanitize_paranoid_string($_GET["task"]) == "load_events"){
|
||||
echo "parsing_fail";
|
||||
exit;
|
||||
}elseif(sanitize_paranoid_string($_GET["task"]) == "edit_event"){
|
||||
echo "edit_event";
|
||||
exit;
|
||||
}elseif(sanitize_paranoid_string($_GET["task"]) == "new_event"){
|
||||
echo "new_event";
|
||||
exit;
|
||||
}elseif(sanitize_paranoid_string($_GET["task"]) == "edit_settings"){
|
||||
echo "edit_settings";
|
||||
exit;
|
||||
}elseif(sanitize_paranoid_string($_GET["task"]) == "choose_calendar"){
|
||||
echo "choose_calendar";
|
||||
exit;
|
||||
}else{
|
||||
die("unknown task");
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
OC::$CLASSPATH['OC_Calendat_Calendar'] = 'apps/calendar/lib/calendar.php';
|
||||
OC::$CLASSPATH['OC_Calendar_Hooks'] = 'apps/calendar/lib/hooks.php';
|
||||
OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre.php';
|
||||
OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Calendar_Hooks', 'deleteUser');
|
||||
|
||||
OC_App::register( array(
|
||||
'order' => 10,
|
||||
'id' => 'calendar',
|
||||
'name' => 'Calendar' ));
|
||||
|
||||
OC_App::addNavigationEntry( array(
|
||||
'id' => 'calendar_index',
|
||||
'order' => 10,
|
||||
'href' => OC_Helper::linkTo( 'calendar', 'index.php' ),
|
||||
'icon' => OC_Helper::imagePath( 'calendar', 'icon.png' ),
|
||||
'name' => 'Calendar' ));
|
|
@ -0,0 +1,189 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<database>
|
||||
|
||||
<name>*dbname*</name>
|
||||
<create>true</create>
|
||||
<overwrite>false</overwrite>
|
||||
|
||||
<charset>utf8</charset>
|
||||
|
||||
<table>
|
||||
|
||||
<name>*dbprefix*calendar_objects</name>
|
||||
|
||||
<declaration>
|
||||
|
||||
<field>
|
||||
<name>id</name>
|
||||
<type>integer</type>
|
||||
<default>0</default>
|
||||
<notnull>true</notnull>
|
||||
<autoincrement>1</autoincrement>
|
||||
<unsigned>true</unsigned>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>calendarid</name>
|
||||
<type>integer</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<unsigned>true</unsigned>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>objecttype</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>40</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>startdate</name>
|
||||
<type>timestamp</type>
|
||||
<default>0000-00-00 00:00:00</default>
|
||||
<notnull>false</notnull>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>enddate</name>
|
||||
<type>timestamp</type>
|
||||
<default>0000-00-00 00:00:00</default>
|
||||
<notnull>false</notnull>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>repeating</name>
|
||||
<type>integer</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>summary</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>255</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>calendardata</name>
|
||||
<type>clob</type>
|
||||
<notnull>false</notnull>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>uri</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>100</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>lastmodified</name>
|
||||
<type>integer</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
</declaration>
|
||||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
<name>*dbprefix*calendar_calendars</name>
|
||||
|
||||
<declaration>
|
||||
|
||||
<field>
|
||||
<name>id</name>
|
||||
<type>integer</type>
|
||||
<default>0</default>
|
||||
<notnull>true</notnull>
|
||||
<autoincrement>1</autoincrement>
|
||||
<unsigned>true</unsigned>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>userid</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>255</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>displayname</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>100</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>uri</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>100</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>ctag</name>
|
||||
<type>integer</type>
|
||||
<default>0</default>
|
||||
<notnull>true</notnull>
|
||||
<unsigned>true</unsigned>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>description</name>
|
||||
<type>clob</type>
|
||||
<notnull>false</notnull>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>calendarorder</name>
|
||||
<type>integer</type>
|
||||
<default>0</default>
|
||||
<notnull>true</notnull>
|
||||
<unsigned>true</unsigned>
|
||||
<length>4</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>calendarcolor</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>10</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>timezone</name>
|
||||
<type>clob</type>
|
||||
<notnull>false</notnull>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>components</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>false</notnull>
|
||||
<length>20</length>
|
||||
</field>
|
||||
|
||||
</declaration>
|
||||
|
||||
</table>
|
||||
|
||||
</database>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<info>
|
||||
<id>calendar</id>
|
||||
<name>Calendar</name>
|
||||
<version>0.1</version>
|
||||
<licence>AGPL</licence>
|
||||
<author>Jakob Sack</author>
|
||||
<require>2</require>
|
||||
<description>CalDAV server with viewing support.</description>
|
||||
</info>
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
/**
|
||||
* ownCloud - Addressbook
|
||||
*
|
||||
* @author Jakob Sack
|
||||
* @copyright 2011 Jakob Sack mail@jakobsack.de
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
// Do not load FS ...
|
||||
$RUNTIME_NOSETUPFS = true;
|
||||
|
||||
require_once('../../lib/base.php');
|
||||
|
||||
// Backends
|
||||
$authBackend = new OC_Connector_Sabre_Auth();
|
||||
$principalBackend = new OC_Connector_Sabre_Principal();
|
||||
$caldavBackend = new OC_Connector_Sabre_CalDAV();
|
||||
|
||||
// Root nodes
|
||||
$nodes = array(
|
||||
new Sabre_DAVACL_PrincipalCollection($principalBackend),
|
||||
new Sabre_CalDAV_CalendarRootNode($principalBackend, $caldavBackend),
|
||||
);
|
||||
|
||||
// Fire up server
|
||||
$server = new Sabre_DAV_Server($nodes);
|
||||
$server->setBaseUri($WEBROOT.'/apps/calendar/caldav.php');
|
||||
// Add plugins
|
||||
$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));
|
||||
$server->addPlugin(new Sabre_CalDAV_Plugin());
|
||||
$server->addPlugin(new Sabre_DAVACL_Plugin());
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
$defaultview = "onemonthview";
|
||||
$calendar = array("files/calendar_app/private.ics", "files/calendar_app/german_hol.ics","files/calendar_app/christ_hol.ics");
|
||||
$calendar_name = array("files/calendar_app/private.ics"=>"Privater Kalender", "files/calendar_app/german_hol.ics"=>"Deutsche Feiertage", "files/calendar_app/christ_hol.ics"=>"Christliche Feiertage");
|
||||
$calendar_status = array("files/calendar_app/private.ics"=>"enabled", "files/calendar_app/german_hol.ics"=>"disabled", "files/calendar_app/christ_hol.ics"=>"enabled");
|
||||
$default_timezone;
|
||||
?>
|
|
@ -0,0 +1,171 @@
|
|||
/*************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: ownclouddev.georgswebsite.de *
|
||||
* manual: ownclouddev.georgswebsite.de/manual *
|
||||
* License: GNU General Public License (GPL) *
|
||||
* *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* If you are not able to view the License, *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* <http://ownclouddev.georgswebsite.de/license/> *
|
||||
* please write to the Free Software Foundation. *
|
||||
* Address: *
|
||||
* 59 Temple Place, Suite 330, Boston, *
|
||||
* MA 02111-1307 USA *
|
||||
**************************************************
|
||||
* list of IDs *
|
||||
* calendar_container - contains all calendar *
|
||||
* choosecalendar - choose Calender holder *
|
||||
* choosecalendar_dialog - Dialog to choose cal. *
|
||||
* newentry_dialog - Dialog for creating an event *
|
||||
* editentry_dialog - Dialog for editing an event *
|
||||
* view - container for view chooser *
|
||||
* datecontrol - Date in the top middle *
|
||||
* datecontrol_label - label for datecontrol *
|
||||
* onedayview - view for one day *
|
||||
* oneweekview - view for one week *
|
||||
* fourweeksview - view for four weeks *
|
||||
* onemonthview - view for one month *
|
||||
* list of classes *
|
||||
* actions - owncloud native class *
|
||||
* center - centering an element *
|
||||
* control - owncloud native class *
|
||||
* dateinfo - date in four weeks and month view *
|
||||
* calender_row - normal calender row *
|
||||
* calender_time - calender row for time *
|
||||
* fourweeksview_item - item in fourweeksview *
|
||||
* onemonthview_item - item in onemonthview *
|
||||
*************************************************/
|
||||
#calendar_container {
|
||||
position: absolute;
|
||||
top: 150px;
|
||||
bottom: 10px;
|
||||
left: 230px;
|
||||
right: 100px;
|
||||
}
|
||||
#choosecalendar {
|
||||
margin-right: 10px;
|
||||
float: right;
|
||||
}
|
||||
#choosecalendar_dialog {
|
||||
display: none;
|
||||
}
|
||||
#newentry_dialog {
|
||||
display: none;
|
||||
}
|
||||
#editentry_dialog {
|
||||
display: none;
|
||||
}
|
||||
#parsingfail_dialog{
|
||||
display: none;
|
||||
}
|
||||
#view {
|
||||
margin-left: 10px;
|
||||
float: left;
|
||||
}
|
||||
#datecontrol {
|
||||
text-align: center;
|
||||
}
|
||||
#datecontrol_date_label {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#onedayview, #oneweekview, #fourweeksview, #onemonthview, #listview {
|
||||
display: none;
|
||||
}
|
||||
#onedayview table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#oneweekview table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#fourweeksview table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#onemonthview table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#fourweeksview_calw1, #fourweeksview_calw2, #fourweeksview_calw3, #fourweeksview_calw4{
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
width: 50px;
|
||||
}
|
||||
#devbox {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 300px;
|
||||
right: 300px;
|
||||
text-align: center;
|
||||
height: 50px;
|
||||
}
|
||||
.actions {
|
||||
height: 33px;
|
||||
min-width: 800px;
|
||||
}
|
||||
.controls {
|
||||
min-width: 800px;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
.dateinfo {
|
||||
height: 15px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
.events {
|
||||
height: 65px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.calendar_row {
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
.calendar_time {
|
||||
height: 20px;
|
||||
width: 50px;
|
||||
text-align:right;
|
||||
}
|
||||
.fourweeksview_item {
|
||||
text-align: center;
|
||||
height: 80px;
|
||||
}
|
||||
.onemonthview_item {
|
||||
text-align: center;
|
||||
height: 80px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
.weekend{
|
||||
text-align: center;
|
||||
height: 80px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
background: #F3F3F3;
|
||||
}
|
||||
|
||||
.weekend_thead, .weekend_row{
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
text-align: center;
|
||||
background: #F3F3F3;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 398 B |
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/*************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: ownclouddev.georgswebsite.de *
|
||||
* manual: ownclouddev.georgswebsite.de/manual *
|
||||
* License: GNU General Public License (GPL) *
|
||||
* *
|
||||
* If you are not able to view the License, *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* <http://ownclouddev.georgswebsite.de/license/> *
|
||||
* please write to the Free Software Foundation. *
|
||||
* Address: *
|
||||
* 59 Temple Place, Suite 330, Boston, *
|
||||
* MA 02111-1307 USA *
|
||||
*************************************************/
|
||||
require_once ("../../lib/base.php");
|
||||
if(!OC_USER::isLoggedIn()) {
|
||||
header("Location: " . OC_HELPER::linkTo("", "index.php"));
|
||||
exit ;
|
||||
}
|
||||
if(!file_exists("cfg/" . OC_USER::getUser() . ".cfg.php")) {
|
||||
header("Location: install.php");
|
||||
}
|
||||
OC_UTIL::addScript("calendar", "calendar");
|
||||
OC_UTIL::addScript("calendar", "calendar_init");
|
||||
OC_UTIL::addScript("calendar", "calendar_dialog");
|
||||
OC_UTIL::addStyle("calendar", "style");
|
||||
require_once ("libs/iCalcreator.php");
|
||||
require_once ("libs/oc_calendar.php");
|
||||
OC_APP::setActiveNavigationEntry("calendar_index");
|
||||
$output = new OC_TEMPLATE("calendar", "calendar", "user");
|
||||
$output -> printpage();
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
/*************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: ownclouddev.georgswebsite.de *
|
||||
* manual: ownclouddev.georgswebsite.de/manual *
|
||||
* License: GNU General Public License (GPL) *
|
||||
* *
|
||||
* If you are not able to view the License, *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* <http://ownclouddev.georgswebsite.de/license/> *
|
||||
* please write to the Free Software Foundation. *
|
||||
* Address: *
|
||||
* 59 Temple Place, Suite 330, Boston, *
|
||||
* MA 02111-1307 USA *
|
||||
*************************************************/
|
||||
require_once ("../../lib/base.php");
|
||||
if(!OC_USER::isLoggedIn()) {
|
||||
header("Location: " . OC_HELPER::linkTo("index.php"));
|
||||
exit();
|
||||
}
|
||||
if(!file_exists("cfg/" . OC_USER::getUser() . ".cfg.php")) {
|
||||
header("Location: install.php");
|
||||
}
|
||||
OC_UTIL::addScript("calendar", "calendar");
|
||||
OC_UTIL::addScript("calendar", "calendar_init");
|
||||
OC_UTIL::addStyle("calendar", "style");
|
||||
require_once ("template.php");
|
||||
OC_APP::setActiveNavigationEntry("calendar_settings");
|
||||
$output = new OC_TEMPLATE("calendar", "settings", "admin");
|
||||
$output -> printpage();
|
||||
?>
|
|
@ -0,0 +1,890 @@
|
|||
/*************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: ownclouddev.georgswebsite.de *
|
||||
* manual: ownclouddev.georgswebsite.de/manual *
|
||||
* License: GNU General Public License (GPL) *
|
||||
* *
|
||||
* If you are not able to view the License, *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* <http://ownclouddev.georgswebsite.de/license/> *
|
||||
* please write to the Free Software Foundation. *
|
||||
* Address: *
|
||||
* 59 Temple Place, Suite 330, Boston, *
|
||||
* MA 02111-1307 USA *
|
||||
**************************************************
|
||||
* list of all fx *
|
||||
* calw - Calendarweek *
|
||||
* doy - Day of the year *
|
||||
* checkforleapyear - check for a leap year *
|
||||
* update_view - update the view of the calendar *
|
||||
* onedayview - one day view *
|
||||
* oneweekview - one week view *
|
||||
* onemonthview - four Weeks view *
|
||||
* onemonthview - one Month view *
|
||||
* listview - listview *
|
||||
* forward_day - switching one day forward *
|
||||
* forward_week - switching one week forward *
|
||||
* forward_month - switching one month forward *
|
||||
* backward_day - switching one day backward *
|
||||
* backward_week - switching one week backward *
|
||||
* backward_month - switching one month backward *
|
||||
* generate_monthview - generating month view *
|
||||
* generate_dates - generate other days for view *
|
||||
* load_events - load the events *
|
||||
* switch2today - switching to today *
|
||||
* remove_events - remove old events in view *
|
||||
*************************************************/
|
||||
function calw() {
|
||||
var generate_dayofweek = dayofweek;
|
||||
if(generate_dayofweek == 0) {
|
||||
generate_dayofweek = 7;
|
||||
}
|
||||
var calw = Math.floor((doy() - generate_dayofweek) / 7) + 1;
|
||||
return calw;
|
||||
}
|
||||
|
||||
function doy() {
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
var doy = 0;
|
||||
for(var i = 0; i < month; i++) {
|
||||
doy = parseInt(doy) + parseInt(cal[i]);
|
||||
}
|
||||
doy = parseInt(doy) + dayofmonth;
|
||||
return doy;
|
||||
}
|
||||
|
||||
function checkforleapyear(year2check) {
|
||||
if((year2check / 600) == Math.floor(year2check / 400)) {
|
||||
return true;
|
||||
}
|
||||
if((year2check / 4) == Math.floor(year2check / 4)) {
|
||||
if((year2check / 100) == Math.floor(year2check / 100)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function update_view(view, task) {
|
||||
if(view == "") {
|
||||
view = currentview;
|
||||
}
|
||||
switch(view) {
|
||||
case "onedayview":
|
||||
if(task == "forward") {
|
||||
forward_day();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_day();
|
||||
}
|
||||
remove_events("oneday");
|
||||
load_cal("oneday");
|
||||
load_events("oneday");
|
||||
break;
|
||||
case "oneweekview":
|
||||
if(task == "forward") {
|
||||
forward_week();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_week();
|
||||
}
|
||||
remove_events("oneweek");
|
||||
load_cal("oneweek");
|
||||
load_events("oneweek");
|
||||
break;
|
||||
case "fourweeksview":
|
||||
if(task == "forward") {
|
||||
forward_week();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_week();
|
||||
}
|
||||
remove_events("fourweeks");
|
||||
load_cal("fourweeks");
|
||||
load_events("fourweeks");
|
||||
break;
|
||||
case "onemonthview":
|
||||
if(task == "forward") {
|
||||
forward_month();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_month();
|
||||
}
|
||||
remove_events("onemonth");
|
||||
load_cal("onemonth");
|
||||
load_events("onemonth");
|
||||
break;
|
||||
case "listview":
|
||||
if(task == "forward") {
|
||||
forward_day();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_day();
|
||||
}
|
||||
remove_events("list");
|
||||
load_cal("list");
|
||||
load_events("list");
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function listview(task) {
|
||||
if(task == "forward") {
|
||||
forward_day();
|
||||
}
|
||||
if(task == "backward") {
|
||||
backward_day();
|
||||
}
|
||||
document.getElementById("datecontrol_date_label").innerHTML = dayshort[dayofweek] + space + dayofmonth + space + monthshort[month] + space + year;
|
||||
}
|
||||
|
||||
function forward_day() {
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(dayofmonth == cal[month]) {
|
||||
if(month == 11) {
|
||||
date.setFullYear(year++, month = 0, dayofmonth = 1);
|
||||
if(dayofweek == 6) {
|
||||
dayofweek = 0;
|
||||
} else {
|
||||
dayofweek++;
|
||||
}
|
||||
} else {
|
||||
date.setMonth(month++, dayofmonth = 1);
|
||||
if(dayofweek == 6) {
|
||||
dayofweek = 0;
|
||||
} else {
|
||||
dayofweek++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
date.setDate(dayofmonth++);
|
||||
if(dayofweek == 6) {
|
||||
dayofweek = 0;
|
||||
} else {
|
||||
dayofweek++;
|
||||
}
|
||||
}
|
||||
if(month == 11) {
|
||||
update_eventsvar(year + 1);
|
||||
}
|
||||
}
|
||||
|
||||
function forward_week() {
|
||||
for(var i = 1; i <= 7; i++) {
|
||||
forward_day();
|
||||
}
|
||||
}
|
||||
|
||||
function forward_month() {
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
for(var i = 1; i <= cal[month]; i++) {
|
||||
forward_day();
|
||||
}
|
||||
}
|
||||
|
||||
function backward_day() {
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(dayofmonth == 1) {
|
||||
if(month == 0) {
|
||||
date.setFullYear(year--, month = 11, dayofmonth = 31);
|
||||
if(dayofweek == 0) {
|
||||
dayofweek = 6;
|
||||
} else {
|
||||
dayofweek--;
|
||||
}
|
||||
} else {
|
||||
date.setMonth(month--, dayofmonth = cal[month]);
|
||||
if(dayofweek == 0) {
|
||||
dayofweek = 6;
|
||||
} else {
|
||||
dayofweek--;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
date.setDate(dayofmonth--);
|
||||
if(dayofweek == 0) {
|
||||
dayofweek = 6;
|
||||
} else {
|
||||
dayofweek--;
|
||||
}
|
||||
}
|
||||
if(month == 0) {
|
||||
update_eventsvar( year - 1);
|
||||
}
|
||||
}
|
||||
|
||||
function backward_week() {
|
||||
for(var i = 1; i <= 7; i++) {
|
||||
backward_day();
|
||||
}
|
||||
}
|
||||
|
||||
function backward_month() {
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
for(var i = cal[month]; i >= 1; i--) {
|
||||
backward_day();
|
||||
}
|
||||
}
|
||||
|
||||
function generate_dates(view) {
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
if(view == "oneweek") {
|
||||
var generate_dayofweek = dayofweek;
|
||||
var generate_dayofmonth = dayofmonth;
|
||||
var generate_month = month;
|
||||
var generate_year = year;
|
||||
var dates = new Array();
|
||||
if(generate_dayofweek == 0) {
|
||||
generate_dayofweek = 7;
|
||||
}
|
||||
for(var i = generate_dayofweek; i > 1; i--) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == 1) {
|
||||
if(generate_month == 0) {
|
||||
generate_year--;
|
||||
generate_month = 11;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
} else {
|
||||
generate_month--;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth--;
|
||||
}
|
||||
generate_dayofweek--;
|
||||
}
|
||||
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
for(var i = 1; i <= 6; i++) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == cal[generate_month]) {
|
||||
if(generate_month == 11) {
|
||||
generate_year++;
|
||||
generate_month = 0;
|
||||
generate_dayofmonth = 1;
|
||||
} else {
|
||||
generate_month++;
|
||||
generate_dayofmonth = 1;
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth++;
|
||||
}
|
||||
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
}
|
||||
return dates;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
if(view == "fourweeks") {
|
||||
var generate_dayofweek = dayofweek;
|
||||
var generate_dayofmonth = dayofmonth;
|
||||
var generate_month = month;
|
||||
var generate_year = year;
|
||||
var dates = new Array();
|
||||
if(generate_dayofweek == 0) {
|
||||
generate_dayofweek = 7;
|
||||
}
|
||||
for(var i = generate_dayofweek; i > 1; i--) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == 1) {
|
||||
if(generate_month == 0) {
|
||||
generate_year--;
|
||||
generate_month = 11;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
} else {
|
||||
generate_month--;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth--;
|
||||
}
|
||||
generate_dayofweek--;
|
||||
}
|
||||
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
for(var i = 1; i <= 27; i++) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == cal[generate_month]) {
|
||||
if(generate_month == 11) {
|
||||
generate_year++;
|
||||
generate_month = 0;
|
||||
generate_dayofmonth = 1;
|
||||
} else {
|
||||
generate_month++;
|
||||
generate_dayofmonth = 1;
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth++;
|
||||
}
|
||||
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
}
|
||||
return dates;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
if(view == "onemonth") {
|
||||
var generate_dayofweek = dayofweek;
|
||||
var generate_dayofmonth = dayofmonth;
|
||||
var generate_month = month;
|
||||
var generate_year = year;
|
||||
var dates = new Array();
|
||||
for(var i = generate_dayofmonth; i > 1; i--) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == 1) {
|
||||
if(generate_month == 0) {
|
||||
generate_year--;
|
||||
generate_month = 11;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
} else {
|
||||
generate_month--;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth--;
|
||||
}
|
||||
if(generate_dayofweek == 0) {
|
||||
generate_dayofweek = 6;
|
||||
} else {
|
||||
generate_dayofweek--;
|
||||
}
|
||||
}
|
||||
if(generate_dayofweek == 0) {
|
||||
generate_dayofweek = 7;
|
||||
rows++;
|
||||
}
|
||||
for(var i = generate_dayofweek; i > 1; i--) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == 1) {
|
||||
if(generate_month == 0) {
|
||||
generate_year--;
|
||||
generate_month = 11;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
} else {
|
||||
generate_month--;
|
||||
generate_dayofmonth = cal[generate_month];
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth--;
|
||||
}
|
||||
generate_dayofweek--;
|
||||
}
|
||||
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
for(var i = 1; i <= 41; i++) {
|
||||
if(checkforleapyear(generate_year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
if(generate_dayofmonth == cal[generate_month]) {
|
||||
if(generate_month == 11) {
|
||||
generate_year++;
|
||||
generate_month = 0;
|
||||
generate_dayofmonth = 1;
|
||||
} else {
|
||||
generate_month++;
|
||||
generate_dayofmonth = 1;
|
||||
}
|
||||
} else {
|
||||
generate_dayofmonth++;
|
||||
}
|
||||
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
|
||||
}
|
||||
return dates;
|
||||
} else {////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function switch2today() {
|
||||
date = today;
|
||||
dayofweek = todaydayofweek;
|
||||
month = todaymonth;
|
||||
dayofmonth = todaydayofmonth;
|
||||
year = todayyear;
|
||||
update_view('', '');
|
||||
}
|
||||
|
||||
function load_events(view, date) {
|
||||
|
||||
}
|
||||
|
||||
function update_eventsvar(loadyear) {
|
||||
$("#js_events").load(oc_webroot + "/apps/calendar/ajax/ajax.php?task=load_events&year=" + loadyear);
|
||||
if(document.getElementById("js_events").innerHTML == "nosession") {
|
||||
alert("You are not logged in. That can happen if you don't use owncloud for a long time.");
|
||||
document.location(oc_webroot);
|
||||
}
|
||||
if(document.getElementById("js_events").innerHTML == "parsingfail" || typeof (newevents) == "undefined") {
|
||||
$(function() {
|
||||
$( "#parsingfail_dialog" ).dialog();
|
||||
});
|
||||
} else {
|
||||
events.concat(newevents);
|
||||
}
|
||||
}
|
||||
|
||||
function load_cal(loadview) {
|
||||
if(loadview == "oneday") {
|
||||
document.getElementById("datecontrol_date_label").innerHTML = dayshort[dayofweek] + space + dayofmonth + space + monthshort[month] + space + year;
|
||||
document.getElementById("onedayview_today").innerHTML = daylong[dayofweek] + space + dayofmonth + space + monthshort[month];
|
||||
}
|
||||
if(loadview == "oneweek") {
|
||||
document.getElementById("datecontrol_date_label").innerHTML = "CW: " + calw();
|
||||
var dates = generate_dates("oneweek");
|
||||
document.getElementById("oneweekview_monday").innerHTML = dayshort[1] + space + dates[0][0] + space + monthshort[dates[0][1]];
|
||||
document.getElementById("oneweekview_tuesday").innerHTML = dayshort[2] + space + dates[1][0] + space + monthshort[dates[1][1]];
|
||||
document.getElementById("oneweekview_wednesday").innerHTML = dayshort[3] + space + dates[2][0] + space + monthshort[dates[2][1]];
|
||||
document.getElementById("oneweekview_thursday").innerHTML = dayshort[4] + space + dates[3][0] + space + monthshort[dates[3][1]];
|
||||
document.getElementById("oneweekview_friday").innerHTML = dayshort[5] + space + dates[4][0] + space + monthshort[dates[4][1]];
|
||||
document.getElementById("oneweekview_saturday").innerHTML = dayshort[6] + space + dates[5][0] + space + monthshort[dates[5][1]];
|
||||
document.getElementById("oneweekview_sunday").innerHTML = dayshort[0] + space + dates[6][0] + space + monthshort[dates[6][1]];
|
||||
}
|
||||
if(loadview == "fourweeks") {
|
||||
var calw1 = calw();
|
||||
if(calw1 == 52) { //////////////////////////////// !!!! OPTIMIEREN !!!! ///////////////////////////////////////////////////////////
|
||||
var calw2 = 1;
|
||||
} else {
|
||||
var calw2 = calw() + 1;
|
||||
}
|
||||
if(calw1 == 51) {
|
||||
var calw3 = 1;
|
||||
} else if(calw1 == 52) {
|
||||
var calw3 = 2;
|
||||
} else {
|
||||
var calw3 = calw() + 2;
|
||||
}
|
||||
if(calw1 == 50) {
|
||||
var calw4 = 1;
|
||||
} else if(calw1 == 51) {
|
||||
var calw4 = 2;
|
||||
} else if(calw1 == 52) {
|
||||
var calw4 = 3;
|
||||
} else {
|
||||
var calw4 = calw() + 3;
|
||||
}
|
||||
var calwplusfour = calw4;
|
||||
var dates = generate_dates("fourweeks");
|
||||
document.getElementById("dateinfo_fourweeksview_monday_1").innerHTML = dates[0][0] + space + monthshort[dates[0][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_tuesday_1").innerHTML = dates[1][0] + space + monthshort[dates[1][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_wednesday_1").innerHTML = dates[2][0] + space + monthshort[dates[2][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_thursday_1").innerHTML = dates[3][0] + space + monthshort[dates[3][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_friday_1").innerHTML = dates[4][0] + space + monthshort[dates[4][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_saturday_1").innerHTML = dates[5][0] + space + monthshort[dates[5][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_sunday_1").innerHTML = dates[6][0] + space + monthshort[dates[6][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_monday_2").innerHTML = dates[7][0] + space + monthshort[dates[7][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_tuesday_2").innerHTML = dates[8][0] + space + monthshort[dates[8][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_wednesday_2").innerHTML = dates[9][0] + space + monthshort[dates[9][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_thursday_2").innerHTML = dates[10][0] + space + monthshort[dates[10][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_friday_2").innerHTML = dates[11][0] + space + monthshort[dates[11][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_saturday_2").innerHTML = dates[12][0] + space + monthshort[dates[12][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_sunday_2").innerHTML = dates[13][0] + space + monthshort[dates[13][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_monday_3").innerHTML = dates[14][0] + space + monthshort[dates[14][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_tuesday_3").innerHTML = dates[15][0] + space + monthshort[dates[15][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_wednesday_3").innerHTML = dates[16][0] + space + monthshort[dates[16][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_thursday_3").innerHTML = dates[17][0] + space + monthshort[dates[17][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_friday_3").innerHTML = dates[18][0] + space + monthshort[dates[18][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_saturday_3").innerHTML = dates[19][0] + space + monthshort[dates[19][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_sunday_3").innerHTML = dates[20][0] + space + monthshort[dates[20][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_monday_4").innerHTML = dates[21][0] + space + monthshort[dates[21][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_tuesday_4").innerHTML = dates[22][0] + space + monthshort[dates[22][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_wednesday_4").innerHTML = dates[23][0] + space + monthshort[dates[23][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_thursday_4").innerHTML = dates[24][0] + space + monthshort[dates[24][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_friday_4").innerHTML = dates[25][0] + space + monthshort[dates[25][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_saturday_4").innerHTML = dates[26][0] + space + monthshort[dates[26][1]];
|
||||
document.getElementById("dateinfo_fourweeksview_sunday_4").innerHTML = dates[27][0] + space + monthshort[dates[27][1]];
|
||||
document.getElementById("fourweeksview_calw1").innerHTML = calw1;
|
||||
document.getElementById("fourweeksview_calw2").innerHTML = calw2;
|
||||
document.getElementById("fourweeksview_calw3").innerHTML = calw3;
|
||||
document.getElementById("fourweeksview_calw4").innerHTML = calw4;
|
||||
document.getElementById("datecontrol_date_label").innerHTML = "CWs: " + calw() + " - " + calwplusfour;
|
||||
}
|
||||
if(loadview == "onemonth") {
|
||||
document.getElementById("datecontrol_date_label").innerHTML = monthlong[month] + space + year;
|
||||
if(checkforleapyear(year) == true) {
|
||||
var cal = leap_cal;
|
||||
} else {
|
||||
var cal = normal_cal;
|
||||
}
|
||||
var monthview_dayofweek = dayofweek;
|
||||
var monthview_dayofmonth = dayofmonth;
|
||||
for(var i = monthview_dayofmonth; i > 1; i--) {
|
||||
if(monthview_dayofweek == 0) {
|
||||
monthview_dayofweek = 6;
|
||||
} else {
|
||||
monthview_dayofweek--;
|
||||
}
|
||||
}
|
||||
document.getElementById("onemonthview_week_5").style.display = "none";
|
||||
document.getElementById("onemonthview_week_6").style.display = "none";
|
||||
rows = parseInt(monthview_dayofweek) + parseInt(cal[month]);
|
||||
rows = rows / 7;
|
||||
rows = Math.ceil(rows);
|
||||
var dates = generate_dates("onemonth");
|
||||
document.getElementById("dateinfo_onemonthview_monday_1").innerHTML = dates[0][0] + space + monthshort[dates[0][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_1").innerHTML = dates[1][0] + space + monthshort[dates[1][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_1").innerHTML = dates[2][0] + space + monthshort[dates[2][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_1").innerHTML = dates[3][0] + space + monthshort[dates[3][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_1").innerHTML = dates[4][0] + space + monthshort[dates[4][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_1").innerHTML = dates[5][0] + space + monthshort[dates[5][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_1").innerHTML = dates[6][0] + space + monthshort[dates[6][1]];
|
||||
document.getElementById("dateinfo_onemonthview_monday_2").innerHTML = dates[7][0] + space + monthshort[dates[7][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_2").innerHTML = dates[8][0] + space + monthshort[dates[8][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_2").innerHTML = dates[9][0] + space + monthshort[dates[9][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_2").innerHTML = dates[10][0] + space + monthshort[dates[10][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_2").innerHTML = dates[11][0] + space + monthshort[dates[11][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_2").innerHTML = dates[12][0] + space + monthshort[dates[12][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_2").innerHTML = dates[13][0] + space + monthshort[dates[13][1]];
|
||||
document.getElementById("dateinfo_onemonthview_monday_3").innerHTML = dates[14][0] + space + monthshort[dates[14][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_3").innerHTML = dates[15][0] + space + monthshort[dates[15][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_3").innerHTML = dates[16][0] + space + monthshort[dates[16][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_3").innerHTML = dates[17][0] + space + monthshort[dates[17][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_3").innerHTML = dates[18][0] + space + monthshort[dates[18][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_3").innerHTML = dates[19][0] + space + monthshort[dates[19][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_3").innerHTML = dates[20][0] + space + monthshort[dates[20][1]];
|
||||
document.getElementById("dateinfo_onemonthview_monday_4").innerHTML = dates[21][0] + space + monthshort[dates[21][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_4").innerHTML = dates[22][0] + space + monthshort[dates[22][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_4").innerHTML = dates[23][0] + space + monthshort[dates[23][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_4").innerHTML = dates[24][0] + space + monthshort[dates[24][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_4").innerHTML = dates[25][0] + space + monthshort[dates[25][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_4").innerHTML = dates[26][0] + space + monthshort[dates[26][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_4").innerHTML = dates[27][0] + space + monthshort[dates[27][1]];
|
||||
document.getElementById("dateinfo_onemonthview_monday_5").innerHTML = dates[28][0] + space + monthshort[dates[28][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_5").innerHTML = dates[29][0] + space + monthshort[dates[29][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_5").innerHTML = dates[30][0] + space + monthshort[dates[30][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_5").innerHTML = dates[31][0] + space + monthshort[dates[31][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_5").innerHTML = dates[32][0] + space + monthshort[dates[32][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_5").innerHTML = dates[33][0] + space + monthshort[dates[33][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_5").innerHTML = dates[34][0] + space + monthshort[dates[34][1]];
|
||||
document.getElementById("dateinfo_onemonthview_monday_6").innerHTML = dates[35][0] + space + monthshort[dates[35][1]];
|
||||
document.getElementById("dateinfo_onemonthview_tuesday_6").innerHTML = dates[36][0] + space + monthshort[dates[36][1]];
|
||||
document.getElementById("dateinfo_onemonthview_wednesday_6").innerHTML = dates[37][0] + space + monthshort[dates[37][1]];
|
||||
document.getElementById("dateinfo_onemonthview_thursday_6").innerHTML = dates[38][0] + space + monthshort[dates[38][1]];
|
||||
document.getElementById("dateinfo_onemonthview_friday_6").innerHTML = dates[39][0] + space + monthshort[dates[39][1]];
|
||||
document.getElementById("dateinfo_onemonthview_saturday_6").innerHTML = dates[40][0] + space + monthshort[dates[40][1]];
|
||||
document.getElementById("dateinfo_onemonthview_sunday_6").innerHTML = dates[41][0] + space + monthshort[dates[41][1]];
|
||||
if(rows == 5) {
|
||||
document.getElementById("onemonthview_week_5").style.display = "table-row";
|
||||
}
|
||||
if(rows == 6) {
|
||||
document.getElementById("onemonthview_week_5").style.display = "table-row";
|
||||
document.getElementById("onemonthview_week_6").style.display = "table-row";
|
||||
}
|
||||
}
|
||||
if(loadview == "list") {
|
||||
document.getElementById("datecontrol_date_label").innerHTML = dayshort[dayofweek] + space + dayofmonth + space + monthshort[month] + space + year;
|
||||
}
|
||||
}
|
||||
|
||||
function load_events(loadview) {
|
||||
if(loadview == "oneday") {
|
||||
if( typeof (events[year][month][dayofmonth]) != "undefined") {
|
||||
if( typeof (events[year][month][dayofmonth]["allday"]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("onedayview_wholeday");
|
||||
while( typeof (events[year][month][dayofmonth]["allday"][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "onedayview_allday_" + eventnumber;
|
||||
newp.className = "onedayview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("onedayview_allday_" + eventnumber).innerHTML = events[year][month][dayofmonth]["allday"][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
}
|
||||
}
|
||||
for( i = 0; i <= 23; i++) {
|
||||
if( typeof (events[year][month][dayofmonth][i]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
while( typeof (events[year][month][dayofmonth][i][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "onedayview_" + i + "_" + eventnumber;
|
||||
newp.className = "onedayview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("onedayview_" + i + "_" + eventnumber).innerHTML = events[year][month][dayofmonth][i][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(loadview == "oneweek") {//(generate_dayofmonth, generate_month, generate_year);
|
||||
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
|
||||
var dates = generate_dates("oneweek");
|
||||
document.getElementById("devbox").innerHTML = "";
|
||||
for(var i = 0; i <= 6; i++) {
|
||||
var loadevents_month = dates[i][0];
|
||||
var loadevents_days = dates[i][1];
|
||||
if( typeof (events[year][loadevents_month]) != "undefined") {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]) != "undefined") {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("oneweekview_" + weekdays[i] + "_allday");
|
||||
while( typeof (events[year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "oneweekview_" + weekdays[i] + "_allday_" + eventnumber;
|
||||
newp.className = "oneweekview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("oneweekview_" + weekdays[i] + "_allday_" + eventnumber).innerHTML = events[year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
}
|
||||
}
|
||||
for(var time = 0; time <= 23; time++) {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days][time]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("oneweekview_" + weekdays[i] + "_" + time);
|
||||
while( typeof (events[year][loadevents_month][loadevents_days][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "oneweekview_" + i + "_" + eventnumber;
|
||||
newp.className = "oneweekview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("oneweekview_" + i + "_" + eventnumber).innerHTML = events[year][loadevents_month][loadevents_days][i][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(loadview == "fourweeks") {
|
||||
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
|
||||
var dates = generate_dates("fourweeks");
|
||||
var weekdaynum = 0;
|
||||
var weeknum = 1;
|
||||
for(var i = 0; i <= 27; i++) {
|
||||
var loadevents_month = dates[i][0];
|
||||
var loadevents_days = dates[i][1];
|
||||
if( typeof (events[year][loadevents_month]) != "undefined") {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]) != "undefined") {
|
||||
var pnum = 0;
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("events_fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum);
|
||||
while( typeof (events[year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum;
|
||||
newp.className = "fourweeksview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum).innerHTML = events[year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
pnum++;
|
||||
}
|
||||
}
|
||||
for(var time = 0; time <= 23; time++) {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days][time]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("events_fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum);
|
||||
while( typeof (events[year][loadevents_month][loadevents_days][i][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "fourweeksview_" + i + "_" + eventnumber;
|
||||
newp.className = "fourweeksview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("fourweeksview_" + i + "_" + eventnumber).innerHTML = events[year][loadevents_month][loadevents_days][i][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
pnum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(weekdaynum == 6){
|
||||
weekdaynum = 0;
|
||||
weeknum++;
|
||||
}else{
|
||||
weekdaynum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(loadview == "onemonth") {
|
||||
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
|
||||
var dates = generate_dates("onemonth");
|
||||
var weekdaynum = 0;
|
||||
var weeknum = 1;
|
||||
for(var i = 0; i <= 41; i++) {
|
||||
var loadevents_month = dates[i][0];
|
||||
var loadevents_days = dates[i][1];
|
||||
if( typeof (events[year][loadevents_month]) != "undefined") {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]) != "undefined") {
|
||||
var pnum = 0;
|
||||
if( typeof (events[year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("events_onemonthview_" + weekdays[weekdaynum] + "_" + weeknum);
|
||||
while( typeof (events[year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "onemonthview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum;
|
||||
newp.className = "onemonthview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("onemonthview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum).innerHTML = events[year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
pnum++;
|
||||
}
|
||||
}
|
||||
for(var time = 0; time <= 23; time++) {
|
||||
if( typeof (events[year][loadevents_month][loadevents_days][time]) != "undefined") {
|
||||
var eventnumber = 1;
|
||||
var eventcontainer = document.getElementById("events_onemonthview_" + weekdays[weekdaynum] + "_" + weeknum);
|
||||
while( typeof (events[year][loadevents_month][loadevents_days][i][eventnumber]) != "undefined") {
|
||||
var newp = document.createElement("p");
|
||||
newp.id = "onemonthview_" + i + "_" + eventnumber;
|
||||
newp.className = "onemonthview_event";
|
||||
eventcontainer.appendChild(newp);
|
||||
document.getElementById("onemonthview_" + i + "_" + eventnumber).innerHTML = events[year][loadevents_month][loadevents_days][i][eventnumber]["description"];
|
||||
eventnumber++;
|
||||
pnum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(weekdaynum == 6){
|
||||
weekdaynum = 0;
|
||||
weeknum++;
|
||||
}else{
|
||||
weekdaynum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(loadview == "list") {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
function remove_events(removeview) {
|
||||
if(removeview == "oneday") {
|
||||
document.getElementById("onedayview_wholeday").innerHTML = "";
|
||||
for(var i = 0; i <= 23; i++) {
|
||||
document.getElementById("onedayview_" + i).innerHTML = "";
|
||||
}
|
||||
}
|
||||
if(removeview == "oneweek") {
|
||||
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
|
||||
for( i = 0; i <= 6; i++) {
|
||||
document.getElementById("oneweekview_" + weekdays[i] + "_allday").innerHTML = "";
|
||||
for(var time = 0; time <= 23; time++) {
|
||||
document.getElementById("oneweekview_" + weekdays[i] + "_" + time).innerHTML = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(removeview == "fourweeks") {
|
||||
document.getElementById("events_fourweeksview_monday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_tuesday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_wednesday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_thursday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_friday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_saturday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_sunday_1").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_monday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_tuesday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_wednesday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_thursday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_friday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_saturday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_sunday_2").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_monday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_tuesday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_wednesday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_thursday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_friday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_saturday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_sunday_3").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_monday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_tuesday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_wednesday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_thursday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_friday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_saturday_4").innerHTML = "";
|
||||
document.getElementById("events_fourweeksview_sunday_4").innerHTML = "";
|
||||
}
|
||||
if(removeview == "onemonth") {
|
||||
document.getElementById("events_onemonthview_monday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_1").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_monday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_2").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_monday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_3").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_monday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_4").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_monday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_5").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_monday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_tuesday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_wednesday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_thursday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_friday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_saturday_6").innerHTML = "";
|
||||
document.getElementById("events_onemonthview_sunday_6").innerHTML = "";
|
||||
}
|
||||
if(removeview == "list") {
|
||||
document.getElementById("listview").innerHTML = "";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
/*************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: ownclouddev.georgswebsite.de *
|
||||
* manual: ownclouddev.georgswebsite.de/manual *
|
||||
* License: GNU General Public License (GPL) *
|
||||
* *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* If you are not able to view the License, *
|
||||
* <http://www.gnu.org/licenses/> *
|
||||
* <http://ownclouddev.georgswebsite.de/license/> *
|
||||
* please write to the Free Software Foundation. *
|
||||
* Address: *
|
||||
* 59 Temple Place, Suite 330, Boston, *
|
||||
* MA 02111-1307 USA *
|
||||
**************************************************
|
||||
* list of all fx *
|
||||
* choosecalendar_dialog - calendar chooser *
|
||||
* newevent_dialog - create event dialog *
|
||||
* editevent_dialog - edit event dialog *
|
||||
* choosecalendar_dialog_submit - submit *
|
||||
* newevent_dialog_submit - submit *
|
||||
* editevent_dialog_submit - submit *
|
||||
*************************************************/
|
||||
function choosecalendar_dialog() {
|
||||
$( function() {
|
||||
$( "#choosecalendar_dialog" ).dialog();
|
||||
});
|
||||
}
|
||||
|
||||
function newevent_dialog() {
|
||||
$( function() {
|
||||
$( "#newevent" ).dialog();
|
||||
});
|
||||
}
|
||||
|
||||
function editevent_dialog() {
|
||||
$( function() {
|
||||
$( "#editevent" ).dialog();
|
||||
});
|
||||
}
|
||||
|
||||
function choosecalendar_dialog_submit() {
|
||||
|
||||
}
|
||||
|
||||
function newevent_dialog_submit() {
|
||||
|
||||
}
|
||||
|
||||
function editevent_dialog_submit() {
|
||||
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
/************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: http://ownclouddev.georgswebsite.de *
|
||||
* License: GPL *
|
||||
* <http://www.gnu.org/licenses/>. *
|
||||
************************************************/
|
||||
//loading Buttons
|
||||
$(function(){
|
||||
$("#view").buttonset();
|
||||
$("#choosecalendar").buttonset();
|
||||
$("#datecontrol_left").button();
|
||||
$("#datecontrol_left").button({ disabled: true });
|
||||
$("#datecontrol_date").button();
|
||||
$("#datecontrol_right").button();
|
||||
$("#datecontrol_right").button({ disabled: true });
|
||||
$(".choosecalendar_check").button();
|
||||
$("#oneday").button();
|
||||
$("#oneweek").button();
|
||||
$("#fourweek").button();
|
||||
$("#onemonth").button();
|
||||
$("#list").button();
|
||||
});
|
||||
//init date vars
|
||||
var date = new Date();
|
||||
var dayofweek = date.getDay();
|
||||
var month = date.getMonth();
|
||||
var dayofmonth = date.getDate();
|
||||
var year = date.getFullYear();
|
||||
var daylong = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
|
||||
var dayshort = new Array("Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat.");
|
||||
var monthlong = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
|
||||
var monthshort = new Array("Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec.");
|
||||
var space = " ";
|
||||
var normal_cal = new Array("31","28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
|
||||
var leap_cal = new Array("31","29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
|
||||
//init today date vars
|
||||
var today = new Date();
|
||||
var todaydayofweek = today.getDay();
|
||||
var todaymonth = today.getMonth();
|
||||
var todaydayofmonth = today.getDate();
|
||||
var todayyear = today.getFullYear();
|
||||
//other vars
|
||||
var rows;
|
||||
var dates;
|
||||
var listview_numofevents = 0;
|
||||
var listview_count = 0;
|
||||
//event vars
|
||||
var events = new Array(2011);
|
||||
events[2011] = new Array(0,1,2,3,4,5,6,7,8,9,10,11);
|
||||
events[2011][7] = new Array();
|
||||
events[2011][7][7] = new Array();
|
||||
events[2011][7][7]["allday"] = new Array(1, 2);
|
||||
events[2011][7][7]["allday"][1] = new Array("description");
|
||||
events[2011][7][7]["allday"][1]["description"] = "abc";
|
||||
events[2011][7][7]["allday"][2] = new Array("description");
|
||||
events[2011][7][7]["allday"][2]["description"] = "ghfgh";
|
||||
events[2011][7][13] = new Array();
|
|
@ -0,0 +1,352 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* PDO CalDAV backend
|
||||
*
|
||||
* This backend is used to store calendar-data in a PDO database, such as
|
||||
* sqlite or MySQL
|
||||
*
|
||||
* @package Sabre
|
||||
* @subpackage CalDAV
|
||||
* @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
|
||||
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
||||
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
|
||||
*/
|
||||
class OC_Connector_Sabre_CalDAV extends Sabre_CalDAV_Backend_Abstract {
|
||||
/**
|
||||
* List of CalDAV properties, and how they map to database fieldnames
|
||||
*
|
||||
* Add your own properties by simply adding on to this array
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $propertyMap = array(
|
||||
'{DAV:}displayname' => 'displayname',
|
||||
'{urn:ietf:params:xml:ns:caldav}calendar-description' => 'description',
|
||||
'{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone',
|
||||
'{http://apple.com/ns/ical/}calendar-order' => 'calendarorder',
|
||||
'{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor',
|
||||
);
|
||||
|
||||
/**
|
||||
* Returns a list of calendars for a principal.
|
||||
*
|
||||
* Every project is an array with the following keys:
|
||||
* * id, a unique id that will be used by other functions to modify the
|
||||
* calendar. This can be the same as the uri or a database key.
|
||||
* * uri, which the basename of the uri with which the calendar is
|
||||
* accessed.
|
||||
* * principalUri. The owner of the calendar. Almost always the same as
|
||||
* principalUri passed to this method.
|
||||
*
|
||||
* Furthermore it can contain webdav properties in clark notation. A very
|
||||
* common one is '{DAV:}displayname'.
|
||||
*
|
||||
* @param string $principalUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarsForUser($principalUri) {
|
||||
|
||||
$fields = array_values($this->propertyMap);
|
||||
$fields[] = 'id';
|
||||
$fields[] = 'uri';
|
||||
$fields[] = 'ctag';
|
||||
$fields[] = 'components';
|
||||
$fields[] = 'principaluri';
|
||||
|
||||
// Making fields a comma-delimited list
|
||||
$fields = implode(', ', $fields);
|
||||
$stmt = $this->pdo->prepare("SELECT " . $fields . " FROM `".$this->calendarTableName."` WHERE principaluri = ?");
|
||||
$stmt->execute(array($principalUri));
|
||||
|
||||
$calendars = array();
|
||||
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
|
||||
$components = explode(',',$row['components']);
|
||||
|
||||
$calendar = array(
|
||||
'id' => $row['id'],
|
||||
'uri' => $row['uri'],
|
||||
'principaluri' => $row['principaluri'],
|
||||
'{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $row['ctag']?$row['ctag']:'0',
|
||||
'{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet($components),
|
||||
);
|
||||
|
||||
|
||||
foreach($this->propertyMap as $xmlName=>$dbName) {
|
||||
$calendar[$xmlName] = $row[$dbName];
|
||||
}
|
||||
|
||||
$calendars[] = $calendar;
|
||||
|
||||
}
|
||||
|
||||
return $calendars;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new calendar for a principal.
|
||||
*
|
||||
* If the creation was a success, an id must be returned that can be used to reference
|
||||
* this calendar in other methods, such as updateCalendar
|
||||
*
|
||||
* @param string $principalUri
|
||||
* @param string $calendarUri
|
||||
* @param array $properties
|
||||
* @return mixed
|
||||
*/
|
||||
public function createCalendar($principalUri,$calendarUri, array $properties) {
|
||||
|
||||
$fieldNames = array(
|
||||
'principaluri',
|
||||
'uri',
|
||||
'ctag',
|
||||
);
|
||||
$values = array(
|
||||
':principaluri' => $principalUri,
|
||||
':uri' => $calendarUri,
|
||||
':ctag' => 1,
|
||||
);
|
||||
|
||||
// Default value
|
||||
$sccs = '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set';
|
||||
$fieldNames[] = 'components';
|
||||
if (!isset($properties[$sccs])) {
|
||||
$values[':components'] = 'VEVENT,VTODO';
|
||||
} else {
|
||||
if (!($properties[$sccs] instanceof Sabre_CalDAV_Property_SupportedCalendarComponentSet)) {
|
||||
throw new Sabre_DAV_Exception('The ' . $sccs . ' property must be of type: Sabre_CalDAV_Property_SupportedCalendarComponentSet');
|
||||
}
|
||||
$values[':components'] = implode(',',$properties[$sccs]->getValue());
|
||||
}
|
||||
|
||||
foreach($this->propertyMap as $xmlName=>$dbName) {
|
||||
if (isset($properties[$xmlName])) {
|
||||
|
||||
$myValue = $properties[$xmlName];
|
||||
$values[':' . $dbName] = $properties[$xmlName];
|
||||
$fieldNames[] = $dbName;
|
||||
}
|
||||
}
|
||||
|
||||
$stmt = $this->pdo->prepare("INSERT INTO `".$this->calendarTableName."` (".implode(', ', $fieldNames).") VALUES (".implode(', ',array_keys($values)).")");
|
||||
$stmt->execute($values);
|
||||
|
||||
return $this->pdo->lastInsertId();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a calendars properties
|
||||
*
|
||||
* The properties array uses the propertyName in clark-notation as key,
|
||||
* and the array value for the property value. In the case a property
|
||||
* should be deleted, the property value will be null.
|
||||
*
|
||||
* This method must be atomic. If one property cannot be changed, the
|
||||
* entire operation must fail.
|
||||
*
|
||||
* If the operation was successful, true can be returned.
|
||||
* If the operation failed, false can be returned.
|
||||
*
|
||||
* Deletion of a non-existant property is always succesful.
|
||||
*
|
||||
* Lastly, it is optional to return detailed information about any
|
||||
* failures. In this case an array should be returned with the following
|
||||
* structure:
|
||||
*
|
||||
* array(
|
||||
* 403 => array(
|
||||
* '{DAV:}displayname' => null,
|
||||
* ),
|
||||
* 424 => array(
|
||||
* '{DAV:}owner' => null,
|
||||
* )
|
||||
* )
|
||||
*
|
||||
* In this example it was forbidden to update {DAV:}displayname.
|
||||
* (403 Forbidden), which in turn also caused {DAV:}owner to fail
|
||||
* (424 Failed Dependency) because the request needs to be atomic.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param array $properties
|
||||
* @return bool|array
|
||||
*/
|
||||
public function updateCalendar($calendarId, array $properties) {
|
||||
|
||||
$newValues = array();
|
||||
$result = array(
|
||||
200 => array(), // Ok
|
||||
403 => array(), // Forbidden
|
||||
424 => array(), // Failed Dependency
|
||||
);
|
||||
|
||||
$hasError = false;
|
||||
|
||||
foreach($properties as $propertyName=>$propertyValue) {
|
||||
|
||||
// We don't know about this property.
|
||||
if (!isset($this->propertyMap[$propertyName])) {
|
||||
$hasError = true;
|
||||
$result[403][$propertyName] = null;
|
||||
unset($properties[$propertyName]);
|
||||
continue;
|
||||
}
|
||||
|
||||
$fieldName = $this->propertyMap[$propertyName];
|
||||
$newValues[$fieldName] = $propertyValue;
|
||||
|
||||
}
|
||||
|
||||
// If there were any errors we need to fail the request
|
||||
if ($hasError) {
|
||||
// Properties has the remaining properties
|
||||
foreach($properties as $propertyName=>$propertyValue) {
|
||||
$result[424][$propertyName] = null;
|
||||
}
|
||||
|
||||
// Removing unused statuscodes for cleanliness
|
||||
foreach($result as $status=>$properties) {
|
||||
if (is_array($properties) && count($properties)===0) unset($result[$status]);
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
// Success
|
||||
|
||||
// Now we're generating the sql query.
|
||||
$valuesSql = array();
|
||||
foreach($newValues as $fieldName=>$value) {
|
||||
$valuesSql[] = $fieldName . ' = ?';
|
||||
}
|
||||
$valuesSql[] = 'ctag = ctag + 1';
|
||||
|
||||
$stmt = $this->pdo->prepare("UPDATE `" . $this->calendarTableName . "` SET " . implode(', ',$valuesSql) . " WHERE id = ?");
|
||||
$newValues['id'] = $calendarId;
|
||||
$stmt->execute(array_values($newValues));
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a calendar and all it's objects
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendar($calendarId) {
|
||||
|
||||
$stmt = $this->pdo->prepare('DELETE FROM `'.$this->calendarObjectTableName.'` WHERE calendarid = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
|
||||
$stmt = $this->pdo->prepare('DELETE FROM `'.$this->calendarTableName.'` WHERE id = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all calendar objects within a calendar object.
|
||||
*
|
||||
* Every item contains an array with the following keys:
|
||||
* * id - unique identifier which will be used for subsequent updates
|
||||
* * calendardata - The iCalendar-compatible calnedar data
|
||||
* * uri - a unique key which will be used to construct the uri. This can be any arbitrary string.
|
||||
* * lastmodified - a timestamp of the last modification time
|
||||
* * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
|
||||
* ' "abcdef"')
|
||||
* * calendarid - The calendarid as it was passed to this function.
|
||||
*
|
||||
* Note that the etag is optional, but it's highly encouraged to return for
|
||||
* speed reasons.
|
||||
*
|
||||
* The calendardata is also optional. If it's not returned
|
||||
* 'getCalendarObject' will be called later, which *is* expected to return
|
||||
* calendardata.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObjects($calendarId) {
|
||||
|
||||
$stmt = $this->pdo->prepare('SELECT * FROM `'.$this->calendarObjectTableName.'` WHERE calendarid = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
return $stmt->fetchAll();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns information from a single calendar object, based on it's object
|
||||
* uri.
|
||||
*
|
||||
* The returned array must have the same keys as getCalendarObjects. The
|
||||
* 'calendardata' object is required here though, while it's not required
|
||||
* for getCalendarObjects.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObject($calendarId,$objectUri) {
|
||||
|
||||
$stmt = $this->pdo->prepare('SELECT * FROM `'.$this->calendarObjectTableName.'` WHERE calendarid = ? AND uri = ?');
|
||||
$stmt->execute(array($calendarId, $objectUri));
|
||||
return $stmt->fetch();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function createCalendarObject($calendarId,$objectUri,$calendarData) {
|
||||
|
||||
$stmt = $this->pdo->prepare('INSERT INTO `'.$this->calendarObjectTableName.'` (calendarid, uri, calendardata, lastmodified) VALUES (?,?,?,?)');
|
||||
$stmt->execute(array($calendarId,$objectUri,$calendarData,time()));
|
||||
$stmt = $this->pdo->prepare('UPDATE `'.$this->calendarTableName.'` SET ctag = ctag + 1 WHERE id = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing calendarobject, based on it's uri.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function updateCalendarObject($calendarId,$objectUri,$calendarData) {
|
||||
|
||||
$stmt = $this->pdo->prepare('UPDATE `'.$this->calendarObjectTableName.'` SET calendardata = ?, lastmodified = ? WHERE calendarid = ? AND uri = ?');
|
||||
$stmt->execute(array($calendarData,time(),$calendarId,$objectUri));
|
||||
$stmt = $this->pdo->prepare('UPDATE `'.$this->calendarTableName.'` SET ctag = ctag + 1 WHERE id = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendarObject($calendarId,$objectUri) {
|
||||
|
||||
$stmt = $this->pdo->prepare('DELETE FROM `'.$this->calendarObjectTableName.'` WHERE calendarid = ? AND uri = ?');
|
||||
$stmt->execute(array($calendarId,$objectUri));
|
||||
$stmt = $this->pdo->prepare('UPDATE `'. $this->calendarTableName .'` SET ctag = ctag + 1 WHERE id = ?');
|
||||
$stmt->execute(array($calendarId));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,286 @@
|
|||
<?php
|
||||
/**
|
||||
* ownCloud - Addressbook
|
||||
*
|
||||
* @author Jakob Sack
|
||||
* @copyright 2011 Jakob Sack mail@jakobsack.de
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
/*
|
||||
*
|
||||
* The following SQL statement is just a help for developers and will not be
|
||||
* executed!
|
||||
*
|
||||
* CREATE TABLE calendar_objects (
|
||||
* id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
* calendarid INTEGER UNSIGNED NOT NULL,
|
||||
* objecttype VARCHAR(40) NOT NULL,
|
||||
* startdate DATETIME,
|
||||
* enddate DATETIME,
|
||||
* repeating INT(1),
|
||||
* summary VARCHAR(255),
|
||||
* calendardata TEXT,
|
||||
* uri VARCHAR(100),
|
||||
* lastmodified INT(11)
|
||||
* );
|
||||
*
|
||||
* CREATE TABLE calendar_calendars (
|
||||
* id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
* userid VARCHAR(255),
|
||||
* displayname VARCHAR(100),
|
||||
* uri VARCHAR(100),
|
||||
* ctag INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
* description TEXT,
|
||||
* calendarorder INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
* calendarcolor VARCHAR(10),
|
||||
* timezone TEXT,
|
||||
* components VARCHAR(20)
|
||||
* );
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class manages our addressbooks.
|
||||
*/
|
||||
class OC_Calendar_Calendar{
|
||||
public static function allCalendars($uid){
|
||||
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*calendar_calendars WHERE userid = ?' );
|
||||
$result = $stmt->execute(array($uid));
|
||||
|
||||
$addressbooks = array();
|
||||
while( $row = $result->fetchRow()){
|
||||
$addressbooks[] = $row;
|
||||
}
|
||||
|
||||
return $addressbooks;
|
||||
}
|
||||
|
||||
public static function allCakendarsWherePrincipalURIIs($principaluri){
|
||||
$uid = self::extractUserID($principaluri);
|
||||
return self::allCalendars($uid);
|
||||
}
|
||||
|
||||
public static function findCalendar($id){
|
||||
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*calendar_calendars WHERE id = ?' );
|
||||
$result = $stmt->execute(array($id));
|
||||
|
||||
return $result->fetchRow();
|
||||
}
|
||||
|
||||
public static function addAddressbook($userid,$name,$description){
|
||||
$all = self::allAddressbooks($userid);
|
||||
$uris = array();
|
||||
foreach($all as $i){
|
||||
$uris[] = $i['uri'];
|
||||
}
|
||||
|
||||
$uri = self::createURI($name, $uris );
|
||||
|
||||
$stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_addressbooks (userid,displayname,uri,description,ctag) VALUES(?,?,?,?,?)' );
|
||||
$result = $stmt->execute(array($userid,$name,$uri,$description,1));
|
||||
|
||||
return OC_DB::insertid();
|
||||
}
|
||||
|
||||
public static function addAddressbookFromDAVData($principaluri,$uri,$name,$description){
|
||||
$userid = self::extractUserID($principaluri);
|
||||
|
||||
$stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_addressbooks (userid,displayname,uri,description,ctag) VALUES(?,?,?,?,?)' );
|
||||
$result = $stmt->execute(array($userid,$name,$uri,$description,1));
|
||||
|
||||
return OC_DB::insertid();
|
||||
}
|
||||
|
||||
public static function editAddressbook($id,$name,$description){
|
||||
// Need these ones for checking uri
|
||||
$addressbook = self::find($id);
|
||||
|
||||
if(is_null($name)){
|
||||
$name = $addressbook['name'];
|
||||
}
|
||||
if(is_null($description)){
|
||||
$description = $addressbook['description'];
|
||||
}
|
||||
|
||||
$stmt = OC_DB::prepare( 'UPDATE *PREFIX*contacts_addressbooks SET displayname=?,description=?, ctag=ctag+1 WHERE id=?' );
|
||||
$result = $stmt->execute(array($name,$description,$id));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function touchCalendar($id){
|
||||
$stmt = OC_DB::prepare( 'UPDATE *PREFIX*calendar_calendars SET ctag = ctag + 1 WHERE id = ?' );
|
||||
$stmt->execute(array($id));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function deleteCalendar($id){
|
||||
$stmt = OC_DB::prepare( 'DELETE FROM *PREFIX*calendar_calendars WHERE id = ?' );
|
||||
$stmt->execute(array($id));
|
||||
|
||||
$stmt = OC_DB::prepare( 'DELETE FROM *PREFIX*calendar_objects WHERE addressbookid = ?' );
|
||||
$stmt->execute(array($id));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function allCalendarObjects($id){
|
||||
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*calendar_objects WHERE calendarid = ?' );
|
||||
$result = $stmt->execute(array($id));
|
||||
|
||||
$addressbooks = array();
|
||||
while( $row = $result->fetchRow()){
|
||||
$addressbooks[] = $row;
|
||||
}
|
||||
|
||||
return $addressbooks;
|
||||
}
|
||||
|
||||
public static function findCalendarObject($id){
|
||||
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*calendar_objects WHERE id = ?' );
|
||||
$result = $stmt->execute(array($id));
|
||||
|
||||
return $result->fetchRow();
|
||||
}
|
||||
|
||||
public static function findCalendarObjectWhereDAVDataIs($cid,$uri){
|
||||
$stmt = OC_DB::prepare( 'SELECT * FROM *PREFIX*calendar_objects WHERE calendarid = ? AND uri = ?' );
|
||||
$result = $stmt->execute(array($cid,$uri));
|
||||
|
||||
return $result->fetchRow();
|
||||
}
|
||||
|
||||
public static function addCard($id,$data){
|
||||
$object = Sabre_VObject_Reader::read($data);
|
||||
list($startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
|
||||
|
||||
$fn = null;
|
||||
$uri = null;
|
||||
$card = Sabre_VObject_Reader::read($data);
|
||||
foreach($card->children as $property){
|
||||
if($property->name == 'FN'){
|
||||
$fn = $property->value;
|
||||
}
|
||||
elseif(is_null($uri) && $property->name == 'UID' ){
|
||||
$uri = $property->value.'.vcf';
|
||||
}
|
||||
}
|
||||
if(is_null($uri)) $uri = self::createUID().'.vcf';
|
||||
|
||||
$stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_cards (addressbookid,fullname,carddata,uri,lastmodified) VALUES(?,?,?,?,?)' );
|
||||
$result = $stmt->execute(array($id,$fn,$data,$uri,time()));
|
||||
|
||||
self::touchAddressbook($id);
|
||||
|
||||
return OC_DB::insertid();
|
||||
}
|
||||
|
||||
public static function addCalendarObjectFromDAVData($id,$uri,$data){
|
||||
$object = Sabre_VObject_Reader::read($data);
|
||||
list($startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
|
||||
|
||||
$stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*calendar_objects (calendarid,objecttye,startdate,enddate,repeating,summary,calendardata,uri,lastmodified) VALUES(?,?,?,?,?,?,?,?,?)' );
|
||||
$result = $stmt->execute(array($id,$object->name,(is_null($startdate)?null:$startdate->format('Y-m-d H:i:s')),(is_null($enddate)?null:$enddate->format('Y-m-d H:i:s')),$repeating,$summary,$data,$uri,time()));
|
||||
|
||||
self::touchCalendar($id);
|
||||
|
||||
return OC_DB::insertid();
|
||||
}
|
||||
|
||||
public static function editCalendarObject($id, $data){
|
||||
$oldobject = self::findCard($id);
|
||||
|
||||
$object = Sabre_VObject_Reader::read($data);
|
||||
list($startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
|
||||
|
||||
$stmt = OC_DB::prepare( 'UPDATE *PREFIX*contacts_cards SET objecttye=?,startdate=?,enddate=?,repeating=?,summary=?,calendardata=?, lastmodified = ? WHERE id = ?' );
|
||||
$result = $stmt->execute(array($object->name,(is_null($startdate)?null:$startdate->format('Y-m-d H:i:s')),(is_null($enddate)?null:$enddate->format('Y-m-d H:i:s')),$repeating,$summary,$data,time(),$id));
|
||||
|
||||
self::touchCalendar($id);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function editCalendarObjectFromDAVData($cid,$uri,$data){
|
||||
$oldobject = self::findCardWhereDAVDataIs($cid,$uri);
|
||||
|
||||
$object = Sabre_VObject_Reader::read($data);
|
||||
list($startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
|
||||
|
||||
$stmt = OC_DB::prepare( 'UPDATE *PREFIX*contacts_cards SET objecttye=?,startdate=?,enddate=?,repeating=?,summary=?,calendardata=?, lastmodified = ? WHERE id = ?' );
|
||||
$result = $stmt->execute(array($object->name,(is_null($startdate)?null:$startdate->format('Y-m-d H:i:s')),(is_null($enddate)?null:$enddate->format('Y-m-d H:i:s')),$repeating,$summary,$data,time(),$oldobject['id']));
|
||||
|
||||
self::touchCalendar($oldobject['calendarid']);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function deleteCalendarObject($id){
|
||||
$stmt = OC_DB::prepare( 'DELETE FROM *PREFIX*calendar_objects WHERE id = ?' );
|
||||
$stmt->execute(array($id));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function deleteCalendarObjectFromDAVData($cid,$uri){
|
||||
$stmt = OC_DB::prepare( 'DELETE FROM *PREFIX*calendar_objects WHERE calendarid = ? AND uri=?' );
|
||||
$stmt->execute(array($cid,$uri));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function createURI($name,$existing){
|
||||
$name = strtolower($name);
|
||||
$newname = $name;
|
||||
$i = 1;
|
||||
while(in_array($newname,$existing)){
|
||||
$newname = $name.$i;
|
||||
$i = $i + 1;
|
||||
}
|
||||
return $newname;
|
||||
}
|
||||
|
||||
public static function createUID(){
|
||||
return substr(md5(rand().time()),0,10);
|
||||
}
|
||||
|
||||
public static function extractUserID($principaluri){
|
||||
list($prefix,$userid) = Sabre_DAV_URLUtil::splitPath($principaluri);
|
||||
return $userid;
|
||||
}
|
||||
|
||||
protected static function extractData($object){
|
||||
$return = array(null,null,'',false,null);
|
||||
foreach($object->children as $property){
|
||||
if($property->name == 'DTSTART'){
|
||||
$return[0] = $property->getDateTime();
|
||||
}
|
||||
elseif($property->name == 'DTEND'){
|
||||
$return[1] = $property->getDateTime();
|
||||
}
|
||||
elseif($property->name == 'SUMMARY'){
|
||||
$return[2] = $property->value;
|
||||
}
|
||||
elseif($property->name == 'RRULE'){
|
||||
$return[3] = true;
|
||||
}
|
||||
elseif($property->name == 'UID'){
|
||||
$return[4] = $property->value;
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
/**
|
||||
* ownCloud - Addressbook
|
||||
*
|
||||
* @author Jakob Sack
|
||||
* @copyright 2011 Jakob Sack mail@jakobsack.de
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all hooks.
|
||||
*/
|
||||
class OC_Calendar_Hooks{
|
||||
/**
|
||||
* @brief Deletes all Addressbooks of a certain user
|
||||
* @param paramters parameters from postDeleteUser-Hook
|
||||
* @return array
|
||||
*/
|
||||
public function deleteUser($parameters) {
|
||||
$calendars = OC_Calendar_Calendar::allCalendars($parameters['uid']);
|
||||
|
||||
foreach($calendars as $calendar) {
|
||||
OC_Calendar_Calendar::deleteCalendar($addressbook['id']);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
/**
|
||||
/ ownCloud - Calendar Plugin
|
||||
/
|
||||
/ (c) Copyright 2011 Georg Ehrke
|
||||
/ author: Georg Ehrke
|
||||
/ email: ownclouddev at georgswebsite dot de
|
||||
/ homepage: ownclouddev.georgswebsite.de
|
||||
/ License: GPL
|
||||
/ <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
class OC_CALENDAR_ICAL{
|
||||
public $defaultview;
|
||||
public $calendar;
|
||||
public $calendar_name;
|
||||
public $calendar_status;
|
||||
public $ics_properties;
|
||||
public $VCALENDAR;
|
||||
public $VTIMEZONE;
|
||||
public $DAYLIGHT;
|
||||
|
||||
function __construct(){
|
||||
include("cfg/" . OC_USER::getUser() . ".cfg.php");
|
||||
include("iCalcreator.php");
|
||||
$this->defaultview = $defaultview;
|
||||
$this->calendar = $calendar;
|
||||
$this->calendar_name = $calendar_name;
|
||||
$this->calendarstatus = $calendar_status;
|
||||
}
|
||||
|
||||
public function load_ics($path){
|
||||
if(!file_exists("../../data/" . OC_USER::getUser() . $path)){
|
||||
return false;
|
||||
}else{
|
||||
$calfile = file("../../data/" . OC_USER::getUser() . $path);
|
||||
$return = array();
|
||||
$eventnum = 0;
|
||||
foreach($calfile as $line){
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function converttojs($cal){
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function addevent($event, $calendar){
|
||||
|
||||
}
|
||||
|
||||
public function removeevent($event, $calendar){
|
||||
|
||||
}
|
||||
|
||||
public function changeevent($event, $calendar){
|
||||
|
||||
}
|
||||
|
||||
public function moveevent($event, $calendar){
|
||||
|
||||
}
|
||||
|
||||
public function choosecalendar_dialog(){
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,271 @@
|
|||
<?php
|
||||
/*
|
||||
* Copyright (c) 2002,2003 Free Software Foundation
|
||||
* developed under the custody of the
|
||||
* Open Web Application Security Project
|
||||
* (http://www.owasp.org)
|
||||
*
|
||||
* This file is part of the PHP Filters.
|
||||
* PHP Filters is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PHP Filters is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* If you are not able to view the LICENSE, which should
|
||||
* always be possible within a valid and working PHP Filters release,
|
||||
* please write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
* to get a copy of the GNU General Public License or to report a
|
||||
* possible license violation.
|
||||
*/
|
||||
///////////////////////////////////////
|
||||
// sanitize.inc.php
|
||||
// Sanitization functions for PHP
|
||||
// by: Gavin Zuchlinski, Jamie Pratt, Hokkaido
|
||||
// webpage: http://libox.net
|
||||
// Last modified: December 21, 2003
|
||||
//
|
||||
// Many thanks to those on the webappsec list for helping me improve these functions
|
||||
///////////////////////////////////////
|
||||
// Function list:
|
||||
// sanitize_paranoid_string($string) -- input string, returns string stripped of all non
|
||||
// alphanumeric
|
||||
// sanitize_system_string($string) -- input string, returns string stripped of special
|
||||
// characters
|
||||
// sanitize_sql_string($string) -- input string, returns string with slashed out quotes
|
||||
// sanitize_html_string($string) -- input string, returns string with html replacements
|
||||
// for special characters
|
||||
// sanitize_int($integer) -- input integer, returns ONLY the integer (no extraneous
|
||||
// characters
|
||||
// sanitize_float($float) -- input float, returns ONLY the float (no extraneous
|
||||
// characters)
|
||||
// sanitize($input, $flags) -- input any variable, performs sanitization
|
||||
// functions specified in flags. flags can be bitwise
|
||||
// combination of PARANOID, SQL, SYSTEM, HTML, INT, FLOAT, LDAP,
|
||||
// UTF8
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////
|
||||
//
|
||||
// 20031121 jp - added defines for magic_quotes and register_globals, added ; to replacements
|
||||
// in sanitize_sql_string() function, created rudimentary testing pages
|
||||
// 20031221 gz - added nice_addslashes and changed sanitize_sql_string to use it
|
||||
//
|
||||
/////////////////////////////////////////
|
||||
|
||||
define("PARANOID", 1);
|
||||
define("SQL", 2);
|
||||
define("SYSTEM", 4);
|
||||
define("HTML", 8);
|
||||
define("INT", 16);
|
||||
define("FLOAT", 32);
|
||||
define("LDAP", 64);
|
||||
define("UTF8", 128);
|
||||
|
||||
// get register_globals ini setting - jp
|
||||
$register_globals = (bool) ini_get('register_gobals');
|
||||
if ($register_globals == TRUE) { define("REGISTER_GLOBALS", 1); } else { define("REGISTER_GLOBALS", 0); }
|
||||
|
||||
// get magic_quotes_gpc ini setting - jp
|
||||
$magic_quotes = (bool) ini_get('magic_quotes_gpc');
|
||||
if ($magic_quotes == TRUE) { define("MAGIC_QUOTES", 1); } else { define("MAGIC_QUOTES", 0); }
|
||||
|
||||
// addslashes wrapper to check for gpc_magic_quotes - gz
|
||||
function nice_addslashes($string)
|
||||
{
|
||||
// if magic quotes is on the string is already quoted, just return it
|
||||
if(MAGIC_QUOTES)
|
||||
return $string;
|
||||
else
|
||||
return addslashes($string);
|
||||
}
|
||||
|
||||
// internal function for utf8 decoding
|
||||
// thanks to Hokkaido for noticing that PHP's utf8_decode function is a little
|
||||
// screwy, and to jamie for the code
|
||||
function my_utf8_decode($string)
|
||||
{
|
||||
return strtr($string,
|
||||
"???????<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||
"SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy");
|
||||
}
|
||||
|
||||
// paranoid sanitization -- only let the alphanumeric set through
|
||||
function sanitize_paranoid_string($string, $min='', $max='')
|
||||
{
|
||||
$string = preg_replace("/[^a-zA-Z0-9]/", "", $string);
|
||||
$len = strlen($string);
|
||||
if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max)))
|
||||
return FALSE;
|
||||
return $string;
|
||||
}
|
||||
|
||||
// sanitize a string in prep for passing a single argument to system() (or similar)
|
||||
function sanitize_system_string($string, $min='', $max='')
|
||||
{
|
||||
$pattern = '/(;|\||`|>|<|&|^|"|'."\n|\r|'".'|{|}|[|]|\)|\()/i'; // no piping, passing possible environment variables ($),
|
||||
// seperate commands, nested execution, file redirection,
|
||||
// background processing, special commands (backspace, etc.), quotes
|
||||
// newlines, or some other special characters
|
||||
$string = preg_replace($pattern, '', $string);
|
||||
$string = '"'.preg_replace('/\$/', '\\\$', $string).'"'; //make sure this is only interpretted as ONE argument
|
||||
$len = strlen($string);
|
||||
if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max)))
|
||||
return FALSE;
|
||||
return $string;
|
||||
}
|
||||
|
||||
// sanitize a string for SQL input (simple slash out quotes and slashes)
|
||||
function sanitize_sql_string($string, $min='', $max='')
|
||||
{
|
||||
$string = nice_addslashes($string); //gz
|
||||
$pattern = "/;/"; // jp
|
||||
$replacement = "";
|
||||
$len = strlen($string);
|
||||
if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max)))
|
||||
return FALSE;
|
||||
return preg_replace($pattern, $replacement, $string);
|
||||
}
|
||||
|
||||
// sanitize a string for SQL input (simple slash out quotes and slashes)
|
||||
function sanitize_ldap_string($string, $min='', $max='')
|
||||
{
|
||||
$pattern = '/(\)|\(|\||&)/';
|
||||
$len = strlen($string);
|
||||
if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max)))
|
||||
return FALSE;
|
||||
return preg_replace($pattern, '', $string);
|
||||
}
|
||||
|
||||
|
||||
// sanitize a string for HTML (make sure nothing gets interpretted!)
|
||||
function sanitize_html_string($string)
|
||||
{
|
||||
$pattern[0] = '/\&/';
|
||||
$pattern[1] = '/</';
|
||||
$pattern[2] = "/>/";
|
||||
$pattern[3] = '/\n/';
|
||||
$pattern[4] = '/"/';
|
||||
$pattern[5] = "/'/";
|
||||
$pattern[6] = "/%/";
|
||||
$pattern[7] = '/\(/';
|
||||
$pattern[8] = '/\)/';
|
||||
$pattern[9] = '/\+/';
|
||||
$pattern[10] = '/-/';
|
||||
$replacement[0] = '&';
|
||||
$replacement[1] = '<';
|
||||
$replacement[2] = '>';
|
||||
$replacement[3] = '<br>';
|
||||
$replacement[4] = '"';
|
||||
$replacement[5] = ''';
|
||||
$replacement[6] = '%';
|
||||
$replacement[7] = '(';
|
||||
$replacement[8] = ')';
|
||||
$replacement[9] = '+';
|
||||
$replacement[10] = '-';
|
||||
return preg_replace($pattern, $replacement, $string);
|
||||
}
|
||||
|
||||
// make int int!
|
||||
function sanitize_int($integer, $min='', $max='')
|
||||
{
|
||||
$int = intval($integer);
|
||||
if((($min != '') && ($int < $min)) || (($max != '') && ($int > $max)))
|
||||
return FALSE;
|
||||
return $int;
|
||||
}
|
||||
|
||||
// make float float!
|
||||
function sanitize_float($float, $min='', $max='')
|
||||
{
|
||||
$float = floatval($float);
|
||||
if((($min != '') && ($float < $min)) || (($max != '') && ($float > $max)))
|
||||
return FALSE;
|
||||
return $float;
|
||||
}
|
||||
|
||||
// glue together all the other functions
|
||||
function sanitize($input, $flags, $min='', $max='')
|
||||
{
|
||||
if($flags & UTF8) $input = my_utf8_decode($input);
|
||||
if($flags & PARANOID) $input = sanitize_paranoid_string($input, $min, $max);
|
||||
if($flags & INT) $input = sanitize_int($input, $min, $max);
|
||||
if($flags & FLOAT) $input = sanitize_float($input, $min, $max);
|
||||
if($flags & HTML) $input = sanitize_html_string($input, $min, $max);
|
||||
if($flags & SQL) $input = sanitize_sql_string($input, $min, $max);
|
||||
if($flags & LDAP) $input = sanitize_ldap_string($input, $min, $max);
|
||||
if($flags & SYSTEM) $input = sanitize_system_string($input, $min, $max);
|
||||
return $input;
|
||||
}
|
||||
|
||||
function check_paranoid_string($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_paranoid_string($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_int($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_int($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_float($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_float($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_html_string($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_html_string($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_sql_string($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_sql_string($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_ldap_string($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_string($input, $min, $max))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function check_system_string($input, $min='', $max='')
|
||||
{
|
||||
if($input != sanitize_system_string($input, $min, $max, TRUE))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// glue together all the other functions
|
||||
function check($input, $flags, $min='', $max='')
|
||||
{
|
||||
$oldput = $input;
|
||||
if($flags & UTF8) $input = my_utf8_decode($input);
|
||||
if($flags & PARANOID) $input = sanitize_paranoid_string($input, $min, $max);
|
||||
if($flags & INT) $input = sanitize_int($input, $min, $max);
|
||||
if($flags & FLOAT) $input = sanitize_float($input, $min, $max);
|
||||
if($flags & HTML) $input = sanitize_html_string($input, $min, $max);
|
||||
if($flags & SQL) $input = sanitize_sql_string($input, $min, $max);
|
||||
if($flags & LDAP) $input = sanitize_ldap_string($input, $min, $max);
|
||||
if($flags & SYSTEM) $input = sanitize_system_string($input, $min, $max, TRUE);
|
||||
if($input != $oldput)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
/************************************************
|
||||
* ownCloud - Calendar Plugin *
|
||||
* *
|
||||
* (c) Copyright 2011 Georg Ehrke *
|
||||
* author: Georg Ehrke *
|
||||
* email: ownclouddev at georgswebsite dot de *
|
||||
* homepage: http://ownclouddev.georgswebsite.de *
|
||||
* License: GPL *
|
||||
* <http://www.gnu.org/licenses/>. *
|
||||
************************************************/
|
||||
require_once('../../lib/base.php');
|
||||
if(!OC_USER::isLoggedIn()){
|
||||
header("Location: " . OC_HELPER::linkTo("index.php"));
|
||||
exit();
|
||||
}
|
||||
if(!file_exists("cfg/" . OC_USER::getUser() . ".cfg.php")){
|
||||
header("Location: install.php");
|
||||
}
|
||||
OC_UTIL::addScript("calendar", "calendar");
|
||||
OC_UTIL::addScript("calendar", "calendar_init");
|
||||
OC_UTIL::addStyle("calendar", "style");
|
||||
require_once("template.php");
|
||||
OC_APP::setActiveNavigationEntry("calendar_settings");
|
||||
$output = new OC_TEMPLATE("calendar", "settings", "admin");
|
||||
$output->printpage();
|
||||
?>
|
|
@ -0,0 +1,982 @@
|
|||
<div id="devbox">
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="actions">
|
||||
<form>
|
||||
<div id="view">
|
||||
<input type="radio" id="onedayview_radio" name="viewchooseradio"/>
|
||||
<label onclick="change_view('onedayview');" for="onedayview_radio">
|
||||
1 Day
|
||||
</label>
|
||||
<input type="radio" id="oneweekview_radio" name="viewchooseradio"/>
|
||||
<label onclick="change_view('oneweekview');" for="oneweekview_radio">
|
||||
1 Week
|
||||
</label>
|
||||
<input type="radio" id="fourweeksview_radio" name="viewchooseradio"/>
|
||||
<label onclick="change_view('fourweeksview');" for="fourweeksview_radio">
|
||||
4 Weeks
|
||||
</label>
|
||||
<input type="radio" id="onemonthview_radio" name="viewchooseradio"/>
|
||||
<label onclick="change_view('onemonthview');" for="onemonthview_radio">
|
||||
1 Month
|
||||
</label>
|
||||
<input type="radio" id="listview_radio" name="viewchooseradio"/>
|
||||
<label onclick="change_view('listview');" for="listview_radio">
|
||||
List
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<form>
|
||||
<div id="choosecalendar">
|
||||
<input type="radio" id="today_input" checked="checked"/>
|
||||
<label for="today_input" onclick="switch2today();">
|
||||
Today
|
||||
</label>
|
||||
<input type="radio" id="choosecalendar_input" checked="checked"/>
|
||||
<label for="choosecalendar_input" onclick="choosecalendar_dialog();">
|
||||
Choose your Calendar
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<form>
|
||||
<div id="datecontrol">
|
||||
<input type="radio" id="datecontrol_left" />
|
||||
<label for="datecontrol_left" onclick="update_view('', 'backward');">
|
||||
<
|
||||
</label>
|
||||
<input type="radio" id="datecontrol_date" checked="checked"/>
|
||||
<label for="datecontrol_date">
|
||||
<p id="datecontrol_date_label">
|
||||
|
||||
</p>
|
||||
</label>
|
||||
<input type="radio" id="datecontrol_right" />
|
||||
<label for="datecontrol_right" onclick="update_view('', 'forward');">
|
||||
>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="controls" id="calendar_holder">
|
||||
<div id="onedayview">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="calendar_time">Time</th>
|
||||
<th id="onedayview_today" class="calendar_row"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="calendar_time">All day</td>
|
||||
<td id="onedayview_wholeday" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">00:00</td>
|
||||
<td id="onedayview_0" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">01:00</td>
|
||||
<td id="onedayview_1" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">02:00</td>
|
||||
<td id="onedayview_2" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">03:00</td>
|
||||
<td id="onedayview_3" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">04:00</td>
|
||||
<td id="onedayview_4" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">05:00</td>
|
||||
<td id="onedayview_5" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">06:00</td>
|
||||
<td id="onedayview_6" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">07:00</td>
|
||||
<td id="onedayview_7" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">08:00</td>
|
||||
<td id="onedayview_8" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">09:00</td>
|
||||
<td id="onedayview_9" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">10:00</td>
|
||||
<td id="onedayview_10" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">11:00</td>
|
||||
<td id="onedayview_11" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">12:00</td>
|
||||
<td id="onedayview_12" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">13:00</td>
|
||||
<td id="onedayview_13" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">14:00</td>
|
||||
<td id="onedayview_14" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">15:00</td>
|
||||
<td id="onedayview_15" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">16:00</td>
|
||||
<td id="onedayview_16" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">17:00</td>
|
||||
<td id="onedayview_17" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">18:00</td>
|
||||
<td id="onedayview_18" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">19:00</td>
|
||||
<td id="onedayview_19" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">20:00</td>
|
||||
<td id="onedayview_20" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">21:00</td>
|
||||
<td id="onedayview_21" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">22:00</td>
|
||||
<td id="onedayview_22" class="calendar_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">23:00</td>
|
||||
<td id="onedayview_23" class="calendar_row"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="oneweekview">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="calendar_time">Time</th>
|
||||
<th id="oneweekview_monday" class="calendar_row"></th>
|
||||
<th id="oneweekview_tuesday" class="calendar_row"></th>
|
||||
<th id="oneweekview_wednesday" class="calendar_row"></th>
|
||||
<th id="oneweekview_thursday" class="calendar_row"></th>
|
||||
<th id="oneweekview_friday" class="calendar_row"></th>
|
||||
<th id="oneweekview_saturday" class="weekend_thead"></th>
|
||||
<th id="oneweekview_sunday" class="weekend_thead"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="calendar_time">All day</td>
|
||||
<td id="oneweekview_monday_allday" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_allday" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_allday" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_allday" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_allday" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_allday" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_allday" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">00:00</td>
|
||||
<td id="oneweekview_monday_0" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_0" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_0" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_0" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_0" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_0" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_0" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">01:00</td>
|
||||
<td id="oneweekview_monday_1" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_1" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_1" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_1" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_1" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_1" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_1" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">02:00</td>
|
||||
<td id="oneweekview_monday_2" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_2" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_2" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_2" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_2" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_2" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_2" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">03:00</td>
|
||||
<td id="oneweekview_monday_3" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_3" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_3" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_3" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_3" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_3" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_3" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">04:00</td>
|
||||
<td id="oneweekview_monday_4" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_4" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_4" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_4" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_4" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_4" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_4" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">05:00</td>
|
||||
<td id="oneweekview_monday_5" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_5" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_5" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_5" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_5" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_5" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_5" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">06:00</td>
|
||||
<td id="oneweekview_monday_6" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_6" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_6" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_6" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_6" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_6" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_6" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">07:00</td>
|
||||
<td id="oneweekview_monday_7" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_7" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_7" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_7" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_7" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_7" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_7" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">08:00</td>
|
||||
<td id="oneweekview_monday_8" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_8" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_8" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_8" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_8" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_8" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_8" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">09:00</td>
|
||||
<td id="oneweekview_monday_9" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_9" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_9" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_9" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_9" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_9" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_9" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">10:00</td>
|
||||
<td id="oneweekview_monday_10" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_10" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_10" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_10" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_10" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_10" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_10" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">11:00</td>
|
||||
<td id="oneweekview_monday_11" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_11" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_11" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_11" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_11" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_11" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_11" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">12:00</td>
|
||||
<td id="oneweekview_monday_12" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_12" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_12" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_12" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_12" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_12" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_12" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">13:00</td>
|
||||
<td id="oneweekview_monday_13" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_13" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_13" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_13" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_13" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_13" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_13" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">14:00</td>
|
||||
<td id="oneweekview_monday_14" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_14" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_14" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_14" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_14" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_14" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_14" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">15:00</td>
|
||||
<td id="oneweekview_monday_15" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_15" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_15" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_15" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_15" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_15" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_15" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">16:00</td>
|
||||
<td id="oneweekview_monday_16" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_16" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_16" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_16" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_16" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_16" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_16" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">17:00</td>
|
||||
<td id="oneweekview_monday_17" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_17" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_17" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_17" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_17" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_17" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_17" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">18:00</td>
|
||||
<td id="oneweekview_monday_18" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_18" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_18" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_18" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_18" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_18" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_18" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">19:00</td>
|
||||
<td id="oneweekview_monday_19" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_19" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_19" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_19" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_19" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_19" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_19" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">20:00</td>
|
||||
<td id="oneweekview_monday_20" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_20" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_20" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_20" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_20" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_20" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_20" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">21:00</td>
|
||||
<td id="oneweekview_monday_21" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_21" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_21" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_21" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_21" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_21" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_21" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">22:00</td>
|
||||
<td id="oneweekview_monday_22" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_22" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_22" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_22" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_22" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_22" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_22" class="weekend_row"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="calendar_time">23:00</td>
|
||||
<td id="oneweekview_monday_23" class="calendar_row"></td>
|
||||
<td id="oneweekview_tuesday_23" class="calendar_row"></td>
|
||||
<td id="oneweekview_wednesday_23" class="calendar_row"></td>
|
||||
<td id="oneweekview_thursday_23" class="calendar_row"></td>
|
||||
<td id="oneweekview_friday_23" class="calendar_row"></td>
|
||||
<td id="oneweekview_saturday_23" class="weekend_row"></td>
|
||||
<td id="oneweekview_sunday_23" class="weekend_row"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="fourweeksview">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="fourweeksview_calw_label" class="calendar_row">CW</th>
|
||||
<th id="fourweeksview_monday" class="calendar_row">Monday</th>
|
||||
<th id="fourweeksview_tuesday" class="calendar_row">Tuesday</th>
|
||||
<th id="fourweeksview_wednesday" class="calendar_row">Wednesday</th>
|
||||
<th id="fourweeksview_thursday" class="calendar_row">Thursday</th>
|
||||
<th id="fourweeksview_friday" class="calendar_row">Friday</th>
|
||||
<th id="fourweeksview_saturday" class="weekend_thead">Saturday</th>
|
||||
<th id="fourweeksview_sunday" class="weekend_thead">Sunday</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="fourweeksview_week_1">
|
||||
<td id="fourweeksview_calw1"></td>
|
||||
<td id="fourweeksview_monday_1" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_monday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_monday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_tuesday_1" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_tuesday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_tuesday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_wednesday_1" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_wednesday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_wednesday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_thursday_1" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_thursday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_thursday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_friday_1" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_friday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_friday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_saturday_1" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_saturday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_saturday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_sunday_1" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_sunday_1">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_sunday_1">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="fourweeksview_week_2">
|
||||
<td id="fourweeksview_calw2"></td>
|
||||
<td id="fourweeksview_monday_2" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_monday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_monday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_tuesday_2" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_tuesday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_tuesday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_wednesday_2" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_wednesday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_wednesday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_thursday_2" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_thursday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_thursday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_friday_2" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_friday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_friday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_saturday_2" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_saturday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_saturday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_sunday_2" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_sunday_2">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_sunday_2">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="fourweeksview_week_3">
|
||||
<td id="fourweeksview_calw3"></td>
|
||||
<td id="fourweeksview_monday_3" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_monday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_monday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_tuesday_3" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_tuesday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_tuesday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_wednesday_3" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_wednesday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_wednesday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_thursday_3" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_thursday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_thursday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_friday_3" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_friday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_friday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_saturday_3" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_saturday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_saturday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_sunday_3" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_sunday_3">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_sunday_3">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="fourweeksview_week_4">
|
||||
<td id="fourweeksview_calw4"></td>
|
||||
<td id="fourweeksview_monday_4" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_monday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_monday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_tuesday_4" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_tuesday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_tuesday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_wednesday_4" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_wednesday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_wednesday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_thursday_4" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_thursday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_thursday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_friday_4" class="fourweeksview_item">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_friday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_friday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_saturday_4" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_saturday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_saturday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="fourweeksview_sunday_4" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_fourweeksview_sunday_4">
|
||||
</div>
|
||||
<div class="events" id="events_fourweeksview_sunday_4">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="onemonthview">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="onemonthview_monday" class="calendar_row">Monday</th>
|
||||
<th id="onemonthview_tuesday" class="calendar_row">Tuesday</th>
|
||||
<th id="onemonthview_wednesday" class="calendar_row">Wednesday</th>
|
||||
<th id="onemonthview_thursday" class="calendar_row">Thursday</th>
|
||||
<th id="onemonthview_friday" class="calendar_row">Friday</th>
|
||||
<th id="onemonthview_saturday" class="weekend_thead">Saturday</th>
|
||||
<th id="onemonthview_sunday" class="weekend_thead">Sunday</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="onemonthview_week_1">
|
||||
<td id="onemonthview_monday_1" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_1" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_1" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_1" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_1" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_1" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_1">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_1" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_1">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_1">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="onemonthview_week_2">
|
||||
<td id="onemonthview_monday_2" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_2" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_2" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_2" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_2" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_2" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_2">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_2" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_2">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_2">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="onemonthview_week_3">
|
||||
<td id="onemonthview_monday_3" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_3" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_3" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_3" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_3" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_3" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_3">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_3" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_3">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_3">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="onemonthview_week_4">
|
||||
<td id="onemonthview_monday_4" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_4" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_4" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_4" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_4" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_4" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_4">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_4" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_4">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_4">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="onemonthview_week_5">
|
||||
<td id="onemonthview_monday_5" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_5" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_5" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_5" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_5" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_5" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_5">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_5" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_5">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_5">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="onemonthview_week_6">
|
||||
<td id="onemonthview_monday_6" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_monday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_monday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_tuesday_6" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_tuesday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_tuesday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_wednesday_6" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_wednesday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_wednesday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_thursday_6" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_thursday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_thursday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_friday_6" class="onemonthview_item">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_friday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_friday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_saturday_6" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_saturday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_saturday_6">
|
||||
</div>
|
||||
</td>
|
||||
<td id="onemonthview_sunday_6" class="weekend">
|
||||
<div class="dateinfo" id="dateinfo_onemonthview_sunday_6">
|
||||
</div>
|
||||
<div class="events" id="events_onemonthview_sunday_6">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="listview">
|
||||
|
||||
</div>
|
||||
<p class="center">
|
||||
<a href="http://ownclouddev.georgswebsite.de/feedback/" target="_blank">Feedback</a> ♦
|
||||
<a href="http://ownclouddev.georgswebsite.de/devinfo/" target="_blank">Developer information</a> ♦
|
||||
<a href="http://ownclouddev.georgswebsite.de/bugs/">Bugs</a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- Dialogs -->
|
||||
<div id="choosecalendar_dialog" title="Please choose visible calendars.">
|
||||
<br/>
|
||||
<input type="checkbox" class="choosecalendar_check" id="choosecalendar_cal1" />
|
||||
<label for="choosecalendar_cal1">
|
||||
Calendar 1
|
||||
</label>
|
||||
<br/>
|
||||
<br/>
|
||||
<input type="checkbox" class="choosecalendar_check" id="choosecalendar_cal2" />
|
||||
<label for="choosecalendar_cal2">
|
||||
Calendar 2
|
||||
</label>
|
||||
<br/>
|
||||
<br/>
|
||||
<input type="checkbox" class="choosecalendar_check" id="choosecalendar_cal3" />
|
||||
<label for="choosecalendar_cal3">
|
||||
Calendar 3
|
||||
</label>
|
||||
<br/>
|
||||
<br/>
|
||||
<input type="checkbox" class="choosecalendar_check" id="choosecalendar_cal4" />
|
||||
<label for="choosecalendar_cal4">
|
||||
Calendar 4
|
||||
</label>
|
||||
<br/>
|
||||
<br />
|
||||
<input type="submit" class="choosecalendar_check" id="choosecalendar_submit" onclick="choosecalendar_dialog_submit();" value="Save"/>
|
||||
</div>
|
||||
<div id="newevent" title="Create a new event">
|
||||
</div>
|
||||
<div id="editevent" title="Edit a event">
|
||||
</div>
|
||||
<div id="parsingfail_dialog" title="Parsing Fail">
|
||||
There was a fail, while parsing the file.
|
||||
</div>
|
||||
<!-- End of Dialogs -->
|
||||
<script type="text/javascript">
|
||||
<?php
|
||||
include("cfg/" . OC_USER::getUser() . ".cfg.php");
|
||||
echo "var currentview = \"" . $defaultview . "\";\n";
|
||||
?>
|
||||
document.getElementById(currentview).style.display = "block";
|
||||
document.getElementById(currentview + "_radio").checked = "checked";
|
||||
update_view(currentview);
|
||||
function change_view(view, task){
|
||||
document.getElementById(currentview).style.display = "none";
|
||||
document.getElementById(view).style.display = "block";
|
||||
currentview = view;
|
||||
update_view(view, task);
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" id="js_events"></script>
|
|
@ -0,0 +1,17 @@
|
|||
<fieldset>
|
||||
<legend>Please choose your default view:</legend>
|
||||
<input type="radio" id="oneday" name="radio"/><label for="oneday">One Day</label>
|
||||
<input type="radio" id="oneweek" name="radio"/><label for="oneweek">One Week</label>
|
||||
<input type="radio" id="fourweek" name="radio"/><label for="fourweek">Four Weeks</label>
|
||||
<input type="radio" id="onemonth" name="radio"/><label for="onemonth">One Month</label>
|
||||
<input type="radio" id="list" name="radio"/><label for="list">List</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Calender Files</legend>
|
||||
<ul>
|
||||
<?php
|
||||
showicsfiles();
|
||||
?>
|
||||
</ul>
|
||||
</fieldset>
|
Loading…
Reference in New Issue