aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-04-07 18:05:06 +0200
committerDaniel Lange <DLange@git.local>2016-04-07 18:05:06 +0200
commit62550e6776ea13a81b0e62e601a01482c656c007 (patch)
tree3c9fa0ce91aacc2ef4db463fbe14fe5330965afd
parentdf6d1bb0c93738824f56745865150b1721bef0b1 (diff)
downloadroundcube_calendar-62550e6776ea13a81b0e62e601a01482c656c007.zip
roundcube_calendar-62550e6776ea13a81b0e62e601a01482c656c007.tar.gz
roundcube_calendar-62550e6776ea13a81b0e62e601a01482c656c007.tar.bz2
Re-add Classic skin that was hidden through (broken) .gitignore by upstream
-rw-r--r--calendar/.gitignore3
-rw-r--r--calendar/skins/classic/README5
-rw-r--r--calendar/skins/classic/calendar.css1758
l---------calendar/skins/classic/fullcalendar.css1
-rw-r--r--calendar/skins/classic/iehacks.css88
-rw-r--r--calendar/skins/classic/images/attendee-status.gifbin0 -> 3487 bytes
-rw-r--r--calendar/skins/classic/images/badge_cancelled.pngbin0 -> 1707 bytes
-rw-r--r--calendar/skins/classic/images/badge_confidential.gifbin0 -> 1325 bytes
-rw-r--r--calendar/skins/classic/images/badge_confidential.pngbin0 -> 3441 bytes
-rw-r--r--calendar/skins/classic/images/badge_private.gifbin0 -> 1221 bytes
-rw-r--r--calendar/skins/classic/images/badge_private.pngbin0 -> 3359 bytes
-rw-r--r--calendar/skins/classic/images/calendar-blue.pngbin0 -> 896 bytes
-rw-r--r--calendar/skins/classic/images/calendar.gifbin0 -> 546 bytes
-rw-r--r--calendar/skins/classic/images/calendar.pngbin0 -> 888 bytes
-rw-r--r--calendar/skins/classic/images/calendars.gifbin0 -> 2734 bytes
-rw-r--r--calendar/skins/classic/images/calendars.pngbin0 -> 1872 bytes
-rw-r--r--calendar/skins/classic/images/delete.pngbin0 -> 758 bytes
-rw-r--r--calendar/skins/classic/images/eventicons.gifbin0 -> 107 bytes
-rw-r--r--calendar/skins/classic/images/export.pngbin0 -> 746 bytes
-rw-r--r--calendar/skins/classic/images/freebusy-colors.gifbin0 -> 408 bytes
-rw-r--r--calendar/skins/classic/images/freebusy-colors.pngbin0 -> 631 bytes
-rwxr-xr-xcalendar/skins/classic/images/ical-attachment.pngbin0 -> 361 bytes
-rw-r--r--calendar/skins/classic/images/invitation.pngbin0 -> 1909 bytes
-rw-r--r--calendar/skins/classic/images/listheader.gifbin0 -> 322 bytes
-rw-r--r--calendar/skins/classic/images/loading_blue.gifbin0 -> 847 bytes
-rw-r--r--calendar/skins/classic/images/plus.pngbin0 -> 1494 bytes
-rw-r--r--calendar/skins/classic/images/preview.pngbin0 -> 1131 bytes
-rw-r--r--calendar/skins/classic/images/print.pngbin0 -> 869 bytes
-rw-r--r--calendar/skins/classic/images/spacer.gifbin0 -> 807 bytes
-rw-r--r--calendar/skins/classic/images/toggle.gifbin0 -> 110 bytes
-rw-r--r--calendar/skins/classic/images/toolbar.gifbin0 -> 6186 bytes
-rw-r--r--calendar/skins/classic/images/toolbar.pngbin0 -> 15166 bytes
-rw-r--r--calendar/skins/classic/print.css209
-rw-r--r--calendar/skins/classic/print.iehacks.css25
-rw-r--r--calendar/skins/classic/templates/attachment.html26
-rw-r--r--calendar/skins/classic/templates/calendar.html259
-rw-r--r--calendar/skins/classic/templates/eventedit.html128
-rw-r--r--calendar/skins/classic/templates/freebusylegend.html7
-rw-r--r--calendar/skins/classic/templates/itipattend.html21
-rw-r--r--calendar/skins/classic/templates/kolabacl.html13
-rw-r--r--calendar/skins/classic/templates/kolabform.html7
-rw-r--r--calendar/skins/classic/templates/print.html28
42 files changed, 2577 insertions, 1 deletions
diff --git a/calendar/.gitignore b/calendar/.gitignore
index 7c2f14c..d4381dc 100644
--- a/calendar/.gitignore
+++ b/calendar/.gitignore
@@ -5,4 +5,5 @@
config.inc.php
skins/*
!skins/default
-!skins/larry \ No newline at end of file
+!skins/larry
+!skins/classic
diff --git a/calendar/skins/classic/README b/calendar/skins/classic/README
new file mode 100644
index 0000000..ccd513a
--- /dev/null
+++ b/calendar/skins/classic/README
@@ -0,0 +1,5 @@
+Icons by Fugue Icons <http://p.yusukekamiyamane.com/>
+
+Copyright (C) 2010 Yusuke Kamiyamane. All rights reserved.
+The icons are licensed under a Creative Commons Attribution
+3.0 license. <http://creativecommons.org/licenses/by/3.0/>
diff --git a/calendar/skins/classic/calendar.css b/calendar/skins/classic/calendar.css
new file mode 100644
index 0000000..c511ff0
--- /dev/null
+++ b/calendar/skins/classic/calendar.css
@@ -0,0 +1,1758 @@
+/*** Style for Calendar plugin ***/
+
+body.calendarmain {
+ overflow: hidden;
+}
+
+#taskbar a.button-calendar {
+ background: url(images/calendar.png) 0px 1px no-repeat;
+}
+
+/* hack for IE 6/7 */
+* html #taskbar a.button-calendar {
+ background-image: url(images/calendar.gif);
+}
+
+#main {
+ position: absolute;
+ clear: both;
+ top: 72px;
+ left: 0;
+ right: 0;
+ bottom: 10px;
+}
+
+#calendarsidebar {
+ position: absolute;
+ top: 0px;
+ left: 10px;
+ bottom: 0;
+ width: 230px;
+}
+
+#datepicker {
+ position: relative;
+ top: 42px;
+ width: 100%;
+}
+
+#datepicker .ui-datepicker {
+ width: 97% !important;
+ box-shadow: none;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+}
+
+#datepicker .ui-datepicker-activerange a {
+ border-color: #c33;
+ color: #a22;
+}
+
+#datepicker .ui-datepicker-activerange a.ui-state-active {
+ color: #fff;
+}
+
+#datepicker .ui-priority-secondary {
+ opacity: 0.4;
+}
+
+#datepicker td.ui-datepicker-week-col {
+ cursor: pointer;
+}
+
+#calendarsidebartoggle {
+ position: absolute;
+ left: 244px;
+ width: 8px;
+ top: 4px;
+ bottom: 0;
+ background: url(images/toggle.gif) 0 48% no-repeat transparent;
+ cursor: pointer;
+}
+
+div.sidebarclosed {
+ background-position: -8px 48% !important;
+}
+
+#calendarsidebartoggle:hover {
+ background-color: #ddd;
+}
+
+#calendar {
+ position: absolute;
+ top: 4px;
+ left: 256px;
+ right: 10px;
+ bottom: 0;
+}
+
+#print {
+ width: 680px;
+}
+
+pre {
+ font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+}
+
+#calendars {
+ position: absolute;
+ top: 228px;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ background-color: #F9F9F9;
+ border: 1px solid #999999;
+ overflow: hidden;
+}
+
+#calendars .boxlistcontent {
+ top: 43px;
+}
+
+#calendars .listsearchbox {
+ padding: 2px 4px;
+}
+
+#calendarslist {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+#attachmentlist li,
+#calendarslist li {
+ margin: 0;
+ padding: 1px;
+ display: block;
+ background: #fff;
+ border-bottom: 1px solid #EBEBEB;
+ white-space: nowrap;
+ cursor: default;
+}
+
+#calendars .treelist li {
+ margin: 0;
+ padding: 0;
+ position: relative;
+}
+
+#calendars .treelist ul li:last-child {
+ border-bottom: 0;
+}
+
+#calendars .treelist li div.folder,
+#calendars .treelist li div.calendar {
+ position: relative;
+ height: 22px;
+}
+
+#calendars .treelist li span.calname {
+ display: block;
+ padding: 0px 30px 2px 2px;
+ position: absolute;
+ top: 4px;
+ left: 38px;
+ right: 40px;
+ cursor: default;
+ background: url(images/calendars.png) right 20px no-repeat;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+#calendars .treelist li div.virtual > span.calname {
+ color: #aaa;
+ left: 20px;
+}
+
+#calendars .treelist.flat li span.calname {
+ left: 24px;
+ right: 22px;
+}
+
+#calendars .treelist li span.handle {
+ display: inline-block;
+ position: absolute;
+ top: 5px;
+ right: 6px;
+ padding: 0;
+ width: 12px;
+ height: 12px;
+ border-radius: 3px;
+ font-size: 0.8em;
+}
+
+#calendars .treelist li a.subscribed {
+ display: inline-block;
+ position: absolute;
+ top: 2px;
+ right: 22px;
+ height: 16px;
+ width: 16px;
+ padding: 0;
+ background: url(images/calendars.png) -100px 0 no-repeat;
+ overflow: hidden;
+ text-indent: -5000px;
+ cursor: pointer;
+}
+
+#calendars .treelist div:hover > a.subscribed {
+ background-position: 0 -126px;
+}
+
+#calendars .treelist div.subscribed a.subscribed {
+ background-position: 0 -144px;
+}
+
+#calendars .treelist li input {
+ position: absolute;
+ top: 1px;
+ left: 18px;
+}
+
+#calendars .treelist li div.treetoggle {
+ top: -1px;
+ left: 1px !important;
+}
+
+#calendars .treelist ul li div.treetoggle {
+ left: 17px !important;
+}
+
+#calendars .treelist ul ul li div.treetoggle {
+ left: 33px !important;
+}
+
+#calendars .treelist.flat li input {
+ left: 4px;
+}
+
+#calendars .treelist ul li div.folder,
+#calendars .treelist ul li div.calendar {
+ margin-left: 16px;
+}
+
+#calendars .treelist ul ul li div.folder,
+#calendars .treelist ul ul li div.calendar {
+ margin-left: 32px;
+}
+
+#calendars .treelist ul ul ul li div.folder,
+#calendars .treelist ul ul ul li div.calendar {
+ margin-left: 48px;
+}
+
+#calendars .treelist li.selected {
+ background-color: #ccc;
+}
+
+#calendars .treelist li.selected > span.calname {
+ font-weight: bold;
+}
+
+#calendars .treelist div.readonly span.calname {
+ background-position: right -20px;
+}
+
+#calendars .treelist li.user > div > span.calname {
+ background-position: right -38px;
+}
+
+#calendarslist li.virtual span.calname {
+ color: #666;
+}
+
+#calendars .searchresults .boxtitle {
+ border-top: 1px solid #aaa;
+ margin-bottom: 0;
+}
+
+#calfeedurl,
+#caldavurl {
+ width: 98%;
+ background: #fbfbfb;
+ padding: 4px;
+ margin-bottom: 1em;
+ resize: none;
+}
+
+#agendalist {
+ width: 100%;
+ margin: 0 auto;
+ margin-top: 60px;
+ border: 1px solid #C1DAD7;
+ display: none;
+}
+
+#agendalist table {
+ width: 100%;
+}
+
+#agendalist td,
+#agendalist th {
+ border-right: 1px solid #C1DAD7;
+ border-bottom: 1px solid #C1DAD7;
+ background: #fff;
+ padding: 6px 6px 6px 12px;
+}
+
+#agendalist tr {
+ vertical-align: top;
+}
+
+#agendalist th {
+ font-weight: bold;
+}
+
+#calendartoolbar {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ height: 35px;
+}
+
+#calendartoolbar a {
+ padding-right: 10px;
+}
+
+#calendartoolbar a.button,
+#calendartoolbar a.buttonPas {
+ display: block;
+ float: left;
+ width: 32px;
+ height: 32px;
+ padding: 0;
+ margin-right: 10px;
+ overflow: hidden;
+ background: url(images/toolbar.png) 0 0 no-repeat transparent;
+ opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
+}
+
+#calendartoolbar a.buttonPas {
+ opacity: 0.35;
+}
+
+#calendartoolbar a.addeventSel {
+ background-position: 0 -32px;
+}
+
+#calendartoolbar a.delete {
+ background-position: -32px 0;
+}
+
+#calendartoolbar a.deleteSel {
+ background-position: -32px -32px;
+}
+
+#calendartoolbar a.print {
+ background-position: -64px 0;
+}
+
+#calendartoolbar a.printSel {
+ background-position: -64px -32px;
+}
+
+#calendartoolbar a.import {
+ background-position: -168px 0;
+}
+
+#calendartoolbar a.importSel {
+ background-position: -168px -32px;
+}
+
+#calendartoolbar a.export {
+ background-position: -128px 0;
+}
+
+#calendartoolbar a.exportSel {
+ background-position: -128px -32px;
+}
+
+.calendarmain #quicksearchbar {
+ top: 80px;
+ right: 4px;
+}
+
+#eventedit.uidialog,
+.calendarmain div.uidialog {
+ display: none;
+}
+
+#user {
+ position: absolute;
+ top: 10px;
+ right: 100px;
+ left: 100px;
+ text-align: center;
+}
+
+a.morelink {
+ font-size: 90%;
+ color: #C33;
+ text-decoration: none;
+}
+
+a.morelink:hover {
+ text-decoration: underline;
+}
+
+a.miniColors-trigger {
+ margin-top: -3px;
+}
+
+#attachmentcontainer {
+ position: absolute;
+ top: 80px;
+ left: 20px;
+ right: 20px;
+ bottom: 20px;
+}
+
+#attachmentframe {
+ width: 100%;
+ height: 100%;
+ border: 1px solid #999999;
+ background-color: #F9F9F9;
+}
+
+#partheader {
+ position: absolute;
+ top: 20px;
+ left: 220px;
+ right: 20px;
+ height: 40px;
+}
+
+#partheader table td {
+ padding-left: 2px;
+ padding-right: 4px;
+ vertical-align: middle;
+ font-size: 11px;
+}
+
+#partheader table td.title {
+ color: #666;
+ font-weight: bold;
+}
+
+.attachments-list ul {
+ margin: 0px;
+ padding: 0px;
+ list-style-image: none;
+ list-style-type: none;
+}
+
+.attachments-list ul li {
+ height: 18px;
+ font-size: 12px;
+ padding-top: 2px;
+ padding-right: 8px;
+ white-space: nowrap;
+}
+
+.attachments-list ul li img {
+ padding-right: 2px;
+ vertical-align: middle;
+}
+
+.attachments-list ul li a {
+ text-decoration: none;
+}
+
+.attachments-list ul li a:hover {
+ text-decoration: underline;
+}
+
+#attachmentlist {
+ margin: 0 -0.8em;
+}
+
+#attachmentlist li {
+ padding: 2px 2px 3px 0.8em;
+}
+
+#eventshow .attachments-list ul li {
+ float: left;
+}
+
+#edit-attachments-form {
+ padding-top: 1.2em;
+}
+
+#edit-attachments-form .formbuttons {
+ margin: 0.5em 0;
+}
+
+.event-attendees span.attendee {
+ padding-right: 18px;
+ margin-right: 0.5em;
+ background: url(images/attendee-status.gif) right 0 no-repeat;
+}
+
+.event-attendees span.attendee a.mailtolink {
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+.event-attendees span.attendee a.mailtolink:hover {
+ text-decoration: underline;
+}
+
+.event-attendees span.accepted {
+ background-position: right -20px;
+}
+
+.event-attendees span.declined {
+ background-position: right -40px;
+}
+
+.event-attendees span.tentative {
+ background-position: right -60px;
+}
+
+.event-attendees span.delegated {
+ background-position: right -180px;
+}
+
+.event-attendees span.organizer {
+ background-position: right -80px;
+}
+
+#all-event-attendees span.attendee {
+ display: block;
+ margin-bottom: 4px;
+ padding-bottom: 3px;
+ border-bottom: 1px solid #ddd;
+}
+
+/* jQuery UI overrides */
+
+.calendarmain .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: left;
+}
+
+#eventshow h1 {
+ font-size: 20px;
+ margin: 0.1em 0 0.4em 0;
+}
+
+#eventshow label,
+#eventshow h5.label {
+ font-weight: normal;
+ font-size: 0.9em;
+ color: #999;
+ margin: 0 0 0.2em 0;
+}
+
+#eventshow {
+ margin: 0 -0.2em;
+}
+
+#eventshow.status-cancelled {
+ background: url(images/badge_cancelled.png) top right no-repeat;
+}
+
+#eventshow.sensitivity-private {
+ background: url(images/badge_private.png) top right no-repeat;
+}
+
+#eventshow.sensitivity-confidential {
+ background: url(images/badge_confidential.png) top right no-repeat;
+}
+
+.sensitivity-private #event-title {
+ margin-right: 50px;
+}
+
+.sensitivity-confidential #event-title {
+ margin-right: 60px;
+}
+
+#eventshow div.event-line {
+ margin-top: 0.1em;
+ margin-bottom: 0.3em;
+}
+
+#eventshow #event-url .event-text {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+#event-rsvp .itip-reply-controls {
+ margin-top: 0.5em;
+}
+
+#eventshow .itip-reply-controls label {
+ font-size: 1em;
+ color: #333;
+}
+
+#event-partstat .changersvp {
+ cursor: pointer;
+ color: #333;
+ text-decoration: none;
+}
+
+#event-partstat:hover .changersvp {
+ text-decoration: underline;
+}
+
+#event-partstat .changersvp.accepted {
+ color: #589b1e;
+}
+
+#event-partstat .changersvp.tentative {
+ color: #f0bb1d;
+}
+
+#event-partstat .changersvp.declined {
+ color: #ea0000;
+}
+
+#event-partstat .changersvp.delegated {
+ color: #018be9;
+}
+
+#eventedit {
+ position: relative;
+ padding: 0.5em 0.1em;
+}
+
+#eventedit input.text,
+#eventedit textarea {
+ width: 97%;
+}
+
+#eventtabs {
+ position: relative;
+ padding: 0;
+ border: 0;
+ border-radius: 0;
+}
+
+div.form-section,
+#eventshow div.event-section,
+#eventtabs div.event-section {
+ margin-top: 0.2em;
+ margin-bottom: 0.8em;
+}
+
+#eventtabs .tabsbar {
+ position: absolute;
+ top: 0;
+}
+
+#eventtabs .ui-tabs-panel {
+ padding: 1em 0.8em;
+ border: 1px solid #aaa;
+ border-width: 0 1px 1px 1px;
+}
+
+#eventtabs .ui-tabs-nav {
+ background: none;
+ padding: 0;
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+}
+
+#eventtabs .border-after {
+ padding-bottom: 0.6em;
+ margin-bottom: 0.6em;
+ border-bottom: 1px solid #999;
+}
+
+#eventshow label,
+#eventedit label,
+.form-section label {
+ display: inline-block;
+ min-width: 7em;
+ padding-right: 0.5em;
+}
+
+#eventedit .formtable td.label {
+ min-width: 6em;
+}
+
+td.topalign {
+ vertical-align: top;
+}
+
+#eventedit .edit-alarm-item {
+ position: relative;
+ padding-right: 30px;
+ margin-bottom: 2px;
+}
+
+#eventedit .edit-alarm-buttons {
+ position: absolute;
+ top: 2px;
+ right: 0;
+}
+
+#eventedit .edit-alarm-buttons a.iconlink {
+ display: none;
+ width: 18px;
+ height: 17px;
+ padding: 1px;
+ text-indent: -5000px;
+ overflow: hidden;
+}
+
+#eventedit .edit-alarm-buttons a.add-alarm {
+ background: url(images/plus.png) 1px 1px no-repeat;
+}
+
+#eventedit .edit-alarm-buttons a.delete-alarm {
+ background: url(images/delete.png) 1px 1px no-repeat;
+}
+
+#eventedit .edit-alarm-buttons a.delete-alarm,
+#eventedit .first .edit-alarm-buttons a.add-alarm {
+ display: inline-block;
+}
+
+#eventedit .first .edit-alarm-buttons a.delete-alarm {
+ display: none;
+}
+
+#eventedit label.weekday,
+#eventedit label.monthday {
+ min-width: 3em;
+}
+
+#eventedit label.month {
+ min-width: 5em;
+}
+
+#edit-recurrence-yearly-bymonthblock {
+ margin-left: 7.5em;
+}
+
+#edit-recurrence-rdates {
+ display: block;
+ list-style: none;
+ margin: 0 0 0.8em 0;
+ padding: 0;
+ max-height: 300px;
+ overflow: auto;
+}
+
+#edit-recurrence-rdates li {
+ display: block;
+ position: relative;
+ width: 14em;
+ padding: 1px;
+}
+
+#edit-recurrence-rdates li a.delete {
+ position: absolute;
+ top: 1px;
+ right: 0;
+}
+
+#eventedit .recurrence-form {
+ display: none;
+}
+
+#eventedit .formtable td {
+ padding: 0.2em 0;
+}
+
+.ui-dialog .event-update-confirm {
+ padding: 0 0.5em 0.5em 0.5em;
+}
+
+.event-dialog-message,
+.event-update-confirm .message {
+ margin-top: 0.5em;
+ padding: 0.8em;
+ background-color: #F7FDCB;
+ border: 1px solid #C2D071;
+}
+
+.event-dialog-message .message,
+.event-update-confirm .message {
+ margin-bottom: 0.5em;
+}
+
+.edit-recurring-warning .savemode {
+ padding-left: 20px;
+}
+
+.event-update-confirm .savemode {
+ padding-left: 30px;
+}
+
+.event-dialog-message span.ui-icon,
+.event-update-confirm span.ui-icon {
+ float: left;
+ margin: 0 7px 20px 0;
+}
+
+.event-dialog-message label,
+.event-update-confirm label {
+ min-width: 3em;
+ padding-right: 1em;
+}
+
+.event-update-confirm a.button {
+ margin: 0 0.5em 0 0.2em;
+ min-width: 5em;
+}
+
+#event-rsvp,
+#edit-attendees-notify {
+ margin: 0.3em 0;
+ padding: 0.5em;
+ background-color: #F7FDCB;
+ border: 1px solid #C2D071;
+}
+
+.edit-attendees-table {
+ width: 100%;
+ display: table;
+ table-layout: fixed;
+ border-collapse: collapse;
+ border: 1px solid #ccc;
+}
+
+.edit-attendees-table th,
+.edit-attendees-table td {
+ padding: 3px;
+ border-bottom: 1px solid #ccc;
+ text-align: left;
+}
+
+.edit-attendees-table th.role,
+.edit-attendees-table td.role {
+ width: 8em;
+}
+
+.edit-attendees-table th.availability,
+.edit-attendees-table th.confirmstate,
+.edit-attendees-table td.availability,
+.edit-attendees-table td.confirmstate {
+ width: 4em;
+}
+
+.edit-attendees-table th.options,
+.edit-attendees-table td.options {
+ width: 2em;
+ text-align: right;
+ padding-right: 4px;
+}
+
+.edit-attendees-table th.invite,
+.edit-attendees-table td.invite {
+ width: 24px;
+ padding: 2px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: hidden;
+}
+
+#eventedit .edit-attendees-table th.invite label {
+ display: none;
+}
+
+.edit-attendees-table th.name,
+.edit-attendees-table td.name {
+ width: auto;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.edit-attendees-table thead th,
+.edit-attendees-table thead td {
+ background: url(images/listheader.gif) top left repeat-x #CCC;
+}
+
+#edit-attendees-form,
+#edit-resources-form {
+ position: relative;
+ margin-top: 1em;
+}
+
+#edit-attendees-form #edit-attendee-schedule,
+#edit-resources-form #edit-resource-find {
+ position: absolute;
+ top: 0;
+ right: 0;
+}
+
+.edit-attendees-table select.edit-attendee-role {
+ border: 0;
+ padding: 2px;
+ background: white;
+}
+
+.availability img.availabilityicon {
+ margin: 1px;
+ width: 14px;
+ height: 14px;
+ border-radius: 4px;
+ -moz-border-radius: 4px;
+}
+
+.availability img.availabilityicon.loading {
+ background: url(images/loading_blue.gif) center no-repeat;
+}
+
+#schedule-freebusy-times td.unknown,
+.availability img.availabilityicon.unknown {
+ background: #ddd;
+}
+
+#schedule-freebusy-times td.free,
+.availability img.availabilityicon.free {
+ background: #0c0;
+}
+
+#schedule-freebusy-times td.busy,
+.availability img.availabilityicon.busy {
+ background: #c00;
+}
+
+#schedule-freebusy-times td.tentative,
+.availability img.availabilityicon.tentative {
+ background: #66d;
+}
+
+#schedule-freebusy-times td.out-of-office,
+.availability img.availabilityicon.out-of-office {
+ background: #f0b400;
+}
+
+#schedule-freebusy-times td.all-busy,
+#schedule-freebusy-times td.all-tentative,
+#schedule-freebusy-times td.all-out-of-office {
+ background-image: url(images/freebusy-colors.png);
+ background-position: top right;
+ background-repeat: no-repeat;
+}
+
+#schedule-freebusy-times td.all-tentative {
+ background-position: right -40px;
+}
+
+#schedule-freebusy-times td.all-out-of-office {
+ background-position: right -80px;
+}
+
+#edit-attendees-legend {
+ margin-top: 3em;
+ margin-bottom: 0.5em;
+}
+
+#edit-attendees-legend .legend {
+ margin-right: 2em;
+ white-space: nowrap;
+}
+
+#edit-attendees-legend img.availabilityicon {
+ vertical-align: middle;
+}
+
+.edit-attendees-table tbody td.confirmstate {
+ overflow: hidden;
+ white-space: nowrap;
+ text-indent: -2000%;
+}
+
+.edit-attendees-table td.confirmstate span {
+ display: block;
+ width: 20px;
+ background: url(images/attendee-status.gif) 5px 0 no-repeat;
+}
+
+.edit-attendees-table td.confirmstate span.needs-action {
+}
+
+.edit-attendees-table td.confirmstate span.accepted {
+ background-position: 5px -20px;
+}
+
+.edit-attendees-table td.confirmstate span.declined {
+ background-position: 5px -40px;
+}
+
+.edit-attendees-table td.confirmstate span.tentative {
+ background-position: 5px -60px;
+}
+
+.edit-attendees-table td.confirmstate span.delegated {
+ background-position: 5px -180px;
+}
+
+#attendees-freebusy-table {
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: collapse;
+ margin: 0.5em 0;
+}
+
+#attendees-freebusy-table td.attendees {
+ width: 18em;
+ border: 1px solid #ccc;
+ vertical-align: top;
+ overflow: hidden;
+}
+
+#attendees-freebusy-table td.times {
+ width: auto;
+ vertical-align: top;
+ border: 1px solid #ccc;
+}
+
+#attendees-freebusy-table div.scroll {
+ position: relative;
+ overflow: auto;
+}
+
+#attendees-freebusy-table h3.boxtitle {
+ margin: 0;
+ height: auto !important;
+ border-color: #ccc;
+}
+
+.attendees-list .attendee {
+ padding: 3px 4px 3px 1px;
+ background: url(images/attendee-status.gif) 2px -97px no-repeat;
+ white-space: nowrap;
+}
+
+.attendees-list a.attendee-role-toggle {
+ display: inline-block;
+ width: 16px;
+ margin-right: 3px;
+ cursor: pointer;
+}
+
+.attendees-list div.attendee {
+ border-top: 1px solid #ccc;
+}
+
+.attendees-list span.attendee {
+ padding-left: 20px;
+ margin-right: 2em;
+}
+
+.attendees-list .organizer {
+ background-position: 3px -77px;
+}
+
+.attendees-list .opt-participant {
+ background-position: 2px -117px;
+}
+
+.attendees-list .non-participant {
+ background-position: 2px -137px;
+}
+
+.attendees-list .chair {
+ background-position: 2px -157px;
+}
+
+.attendees-list .loading {
+ background: url(images/loading_blue.gif) 1px 50% no-repeat;
+}
+
+.attendees-list .total {
+ background: none;
+ padding-left: 4px;
+ font-weight: bold;
+}
+
+.attendees-list .spacer,
+#schedule-freebusy-times tr.spacer td {
+ background: 0;
+ font-size: 50%;
+}
+
+#schedule-freebusy-times {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+#schedule-freebusy-times td {
+ padding: 3px;
+ border: 1px solid #ccc;
+}
+
+#schedule-freebusy-times tr.dates th {
+ border-color: #aaa;
+ border-style: solid;
+ border-width: 0 1px 0 1px;
+ white-space: nowrap;
+}
+
+#attendees-freebusy-table div.timesheader,
+#schedule-freebusy-times tr.times td {
+ min-width: 30px;
+ font-size: 9px;
+ padding: 5px 2px 6px 2px;
+ text-align: center;
+}
+
+#schedule-freebusy-times tr.times td.allday {
+ min-width: 60px;
+}
+
+#schedule-freebusy-times tr.times td {
+ cursor: pointer;
+}
+
+#schedule-event-time {
+ position: absolute;
+ border: 2px solid #333;
+ background: #777;
+ background: rgba(60, 60, 60, 0.6);
+ opacity: 0.5;
+ border-radius: 4px;
+ cursor: move;
+ filter: alpha(opacity=40); /* IE8 */
+}
+
+#eventfreebusy .schedule-options {
+ position: relative;
+ margin-bottom: 1.5em;
+}
+
+#eventfreebusy .schedule-buttons {
+ position: absolute;
+ top: 0;
+ right: 0;
+}
+
+#eventfreebusy .schedule-find-buttons {
+ padding-bottom:0.5em;
+}
+
+#eventfreebusy .schedule-find-buttons button {
+ min-width: 9em;
+ text-align: center;
+}
+
+span.edit-alarm-set {
+ white-space: nowrap;
+}
+
+a.dropdown-link {
+ color: #CC0000;
+ font-size: 12px;
+ text-decoration: none;
+}
+
+a.dropdown-link:after {
+ content: ' ▼';
+ font-size: 11px;
+ color: #666;
+}
+
+#eventedit .ui-tabs-panel {
+ min-height: 20em;
+}
+
+.alarm-item {
+ margin: 0.4em 0 1em 0;
+}
+
+.alarm-item .event-title {
+ font-size: 14px;
+ margin: 0.1em 0 0.3em 0;
+}
+
+.alarm-item div.event-section {
+ margin-top: 0.1em;
+ margin-bottom: 0.3em;
+}
+
+.alarm-item .alarm-actions {
+ margin-top: 0.4em;
+}
+
+.alarm-item div.alarm-actions a {
+ color: #CC0000;
+ margin-right: 0.8em;
+ text-decoration: none;
+}
+
+a.alarm-action-snooze:after {
+ content: ' ▼';
+ font-size: 10px;
+ color: #666;
+}
+
+#alarm-snooze-dropdown {
+ z-index: 5000;
+}
+
+.ui-dialog-buttonset a.dropdown-link {
+ margin-right: 1em;
+}
+
+.ui-datepicker-calendar .ui-datepicker-today .ui-state-default {
+ border-color: #cccccc;
+ background: #ffffcc;
+ color: #000;
+}
+
+.ui-datepicker-calendar .ui-datepicker-week-col {
+ text-align: right;
+ padding-right: 0.5em;
+}
+
+.ui-datepicker th {
+ padding: 0.3em 0;
+ font-size: 10px;
+}
+
+.ui-datepicker td span,
+.ui-datepicker td a {
+ padding-left: 0.1em;
+}
+
+.ui-autocomplete {
+ max-height: 160px;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.ui-autocomplete .ui-menu-item {
+ white-space: nowrap;
+}
+
+* html .ui-autocomplete {
+ height: 160px;
+}
+
+span.spacer {
+ padding-left: 3em;
+}
+
+#agendaoptions {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: auto;
+ z-index: 200;
+ border: 1px solid #ccc;
+ padding: 2px 5px 1px;
+ font-size: 90%;
+}
+
+#agendaoptions label {
+ color: #444;
+ text-shadow: 1px 1px #eee;
+ padding-right: 0.5em;
+}
+
+#calendar-kolabform {
+ position: relative;
+ padding-top: 24px;
+ margin: 0 -8px;
+ min-width: 660px;
+ min-height: 400px;
+}
+
+#calendar-kolabform div.tabsbar {
+ top: 0;
+ right: 2px;
+ left: 2px;
+ height: 24px;
+}
+
+#calendar-kolabform fieldset.tabbed {
+ background-color: #fff;
+ margin-top: 0;
+}
+
+#calendar-kolabform span.tablink {
+ background-color: #e8e8e9;
+ background-image: -moz-linear-gradient(center top, #f4f4f4, #e6e6e6);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, #f4f4f4), color-stop(1.0, #e6e6e6));
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr=#f4f4f4, endColorstr=#e6e6e6, GradientType=0);
+ height: 24px !important;
+}
+
+#calendar-kolabform span.tablink-selected {
+ background: #fff;
+ height: 25px !important;
+}
+
+#calendar-kolabform span.tablink a,
+#calendar-kolabform span.tablink-selected a {
+ background: none;
+ border: 1px solid #AAAAAA;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ padding: 4px 10px 0 10px;
+ margin-left: 0;
+}
+
+#calendar-kolabform table td.title {
+ font-weight: bold;
+ white-space: nowrap;
+ color: #666;
+ padding-right: 10px;
+}
+
+#resource-dialog-right {
+ position: absolute;
+ top: 10px;
+ left: 300px;
+ right: 8px;
+ bottom: 10px;
+}
+
+#resource-info,
+#resource-availability {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ height: 48%;
+ border: 1px solid #999;
+ background-color: #F9F9F9;
+ overflow: auto;
+}
+
+#resource-availability {
+ top: auto;
+ bottom: 0;
+ height: 49%;
+ overflow: hidden;
+}
+
+#resource-info .boxtitle,
+#resource-availability .boxtitle {
+ margin-top: 0;
+}
+
+#resource-freebusy-calendar {
+ position: absolute;
+ top: 20px;
+ left: -1px;
+ right: -1px;
+ bottom: -1px;
+}
+
+#resource-freebusy-calendar .fc-content {
+ top: 0;
+}
+
+#resource-freebusy-calendar .fc-content .fc-event-bg {
+ background: 0;
+}
+
+#resource-freebusy-calendar .fc-event.status-busy,
+#resource-freebusy-calendar .status-busy .fc-event-skin {
+ border-color: #e26569;
+ background-color: #e26569;
+}
+
+#resource-freebusy-calendar .fc-event.status-tentative,
+#resource-freebusy-calendar .status-tentative .fc-event-skin {
+ border-color: #8383fc;
+ background: #8383fc;
+}
+
+#resource-freebusy-calendar .fc-event.status-outofoffice,
+#resource-freebusy-calendar .status-outofoffice .fc-event-skin {
+ border-color: #fbaa68;
+ background: #fbaa68;
+}
+
+#resources-list div.treetoggle {
+ left: 3px !important;
+ top: -2px;
+}
+
+#resources-list li ul div.treetoggle {
+ left: 23px !important;
+}
+
+#resource-selection {
+ position: absolute;
+ top: 10px;
+ bottom: 10px;
+ left: 8px;
+ width: 280px;
+ border: 1px solid #999999;
+ background-color: #F9F9F9;
+ overflow: hidden;
+}
+
+#resource-selection .boxlistcontent {
+ top: 25px;
+ border-top: 1px solid #eee;
+}
+
+#resourcequicksearch {
+ position: absolute;
+ top: 3px;
+ left: 7px;
+ right: 4px;
+ height: 17px;
+ background: #fff;
+ border: 1px solid #888;
+ border-radius: 10px;
+ -webkit-box-shadow: inset 1px 1px 1px 0px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: inset 1px 1px 1px 0px rgba(0, 0, 0, 0.3);
+ box-shadow: inset 1px 1px 1px 0px rgba(0, 0, 0, 0.3);
+}
+
+#resourcesearchbox {
+ position: absolute;
+ top: 1px;
+ left: 24px;
+ width: 140px;
+ height: 15px;
+ font-size: 11px;
+ padding: 0px;
+ border: none;
+ outline: none;
+ background: #fff;
+}
+
+#resourcesearchreset {
+ position: absolute;
+ top: 2px;
+ right: 2px;
+ text-decoration: none;
+}
+
+#resource-details,
+#resource-details-owner {
+ margin: 8px;
+}
+
+#resource-details td.title,
+#resource-details-owner td.title {
+ color: #666;
+ padding-right: 10px;
+ min-width: 10em;
+}
+
+#resource-details-owner thead td {
+ color: #333;
+ font-size: 13px;
+ font-weight: bold;
+}
+
+/* fullcalendar style overrides */
+
+#calendar .fc-header-right {
+ padding-right: 200px;
+ padding-top: 0;
+}
+
+.rcube-fc-content {
+ position: absolute !important;
+ top: 38px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ overflow: hidden;
+}
+
+.fc-event-title {
+ font-weight: bold;
+}
+
+.cal-event-status-cancelled .fc-event-title {
+ text-decoration: line-through;
+}
+
+.fc-event-hori .fc-event-title {
+ font-weight: normal;
+ white-space: nowrap;
+}
+
+.fc-event-hori .fc-event-time {
+ white-space: nowrap;
+ font-weight: normal !important;
+ font-size: 10px;
+ padding-right: 0.6em;
+}
+
+.fc-event-vert.fc-invitation-needs-action,
+.fc-event-hori.fc-invitation-needs-action {
+ border: 1px dashed #5757c7 !important;
+}
+
+.fc-event-vert.fc-invitation-tentative,
+.fc-event-hori.fc-invitation-tentative {
+ border: 1px dashed #eb8900 !important;
+}
+
+.fc-event-vert.fc-invitation-declined,
+.fc-event-hori.fc-invitation-declined {
+ border: 1px dashed #c00 !important;
+}
+
+.fc-grid .fc-event-time {
+ font-weight: normal !important;
+ padding-right: 0.3em;
+}
+
+.fc-event-cateories {
+ font-style:italic;
+}
+
+.fc-event-location {
+ font-size: 90%;
+}
+
+.fc-more-link {
+ color: #999;
+ padding-top: 1px;
+ cursor: pointer;
+}
+
+.fc-agenda-slots td div {
+ height: 22px;
+}
+
+.fc-mon, .fc-tue, .fc-wed, .fc-thu, .fc-fri {
+ background-color: #fdfdfd;
+}
+
+.fc-widget-header {
+ background-color: #fff;
+}
+
+.fc-icon-alarms,
+.fc-icon-sensitive,
+.fc-icon-recurring {
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ background: url(images/eventicons.gif) 0 0 no-repeat;
+ margin-left: 3px;
+ line-height: 10px;
+}
+
+.fc-icon-alarms {
+ background-position: 0 -13px;
+}
+
+.fc-icon-sensitive {
+ background-position: 0 -25px;
+}
+
+.fc-list-section .fc-event {
+ cursor: pointer;
+}
+
+#calendar .fc-event-vert .fc-event-head,
+#calendar .fc-event-vert .fc-event-content {
+ position: relative;
+ z-index: 2;
+ width: 100%;
+ overflow: hidden;
+}
+
+.fc-view-list div.fc-list-header,
+.fc-view-table td.fc-list-header,
+.edit-attendees-table thead td {
+ padding: 3px;
+ background: #dddddd;
+ background-image: -moz-linear-gradient(center top, #f4f4f4, #d2d2d2);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #f4f4f4), color-stop(1.00, #d2d2d2));
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr=#f4f4f4, endColorstr=#d2d2d2, GradientType=0);
+ font-weight: bold;
+ color: #333;
+}
+
+.fc-view-list .fc-event-skin .fc-event-content {
+ background: #F6F6F6;
+ padding: 2px;
+}
+
+.fc-view-list .fc-event-skin .fc-event-title,
+.fc-view-list .fc-event-skin .fc-event-location {
+ color: #333;
+}
+
+.fc-view-table table.fc-list-smart {
+ table-layout: auto;
+}
+
+.fc-listappend {
+ text-align: center;
+ margin: 1em 0;
+}
+
+.fc-listappend .message {
+ padding: 0.5em;
+ margin-bottom: 0.5em;
+ font-size: 150%;
+ color: #999;
+}
+
+.fc-listappend .formlinks a {
+ font-size: 12px;
+ padding: 0 0.3em;
+}
+
+.fc-event-temp {
+ opacity: 0.4;
+ filter: alpha(opacity=40); /* IE8 */
+}
+
+/* Settings section */
+
+fieldset #calendarcategories div {
+ margin-bottom: 0.3em;
+}
+
+/* Invitation UI in mail */
+
+.messagelist tbody .attachment span.ical {
+ display: inline-block;
+ vertical-align: middle;
+ height: 18px;
+ width: 20px;
+ padding: 0;
+ background: url(images/calendar-small.png) 1px 1px no-repeat;
+}
+
+#messagemenu li a.calendarlink,
+#attachmentmenu li a.calendarlink {
+ background-image: url(images/calendars.png);
+ background-position: 7px -109px;
+ background-repeat: no-repeat;
+}
+
+div.calendar-invitebox {
+ min-height: 20px;
+ margin: 5px 8px;
+ padding: 3px 6px 6px 34px;
+ border: 1px solid #C2D071;
+ background: url(images/calendar.png) 6px 5px no-repeat #F7FDCB;
+}
+
+div.calendar-invitebox td.ititle {
+ font-weight: bold;
+ padding-right: 0.5em;
+}
+
+div.calendar-invitebox td.label {
+ color: #666;
+ padding-right: 1em;
+}
+
+#event-rsvp .rsvp-buttons,
+div.calendar-invitebox .itip-buttons div {
+ margin-top: 0.5em;
+}
+
+#event-rsvp input.button,
+div.calendar-invitebox input.button,
+div.calendar-invitebox select {
+ font-size: 11px;
+ margin-right: 0.5em;
+}
+
+div.calendar-invitebox .folder-select {
+ font-size: 11px;
+ margin-left: 1em;
+}
+
+div.calendar-invitebox .rsvp-status.loading {
+ color: #666;
+ padding: 1px 0 2px 24px;
+ background: url(images/loading_blue.gif) top left no-repeat;
+}
+
+div.calendar-invitebox .rsvp-status.declined,
+div.calendar-invitebox .rsvp-status.tentative,
+div.calendar-invitebox .rsvp-status.delegated,
+div.calendar-invitebox .rsvp-status.accepted {
+ padding: 0 0 1px 22px;
+ background: url(images/attendee-status.gif) 2px -20px no-repeat;
+}
+
+div.calendar-invitebox .rsvp-status.declined {
+ background-position: 2px -40px;
+}
+
+div.calendar-invitebox .rsvp-status.tentative {
+ background-position: 2px -60px;
+}
+
+div.calendar-invitebox .rsvp-status.delegated {
+ background-position: 2px -180px;
+}
+
+div.calendar-invitebox .calendar-agenda-preview {
+ display: none;
+ border-top: 1px solid #dfdfdf;
+ margin-top: 1em;
+ padding-top: 0.6em;
+}
+
+div.calendar-invitebox .calendar-agenda-preview h3.preview-title {
+ margin: 0 0 0.5em 0;
+ font-size: 12px;
+}
+
+div.calendar-invitebox .calendar-agenda-preview .event-row {
+ color: #777;
+ padding: 2px 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+div.calendar-invitebox .calendar-agenda-preview .event-row.current {
+ color: #000;
+ font-weight: bold;
+}
+
+div.calendar-invitebox .calendar-agenda-preview .event-row.no-event {
+ font-style: italic;
+}
+
+div.calendar-invitebox .calendar-agenda-preview .event-date {
+ display: inline-block;
+ min-width: 8em;
+ margin-right: 1em;
+ white-space: nowrap;
+}
+
+/* iTIP attend reply page */
+
+.calendaritipattend .centerbox {
+ width: 40em;
+ margin: 80px auto;
+ padding: 10px 10px 10px 90px;
+ border: 1px solid #ccc;
+ box-shadow: 1px 1px 24px #ccc;
+ -moz-box-shadow: 1px 1px 18px #ccc;
+ -webkit-box-shadow: #ccc 1px 1px 18px;
+ background: url(images/invitation.png) 10px 10px no-repeat #fbfbfb;
+}
+
+.calendaritipattend .calendar-invitebox {
+ background: none;
+ padding-left: 0;
+ border: 0;
+ margin: 0 0 2em 0;
+}
+
+.calendaritipattend .calendar-invitebox .rsvp-status {
+ margin-top: 2.5em;
+ font-size: 110%;
+ font-weight: bold;
+}
+
+.calendaritipattend .calendar-invitebox td.title,
+.calendaritipattend .calendar-invitebox td.ititle {
+ font-size: 120%;
+}
+
diff --git a/calendar/skins/classic/fullcalendar.css b/calendar/skins/classic/fullcalendar.css
new file mode 120000
index 0000000..4adce7a
--- /dev/null
+++ b/calendar/skins/classic/fullcalendar.css
@@ -0,0 +1 @@
+../larry/fullcalendar.css \ No newline at end of file
diff --git a/calendar/skins/classic/iehacks.css b/calendar/skins/classic/iehacks.css
new file mode 100644
index 0000000..42bd736
--- /dev/null
+++ b/calendar/skins/classic/iehacks.css
@@ -0,0 +1,88 @@
+/* CSS hacks for IE 6/7 */
+
+#main {
+ width: expression(Math.max(300, parseInt(document.documentElement.clientWidth)-10)+'px');
+ height: expression(Math.max(300, parseInt(document.documentElement.clientHeight)-100)+'px');
+}
+
+#calendarsidebar,
+#calendarsidebartoggle {
+ height: expression((parseInt(this.parentNode.offsetHeight)-37)+'px');
+}
+
+#calendar {
+ width: expression((parseInt(this.parentNode.offsetWidth)-parseInt(document.getElementById('calendarsidebartoggle').offsetWidth)-parseInt(document.getElementById('calendarsidebartoggle').offsetLeft)-4)+'px');
+ height: expression(parseInt(this.parentNode.offsetHeight)+'px');
+}
+
+#calendars {
+ height: expression((parseInt(this.parentNode.offsetHeight)-220)+'px');
+}
+
+#agendaoptions {
+ width: expression((parseInt(this.parentNode.offsetWidth)-12)+'px');
+}
+
+#calendartoolbar a.buttonPas {
+ filter: alpha(opacity=35);
+}
+
+html #calendartoolbar a.button,
+html #calendartoolbar a.buttonPas {
+ background-image: url(images/toolbar.gif);
+}
+
+#datepicker a.ui-priority-secondary {
+ filter: alpha(opacity=40);
+}
+
+#calendarslist li span.handle {
+ background-image: url(images/calendars.gif);
+}
+
+#datepicker .ui-widget-header {
+ width: 102%;
+}
+
+#eventshow.sensitivity-private {
+ background-image: url(images/badge_private.gif);
+}
+
+#eventshow.sensitivity-confidential {
+ background-image: url(images/badge_confidential.gif);
+}
+
+.fc-day-content {
+ cursor: default;
+}
+
+.fc-header-title h2 {
+ font-size: 16px;
+}
+
+.fc-event-temp .fc-event-bg {
+ display: none; /* nested opacity filters while dragging don't work */
+}
+
+#schedule-event-time {
+ filter: alpha(opacity=40);
+}
+
+#eventfreebusy .schedule-buttons,
+#edit-attendees-form #edit-attendee-schedule {
+ right: 0.6em;
+}
+
+#schedule-freebusy-times td.all-busy,
+#schedule-freebusy-times td.all-tentative,
+#schedule-freebusy-times td.all-out-of-office {
+ background-image: url('images/freebusy-colors.gif');
+}
+
+#schedule-freebusy-times tr.times td.allday {
+ width: expression(Math.max(60, parseInt(this.offsetWidth))+'px');
+}
+
+.ui-dialog .ui-dialog-titlebar {
+ width: expression((parseInt(this.parentNode.offsetWidth)-26)+'px');
+}
diff --git a/calendar/skins/classic/images/attendee-status.gif b/calendar/skins/classic/images/attendee-status.gif
new file mode 100644
index 0000000..fd3b926
--- /dev/null
+++ b/calendar/skins/classic/images/attendee-status.gif
Binary files differ
diff --git a/calendar/skins/classic/images/badge_cancelled.png b/calendar/skins/classic/images/badge_cancelled.png
new file mode 100644
index 0000000..b89029e
--- /dev/null
+++ b/calendar/skins/classic/images/badge_cancelled.png
Binary files differ
diff --git a/calendar/skins/classic/images/badge_confidential.gif b/calendar/skins/classic/images/badge_confidential.gif
new file mode 100644
index 0000000..ce6b2a0
--- /dev/null
+++ b/calendar/skins/classic/images/badge_confidential.gif
Binary files differ
diff --git a/calendar/skins/classic/images/badge_confidential.png b/calendar/skins/classic/images/badge_confidential.png
new file mode 100644
index 0000000..e12e788
--- /dev/null
+++ b/calendar/skins/classic/images/badge_confidential.png
Binary files differ
diff --git a/calendar/skins/classic/images/badge_private.gif b/calendar/skins/classic/images/badge_private.gif
new file mode 100644
index 0000000..900ed73
--- /dev/null
+++ b/calendar/skins/classic/images/badge_private.gif
Binary files differ
diff --git a/calendar/skins/classic/images/badge_private.png b/calendar/skins/classic/images/badge_private.png
new file mode 100644
index 0000000..acf3207
--- /dev/null
+++ b/calendar/skins/classic/images/badge_private.png
Binary files differ
diff --git a/calendar/skins/classic/images/calendar-blue.png b/calendar/skins/classic/images/calendar-blue.png
new file mode 100644
index 0000000..95c9452
--- /dev/null
+++ b/calendar/skins/classic/images/calendar-blue.png
Binary files differ
diff --git a/calendar/skins/classic/images/calendar.gif b/calendar/skins/classic/images/calendar.gif
new file mode 100644
index 0000000..4b25de0
--- /dev/null
+++ b/calendar/skins/classic/images/calendar.gif
Binary files differ
diff --git a/calendar/skins/classic/images/calendar.png b/calendar/skins/classic/images/calendar.png
new file mode 100644
index 0000000..caab8a3
--- /dev/null
+++ b/calendar/skins/classic/images/calendar.png
Binary files differ
diff --git a/calendar/skins/classic/images/calendars.gif b/calendar/skins/classic/images/calendars.gif
new file mode 100644
index 0000000..c560e74
--- /dev/null
+++ b/calendar/skins/classic/images/calendars.gif
Binary files differ
diff --git a/calendar/skins/classic/images/calendars.png b/calendar/skins/classic/images/calendars.png
new file mode 100644
index 0000000..e411c41
--- /dev/null
+++ b/calendar/skins/classic/images/calendars.png
Binary files differ
diff --git a/calendar/skins/classic/images/delete.png b/calendar/skins/classic/images/delete.png
new file mode 100644
index 0000000..553ae43
--- /dev/null
+++ b/calendar/skins/classic/images/delete.png
Binary files differ
diff --git a/calendar/skins/classic/images/eventicons.gif b/calendar/skins/classic/images/eventicons.gif
new file mode 100644
index 0000000..7adbdeb
--- /dev/null
+++ b/calendar/skins/classic/images/eventicons.gif
Binary files differ
diff --git a/calendar/skins/classic/images/export.png b/calendar/skins/classic/images/export.png
new file mode 100644
index 0000000..d02781d
--- /dev/null
+++ b/calendar/skins/classic/images/export.png
Binary files differ
diff --git a/calendar/skins/classic/images/freebusy-colors.gif b/calendar/skins/classic/images/freebusy-colors.gif
new file mode 100644
index 0000000..699f4b9
--- /dev/null
+++ b/calendar/skins/classic/images/freebusy-colors.gif
Binary files differ
diff --git a/calendar/skins/classic/images/freebusy-colors.png b/calendar/skins/classic/images/freebusy-colors.png
new file mode 100644
index 0000000..ca37cd0
--- /dev/null
+++ b/calendar/skins/classic/images/freebusy-colors.png
Binary files differ
diff --git a/calendar/skins/classic/images/ical-attachment.png b/calendar/skins/classic/images/ical-attachment.png
new file mode 100755
index 0000000..8dbd669
--- /dev/null
+++ b/calendar/skins/classic/images/ical-attachment.png
Binary files differ
diff --git a/calendar/skins/classic/images/invitation.png b/calendar/skins/classic/images/invitation.png
new file mode 100644
index 0000000..f3df83a
--- /dev/null
+++ b/calendar/skins/classic/images/invitation.png
Binary files differ
diff --git a/calendar/skins/classic/images/listheader.gif b/calendar/skins/classic/images/listheader.gif
new file mode 100644
index 0000000..bf77a11
--- /dev/null
+++ b/calendar/skins/classic/images/listheader.gif
Binary files differ
diff --git a/calendar/skins/classic/images/loading_blue.gif b/calendar/skins/classic/images/loading_blue.gif
new file mode 100644
index 0000000..2ea6b19
--- /dev/null
+++ b/calendar/skins/classic/images/loading_blue.gif
Binary files differ
diff --git a/calendar/skins/classic/images/plus.png b/calendar/skins/classic/images/plus.png
new file mode 100644
index 0000000..1a35013
--- /dev/null
+++ b/calendar/skins/classic/images/plus.png
Binary files differ
diff --git a/calendar/skins/classic/images/preview.png b/calendar/skins/classic/images/preview.png
new file mode 100644
index 0000000..75f43aa
--- /dev/null
+++ b/calendar/skins/classic/images/preview.png
Binary files differ
diff --git a/calendar/skins/classic/images/print.png b/calendar/skins/classic/images/print.png
new file mode 100644
index 0000000..52dd67e
--- /dev/null
+++ b/calendar/skins/classic/images/print.png
Binary files differ
diff --git a/calendar/skins/classic/images/spacer.gif b/calendar/skins/classic/images/spacer.gif
new file mode 100644
index 0000000..c749aaf
--- /dev/null
+++ b/calendar/skins/classic/images/spacer.gif
Binary files differ
diff --git a/calendar/skins/classic/images/toggle.gif b/calendar/skins/classic/images/toggle.gif
new file mode 100644
index 0000000..d3be86f
--- /dev/null
+++ b/calendar/skins/classic/images/toggle.gif
Binary files differ
diff --git a/calendar/skins/classic/images/toolbar.gif b/calendar/skins/classic/images/toolbar.gif
new file mode 100644
index 0000000..2cf2693
--- /dev/null
+++ b/calendar/skins/classic/images/toolbar.gif
Binary files differ
diff --git a/calendar/skins/classic/images/toolbar.png b/calendar/skins/classic/images/toolbar.png
new file mode 100644
index 0000000..d49162a
--- /dev/null
+++ b/calendar/skins/classic/images/toolbar.png
Binary files differ
diff --git a/calendar/skins/classic/print.css b/calendar/skins/classic/print.css
new file mode 100644
index 0000000..908d760
--- /dev/null
+++ b/calendar/skins/classic/print.css
@@ -0,0 +1,209 @@
+/*** Printing styles for Calendar plugin ***/
+
+body {
+ margin: 0;
+ color: #000;
+ background: #fff;
+}
+
+body, td, th, div, p, h3, select, input, textarea {
+ font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+ font-size: 8pt;
+}
+
+#calendar {
+ position: relative;
+ top: 0;
+ left: 0;
+ height: auto;
+ margin: 5em auto 0 auto;
+ overflow: visible;
+}
+
+#calendar .fc-header-right {
+ padding-right: 0;
+}
+
+#printconfig {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: 10000;
+ padding: 0.5em;
+ background: #ebebeb;
+ border-bottom: 1px solid #999;
+ box-shadow: 0 3px 4px #ccc;
+ -moz-box-shadow: 0 3px 4px #ccc;
+ -webkit-box-shadow: 0 3px 4px #ccc;
+}
+
+#printconfig .prop {
+ padding-right: 2em;
+}
+
+#message {
+ position: absolute;
+ top: 5.5em;
+ left: 1em;
+}
+
+#message div.loading {
+ color: #666;
+ font-style: italic;
+}
+
+#calendarlist {
+ list-style-type: square;
+ margin: 2em 0;
+ padding-left: 1em;
+}
+
+#calendarlist li {
+ float: left;
+ padding-left: 0;
+ padding-right: 3em;
+ margin-left: 0;
+ font-weight: bold;
+}
+
+#calendarlist input,
+#calendarlist .handle {
+ display: none;
+}
+
+.calwidth {
+ width: 700px;
+ margin: 0 auto;
+}
+
+.rightalign {
+ float: right;
+ padding-top: 0.3em;
+}
+
+@media print {
+ .noprint,
+ .fc-header-right span {
+ display: none;
+ }
+
+ #calendar {
+ margin-top: 0;
+ }
+}
+
+/* fullcalendar style overrides */
+
+.fc-view {
+ overflow: visible;
+}
+
+.fc-event-skin,
+.fc-event-inner .fc-event-skin {
+ color: black;
+ background-color: #fff !important;
+}
+
+.fc-event-title {
+ font-weight: bold;
+}
+
+.fc-event-hori .fc-event-title {
+ font-weight: normal;
+ white-space: nowrap;
+}
+
+.fc-event-hori .fc-event-time {
+ white-space: nowrap;
+ font-weight: normal !important;
+ font-size: 10px;
+ padding-right: 0.6em;
+}
+
+.fc-grid .fc-event-time {
+ font-weight: normal !important;
+ padding-right: 0.3em;
+}
+
+.fc-event-cateories {
+ font-style: italic;
+}
+
+.fc-event-location {
+ font-size: 90%;
+}
+
+.fc-agenda-slots td div {
+ height: 1.4em;
+}
+
+.fc-widget-header,
+.fc-mon, .fc-tue, .fc-wed, .fc-thu, .fc-fri {
+ background-color: #fff;
+}
+
+.fc-widget-header, .fc-widget-content {
+ border-color: #ccc;
+}
+
+.fc-icon-alarms,
+.fc-icon-recurring {
+ display: inline-block;
+ width: 11px;
+ height: 11px;
+ background: url('images/eventicons.gif') 0 0 no-repeat;
+ margin-left: 3px;
+ line-height: 10px;
+}
+
+.fc-icon-alarms {
+ background-position: 0 -13px;
+}
+
+.fc-view-list, .fc-view-table {
+ border: 0;
+}
+
+.fc-view-list div.fc-list-header,
+.fc-view-table td.fc-list-header {
+ padding: 0.3em;
+ background: #fff;
+ font-weight: bold;
+ font-size: 1.2em;
+ color: #333;
+ border-color: #333;
+ border-style: solid;
+ border-width: 1px 0;
+ filter: none;
+}
+
+.fc-list-section .fc-event {
+ cursor: auto;
+}
+
+.fc-view-table tr.fc-event td,
+.fc-view-table tr.fc-event td.fc-event-handle {
+ border-color: #999;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+}
+
+.fc-view-table tr.fc-last td {
+ border: 0;
+}
+
+.fc-view-table tr.fc-event .fc-event-description {
+ padding-left: 2em;
+ padding-top: 0em;
+}
+
+.fc-event-vert .fc-event-description {
+ font-size: 90%;
+ font-style: italic;
+}
+
+
+.fc-view-table col.fc-event-location {
+ width: 20%;
+}
diff --git a/calendar/skins/classic/print.iehacks.css b/calendar/skins/classic/print.iehacks.css
new file mode 100644
index 0000000..986f004
--- /dev/null
+++ b/calendar/skins/classic/print.iehacks.css
@@ -0,0 +1,25 @@
+/* CSS hacks for IE 6/7 */
+
+#calendar {
+ top: 5em;
+}
+
+.calwidth {
+ width: 172mm;
+}
+
+.fc-header-title h2 {
+ font-size: 16px;
+}
+
+#calendarlist li {
+ float: none;
+ padding: 0;
+ margin-left: 1em;
+}
+
+@media print {
+ #calendar {
+ top: 0;
+ }
+} \ No newline at end of file
diff --git a/calendar/skins/classic/templates/attachment.html b/calendar/skins/classic/templates/attachment.html
new file mode 100644
index 0000000..d060c0d
--- /dev/null
+++ b/calendar/skins/classic/templates/attachment.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body class="extwin">
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="partheader">
+<roundcube:object name="plugin.attachmentcontrols" cellpadding="2" cellspacing="0" downloadlink="true" />
+
+<div style="position:absolute; top:2px; right:0; width:12em; text-align:right">
+ [<a href="#close" class="closelink" onclick="self.close()"><roundcube:label name="close" /></a>]
+</div>
+</div>
+
+
+<div id="attachmentcontainer">
+<roundcube:object name="plugin.attachmentframe" id="attachmentframe" width="100%" height="100%" />
+</div>
+
+</body>
+</html>
+
diff --git a/calendar/skins/classic/templates/calendar.html b/calendar/skins/classic/templates/calendar.html
new file mode 100644
index 0000000..b955c71
--- /dev/null
+++ b/calendar/skins/classic/templates/calendar.html
@@ -0,0 +1,259 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="plugins/calendar/skins/classic/iehacks.css" /><![endif]-->
+</head>
+<roundcube:if condition="env:extwin" /><body class="calendarmain extwin"><roundcube:else /><body class="calendarmain"><roundcube:endif />
+
+<roundcube:include file="/includes/taskbar.html" />
+<roundcube:include file="/includes/header.html" />
+
+<div id="main">
+ <div id="calendarsidebar">
+ <div id="calendartoolbar">
+ <roundcube:button command="addevent" type="link" class="buttonPas addevent" classAct="button addevent" classSel="button addeventSel" title="calendar.new_event" content=" " />
+ <roundcube:button command="print" type="link" class="buttonPas print" classAct="button print" classSel="button printSel" title="calendar.print" content=" " />
+ <roundcube:button command="events-import" type="link" class="buttonPas import" classAct="button import" classSel="button importSel" title="calendar.importevents" content=" " />
+ <roundcube:button command="export" type="link" class="buttonPas export" classAct="button export" classSel="button exportSel" title="calendar.export" content=" " />
+ <roundcube:container name="toolbar" id="calendartoolbar" />
+ </div>
+
+ <div id="datepicker"></div>
+ <div id="calendars" style="visibility:hidden">
+ <div class="boxtitle"><roundcube:label name="calendar.calendars" /></div>
+ <div class="listsearchbox">
+ <div class="searchbox">
+ <input type="text" name="q" id="calendarlistsearch" placeholder="<roundcube:label name='calendar.findcalendars' />" />
+ <a class="iconbutton searchicon"></a>
+ <roundcube:button command="reset-listsearch" id="calendarlistsearch-reset" class="reset searchreset" title="resetsearch" content="x" />
+ </div>
+ </div>
+ <div class="boxlistcontent">
+ <roundcube:object name="plugin.calendar_list" id="calendarslist" class="treelist" />
+ </div>
+ <div class="boxfooter">
+ <roundcube:button command="calendar-create" type="link" title="calendar.createcalendar" class="buttonPas addgroup" classAct="button addgroup" content=" " />
+ <roundcube:button name="calendaroptionslink" id="calendaroptionslink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('calendaroptions');return false" content=" " />
+ </div>
+ </div>
+ </div>
+ <div id="calendarsidebartoggle"></div>
+ <div id="calendar">
+ <roundcube:object name="plugin.angenda_options" class="boxfooter" id="agendaoptions" />
+ </div>
+</div>
+
+<div id="calendaroptionsmenu" class="popupmenu">
+ <ul>
+ <li><roundcube:button command="calendar-edit" label="calendar.edit" classAct="active" /></li>
+ <li><roundcube:button command="calendar-delete" label="delete" classAct="active" /></li>
+ <roundcube:if condition="env:calendar_driver == 'kolab'" />
+ <li><roundcube:button command="calendar-remove" label="calendar.remove" classAct="active" /></li>
+ <roundcube:endif />
+ <li><roundcube:button command="calendar-showurl" label="calendar.showurl" classAct="active" /></li>
+ <roundcube:if condition="env:calendar_driver == 'kolab'" />
+ <li class="separator_above"><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li>
+ <roundcube:endif />
+ </ul>
+</div>
+
+<div id="eventshow" class="uidialog">
+ <h1 id="event-title">Event Title</h1>
+ <div class="event-section" id="event-location">Location</div>
+ <div class="event-section" id="event-date">From-To</div>
+ <div class="event-section" id="event-description">
+ <h5 class="label"><roundcube:label name="calendar.description" /></h5>
+ <div class="event-text"></div>
+ </div>
+ <div class="event-section" id="event-url">
+ <h5 class="label"><roundcube:label name="calendar.url" /></h5>
+ <div class="event-text"></div>
+ </div>
+ <div class="event-section" id="event-repeat">
+ <h5 class="label"><roundcube:label name="calendar.repeat" /></h5>
+ <div class="event-text"></div>
+ </div>
+ <div class="event-section" id="event-alarm">
+ <h5 class="label"><roundcube:label name="calendar.alarms" /></h5>
+ <div class="event-text"></div>
+ </div>
+ <div class="event-section event-attendees" id="event-attendees">
+ <h5 class="label"><roundcube:label name="calendar.tabattendees" /></h5>
+ <div class="event-text"></div>
+ </div>
+ <div class="event-line" id="event-partstat">
+ <label><roundcube:label name="calendar.mystatus" /></label>
+ <a href="#change" class="changersvp" title="<roundcube:label name='calendar.changepartstat' />">
+ <span class="event-text"></span>
+ </a>
+ </div>
+ <div class="event-line" id="event-calendar">
+ <label><roundcube:label name="calendar.calendar" /></label>
+ <span class="event-text">Default</span>
+ </div>
+ <div class="event-line" id="event-category">
+ <label><roundcube:label name="calendar.category" /></label>
+ <span class="event-text"></span>
+ </div>
+ <div class="event-line" id="event-free-busy">
+ <label><roundcube:label name="calendar.freebusy" /></label>
+ <span class="event-text"></span>
+ </div>
+ <div class="event-line" id="event-priority">
+ <label><roundcube:label name="calendar.priority" /></label>
+ <span class="event-text"></span>
+ </div>
+ <div class="event-line" id="event-sensitivity">
+ <label><roundcube:label name="calendar.sensitivity" /></label>
+ <span class="event-text"></span>
+ </div>
+ <div class="event-section" id="event-attachments">
+ <label><roundcube:label name="attachments" /></label>
+ <div class="event-text attachments-list"></div>
+ </div>
+
+ <roundcube:object name="plugin.event_rsvp_buttons" id="event-rsvp" style="display:none" />
+</div>
+
+<div id="eventoptionsmenu" class="popupmenu">
+ <ul>
+ <li><roundcube:button command="event-download" label="download" classAct="active" /></li>
+ <li><roundcube:button command="event-sendbymail" label="send" classAct="active" /></li>
+ </ul>
+</div>
+
+<roundcube:include file="/templates/eventedit.html" />
+
+<div id="eventresourcesdialog" class="uidialog">
+ <div id="resource-dialog-left">
+ <div id="resource-selection" class="">
+ <div id="resourcequicksearch">
+ <roundcube:object name="plugin.resources_searchform" id="resourcesearchbox" />
+ <roundcube:button command="reset-resource-search" id="resourcesearchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" />
+ </div>
+ <div class="boxlistcontent">
+ <roundcube:object name="plugin.resources_list" id="resources-list" class="treelist" />
+ </div>
+ </div>
+ </div>
+
+ <div id="resource-dialog-right">
+ <div id="resource-info">
+ <h2 class="boxtitle"><roundcube:label name="calendar.resourcedetails" /></h2>
+ <roundcube:object name="plugin.resource_info" id="resource-details" />
+ </div>
+
+ <div id="resource-availability">
+ <h2 class="boxtitle"><roundcube:label name="calendar.resourceavailability" /></h2>
+ <roundcube:object name="plugin.resource_calendar" id="resource-freebusy-calendar" />
+ </div>
+ </div>
+</div>
+
+<div id="eventfreebusy" class="uidialog">
+ <roundcube:object name="plugin.attendees_freebusy_table" id="attendees-freebusy-table" cellspacing="0" cellpadding="0" border="0" />
+
+ <div class="schedule-options">
+ &nbsp;
+ <div class="schedule-buttons">
+ <button id="shedule-freebusy-prev" title="<roundcube:label name='previouspage' />">&#9668;</button><button id="shedule-freebusy-next" title="<roundcube:label name='nextpage' />">&#9658;</button>
+ </div>
+ </div>
+
+ <div style="float:left; width:28em">
+ <div class="form-section">
+ <label for="schedule-startdate"><roundcube:label name="calendar.start" /></label>
+ <input type="text" name="startdate" size="11" id="schedule-startdate" disabled="true" /> &nbsp;
+ <input type="text" name="starttime" size="6" id="schedule-starttime" disabled="true" />
+ </div>
+ <div class="form-section">
+ <label for="schedule-enddate"><roundcube:label name="calendar.end" /></label>
+ <input type="text" name="enddate" size="11" id="schedule-enddate" disabled="true" /> &nbsp;
+ <input type="text" name="endtime" size="6" id="schedule-endtime" disabled="true" />
+ </div>
+ </div>
+ <div style="float:left">
+ <div class="schedule-find-buttons">
+ <button id="shedule-find-prev">&#9668; <roundcube:label name="calendar.prevslot" /></button>
+ <button id="shedule-find-next"><roundcube:label name="calendar.nextslot" /> &#9658;</button>
+ </div>
+ <div class="schedule-options">
+ <label><input type="checkbox" id="schedule-freebusy-workinghours" value="1" /><roundcube:label name="calendar.onlyworkinghours" /></label>
+ </div>
+ </div>
+ <br style="clear:both;" />
+
+ <roundcube:include file="/templates/freebusylegend.html" />
+ <div class="attendees-list">
+ <span class="attendee organizer"><roundcube:label name="calendar.roleorganizer" /></span>
+ <span class="attendee req-participant"><roundcube:label name="calendar.rolerequired" /></span>
+ <span class="attendee opt-participant"><roundcube:label name="calendar.roleoptional" /></span>
+ <span class="attendee non-participant"><roundcube:label name="calendar.rolenonparticipant" /></span>
+ <span class="attendee chair"><roundcube:label name="calendar.rolechair" /></span>
+ </div>
+</div>
+
+<div id="calendarform" class="uidialog">
+ <roundcube:label name="loading" />
+</div>
+
+<div id="eventsimport" class="uidialog">
+ <roundcube:object name="plugin.events_import_form" id="events-import-form" uploadFieldSize="30" />
+</div>
+
+<div id="eventsexport" class="uidialog">
+ <roundcube:object name="plugin.events_export_form" id="events-export-form" />
+</div>
+
+<div id="calendarurlbox" class="uidialog">
+ <p><roundcube:label name="calendar.showurldescription" /></p>
+ <textarea id="calfeedurl" rows="2" readonly="readonly"></textarea>
+ <div id="calendarcaldavurl" style="display:none">
+ <p><roundcube:label name="calendar.caldavurldescription" html="yes" /></p>
+ <textarea id="caldavurl" rows="2" readonly="readonly"></textarea>
+ </div>
+</div>
+
+<div id="quicksearchbar">
+<roundcube:button name="searchmenulink" id="searchmenulink" image="/images/icons/glass.png" />
+<roundcube:object name="plugin.searchform" id="quicksearchbox" />
+<roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" />
+</div>
+
+<roundcube:object name="plugin.calendar_css" />
+
+<script type="text/javascript">
+
+// use skin functions to handle popup-menus
+rcube_init_mail_ui();
+rcmail_ui.popups.calendaroptions = { id:'calendaroptionsmenu', above:1, obj:$('#calendaroptionsmenu') };
+
+$(document).ready(function(e){
+ // initialize sidebar toggle
+ $('#calendarsidebartoggle').click(function() {
+ var width = $(this).data('sidebarwidth');
+ var offset = $(this).data('offset');
+ var $sidebar = $('#calendarsidebar'), time = 250;
+
+ if ($sidebar.is(':visible')) {
+ $sidebar.animate({ left:'-'+(width+10)+'px' }, time, function(){ $('#calendarsidebar').hide(); });
+ $(this).animate({ left:'8px'}, time, function(){ $('#calendarsidebartoggle').addClass('sidebarclosed') });
+ $('#calendar').animate({ left:'20px'}, time, function(){ $(this).fullCalendar('render'); });
+ }
+ else {
+ $sidebar.show().animate({ left:'10px' }, time);
+ $(this).animate({ left:offset+'px'}, time, function(){ $('#calendarsidebartoggle').removeClass('sidebarclosed'); });
+ $('#calendar').animate({ left:(width+16)+'px'}, time, function(){ $(this).fullCalendar('render'); });
+ }
+ })
+ .data('offset', $('#calendarsidebartoggle').position().left)
+ .data('sidebarwidth', $('#calendarsidebar').width() + $('#calendarsidebar').position().left);
+});
+
+</script>
+
+</body>
+</html>
diff --git a/calendar/skins/classic/templates/eventedit.html b/calendar/skins/classic/templates/eventedit.html
new file mode 100644
index 0000000..7678d0c
--- /dev/null
+++ b/calendar/skins/classic/templates/eventedit.html
@@ -0,0 +1,128 @@
+<div id="eventedit" class="uidialog">
+ <form id="eventtabs" action="#" method="post" enctype="multipart/form-data">
+ <ul>
+ <li><a href="#event-panel-1"><roundcube:label name="calendar.tabsummary" /></a></li>
+ <li id="edit-tab-recurrence"><a href="#event-panel-recurrence"><roundcube:label name="calendar.tabrecurrence" /></a></li>
+ <li id="edit-tab-attendees"><a href="#event-panel-attendees"><roundcube:label name="calendar.tabattendees" /></a></li>
+ <li id="edit-tab-resources"><a href="#event-panel-resources"><roundcube:label name="calendar.tabresources" /></a></li>
+ <li id="edit-tab-attachments"><a href="#event-panel-attachments"><roundcube:label name="calendar.tabattachments" /></a></li>
+ </ul>
+ <!-- basic info -->
+ <div id="event-panel-1">
+ <div class="event-section">
+ <label for="edit-title"><roundcube:label name="calendar.title" /></label>
+ <br />
+ <input type="text" class="text" name="title" id="edit-title" size="40" />
+ </div>
+ <div class="event-section">
+ <label for="edit-location"><roundcube:label name="calendar.location" /></label>
+ <br />
+ <input type="text" class="text" name="location" id="edit-location" size="40" />
+ </div>
+ <div class="event-section">
+ <label for="edit-description"><roundcube:label name="calendar.description" /></label>
+ <br />
+ <textarea name="description" id="edit-description" class="text" rows="5" cols="40"></textarea>
+ </div>
+ <div class="event-section">
+ <label for="edit-url"><roundcube:label name="calendar.url" /></label>
+ <br />
+ <input type="text" class="text" name="vurl" id="edit-url" size="40" />
+ </div>
+ <div class="event-section">
+ <label style="float:right;padding-right:0.5em"><input type="checkbox" name="allday" id="edit-allday" value="1" /><roundcube:label name="calendar.all-day" /></label>
+ <label for="edit-startdate"><roundcube:label name="calendar.start" /></label>
+ <input type="text" name="startdate" size="11" id="edit-startdate" /> &nbsp;
+ <input type="text" name="starttime" size="6" id="edit-starttime" />
+ </div>
+ <div class="event-section">
+ <label for="edit-enddate"><roundcube:label name="calendar.end" /></label>
+ <input type="text" name="enddate" size="11" id="edit-enddate" /> &nbsp;
+ <input type="text" name="endtime" size="6" id="edit-endtime" />
+ </div>
+ <div class="event-section" id="edit-alarms">
+ <div class="edit-alarm-item first">
+ <label for="edit-alarm"><roundcube:label name="calendar.alarms" /></label>
+ <roundcube:object name="plugin.alarm_select" />
+ <span class="edit-alarm-buttons">
+ <a href="#add" class="iconlink add add-alarm">+</a>
+ <a href="#delete" class="iconlink delete delete-alarm">-</a>
+ </span>
+ </div>
+ </div>
+ <div class="event-section" id="calendar-select">
+ <label for="edit-calendar"><roundcube:label name="calendar.calendar" /></label>
+ <roundcube:object name="plugin.calendar_select" id="edit-calendar" />
+ </div>
+ <div class="event-section">
+ <label for="edit-categories"><roundcube:label name="calendar.category" /></label>
+ <roundcube:object name="plugin.category_select" id="edit-categories" />
+ </div>
+ <div class="event-section">
+ <label for="edit-event-status"><roundcube:label name="calendar.status" /></label>
+ <roundcube:object name="plugin.status_select" id="edit-event-status" />
+ </div>
+ <div class="event-section">
+ <label for="edit-free-busy"><roundcube:label name="calendar.freebusy" /></label>
+ <roundcube:object name="plugin.freebusy_select" id="edit-free-busy" />
+ </div>
+ <div class="event-section">
+ <label for="edit-priority"><roundcube:label name="calendar.priority" /></label>
+ <roundcube:object name="plugin.priority_select" id="edit-priority" />
+ </div>
+ <div class="event-section">
+ <label for="edit-sensitivity"><roundcube:label name="calendar.sensitivity" /></label>
+ <roundcube:object name="plugin.sensitivity_select" id="edit-sensitivity" />
+ </div>
+ </div>
+ <!-- recurrence settings -->
+ <div id="event-panel-recurrence">
+ <div class="event-section border-after">
+ <roundcube:object name="plugin.recurrence_form" part="frequency" />
+ </div>
+ <div class="recurrence-form border-after" id="recurrence-form-daily">
+ <roundcube:object name="plugin.recurrence_form" part="daily" class="event-section" />
+ </div>
+ <div class="recurrence-form border-after" id="recurrence-form-weekly">
+ <roundcube:object name="plugin.recurrence_form" part="weekly" class="event-section" />
+ </div>
+ <div class="recurrence-form border-after" id="recurrence-form-monthly">
+ <roundcube:object name="plugin.recurrence_form" part="monthly" class="event-section" />
+ </div>
+ <div class="recurrence-form border-after" id="recurrence-form-yearly">
+ <roundcube:object name="plugin.recurrence_form" part="yearly" class="event-section" />
+ </div>
+ <div class="recurrence-form" id="recurrence-form-until">
+ <roundcube:object name="plugin.recurrence_form" part="until" class="event-section" />
+ </div>
+ <div class="recurrence-form" id="recurrence-form-rdate">
+ <roundcube:object name="plugin.recurrence_form" part="rdate" class="event-section" />
+ </div>
+ </div>
+ <!-- attendees list -->
+ <div id="event-panel-attendees">
+ <roundcube:object name="plugin.attendees_list" id="edit-attendees-table" class="edit-attendees-table" cellspacing="0" cellpadding="0" border="0" />
+ <roundcube:object name="plugin.attendees_form" id="edit-attendees-form" />
+ <roundcube:include file="/templates/freebusylegend.html" />
+ </div>
+ <!-- resources list -->
+ <div id="event-panel-resources">
+ <roundcube:object name="plugin.attendees_list" id="edit-resources-table" class="edit-attendees-table" cellspacing="0" cellpadding="0" border="0" coltitle="resource" />
+ <roundcube:object name="plugin.resources_form" id="edit-resources-form" />
+ <roundcube:include file="/templates/freebusylegend.html" />
+ </div>
+ <!-- attachments list (with upload form) -->
+ <div id="event-panel-attachments">
+ <div id="edit-attachments" class="attachments-list">
+ <roundcube:object name="plugin.attachments_list" id="attachmentlist" deleteIcon="/images/icons/delete.png" cancelIcon="/images/icons/delete.png" loadingIcon="/images/display/loading_blue.gif" />
+ </div>
+ <div id="edit-attachments-form">
+ <roundcube:object name="plugin.attachments_form" id="calendar-attachment-form" attachmentFieldSize="30" />
+ </div>
+ </div>
+ </form>
+
+ <roundcube:object name="plugin.edit_attendees_notify" id="edit-attendees-notify" class="event-dialog-message" style="display:none" />
+ <roundcube:object name="plugin.edit_recurring_warning" class="event-dialog-message edit-recurring-warning" style="display:none" />
+ <div id="edit-localchanges-warning" class="event-dialog-message" style="display:none"><roundcube:label name="calendar.localchangeswarning" /></div>
+</div> \ No newline at end of file
diff --git a/calendar/skins/classic/templates/freebusylegend.html b/calendar/skins/classic/templates/freebusylegend.html
new file mode 100644
index 0000000..2f61500
--- /dev/null
+++ b/calendar/skins/classic/templates/freebusylegend.html
@@ -0,0 +1,7 @@
+ <div id="edit-attendees-legend" class="availability">
+ <span class="legend"><img class="availabilityicon free" src="program/resources/blank.gif" /> <roundcube:label name="calendar.availfree" /></span>
+ <span class="legend"><img class="availabilityicon busy" src="program/resources/blank.gif" /> <roundcube:label name="calendar.availbusy" /></span>
+ <span class="legend"><img class="availabilityicon tentative" src="program/resources/blank.gif" /> <roundcube:label name="calendar.availtentative" /></span>
+ <!--<span class="legend"><img class="availabilityicon out-of-office" src="program/resources/blank.gif" /> <roundcube:label name="calendar.availoutofoffice" /></span>-->
+ <span class="legend"><img class="availabilityicon unknown" src="program/resources/blank.gif" /> <roundcube:label name="calendar.availunknown" /></span>
+ </div>
diff --git a/calendar/skins/classic/templates/itipattend.html b/calendar/skins/classic/templates/itipattend.html
new file mode 100644
index 0000000..f4290d8
--- /dev/null
+++ b/calendar/skins/classic/templates/itipattend.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body class="calendaritipattend">
+
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" style="margin:0 11px" />
+
+<roundcube:object name="message" id="message" />
+
+<div class="centerbox">
+ <roundcube:object name="plugin.event_inviteform" />
+ <roundcube:object name="plugin.event_invitebox" class="calendar-invitebox" />
+ <roundcube:object name="plugin.event_rsvp_buttons" type="submit" iname="rsvp" id="event-rsvp" delegate="false" />
+ </form>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/calendar/skins/classic/templates/kolabacl.html b/calendar/skins/classic/templates/kolabacl.html
new file mode 100644
index 0000000..668a670
--- /dev/null
+++ b/calendar/skins/classic/templates/kolabacl.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+</head>
+<body class="iframe" style="background:#fff; margin:0">
+
+<roundcube:object name="folderacl" />
+
+</body>
+</html>
diff --git a/calendar/skins/classic/templates/kolabform.html b/calendar/skins/classic/templates/kolabform.html
new file mode 100644
index 0000000..a74481a
--- /dev/null
+++ b/calendar/skins/classic/templates/kolabform.html
@@ -0,0 +1,7 @@
+<div id="calendar-kolabform">
+ <roundcube:object name="calendarform" />
+</div>
+<script type="text/javascript">rcube_init_tabs('calendar-kolabform');</script>
+<style type="text/css">
+#calendarpropform { min-width:680px }
+</style> \ No newline at end of file
diff --git a/calendar/skins/classic/templates/print.html b/calendar/skins/classic/templates/print.html
new file mode 100644
index 0000000..ead7ff5
--- /dev/null
+++ b/calendar/skins/classic/templates/print.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+</head>
+<body class="calendarprint">
+
+<div id="printconfig" class="noprint">
+ <div class="calwidth">
+ <a href="#close" onclick="window.close()" class="rightalign"><roundcube:label name="close" /></a>
+ <span class="prop"><input type="button" id="printme" value="<roundcube:label name='print' />" onclick="window.print()"></span>
+ <span class="prop"><label><input type="checkbox" id="propdescription" checked="checked" /> <roundcube:label name="calendar.printdescriptions" /></label></span>
+ </div>
+</div>
+
+<roundcube:object name="message" id="message" class="noprint" />
+
+<div id="calendar" class="calwidth"></div>
+
+<div class="calwidth">
+ <roundcube:object name="plugin.calendar_list" activeonly="true" id="calendarlist" />
+</div>
+
+<roundcube:object name="plugin.calendar_css" printmode="true" />
+
+<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="plugins/calendar/skins/classic/print.iehacks.css" /><![endif]-->
+</body>
+</html> \ No newline at end of file

© 2014-2019 Faster IT GmbH | imprint | privacy policy