diff --git a/calendar/templates/prisma/alarm.tpl b/calendar/templates/prisma/alarm.tpl
new file mode 100644
index 0000000000..90ba695990
--- /dev/null
+++ b/calendar/templates/prisma/alarm.tpl
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+ {lang_time}
+ {lang_text}
+ {lang_owner}
+ {lang_enabled}
+ {lang_select}
+
+
+
+
+
+
+ {field}:
+
+
+ {data}
+
+
+ {owner}
+
+
+ {enabled}
+
+
+ {select}
+
+
+
+
+
+
+
+ {hr_text}
+
+
+
+
+
+
+
+ {enable_button} {disable_button} {delete_button}
+
+
+
diff --git a/calendar/templates/prisma/app.css b/calendar/templates/prisma/app.css
new file mode 100644
index 0000000000..b4de198377
--- /dev/null
+++ b/calendar/templates/prisma/app.css
@@ -0,0 +1,470 @@
+/* CSS Document */
+
+/*
+ * CSS settings for the new uiviews code
+ */
+
+/* timeGridWidget, contains timeRow's and dayCol's
+ */
+.calTimeGrid{
+ position: relative;
+ top: 0px;
+ left: 0px;
+ border:1px solid gray;
+ margin-top: 20px; /* contains the dayColHeader */
+/* set via inline style on runtime:
+ * width:
+ */
+}
+
+/* single row in the time-line, always used in conjunction with row_{on|off}, you dont need to set a bgcolor, but you can
+ */
+.calTimeRow,.calTimeRowOff{
+ position: relative;
+ width: 100%;
+/* set via inline style on runtime:
+ * height:
+ */
+}
+.calTimeRow{
+/* background-color: silver; */
+}
+
+/* time in a timeRow
+ */
+.calTimeRowTime{
+ padding-left: 5px;
+ height: 100%;
+}
+
+/* contains (multiple) dayCol's
+ */
+.calDayCols{
+ position: absolute;
+ top: 0px;
+ height: 100;
+/* set via inline style on runtime:
+ * left: width(calTimeRowTime)
+ * width: 100% - width(calTimeRowTime)
+ */
+}
+
+/* contains (multiple) eventCol's
+ */
+.calDayCol{
+ position: absolute;
+ top: 0px;
+ height: 100%;
+/* set via inline style on runtime:
+ * left:
+ * width:
+ */
+ border-left: 1px solid gray;
+}
+
+/* header for the dayCol
+ */
+.calDayColHeader,.calGridHeader{
+ position: absolute;
+ top: -20px;
+ width: 100%;
+ text-align: center;
+ font-size: 100%;
+ white-space: nowrap;
+ border: 1px solid gray;
+ height: 16px;
+ left: -1px;
+ padding-top: 2px;
+}
+.calToday{
+ background: #ffffcc;
+}
+.calHoliday{
+ background: #dac0c0;
+}
+
+.calViewUserNameBox {
+ position: absolute;
+ top: -1px;
+ width: 95%;
+ text-align: left;
+ font-size: 120%;
+ white-space: nowrap;
+ border: 1px solid gray;
+ height: 17px;
+ left: -1px;
+ padding-top: 0px;
+ padding-left: 10px;
+ background: #dac0c0;
+}
+.calViewUserName {
+ font-weight: normal;
+}
+.calViewUserName:first-letter {
+ text-transform:uppercase;
+}
+.calViewUserNameFirst {
+}
+.calViewUserNameFirst:after {
+ content: ", ";
+}
+
+/* header of the time-grid, eg. for the weeks in the month-view (leftmost of the day-col-headers)
+ */
+.calGridHeader{
+ text-align: left;
+ padding-left: 3px;
+}
+
+/* contains (multiple) events's
+ */
+.calEventCol{
+ position: absolute;
+ top: 0px;
+ height: 100%;
+/* set via inline style on runtime:
+ * left:
+ * width:
+ */
+/* border: 1px dotted red; */
+}
+
+/* contains one event: header-row & -body
+ */
+.calEvent,.calEvent:hover{
+ position: absolute;
+/* background-color: #ffffC0;*/
+ left: 0px;
+ width: 100%;
+ overflow: hidden;
+/* set via inline style on runtime:
+ * top: depending on startime
+ * top: depending on length
+ */
+}
+.calEvent:hover{
+/* background-color: #ffff80;*/
+ cursor: pointer;
+ cursor: hand;
+}
+
+/* header-row of the event
+ */
+.calEventHeader,.calEventHeaderSmall{
+ font-weight: bold;
+ font-size: 14px;
+ background-color: #0000ff;
+ color: white;
+ text-align: center;
+ white-space: nowrap;
+}
+.calEventHeaderSmall{
+ font-size: 10px;
+}
+
+/* body of the event
+ */
+.calEventBody,.calEventBodySmall{
+ padding: 0px 3px 0px;
+}
+
+.calEventBodySmall{
+ font-size: 95%;
+}
+
+.calEventLabel
+{
+ font-weight: bold;
+ font-size: 90%;
+}
+
+.calEventTitle
+{
+ font-weight: bold;
+ font-size: 110%;
+}
+
+/* cal day-view's todo column
+ */
+.calDayToDos {
+ width: 250px;
+ text-align: center;
+}
+/* header row
+*/
+.calDayTodosHeader {
+ margin: 0px;
+ width: 250px;
+ padding: 1px;
+ font-weight: bold;
+}
+/* div containing the table with the ToDo's
+*/
+.calDayTodos .calDayTodosTable {
+ overflow: auto;
+ max-height: 400px;
+}
+
+/*
+ * From here on, settings for the "old" uicalendar code
+ */
+.to_continue
+{
+ font-size: 9px;
+}
+
+A.minicalendar
+{
+ color: #000000;
+ font-size: 9px;
+
+}
+
+A.bminicalendar
+{
+ color: #336699;
+ font-style: italic;
+ font-weight: bold;
+ font-size: 9px;
+}
+
+A.minicalendargrey
+{
+ color: #999999;
+ font-size: 10px;
+ font-weight: bold;
+}
+
+A.bminicalendargrey
+{
+ color: #336699;
+ font-style: italic;
+ font-size:10px;
+}
+
+A.minicalhol
+{
+ padding-left:3px;
+ padding-right:3px;
+ background: #dab0b0;
+ color: #000000;
+ font-size: 10px;
+}
+
+A.bminicalhol
+{
+ padding-left:3px;
+ padding-right:3px;
+ background: #dab0b0;
+ color: #336699;
+ font-size: 10px;
+}
+
+A.minicalgreyhol
+{
+ padding-left:3px;
+ padding-right:3px;
+ background: #dab0b0;
+ color: #999999;
+ font-size: 10px;
+}
+
+A.bminicalgreyhol
+{
+ padding-left:3px;
+ padding-right:3px;
+ background: #dab0b0;
+ color: #999999;
+ font-size: 10px;
+}
+
+
+.event-on
+{
+ background: #D3DCE3;
+ border: #E8F0F0 1px solid;
+}
+
+.event-off
+{
+ background: #E8F0F0;
+ border: #D3DCE3 1px solid;
+}
+
+.event-holiday
+{
+ font-size: 100%;
+ background: #dac0c0;
+ color:#000000;
+ vertical-align: middle;
+}
+
+.time
+{
+ background: #D3DCE3;
+ color:#000000;
+ font-size: 10px;
+ font-weight: bold;
+ vertical-align: middle;
+ width: 5.2%;
+ text-align: right;
+ padding-right: 5px;
+ line-height: 11px;
+ border: #E8F0F0 1px solid;
+}
+
+
+.planner-cell
+{
+ cursor: pointer;
+ cursor: hand;
+ border: thin solid black;
+}
+
+/* common */
+.calendar_link_print
+{
+ text-align: center;
+ font-size: 10px;
+}
+
+//Mini Calendar
+
+.calendar_minical_table
+{
+ width: 180px;
+ font-weight: bold;
+}
+
+.calendar_minical_daytable
+{
+ width: 100%;
+}
+
+.calendar_minical_dayname
+{
+ font-size: 9px;
+ text-align: right;
+}
+
+.calendar_minical_hrule
+{
+ width: 96%;
+}
+
+/* Header */
+.calendar_dropbuttons
+{
+ align: center;
+ text-align: center;
+ vertical-align: bottom;
+ font-weight: bold;
+ font-size: 8px;
+}
+
+.calendar-weekidentifier
+{
+ font-size:16px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.calendar_header
+{
+ font-size: 16px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.calendar_dayview_table_header
+{
+ font-size: 13px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.calendar_dayview_todo_header
+{
+ margin: 0px;
+ padding: 2px;
+ font-weight: bold;
+}
+
+/* week view */
+.calendar_week_identifier_table
+{
+ border: 0px solid black;
+ width: 100%;
+}
+
+.calendar_week_identifier
+{
+ font-size: 13px;
+ text-align: center;
+ font-weight: bold;
+}
+
+.calendar_weekview_daytitle
+{
+ font-weight: bold;
+ font-size: 12px;
+ background: #D3DCE3;
+}
+
+.calendar_m_w_table
+{
+ table-layout:fixed;
+ overflow:auto;
+ height: 100%;
+ width: 100%;
+ border: 0px #000000 solid;
+}
+
+.calendar_m_w_table_row
+{
+ height: 80px;
+}
+
+.calendar_m_w_tablecell
+{
+ vertical-align: top;
+ padding-left: 4px;
+ padding-right: 4px;
+ padding-bottom: 6px;
+}
+
+A.event_entry
+{
+ font-size:10px;
+}
+
+/* month view */
+
+.calendar_month_identifier
+{
+ font-size:14px;
+ font-weight: bold;
+}
+
+.calendar_user_identifier
+{
+ font-size:12px;
+ color: #009999;
+ font-weight: bold;
+}
+
+.calendar_week_minical_table
+{
+ width:100%;
+ border: 0px solid #000000
+}
+
+.calendar_weekinfo
+{
+ color: #000000;
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 10px;
+ font-weight: bold;
+ font-style: italic;
+}
diff --git a/calendar/templates/prisma/config.tpl b/calendar/templates/prisma/config.tpl
new file mode 100644
index 0000000000..ab7e04825b
--- /dev/null
+++ b/calendar/templates/prisma/config.tpl
@@ -0,0 +1,51 @@
+
+
+
diff --git a/calendar/templates/prisma/csv_import.tpl b/calendar/templates/prisma/csv_import.tpl
new file mode 100644
index 0000000000..b186ce50a8
--- /dev/null
+++ b/calendar/templates/prisma/csv_import.tpl
@@ -0,0 +1,74 @@
+
+
+ {lang_csvfile}
+
+
+
+ {lang_fieldsep}
+
+
+
+ {lang_charset}
+
+ {select_charset}
+
+
+
+
+
+
+
+
+
+ {lang_csv_fieldname}
+ {lang_info_fieldname}
+ {lang_translation}
+
+
+
+
+
+ {csv_field}
+ {cal_fields}
+
+
+
+
+
+
+ {submit}
+
+ {lang_start}
+ {lang_max}
+
+
+ {lang_debug}
+
+
+ {help_on_trans}
+
+
+
+
+
+
+ {log}
+ {anz_imported}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/custom_fields.tpl b/calendar/templates/prisma/custom_fields.tpl
new file mode 100644
index 0000000000..57bba92875
--- /dev/null
+++ b/calendar/templates/prisma/custom_fields.tpl
@@ -0,0 +1,46 @@
+
+
+{lang_error}
+
+
+
+
+
+
+ {name}
+ {length}
+ {shown}
+ {order}
+ {title}
+ {disabled}
+ {button}
+
+
diff --git a/calendar/templates/prisma/day.tpl b/calendar/templates/prisma/day.tpl
new file mode 100644
index 0000000000..df9f66738a
--- /dev/null
+++ b/calendar/templates/prisma/day.tpl
@@ -0,0 +1,47 @@
+
+
+{printer_friendly}
+
+
+
+
+ {print}
+
+
+
+
+
+ {small_calendar}
+
+
+
+
+
+
+ {todos}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {daily_events}
+
+
+
+
diff --git a/calendar/templates/prisma/day_cal.tpl b/calendar/templates/prisma/day_cal.tpl
new file mode 100644
index 0000000000..552b309cf2
--- /dev/null
+++ b/calendar/templates/prisma/day_cal.tpl
@@ -0,0 +1,25 @@
+
+
+
+
+
+ {time}{event}
+
+
+
+ {event}
+
+
+ {event}
+
+
+ {event}
+
+
+ {open_link}{time}{close_link}
+
+
diff --git a/calendar/templates/prisma/day_list.tpl b/calendar/templates/prisma/day_list.tpl
new file mode 100644
index 0000000000..e1263b2cb2
--- /dev/null
+++ b/calendar/templates/prisma/day_list.tpl
@@ -0,0 +1,29 @@
+
+
+
+
+
+ {event}
+
+
+ {event}
+
+
+ {event}
+
+
+ {event}
+
+
+ {time}
+
+
+
diff --git a/calendar/templates/prisma/delete_common.tpl b/calendar/templates/prisma/delete_common.tpl
new file mode 100644
index 0000000000..94e7026403
--- /dev/null
+++ b/calendar/templates/prisma/delete_common.tpl
@@ -0,0 +1,16 @@
+
+
+
+
+
+ {messages}
+
+
+
+ {no}
+ {yes}
+
+
+
+
+
diff --git a/calendar/templates/prisma/edit.tpl b/calendar/templates/prisma/edit.tpl
new file mode 100644
index 0000000000..cd53d39ce9
--- /dev/null
+++ b/calendar/templates/prisma/edit.tpl
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+ {field}:
+ {data}
+
+
+
+
+
+ {hr_text}
+
+
+
diff --git a/calendar/templates/prisma/event_widget.tpl b/calendar/templates/prisma/event_widget.tpl
new file mode 100644
index 0000000000..a49ae3900d
--- /dev/null
+++ b/calendar/templates/prisma/event_widget.tpl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ {body_icons}
+ {title}
+
+
+ {description}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {body_icons}{title} {description}
{multidaytimes}{location}{category}{participants}
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/footer.tpl b/calendar/templates/prisma/footer.tpl
new file mode 100644
index 0000000000..473bb42557
--- /dev/null
+++ b/calendar/templates/prisma/footer.tpl
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {b_row}
+
+
+
+
diff --git a/calendar/templates/prisma/form_button_dropdown.tpl b/calendar/templates/prisma/form_button_dropdown.tpl
new file mode 100644
index 0000000000..785962f861
--- /dev/null
+++ b/calendar/templates/prisma/form_button_dropdown.tpl
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/calendar/templates/prisma/form_button_script.tpl b/calendar/templates/prisma/form_button_script.tpl
new file mode 100644
index 0000000000..322c951881
--- /dev/null
+++ b/calendar/templates/prisma/form_button_script.tpl
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/head.tpl b/calendar/templates/prisma/head.tpl
new file mode 100644
index 0000000000..c3d44ccbad
--- /dev/null
+++ b/calendar/templates/prisma/head.tpl
@@ -0,0 +1,17 @@
+
+
+
+{row}
+
+
+
+
+
+
+
+{str}
+
\ No newline at end of file
diff --git a/calendar/templates/prisma/header.inc.php b/calendar/templates/prisma/header.inc.php
new file mode 100644
index 0000000000..2cc683d5e8
--- /dev/null
+++ b/calendar/templates/prisma/header.inc.php
@@ -0,0 +1,226 @@
+set_var('str',$str);
+ $tpl->parse('header_column','head_col',True);
+ }
+
+ function add_image_ahref($link,$image,$alt)
+ {
+ return ' ';
+ }
+
+ $refer = explode('.',$GLOBALS['HTTP_GET_VARS']['menuaction']);
+ $referrer = $refer[2];
+
+ $templates = Array(
+ 'head_tpl' => 'head.tpl',
+ 'form_button_dropdown' => 'form_button_dropdown.tpl',
+ 'form_button_script' => 'form_button_script.tpl'
+ );
+ $tpl->set_file($templates);
+ $tpl->set_block('head_tpl','head','head');
+ $tpl->set_block('head_tpl','head_table','head_table');
+ $tpl->set_block('head_tpl','head_col','head_col');
+ $tpl->set_block('form_button_script','form_button');
+return;
+ if(floor(phpversion()) >= 4)
+ {
+ $tpl->set_var('cols',8);
+ }
+ else
+ {
+ $tpl->set_var('cols',7);
+ }
+
+ $today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime);
+
+ $col_width = 12;
+
+ add_col($tpl,' ');
+
+ add_col($tpl,' '.add_image_ahref($this->page('day','&date='.$today),'today',lang('Today')).' ');
+
+ add_col($tpl,' '.add_image_ahref($this->page('week','&date='.$today),'week',lang('This week')).' ');
+
+ add_col($tpl,' '.add_image_ahref($this->page('month','&date='.$today),'month',lang('This month')).' ');
+
+ add_col($tpl,' '.add_image_ahref($this->page('year','&date='.$today),'year',lang('This Year')).' ');
+
+ if(floor(phpversion()) >= 4)
+ {
+ add_col($tpl,' '.add_image_ahref($this->page('planner','&date='.$today),'planner',lang('Planner')).' ');
+ $col_width += 2;
+ }
+
+ add_col($tpl,' '.add_image_ahref($this->page('matrixselect'),'view',lang('Daily Matrix View')).' ');
+
+ add_col($tpl,' ');
+
+ $tpl->parse('row','head_table',True);
+
+ $tpl->set_var('header_column','');
+ $tpl->set_var('cols',$cols);
+
+ if($referrer!='view')
+ {
+ $remainder = 72;
+
+ $date = (isset($GLOBALS['date'])?$GLOBALS['date']:'');
+ $date = (isset($GLOBALS['HTTP_GET_VARS']['date'])?$GLOBALS['HTTP_GET_VARS']['date']:$date);
+ $date = ($date=='' && isset($GLOBALS['HTTP_POST_VARS']['date'])?$GLOBALS['HTTP_POST_VARS']['date']:$date);
+
+ $base_hidden_vars = ' '."\n";
+ if(isset($GLOBALS['HTTP_GET_VARS']['cal_id']) && $GLOBALS['HTTP_GET_VARS']['cal_id'] != 0)
+ {
+ $base_hidden_vars .= ' '."\n";
+ }
+ if(isset($GLOBALS['HTTP_POST_VARS']['keywords']) && $GLOBALS['HTTP_POST_VARS']['keywords'])
+ {
+ $base_hidden_vars .= ' '."\n";
+ }
+ if(isset($GLOBALS['HTTP_POST_VARS']['matrixtype']) && $GLOBALS['HTTP_POST_VARS']['matrixtype'])
+ {
+ $base_hidden_vars .= ' '."\n";
+ }
+ if($date)
+ {
+ $base_hidden_vars .= ' '."\n";
+ }
+ $base_hidden_vars .= ' '."\n";
+ $base_hidden_vars .= ' '."\n";
+ $base_hidden_vars .= ' '."\n";
+
+ if(isset($GLOBALS['HTTP_POST_VARS']['participants']) && $GLOBALS['HTTP_POST_VARS']['participants'])
+ {
+ for ($i=0;$i'."\n";
+ }
+ }
+
+ $var = Array(
+ 'form_width' => '28',
+ 'form_link' => $this->page($referrer),
+ 'form_name' => 'cat_id',
+ 'title' => lang('Category'),
+ 'hidden_vars' => $base_hidden_vars,
+ 'form_options' => ''.lang('All').' '.$this->cat->formated_list('select','all',$this->bo->cat_id,'True'),
+ 'button_value' => lang('Go!')
+ );
+ $tpl->set_var($var);
+ $tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
+ $tpl->parse('header_column','head_col',True);
+
+ if($GLOBALS['HTTP_GET_VARS']['menuaction'] == 'calendar.uicalendar.planner')
+ {
+ $remainder -= 28;
+ print_debug('Sort By',$this->bo->sortby);
+
+ $form_options = 'bo->sortby=='user'?' selected':'').'>'.lang('User').' '."\n";
+ $form_options .= ' bo->sortby) || !$this->bo->sortby) || $this->bo->sortby=='category'?' selected':'').'>'.lang('Category').' '."\n";
+
+ $var = Array(
+ 'form_width' => '28',
+ 'form_link' => $this->page($referrer),
+ 'form_name' => 'sortby',
+ 'title' => lang('Sort By'),
+ 'hidden_vars' => $base_hidden_vars,
+ 'form_options' => $form_options,
+ 'button_value' => lang('Go!')
+ );
+ $tpl->set_var($var);
+ $tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
+ $tpl->parse('header_column','head_col',True);
+ }
+
+ if($this->bo->check_perms(PHPGW_ACL_PRIVATE))
+ {
+ $remainder -= 28;
+ $form_options = 'bo->filter==' all '?' selected':'').'>'.lang('All').' '."\n";
+ $form_options .= ' bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').' '."\n";
+
+ $var = Array(
+ 'form_width' => '28',
+ 'form_link' => $this->page($referrer),
+ 'form_name' => 'filter',
+ 'title' => lang('Filter'),
+ 'hidden_vars' => $base_hidden_vars,
+ 'form_options' => $form_options,
+ 'button_value' => lang('Go!')
+ );
+ $tpl->set_var($var);
+ $tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
+ $tpl->parse('header_column','head_col',True);
+ }
+
+ if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0)
+ {
+ $form_options = '';
+ $drop_down = $this->bo->list_cals();
+ foreach($drop_down as $key => $grant)
+ {
+ $form_options .= ' bo->owner?' selected':'').'>'.$grant['name'].' '."\n";
+ }
+
+ $var = Array(
+ 'form_width' => $remainder,
+ 'form_link' => $this->page($referrer),
+ 'form_name' => 'owner',
+ 'title' => lang('User'),
+ 'hidden_vars' => $base_hidden_vars,
+ 'form_options' => $form_options,
+ 'button_value' => lang('Go!')
+ );
+ $tpl->set_var($var);
+ $tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
+ $tpl->parse('header_column','head_col',True);
+ }
+ }
+
+ $hidden_vars = ' '."\n";
+ if(isset($GLOBALS['HTTP_GET_VARS']['date']) && $GLOBALS['HTTP_GET_VARS']['date'])
+ {
+ $hidden_vars .= ' '."\n";
+ }
+ $hidden_vars .= ' '."\n";
+ $hidden_vars .= ' '."\n";
+ $hidden_vars .= ' '."\n";
+ if(isset($this->bo->filter) && $this->bo->filter)
+ {
+ $hidden_vars .= ' '."\n";
+ }
+ if(isset($this->bo->sortby) && $this->bo->sortby)
+ {
+ $hidden_vars .= ' '."\n";
+ }
+ if(isset($this->bo->num_months) && $this->bo->num_months)
+ {
+ $hidden_vars .= ' '."\n";
+ }
+ $hidden_vars .= ' ';
+
+ $var = Array(
+ 'action_url_button' => $this->page('search'),
+ 'action_text_button' => lang('Search'),
+ 'action_confirm_button' => '',
+ 'action_extra_field' => $hidden_vars
+ );
+ $tpl->set_var($var);
+ $button = $tpl->fp('out','form_button');
+ $tpl->set_var('str',''.$button.' ');
+ $tpl->parse('header_column','head_col',True);
+ $tpl->parse('row','head_table',True);
+?>
diff --git a/calendar/templates/prisma/holiday.tpl b/calendar/templates/prisma/holiday.tpl
new file mode 100644
index 0000000000..534acbeb81
--- /dev/null
+++ b/calendar/templates/prisma/holiday.tpl
@@ -0,0 +1,34 @@
+
+
+
+{message}
+
+
+
+
+
+ {field}:
+ {data}
+
+
diff --git a/calendar/templates/prisma/hr.tpl b/calendar/templates/prisma/hr.tpl
new file mode 100644
index 0000000000..fdbb59c224
--- /dev/null
+++ b/calendar/templates/prisma/hr.tpl
@@ -0,0 +1,7 @@
+
+
+
+ {hr_text}
+
+
+
diff --git a/calendar/templates/prisma/index.tpl b/calendar/templates/prisma/index.tpl
new file mode 100644
index 0000000000..0d0b69b86d
--- /dev/null
+++ b/calendar/templates/prisma/index.tpl
@@ -0,0 +1,33 @@
+
+{printer_friendly}
+
+
+
+ {small_calendar_prev}
+
+
+ {prev_month_link}
+
+
+
+ {month_identifier}
+
+
+
+ : {username} :
+
+
+
+ {next_month_link}
+
+
+ {small_calendar_next}
+
+
+
+{large_month}
+
+
+
+ {print}
+
diff --git a/calendar/templates/prisma/link_pict.tpl b/calendar/templates/prisma/link_pict.tpl
new file mode 100755
index 0000000000..f2725ce8c1
--- /dev/null
+++ b/calendar/templates/prisma/link_pict.tpl
@@ -0,0 +1,27 @@
+
+
+
+{picture}
+
+
+
+
+
diff --git a/calendar/templates/prisma/list.tpl b/calendar/templates/prisma/list.tpl
new file mode 100644
index 0000000000..0ad7059a4e
--- /dev/null
+++ b/calendar/templates/prisma/list.tpl
@@ -0,0 +1,7 @@
+
+
+
+ {field}:
+ {data}
+
+
diff --git a/calendar/templates/prisma/locales.tpl b/calendar/templates/prisma/locales.tpl
new file mode 100644
index 0000000000..89cf69f022
--- /dev/null
+++ b/calendar/templates/prisma/locales.tpl
@@ -0,0 +1,60 @@
+
+
+
+
+ {left_next_matchs}
+ {center}
+ {right_next_matchs}
+
+
+
+
+
+ {sort_name}
+ {header_rule}
+ {header_edit}
+ {header_delete}
+ {header_extra}
+
+
+ {rows}
+
+
+
+
+
+
+
+
+ {back_button}
+
+
+
+
+
+
+
+
+ {group_name}
+ {rule}
+ {edit_link}
+ {delete_link}
+ {extra_link}
+
+
+
+
+ {message}
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/matrix_query.tpl b/calendar/templates/prisma/matrix_query.tpl
new file mode 100644
index 0000000000..a8e74191a7
--- /dev/null
+++ b/calendar/templates/prisma/matrix_query.tpl
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+ {field}:
+ {data}
+
+
diff --git a/calendar/templates/prisma/mini_cal.tpl b/calendar/templates/prisma/mini_cal.tpl
new file mode 100644
index 0000000000..ab0c06d0f8
--- /dev/null
+++ b/calendar/templates/prisma/mini_cal.tpl
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+ {month}
+
+
+
+ {prevmonth} {nextmonth}
+
+
+
+
+
+
+
+
+
+
+
+ {daynames}
+ {display_monthweek}
+
+
+
+
+
+
+
+
+
+ {monthweek_day}
+
+
+
+
+
+ {dayname}
+
+
diff --git a/calendar/templates/prisma/month.tpl b/calendar/templates/prisma/month.tpl
new file mode 100644
index 0000000000..248f065fc1
--- /dev/null
+++ b/calendar/templates/prisma/month.tpl
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/calendar/templates/prisma/month_column.tpl b/calendar/templates/prisma/month_column.tpl
new file mode 100644
index 0000000000..d5940298df
--- /dev/null
+++ b/calendar/templates/prisma/month_column.tpl
@@ -0,0 +1,5 @@
+
+
+
+ {column_data}
+
diff --git a/calendar/templates/prisma/month_day.tpl b/calendar/templates/prisma/month_day.tpl
new file mode 100644
index 0000000000..24c54f62ae
--- /dev/null
+++ b/calendar/templates/prisma/month_day.tpl
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+[ {day_number} ] {new_event_link}
+ {daily_events}
+
+
+
+{events}
+
+
+
+{day_events}
+
diff --git a/calendar/templates/prisma/month_header.tpl b/calendar/templates/prisma/month_header.tpl
new file mode 100644
index 0000000000..d12dd6ed89
--- /dev/null
+++ b/calendar/templates/prisma/month_header.tpl
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+{column_row}
+
+
+
+{col_title}
+
+
+
+{column_data}
+
diff --git a/calendar/templates/prisma/overlap.tpl b/calendar/templates/prisma/overlap.tpl
new file mode 100644
index 0000000000..9899bc814b
--- /dev/null
+++ b/calendar/templates/prisma/overlap.tpl
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+ {overlap_text}
+
+
+
+
+
+
+
+
+
+
+
+
+ {resubmit_button}
+
+
+ {reedit_button}
+
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/pref.tpl b/calendar/templates/prisma/pref.tpl
new file mode 100644
index 0000000000..df3b6308f7
--- /dev/null
+++ b/calendar/templates/prisma/pref.tpl
@@ -0,0 +1,22 @@
+
+{title}:
+
+
+
+
+
+ {text}
+
+
+
+
+
+ {field}
+ {data}
+
+
diff --git a/calendar/templates/prisma/preference_acl.tpl b/calendar/templates/prisma/preference_acl.tpl
new file mode 100644
index 0000000000..6d9380e8e6
--- /dev/null
+++ b/calendar/templates/prisma/preference_acl.tpl
@@ -0,0 +1,27 @@
+{errors}
+{title}
+
+
+ {nml}
+
+
+
+
+
+ {nmr}
+
+
+
+
+
diff --git a/calendar/templates/prisma/preference_acl_row.tpl b/calendar/templates/prisma/preference_acl_row.tpl
new file mode 100644
index 0000000000..01b22d84b5
--- /dev/null
+++ b/calendar/templates/prisma/preference_acl_row.tpl
@@ -0,0 +1,9 @@
+
+
+ {user}
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/preference_colspan.tpl b/calendar/templates/prisma/preference_colspan.tpl
new file mode 100644
index 0000000000..4b97c5dbd8
--- /dev/null
+++ b/calendar/templates/prisma/preference_colspan.tpl
@@ -0,0 +1,8 @@
+
+ {string}
+ {lang_read}
+ {lang_add}
+ {lang_edit}
+ {lang_delete}
+ {lang_private}
+
diff --git a/calendar/templates/prisma/search.tpl b/calendar/templates/prisma/search.tpl
new file mode 100644
index 0000000000..9ec9abd665
--- /dev/null
+++ b/calendar/templates/prisma/search.tpl
@@ -0,0 +1,30 @@
+
+
+
+
+
+ {quantity}
+
+
+ {rows}
+
+
+
+
+
+
+
+
+
+
+ {date}
+
+
+ {link}
+
+
+
+
+
+
+
diff --git a/calendar/templates/prisma/vcal_import.tpl b/calendar/templates/prisma/vcal_import.tpl
new file mode 100644
index 0000000000..bab84907bc
--- /dev/null
+++ b/calendar/templates/prisma/vcal_import.tpl
@@ -0,0 +1,10 @@
+
+{vcal_header}
+
diff --git a/calendar/templates/prisma/view.tpl b/calendar/templates/prisma/view.tpl
new file mode 100644
index 0000000000..daf75fa90c
--- /dev/null
+++ b/calendar/templates/prisma/view.tpl
@@ -0,0 +1,47 @@
+
+
+
+
+
+ {row}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {field}:
+ {data}
+
+
+
+
+
+
+ {hr_text}
+
+
+
diff --git a/calendar/templates/prisma/week.tpl b/calendar/templates/prisma/week.tpl
new file mode 100644
index 0000000000..efffc2941d
--- /dev/null
+++ b/calendar/templates/prisma/week.tpl
@@ -0,0 +1,41 @@
+
+
+{printer_friendly}
+
+
+
+
+
+
+ {small_calendar_prev}
+
+
+ {prev_week_link}
+
+
+ {small_calendar_this}
+
+
+ {next_week_link}
+
+
+ {small_calendar_next}
+
+
+
+
+
+
+
+ {week_identifier}
+ :: {username} ::
+
+
+
+
+{week_display}
+
+
+
+{print}
+
\ No newline at end of file
diff --git a/calendar/templates/prisma/year.tpl b/calendar/templates/prisma/year.tpl
new file mode 100644
index 0000000000..2529bc1b02
--- /dev/null
+++ b/calendar/templates/prisma/year.tpl
@@ -0,0 +1,35 @@
+
+{print}
+
+
+
+
+ {left_link}
+
+
+ {year_text}
+
+
+ {right_link}
+
+ {row}
+
+
+
+
+
+{printer_friendly}
+
+
+
+
+
+ {mini_month}
+
+
+
+
+
+
+
+