mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-05 13:39:23 +01:00
Remove inline-script of flat() in calendar and move it to navigation.js, CSP concern
This commit is contained in:
parent
3fe9c78c26
commit
8d4fc1001f
@ -732,8 +732,14 @@ class calendar_ui
|
|||||||
unset($link_vars['date']); // gets set in jscal
|
unset($link_vars['date']); // gets set in jscal
|
||||||
$link[$view] = $l = egw::link('/index.php',$link_vars,false);
|
$link[$view] = $l = egw::link('/index.php',$link_vars,false);
|
||||||
}
|
}
|
||||||
$jscalendar = $GLOBALS['egw']->jscalendar->flat($link['day'],$this->date,
|
|
||||||
$link['week'],lang('show this week'),$link['month'],lang('show this month'));
|
if (($flatdate = $this->date)) // string if format YYYYmmdd or timestamp
|
||||||
|
{
|
||||||
|
$flatdate = is_int($flatdate) ? adodb_date('m/d/Y',$flatdate) :
|
||||||
|
substr($flatdate,4,2).'/'.substr($flatdate,6,2).'/'.substr($flatdate,0,4);
|
||||||
|
}
|
||||||
|
$jscalendar = '<div id="calendar-container"></div>';
|
||||||
|
|
||||||
$file[++$n] = array('text' => $jscalendar,'no_lang' => True,'link' => False,'icon' => False);
|
$file[++$n] = array('text' => $jscalendar,'no_lang' => True,'link' => False,'icon' => False);
|
||||||
|
|
||||||
// set a baseurl for selectboxes, if we are not running inside calendar (eg. prefs or admin)
|
// set a baseurl for selectboxes, if we are not running inside calendar (eg. prefs or admin)
|
||||||
@ -802,7 +808,13 @@ class calendar_ui
|
|||||||
)+($this->view == 'listview' ? array('ajax' => 'true') : array()),false);
|
)+($this->view == 'listview' ? array('ajax' => 'true') : array()),false);
|
||||||
$file[] = array(
|
$file[] = array(
|
||||||
'text' => "
|
'text' => "
|
||||||
<script type=\"text/javascript\" src=\"{$GLOBALS['egw_info']['server']['webserver_url']}/calendar/js/navigation.js\" id=\"calendar-navigation-script\" data-current-view-url=\"".htmlspecialchars($current_view_url)."\"/></script>\n".
|
<script type=\"text/javascript\" src=\"{$GLOBALS['egw_info']['server']['webserver_url']}/calendar/js/navigation.js\" id=\"calendar-navigation-script\"".
|
||||||
|
" data-link-day-url =\"".htmlspecialchars($link['day']).
|
||||||
|
"\" data-link-week-url=\"".htmlspecialchars($link['week']).
|
||||||
|
"\" data-link-month-url=\"".htmlspecialchars($link['month']).
|
||||||
|
"\" data-date=\"".htmlspecialchars($flatdate).
|
||||||
|
"\" data-current-date=\"".htmlspecialchars(egw_time::to('now', 'Ymd')).
|
||||||
|
"\" data-current-view-url=\"".htmlspecialchars($current_view_url)."\"/></script>\n".
|
||||||
|
|
||||||
$this->accountsel->selection('owner','uical_select_owner',$accounts,'calendar+',count($accounts) > 1 ? 4 : 1,False,
|
$this->accountsel->selection('owner','uical_select_owner',$accounts,'calendar+',count($accounts) > 1 ? 4 : 1,False,
|
||||||
' style="width: '.(count($accounts) > 1 && in_array($this->common_prefs['account_selection'],array('selectbox','groupmembers')) ? '99%' : '86%').';"'.
|
' style="width: '.(count($accounts) > 1 && in_array($this->common_prefs['account_selection'],array('selectbox','groupmembers')) ? '99%' : '86%').';"'.
|
||||||
|
@ -11,15 +11,19 @@
|
|||||||
/**
|
/**
|
||||||
* Sidebox navigation for calendar
|
* Sidebox navigation for calendar
|
||||||
*
|
*
|
||||||
* @todo add code from jscalendar->flat(), or better replace it altogether ...
|
|
||||||
*/
|
*/
|
||||||
(function()
|
(function()
|
||||||
{
|
{
|
||||||
var script_tag = document.getElementById('calendar-navigation-script');
|
var script_tag = document.getElementById('calendar-navigation-script');
|
||||||
var current_view_url;
|
var current_view_url, link_day_url,link_week_url,link_month_url,flatdate, current_date;
|
||||||
if (script_tag)
|
if (script_tag)
|
||||||
{
|
{
|
||||||
current_view_url = script_tag.getAttribute('data-current-view-url');
|
current_view_url = script_tag.getAttribute('data-current-view-url');
|
||||||
|
link_day_url = script_tag.getAttribute('data-link-day-url');
|
||||||
|
link_week_url = script_tag.getAttribute('data-link-week-url');
|
||||||
|
link_month_url = script_tag.getAttribute('data-link-week-url');
|
||||||
|
flatdate = script_tag.getAttribute('data-date');
|
||||||
|
current_date = script_tag.getAttribute('data-current-date');
|
||||||
}
|
}
|
||||||
function load_cal(url,id,no_reset) {
|
function load_cal(url,id,no_reset) {
|
||||||
var owner='';
|
var owner='';
|
||||||
@ -65,6 +69,47 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* @param {type} calendar
|
||||||
|
* @returns {undefined}
|
||||||
|
*/
|
||||||
|
function dateChanged(calendar) {
|
||||||
|
|
||||||
|
if (calendar.dateClicked) {
|
||||||
|
egw_link_handler(link_day_url+"&date=" + calendar.date.print("%Y%m%d"),"calendar");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* @param {type} calendar
|
||||||
|
* @returns {undefined}
|
||||||
|
*/
|
||||||
|
function todayClicked(calendar) {
|
||||||
|
egw_link_handler(link_day_url+"&date="+ current_date ,"calendar");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* @param {type} calendar
|
||||||
|
* @param {type} weekstart
|
||||||
|
* @returns {undefined}
|
||||||
|
*/
|
||||||
|
function weekClicked(calendar,weekstart) {
|
||||||
|
egw_link_handler(link_week_url+"&date=" + weekstart.print("%Y%m%d"),"calendar");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* @param {type} calendar
|
||||||
|
* @param {type} monthstart
|
||||||
|
* @returns {undefined}
|
||||||
|
*/
|
||||||
|
function monthClicked(calendar,monthstart) {
|
||||||
|
egw_link_handler(link_month_url+"&date=" + monthstart.print("%Y%m%d"),"calendar");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialisation after DOM *and* jQuery is loaded
|
* Initialisation after DOM *and* jQuery is loaded
|
||||||
*/
|
*/
|
||||||
@ -104,5 +149,16 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Calendar.setup({
|
||||||
|
flat : "calendar-container",
|
||||||
|
flatCallback : dateChanged,
|
||||||
|
flatWeekCallback : (link_week_url)?weekClicked:'',
|
||||||
|
flatWeekTTip : egw.lang('show this week'),
|
||||||
|
flatMonthCallback : (link_month_url)?monthClicked:'',
|
||||||
|
flatMonthTTip : egw.lang('show this month'),
|
||||||
|
flatTodayCallback : (flatdate)?todayClicked:'',
|
||||||
|
date : (flatdate)?flatdate:'',
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
})();
|
})();
|
Loading…
Reference in New Issue
Block a user