controllers/single_page/dashboard/event_calendar/list_event.php
<?php
namespace Concrete\Package\Dseventcalendar\Controller\SinglePage\Dashboard\EventCalendar;
use \Concrete\Core\Page\Controller\DashboardPageController;
use dsEventCalendar\dsEventCalendar;
use Loader;
defined('C5_EXECUTE') or die("Access Denied.");
class ListEvent extends DashboardPageController
{
public function view()
{
//redirect if param is not exist
$this->redirect("dashboard/event_calendar/list_calendar");
}
public function show($calendar_id)
{
$this->addFooterItem(Loader::helper('html')->css('jquery.datetimepicker.min.css', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->css('fullcalendar.min.css', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->css('dsStyle.css', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->javascript('moment.min.js', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->javascript('jquery.datetimepicker.min.js', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->javascript('fullcalendar.min.js', 'dsEventCalendar'));
$this->addFooterItem(Loader::helper('html')->javascript('lang-all.js', 'dsEventCalendar'));
$this->requireAsset('javascript', 'jquery');
$dsEventCalendar = new dsEventCalendar();
$json_events = $dsEventCalendar->getEventsFromCalendar($calendar_id);
$this->set('events', $json_events);
$this->set('settings', $dsEventCalendar->settingsProvider());
$this->set('types', $dsEventCalendar->getEventTypes());
$this->set('calendarID', $calendar_id);
$this->set('pageTitle', t("Events"));
}
public function getEvents()
{
$calendar_id = $this->get('calendarid');
$dsEventCalendar = new dsEventCalendar();
$json_events = $dsEventCalendar->getEventsFromCalendar($calendar_id);
die($json_events);
}
public function updateEvent()
{
if (isset($_POST) && !empty($_POST)) {
//if calendarID === 0 -> is bad !!
if ($_POST['calendarID'] == 0)
die("ERROR");
$calendarID = $this->post('calendarID');
$eventID = $this->post('eventID');
$date = date_create($_POST['eventEndDate']);
if ($_POST['eventStartDate'] != $_POST['eventEndDate'])
$date = date_add($date, date_interval_create_from_date_string('1 day'));
$date_end = date_format($date, "Y-m-d");
$startDate = trim($this->post('eventStartDate') . " " . $this->post('eventStartTime'));
$endDate = trim($date_end . " " . $this->post('eventEndTime'));
$startDate = new \DateTime($startDate);
$endDate = new \DateTime($endDate);
$sql = "UPDATE dsEventCalendarEvents SET
calendarID = ?,
title = ?,
date = ?,
end = ?,
type = ?,
description = ?,
url = ?
WHERE eventID=" . $eventID . " and calendarID = " . $calendarID;
$args = array(
$this->post('calendarID'),
$this->post('eventTitle'),
$startDate->format('Y-m-d H:i:s'),
$endDate->format('Y-m-d H:i:s'),
$this->post('eventType'),
$this->post('eventDescription'),
$this->post('eventURL')
);
$db = Loader::db();
if ($db->Execute($sql, $args))
die("OK");
die("ERROR");
}
die("ERROR");
}
public function removeEvent()
{
if (isset($_POST) && !empty($_POST)) {
$eventID = $this->post('eventID');
if (is_numeric($eventID)) {
$db = Loader::db();
$sql = "DELETE FROM dsEventCalendarEvents WHERE eventID = " . $eventID;
if ($db->Execute($sql))
die("OK");
else
die("ERROR");
}
die("ERROR");
}
}
public function updateDateEvent()
{
if (isset($_POST) && !empty($_POST)) {
//if calendarID === 0 -> is bad !!
if ($_POST['calendarID'] == 0)
die("ERROR");
$calendarID = $this->post('calendarID');
$eventID = $this->post('eventID');
$eventStart = $this->post('eventDate');
$eventEnd = $this->post('eventEnd');
$args = array(
$eventStart
);
$sql = "UPDATE dsEventCalendarEvents SET date = ? ";
if ($eventEnd != "") {
$sql .= " , end = ? ";
array_push($args, $eventEnd);
}
$sql .= " WHERE eventID=" . $eventID . " and calendarID = " . $calendarID;
$db = Loader::db();
if ($db->Execute($sql, $args))
die("OK");
die("ERROR");
}
}
public function updateDateEventRange()
{
if (isset($_POST) && !empty($_POST)) {
//if calendarID === 0 -> is bad !!
if ($_POST['calendarID'] == 0)
die("ERROR");
$calendarID = $this->post('calendarID');
$eventID = $this->post('eventID');
$eventEnd = $this->post('eventEnd');
$args = array(
$eventEnd
);
$sql = "UPDATE dsEventCalendarEvents SET end = ? ";
$sql .= " WHERE eventID=" . $eventID . " and calendarID = " . $calendarID;
$db = Loader::db();
if ($db->Execute($sql, $args))
die("OK");
die("ERROR");
}
}
public function clearEvents($calendar_id)
{
if (is_numeric($calendar_id)) {
$dsEventCalendar = new dsEventCalendar();
$dsEventCalendar->removeEventFromCalendar($calendar_id);
$this->redirect("dashboard/event_calendar/list_calendar");
}
}
}