public function updateEvent($params) { return churchcal_updateEvent($params); }
public function updateEvent($params) { $this->checkPerm("edit events"); include_once './' . CHURCHCAL . '/churchcal_db.php'; churchcal_updateEvent($params); }
function churchservice_saveEvent($params, $source = null) { global $user; include_once CHURCHCAL . '/churchcal_db.php'; $cal_id = null; if ($source == "churchcal" && $params["id"] == null && isset($params["cal_id"])) { $cal_id = $params["cal_id"]; } else { // Hole mir erst mal die zugeh�rige cc_cal_id, falls es das Event schon gibt. if (isset($_GET["id"])) { $cal_id = db_query("select cc_cal_id from {cs_event} where id=:id", array(":id" => $_GET["id"]))->fetch()->cc_cal_id; } } // Erst mal das cs_event updated/inserten $fields = array(); if (isset($params["startdate"])) { $fields["startdate"] = $params["startdate"]; } if (isset($params["valid_yn"])) { $fields["valid_yn"] = $params["valid_yn"]; } if ($source == null) { $fields["special"] = isset($params["special"]) ? $params["special"] : ""; $fields["admin"] = isset($params["admin"]) ? $params["admin"] : ""; } if (isset($params["eventTemplate"])) { $db = db_query('select special, admin from {cs_eventtemplate} where id=:id', array(":id" => $params["eventTemplate"]))->fetch(); if ($db != false) { if (!isset($fields["special"]) || �($fields["special"] == "")) { $fields["special"] = $db->special; } if (!isset($fields["admin"]) || �($fields["admin"] == "")) { $fields["admin"] = $db->admin; } } } if (isset($params["id"])) { $event_id = $params["id"]; db_update("cs_event")->fields($fields)->condition('id', $params["id"], "=")->execute(); // BENACHRICHTIGE ANDERE MODULE if ($source == null && $cal_id != null) { $cal_params = array_merge(array(), $params); $cal_params["event_id"] = $event_id; $cal_params["id"] = $cal_id; churchcal_updateEvent($cal_params, "churchservice"); } } else { if ($source == null) { $params["repeat_id"] = 0; $params["intern_yn"] = 0; $params["notizen"] = ""; $params["link"] = ""; $params["ort"] = ""; $cal_id = churchcal_createEvent($params, "churchservice"); } $fields["cc_cal_id"] = $cal_id; if (isset($params["eventTemplate"])) { $fields["created_by_template_id"] = $params["eventTemplate"]; } $event_id = db_insert("cs_event")->fields($fields)->execute(); } if (!isset($params["eventTemplate"]) && isset($params["services"])) { // Nun die Eintr�ge updaten/inserten $rm_services = array(); $new_services = array(); $fields = array(); $fields["event_id"] = $event_id; $dt = new datetime(); $fields["valid_yn"] = 1; $fields["modified_date"] = $dt->format('Y-m-d H:i:s'); $fields["modified_pid"] = $user->id; foreach ($params["services"] as $key => $arr) { $fields["service_id"] = $key; $fields["counter"] = null; if ($arr == 1) { db_insert("cs_eventservice")->fields($fields)->execute(); } else { $i = $arr; while ($i > 0) { $fields["counter"] = $i; $i--; db_insert("cs_eventservice")->fields($fields)->execute(); } } } } else { if (isset($params["eventTemplate"])) { if (isset($params["id"])) { print_r($params); throw new CTException("Es kann kein Template uebergeben werden, wenn der Service schon existiert!"); } $fields = array(); $fields["event_id"] = $event_id; $fields["valid_yn"] = 1; $dt = new datetime(); $fields["modified_date"] = $dt->format('Y-m-d H:i:s'); $fields["modified_pid"] = $user->id; $db = db_query("select * from {cs_eventtemplate_service} where eventtemplate_id=:eventtemplate_id", array(':eventtemplate_id' => $params["eventTemplate"])); foreach ($db as $d) { $fields["service_id"] = $d->service_id; if ($d->count == 1) { $fields["counter"] = null; db_insert("cs_eventservice")->fields($fields)->execute(); } else { $i = $d->count; while ($i > 0) { $fields["counter"] = $i; $i--; db_insert("cs_eventservice")->fields($fields)->execute(); } } } ct_log("[ChurchService] Lege Template an " . $params["eventTemplate"] . " fuer Event", 2, $event_id, "service"); } } }
function churchcal_saveSplittedEvent($params) { global $user; $res = new stdClass(); // if no splitDate given it is a new event without impact if (!isset($params["splitDate"])) { throw new CTException("saveSplittedEvent: splitDate not given!"); } $splitDate = new DateTime($params["splitDate"]); $untilEnd_yn = $params["untilEnd_yn"]; $pastEventId = $params["pastEvent"]["id"]; // Get originEvent out of Database $dummy = churchcal_getCalPerCategory(array("category_ids" => array(0 => $params["pastEvent"]["category_id"]))); $originEvent = (array) $dummy[$params["pastEvent"]["category_id"]][$params["newEvent"]["old_id"]]; // Copy all entries from past to new event, cause CR und CS does not have all infos and doesn't need it :) $pastEventDB = db_query("SELECT bezeichnung, ort, notizen, link, intern_yn, category_id " . "FROM {cc_cal} WHERE id = :id ", array(":id" => $pastEventId))->fetch(); if ($pastEventDB != false) { foreach ($pastEventDB as $key => $entry) { if (empty($params["pastEvent"][$key])) { $params["pastEvent"][$key] = $entry; } if (empty($params["newEvent"][$key])) { $params["newEvent"][$key] = $entry; } } } // Save new Event without impact on CS and CR ... $res = churchcal_createEvent($params["newEvent"], false, true); // ... and now bind related bookings and services to the new event $newEventId = $res["id"]; $params["newEvent"]["id"] = $newEventId; if (churchcore_isModuleActivated("churchservice")) { include_once './' . CHURCHSERVICE . '/churchservice_db.php'; churchservice_rebindServicesToNewEvent($pastEventId, $newEventId, $splitDate, $untilEnd_yn); $params["newEvent"]["cal_id"] = $newEventId; $startdate = new Datetime($params["newEvent"]["startdate"]); if ($splitDate->format("Y-m-d H:i") != $startdate->format("Y-m-d H:i")) { $params["newEvent"]["old_startdate"] = $splitDate; } churchservice_operateEventFromChurchCal($params["newEvent"]); } // Save old Event churchcal_updateEvent($params["pastEvent"], false, true); if (getVar("informCreator", "true", $params["newEvent"]) == "true" && $originEvent["modified_pid"] != $user->id) { $data = (array) churchcal_getEventChangeImpact(array("newEvent" => $params["newEvent"], "originEvent" => $originEvent, "pastEvent" => $params["pastEvent"])); $data["caption"] = $params["newEvent"]["bezeichnung"]; $data["startdate"] = churchcore_stringToDateDe($params["newEvent"]["startdate"]); $p = db_query("SELECT name, vorname, IF(spitzname, spitzname, vorname) AS nickname\n FROM {cdb_person}\n WHERE id=:id", array(":id" => $originEvent["modified_pid"]))->fetch(); $data["p"] = $p; // get populated template and send email $lang = getUserLanguage($params["modified_pid"]); $content = getTemplateContent('email/informCreator', 'churchcal', $data, null, $lang); churchcore_sendEMailToPersonIDs($originEvent["modified_pid"], "[" . getConf('site_name') . "] " . t2($lang, 'information.for.your.event'), $content, null, true); } return array("id" => $newEventId, "bookingIds" => $res["bookingIds"]); }
public function updateEvent($params) { include_once './' . CHURCHCAL . '/churchcal_db.php'; return churchcal_updateEvent($params); }