added: parameter to display recent changes only
This commit is contained in:
parent
fc1b357bf3
commit
6c11156dce
|
@ -0,0 +1,4 @@
|
|||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
|
||||
</IfModule>
|
86
ics.php
86
ics.php
|
@ -1,39 +1,22 @@
|
|||
<?php
|
||||
require 'settings.php';
|
||||
|
||||
if (isset($_POST['password']))
|
||||
{
|
||||
$password = $_POST['password'];
|
||||
|
||||
$curl = curl_init();
|
||||
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_USERPWD, $user . ':' . $password);
|
||||
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
||||
$result = curl_exec($curl);
|
||||
|
||||
if (!$result)
|
||||
{
|
||||
die('error');
|
||||
}
|
||||
curl_close($curl);
|
||||
die($result);
|
||||
}
|
||||
?>
|
||||
|
||||
<html>
|
||||
<header>
|
||||
<title>Evénements à venir</title>
|
||||
</header>
|
||||
<body style="font-family: helvetica; line-height: 24px; font-size: 16px;">
|
||||
<div id="content">Récupération du calendrier...</div>
|
||||
<script type="text/javascript">
|
||||
function ics2json(input)
|
||||
{
|
||||
var id = 0;
|
||||
var root = {};
|
||||
var curr = root;
|
||||
<?php
|
||||
require 'settings.php';
|
||||
|
||||
if ($password && (!isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_PW'] != $password)) {
|
||||
header('WWW-Authenticate: Basic realm="bbn"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
die('<p>Access denied.</p></body></html>');
|
||||
}
|
||||
|
||||
/*function ics2json($input)
|
||||
{
|
||||
$id = 0;
|
||||
$root = array();
|
||||
$curr = root;
|
||||
input.split("\r\n").forEach(l =>
|
||||
{
|
||||
var key = l.split(":")[0].split(";")[0];
|
||||
|
@ -72,7 +55,40 @@ function ics2json(input)
|
|||
});
|
||||
|
||||
return root.VCALENDAR;
|
||||
}
|
||||
}*/
|
||||
|
||||
// Get ics file
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_USERPWD, $user . ':' . $password);
|
||||
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
||||
$result = curl_exec($curl);
|
||||
|
||||
if (!$result)
|
||||
{
|
||||
die('<p>Error while getting ics file from caldav server.</p></body></html>');
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
// port "showresult" js function:
|
||||
$recent = 7;
|
||||
if (isset($_GET['recent']))
|
||||
{
|
||||
$recent = $_GET['recent'];
|
||||
}
|
||||
$recentonly = isset($_GET['recentonly']);
|
||||
|
||||
echo '<h1>Evénements à venir</h1>';
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- old -->
|
||||
<div id="content">Récupération du calendrier...</div>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
function dt(s)
|
||||
{
|
||||
|
@ -100,6 +116,8 @@ function showresult()
|
|||
recent = 7;
|
||||
}
|
||||
|
||||
var recentonly = params.get("recentonly");
|
||||
|
||||
var html = "<h1>Evénements à venir</h1>";
|
||||
html += `<h3>${formatdate(new Date)}</h3>`;
|
||||
html += `<div>En gras: modifié les ${recent} derniers jours</div>`;
|
||||
|
@ -117,7 +135,7 @@ function showresult()
|
|||
var group = {};
|
||||
|
||||
o.VEVENTS
|
||||
.filter(e => e.DTSTART >= (new Date))
|
||||
.filter(e => e.DTSTART >= (new Date) && (!recentonly || e.DTSTAMP >= lastmodified))
|
||||
.sort( (a,b) => a.DTSTART - b.DTSTART)
|
||||
.forEach(e => {
|
||||
var formatteddate = formatdate(e.DTSTART);
|
||||
|
@ -163,5 +181,3 @@ xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
|||
xhr.send("password=" + password);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
$url = 'https://caldav.example.com/path/to/calendar';
|
||||
$user = 'caldavuser';
|
||||
$password = 'caldavpassword';
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue