mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-07 00:48:55 +00:00
Some Bugfixes and new ways to create an event
This commit is contained in:
parent
892856f43c
commit
eed686a09b
9 changed files with 238 additions and 121 deletions
|
@ -477,6 +477,67 @@ function wdcal_get_list_range_params($day, $weekstartday, $num_days, $type)
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param string $uri
|
||||
* @param string $recurr_uri
|
||||
* @param int $uid
|
||||
* @param string $timezone
|
||||
* @param string $goaway_url
|
||||
* @return string
|
||||
*/
|
||||
function wdcal_postEditPage($uri, $recurr_uri = "", $uid = 0, $timezone = "", $goaway_url = "")
|
||||
{
|
||||
$uid = IntVal($uid);
|
||||
$localization = wdcal_local::getInstanceByUser($uid);
|
||||
|
||||
if (isset($_REQUEST["allday"])) {
|
||||
$start = $localization->date_parseLocal($_REQUEST["start_date"] . " 00:00");
|
||||
$end = $localization->date_parseLocal($_REQUEST["end_date"] . " 20:00");
|
||||
$isallday = true;
|
||||
} else {
|
||||
$start = $localization->date_parseLocal($_REQUEST["start_date"] . " " . $_REQUEST["start_time"]);
|
||||
$end = $localization->date_parseLocal($_REQUEST["end_date"] . " " . $_REQUEST["end_time"]);
|
||||
$isallday = false;
|
||||
}
|
||||
|
||||
if ($uri == "new") {
|
||||
$cals = dav_getMyCals($uid);
|
||||
foreach ($cals as $c) {
|
||||
$cs = wdcal_calendar_factory($uid, $c->namespace, $c->namespace_id);
|
||||
$p = $cs->getPermissionsCalendar($uid);
|
||||
|
||||
if ($p["write"]) try {
|
||||
$cs->addItem($start, $end, dav_compat_getRequestVar("subject"), $isallday, dav_compat_parse_text_serverside("wdcal_desc"),
|
||||
dav_compat_getRequestVar("location"), dav_compat_getRequestVar("color"), $timezone,
|
||||
isset($_REQUEST["notification"]), $_REQUEST["notification_type"], $_REQUEST["notification_value"]);
|
||||
} catch (Exception $e) {
|
||||
notification(t("Error") . ": " . $e);
|
||||
}
|
||||
dav_compat_redirect($goaway_url);
|
||||
}
|
||||
|
||||
} else {
|
||||
$cals = dav_getMyCals($uid);
|
||||
foreach ($cals as $c) {
|
||||
$cs = wdcal_calendar_factory($uid, $c->namespace, $c->namespace_id);
|
||||
$p = $cs->getPermissionsItem($uid, $uri, $recurr_uri);
|
||||
if ($p["write"]) try {
|
||||
$cs->updateItem($uri, $start, $end,
|
||||
dav_compat_getRequestVar("subject"), $isallday, dav_compat_parse_text_serverside("wdcal_desc"),
|
||||
dav_compat_getRequestVar("location"), dav_compat_getRequestVar("color"), $timezone,
|
||||
isset($_REQUEST["notification"]), $_REQUEST["notification_type"], $_REQUEST["notification_value"]);
|
||||
} catch (Exception $e) {
|
||||
notification(t("Error") . ": " . $e);
|
||||
}
|
||||
dav_compat_redirect($goaway_url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -1,17 +1,53 @@
|
|||
function wdcal_edit_getStartEnd() {
|
||||
"use strict";
|
||||
|
||||
var start = $("#cal_start_date").datepicker("getDate");
|
||||
var start_time = $.timePicker("#cal_start_time").getTime();
|
||||
start.setHours(start_time.getHours());
|
||||
start.setMinutes(start_time.getMinutes());
|
||||
|
||||
var end = $("#cal_end_date").datepicker("getDate");
|
||||
var end_time = $.timePicker("#cal_end_time").getTime();
|
||||
end.setHours(end_time.getHours());
|
||||
end.setMinutes(end_time.getMinutes());
|
||||
|
||||
return {"start": start, "end": end};
|
||||
}
|
||||
|
||||
function wdcal_edit_checktime_startChanged() {
|
||||
"use strict";
|
||||
var time = wdcal_edit_getStartEnd();
|
||||
if (time.start.getTime() >= time.end.getTime()) {
|
||||
var newend = new Date(time.start.getTime() + 3600000);
|
||||
$("#cal_end_date").datepicker("setDate", newend);
|
||||
$.timePicker("#cal_end_time").setTime(newend);
|
||||
}
|
||||
}
|
||||
|
||||
function wdcal_edit_checktime_endChanged() {
|
||||
"use strict";
|
||||
var time = wdcal_edit_getStartEnd();
|
||||
if (time.start.getTime() >= time.end.getTime()) {
|
||||
var newstart = new Date(time.end.getTime() - 3600000);
|
||||
$("#cal_start_date").datepicker("setDate", newstart);
|
||||
$.timePicker("#cal_start_time").setTime(newstart);
|
||||
}
|
||||
}
|
||||
|
||||
function wdcal_edit_init(dateFormat) {
|
||||
"use strict";
|
||||
|
||||
$("#cal_color").colorPicker();
|
||||
|
||||
$("#cal_start_time").timePicker({ step: 15 });
|
||||
$("#cal_end_time").timePicker();
|
||||
$("#cal_start_time").timePicker({ step: 15 }).on("change", wdcal_edit_checktime_startChanged);
|
||||
$("#cal_end_time").timePicker().on("change", wdcal_edit_checktime_endChanged);
|
||||
|
||||
$("#cal_start_date").datepicker({
|
||||
"dateFormat": dateFormat
|
||||
});
|
||||
}).on("change", wdcal_edit_checktime_startChanged);
|
||||
$("#cal_end_date").datepicker({
|
||||
"dateFormat": dateFormat
|
||||
});
|
||||
}).on("change", wdcal_edit_checktime_endChanged);
|
||||
|
||||
$("#notification").on("click change", function() {
|
||||
if ($(this).prop("checked")) $("#notification_detail").show();
|
||||
|
|
|
@ -195,6 +195,7 @@
|
|||
* {Number} Calendar height, false for page height by default.
|
||||
*/
|
||||
height:false,
|
||||
baseurl: "",
|
||||
/**
|
||||
* @description {Config} url
|
||||
* {String} Url to request calendar data.
|
||||
|
@ -1744,21 +1745,21 @@
|
|||
temparr.push(i18n.xgcalendar.time, ':</th><td class=cb-value><div id="bbit-cal-buddle-timeshow"></div></td></tr><tr><th class="cb-key">');
|
||||
temparr.push(i18n.xgcalendar.content, ':</th><td class="cb-value"><div class="textbox-fill-wrapper"><div class="textbox-fill-mid"><input id="bbit-cal-what" class="textbox-fill-input"/></div></div><div class="cb-example">');
|
||||
temparr.push(i18n.xgcalendar.example, '</div></td></tr></tbody></table><input id="bbit-cal-start" type="hidden"/><input id="bbit-cal-end" type="hidden"/><input id="bbit-cal-allday" type="hidden"/><input id="bbit-cal-quickAddBTN" value="');
|
||||
temparr.push(i18n.xgcalendar.create_event, '" type="submit"/> <SPAN id="bbit-cal-editLink" class="lk">');
|
||||
temparr.push(i18n.xgcalendar.create_event, '" type="submit"/> <a href="" class="lk bbit-cal-editLink">');
|
||||
temparr.push(i18n.xgcalendar.update_detail, ' <StrONG>>></StrONG></SPAN></div></div></div><tr><td><div id="bl1" class="bubble-corner"><div class="bubble-sprite bubble-bl"></div></div><td><div class="bubble-bottom"></div><td><div id="br1" class="bubble-corner"><div class="bubble-sprite bubble-br"></div></div></tr></tbody></table><div id="bubbleClose1" class="bubble-closebutton"></div><div id="prong2" class="prong"><div class=bubble-sprite></div></div></div>');
|
||||
temparr.push('</form>');
|
||||
var tempquickAddHanler = temparr.join("");
|
||||
var tempquickAddHandler = temparr.join("");
|
||||
temparr = null;
|
||||
$(document.body).append(tempquickAddHanler);
|
||||
$(document.body).append(tempquickAddHandler);
|
||||
buddle = $("#bbit-cal-buddle");
|
||||
$("#bubbleClose1").click(function () {
|
||||
$("#bubbleClose1").on("click", function () {
|
||||
$("#bbit-cal-buddle").css("visibility", "hidden");
|
||||
releasedragevent();
|
||||
});
|
||||
$("#bbit-cal-submitFORM").keyup(function (e) {
|
||||
$("#bbit-cal-submitFORM").on("keyup", function (e) {
|
||||
if (e.which == 27) $("#bubbleClose1").click();
|
||||
});
|
||||
$("#bbit-cal-submitFORM").submit(function (e) {
|
||||
$("#bbit-cal-submitFORM").on("submit", function (e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
if (option.isloading) {
|
||||
|
@ -1838,7 +1839,7 @@
|
|||
}
|
||||
return false;
|
||||
});
|
||||
buddle.mousedown(function (e) {
|
||||
buddle.on("mousedown", function (e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
@ -1857,6 +1858,10 @@
|
|||
$("#bbit-cal-allday").val(isallday ? "1" : "0");
|
||||
$("#bbit-cal-start").val(start.getTime());
|
||||
$("#bbit-cal-end").val(end.getTime());
|
||||
|
||||
var addurl = option.baseurl + "new/?start=" + Math.floor($("#bbit-cal-start").val() / 1000) + "&end=" + Math.floor($("#bbit-cal-end").val() / 1000) + "&isallday=" + (isallday ? "1" : "0");
|
||||
buddle.find(".bbit-cal-editLink").attr("href", addurl);
|
||||
|
||||
buddle.css({ "visibility":"visible", left:off.left, top:off.top });
|
||||
calwhat.blur().focus(); //add 2010-01-26 blur() fixed chrome
|
||||
$(document).one("mousedown", function () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue