diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2023-01-19 20:17:55 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2023-01-19 20:17:55 +0100 |
commit | f499d9e657fe79e4413eec9e20ae13d616fac6f5 (patch) | |
tree | 616588346d0dc9337b2cd096cf2af7320dcc060f /includes/ical_export.php | |
parent | a5a9bb640306a69ec8f9a3c3701c49f34d3e7ebc (diff) | |
download | gigologadmin-f499d9e657fe79e4413eec9e20ae13d616fac6f5.tar.gz gigologadmin-f499d9e657fe79e4413eec9e20ae13d616fac6f5.tar.bz2 gigologadmin-f499d9e657fe79e4413eec9e20ae13d616fac6f5.zip |
Rename and restructure source files to conform to common namin schemes.
- Source files containing a class should only contain _one_ class.
- Source files containing a class should be names class-[name of the
class].php
- Use dashes instead of underscores in file names.
- Fix source file comments
- Some nitpicking...
Diffstat (limited to 'includes/ical_export.php')
-rw-r--r-- | includes/ical_export.php | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/includes/ical_export.php b/includes/ical_export.php deleted file mode 100644 index 627c83b..0000000 --- a/includes/ical_export.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php - -// SPDX-FileCopyrightText: 2022 Andrea Chirulescu <andrea.chirulescu@gmail.com> -// SPDX-FileCopyrightText: 2022 Harald Eilertsen <haraldei@anduin.net> -// -// SPDX-License-Identifier: AGPL-3.0-or-later - -use Kigkonsult\Icalcreator\Vcalendar; - -if ( ! class_exists( 'GiglogAdmin_IcalExport' ) ) { - class Giglogadmin_IcalExport { - - static function textclean( string $txt ) : string { - $cleantext = preg_replace( '/[^A-Za-z0-9 ]/', '', $txt ); - $cleantext = str_replace( ' ', '_', $cleantext ); - return( $cleantext ); - } - public static function export_ical() { - $evid = $_GET['evid']; - - $concert = GiglogAdmin_Concert::get( $evid ); - $cfullname = $concert->cname() . ' live at ' . $concert->venue()->name() . ', ' . $concert->venue()->city(); - $cshortname = substr( $cfullname, 0, 20 ); - $fdate = strtotime( $concert->cdate() ); - $newformat = date( 'Ymd', $fdate ); - $filename = 'Concert ' . $concert->venue()->name() . ' ' . $newformat . ' ' . substr( $concert->cname(), 0, 30 ); - $filename = self::textclean( $filename ); - // create a new calendar - $vcalendar = Vcalendar::factory( array( Vcalendar::UNIQUE_ID => 'kigkonsult.se' ) ) - // with calendaring info - ->setMethod( Vcalendar::PUBLISH ) - ->setXprop( - Vcalendar::X_WR_CALNAME, - 'Calendar Sample' - ) - ->setXprop( - Vcalendar::X_WR_CALDESC, - 'Concert ' . $cfullname . '' - ) - ->setXprop( - Vcalendar::X_WR_RELCALID, - '3E26604A-50F4-4449-8B3E-E4F4932D05B5' - ) - ->setXprop( - Vcalendar::X_WR_TIMEZONE, - 'Europe/Oslo' - ); - - // create a new event - $event1 = $vcalendar->newVevent() - ->setTransp( Vcalendar::OPAQUE ) - ->setClass( Vcalendar::P_BLIC ) - ->setSequence( 1 ) - // describe the event - ->setSummary( '' . $cfullname . '' ) - ->setDescription( '' . $cfullname . '' ) - ->setComment( '' . $cfullname . '' ) - // place the event - ->setLocation( '' . $concert->venue()->name() . ', ' . $concert->venue()->city() . '' ) - // set the time - ->setDtstart( - new DateTime( - $newformat . 'T190000', - new DateTimezone( 'Europe/Oslo' ) - ) - ) - ->setDuration( 'PT4H' ); - $vcalendarString = - // apply appropriate Vtimezone with Standard/DayLight components - $vcalendar->vtimezonePopulate() - // and create the (string) calendar - ->createCalendar(); - - header( 'Content-Type: text/calendar' ); - header( 'content-disposition: attachment;filename=' . $filename . '.ics' ); - echo $vcalendarString; - die(); - } - } - - /** @psalm-suppress HookNotFound */ - add_action( 'wp_ajax_nopriv_giglog_export_ical', array( 'GiglogAdmin_IcalExport', 'export_ical' ) ); - - /** @psalm-suppress HookNotFound */ - add_action( 'wp_ajax_giglog_export_ical', array( 'GiglogAdmin_IcalExport', 'export_ical' ) ); -} |