require_once __DIR__ . "/../../../../init.php";
use Meredith\Exception\MeredithException;
use Meredith\Supervisor\MeredithSupervisor;
use QuickPdo\QuickPdo;
use Tim\TimServer\TimServer;
use Tim\TimServer\TimServerInterface;
TimServer::create()->start(function (TimServerInterface $server) {
    if (isset($_POST['formId']) && isset($_POST['ids']) && is_array($_POST['ids'])) {
        $ids = $_POST['ids'];
        $view = (string) $_POST['formId'];
        if (true === MeredithSupervisor::inst()->isGranted($view, 'delete')) {
            array_walk($ids, function (&$v) {
                $v = (int) $v;
            });
            if ($ids) {
                if (false !== ($nbDelete = QuickPdo::delete($view, "id in (" . implode(", ", $ids) . ")"))) {
                    $server->success("ok");
                } else {
                    $server->error(MeredithSupervisor::inst()->translate("An error occurred with the database, please retry later"));
                }
            } else {
                $server->success("ok");
            }
        } else {
            throw new MeredithException("Permission not granted to access rows with {$view}");
        }
    } else {
        $server->error(MeredithSupervisor::inst()->translate("Invalid data"));
    }
})->output();
<?php

//------------------------------------------------------------------------------/
// CREATE TODAY'S EVENTS
//------------------------------------------------------------------------------/
/**
 * Launch this script to clear and refresh today's event.
 */
use QuickPdo\QuickPdo;
require_once __DIR__ . "/../init.php";
//------------------------------------------------------------------------------/
// SCRIPT
//------------------------------------------------------------------------------/
$lorem = "Lorem ipsum dolor sit amet, id nam munere fabulas. Ei soluta scribentur signiferumque mel. Ea vel prima albucius deleniti, te semper principes pro, cu duis illud nobis cum. Sensibus tincidunt ne duo. Vel ut porro essent.";
$day = date('Y-m-d ');
$events = [['title' => 'event 1', 'description' => $lorem, 'start_date' => $day . '10:00:00', 'end_date' => $day . '10:35:00'], ['title' => 'event 2', 'description' => $lorem, 'start_date' => $day . '10:05:36', 'end_date' => $day . '10:05:56'], ['title' => 'event 3', 'description' => $lorem, 'start_date' => $day . '11:02:00', 'end_date' => $day . '11:12:30'], ['title' => 'event 4', 'description' => $lorem, 'start_date' => $day . '13:15:00', 'end_date' => $day . '15:15:00']];
a("clear the the_events table");
a(QuickPdo::delete('the_events'));
a("inserting events");
foreach ($events as $event) {
    a(QuickPdo::insert('the_events', $event));
}
<?php

//------------------------------------------------------------------------------/
// DELETE EVENT
//------------------------------------------------------------------------------/
/**
 * Tim service, it's a tim success if the delete is done,
 * and a tim failure otherwise.
 */
use QuickPdo\QuickPdo;
use Tim\TimServer\TimServer;
use Tim\TimServer\TimServerInterface;
require_once __DIR__ . "/../../init.php";
TimServer::create()->start(function (TimServerInterface $server) {
    if (isset($_POST['id'])) {
        if (false !== ($id = QuickPdo::delete('the_events', [['id', '=', $_POST['id']]]))) {
            $server->success($id);
        } else {
            appLog("[app]/www/service/delete-event: pdo error: {pdoError}", ['pdoError' => QuickPdo::getLastError()]);
            $server->error('An error occurred with the database, please retry later.');
        }
    }
})->output();