Merge pull request #2734 from rabuzarus/1308-cal-export-perms
fix: own calendar is now always exportable for local_user()
This commit is contained in:
commit
5069d5f94e
1 changed files with 12 additions and 5 deletions
17
mod/cal.php
17
mod/cal.php
|
@ -304,25 +304,32 @@ function cal_content(&$a) {
|
||||||
|
|
||||||
// Test permissions
|
// Test permissions
|
||||||
// Respect the export feature setting for all other /cal pages if it's not the own profile
|
// Respect the export feature setting for all other /cal pages if it's not the own profile
|
||||||
if( ((local_user() !== $owner_uid)) && ! feature_enabled($owner_uid, "export_calendar")) {
|
if( ((local_user() !== intval($owner_uid))) && ! feature_enabled($owner_uid, "export_calendar")) {
|
||||||
notice( t('Permission denied.') . EOL);
|
notice( t('Permission denied.') . EOL);
|
||||||
return;
|
goaway('cal/' . $nick);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the export data by uid
|
// Get the export data by uid
|
||||||
$evexport = event_export($owner_uid, $format);
|
$evexport = event_export($owner_uid, $format);
|
||||||
|
|
||||||
if ($evexport["success"] == false ) {
|
if (!$evexport["success"]) {
|
||||||
if($evexport["content"])
|
if($evexport["content"])
|
||||||
notice( t('This calendar format is not supported') );
|
notice( t('This calendar format is not supported') );
|
||||||
else
|
else
|
||||||
notice( t('No exportable data found'));
|
notice( t('No exportable data found'));
|
||||||
|
|
||||||
return;
|
// If it the own calendar return to the events page
|
||||||
|
// otherwise to the profile calendar page
|
||||||
|
if (local_user() === intval($owner_uid))
|
||||||
|
$return_path = "events";
|
||||||
|
else
|
||||||
|
$returnpath = "cal/".$nick;
|
||||||
|
|
||||||
|
goaway($return_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If nothing went wrong we can echo the export content
|
// If nothing went wrong we can echo the export content
|
||||||
if ($evexport["success"] == true ) {
|
if ($evexport["success"]) {
|
||||||
header('Content-type: text/calendar');
|
header('Content-type: text/calendar');
|
||||||
header('content-disposition: attachment; filename="' . t('calendar') . '-' . $nick . '.' . $evexport["extension"] . '"' );
|
header('content-disposition: attachment; filename="' . t('calendar') . '-' . $nick . '.' . $evexport["extension"] . '"' );
|
||||||
echo $evexport["content"];
|
echo $evexport["content"];
|
||||||
|
|
Loading…
Reference in a new issue