seeddms-code/op/op.EditEvent.php
2017-11-21 17:12:58 +01:00

104 lines
3.5 KiB
PHP

<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassCalendar.php");
include("../inc/inc.Authentication.php");
if ($user->isGuest()) {
UI::exitError(getMLText("edit_event"),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('editevent')) {
UI::exitError(getMLText("edit_event"),getMLText("invalid_request_token"));
}
if (!isset($_POST["from"]) && !(isset($_POST["frommonth"]) && isset($_POST["fromday"]) && isset($_POST["fromyear"])) ) {
UI::exitError(getMLText("edit_event"),getMLText("error_occured"));
}
$calendar = new SeedDMS_Calendar($dms->getDB(), $user);
if (!isset($_POST["eventid"]) || !($event = $calendar->getEvent($_POST["eventid"]))) {
UI::exitError(getMLText("edit_event"),getMLText("error_occured"));
}
/* Not setting name or comment will leave them untouched */
if (!isset($_POST["name"]))
$name = null;
else
$name = $_POST["name"];
if (!isset($_POST["comment"]))
$comment = null;
else
$comment = $_POST["comment"];
if(isset($_POST["from"])) {
$from = explode('T', $_POST["from"]);
$tmp = explode('-', $from[0]);
$from = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
} else {
UI::exitError(getMLText("edit_event"),getMLText("error_occured"));
}
if(isset($_POST["to"])) {
$tmp = explode('-', $_POST["to"]);
$to = mktime(23,59,59, $tmp[1], $tmp[2], $tmp[0]);
} else {
$to = $event['stop'] - $event['start'] + $from;;
}
if ($to !== null && $to<=$from){
$to = $from + 86400 -1;
}
$res = $calendar->editEvent($_POST["eventid"], $from, $to, $name, $comment );
if(isset($_POST["ajax"]) && $_POST["ajax"]) {
header('Content-Type: application/json');
if (is_bool($res) && !$res)
echo json_encode(array('success'=>false, 'message'=>getMLText('error_occured')));
else {
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_edit_event')));
add_log_line("?eventid=".$_POST["eventid"]."&name=".$name."&from=".$from."&to=".$to);
}
} else {
if (is_bool($res) && !$res) {
UI::exitError(getMLText("edit_event"),getMLText("error_occured"));
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_edit_event')));
add_log_line("?eventid=".$_POST["eventid"]."&name=".$name."&from=".$from."&to=".$to);
header("Location:../out/out.Calendar.php?mode=w&day=".$_POST["fromday"]."&year=".$_POST["fromyear"]."&month=".$_POST["frommonth"]);
}
?>