summaryrefslogtreecommitdiff
path: root/adminCalendars.php
diff options
context:
space:
mode:
authorzeldakatze <coffee@zeldakatze.de>2025-08-17 23:21:48 +0200
committerzeldakatze <coffee@zeldakatze.de>2025-08-17 23:21:48 +0200
commit50a67a31aaa18ec96019379a489ec65d2d641162 (patch)
treebe5b005a5343660a609d1693451cdc41ff650ade /adminCalendars.php
parente828b9c7dd11410d995aa88dcc2b22210f099cf4 (diff)
downloadinfoCalendar-50a67a31aaa18ec96019379a489ec65d2d641162.tar.gz
infoCalendar-50a67a31aaa18ec96019379a489ec65d2d641162.zip
add ical exports, fix event listing
Diffstat (limited to 'adminCalendars.php')
-rw-r--r--adminCalendars.php85
1 files changed, 85 insertions, 0 deletions
diff --git a/adminCalendars.php b/adminCalendars.php
new file mode 100644
index 0000000..9baf259
--- /dev/null
+++ b/adminCalendars.php
@@ -0,0 +1,85 @@
+<?php
+
+function infocalendar_get_admin_calendar_html() {
+ global $wpdb;
+
+ if(isset($_POST['pwViewSet']) || isset($_POST['pwViewDel'])) {
+ if(!isset($_POST['pwViewID'])) {
+ print('<font color="red">Du musst Eine Ansicht angeben</font><br>');
+ } else if(isset($_POST['pwViewSet']) &&
+ (!isset($_POST['pwViewPw']) || $_POST['pwViewPw'] == '')) {
+ print('<font color="red">Du musst ein Passwort angeben</font><br>');
+ } else {
+ $viewID = (int) $_POST['pwViewID'];
+ $pw = null;
+ if(isset($_POST['pwViewSet'])) {
+ $pw = password_hash($_POST['pwViewPw'], PASSWORD_BCRYPT);
+ }
+
+ $wpdb->query(
+ $wpdb->prepare('UPDATE `wp_infocalendar_calendar` '.
+ 'SET `password` = %s WHERE id = %d', $pw, $viewID));
+
+ ?><p><font color='green'>Passwort geändert!</font></p><?php
+ }
+ }
+ ?>
+
+ <h1>Kalenderansichten</h1>
+ <table border='1' cellspacing='0' cellpadding='5' id='infocal_views'>
+ <tr>
+ <th>ID</th>
+ <th>Name</th>
+ <th>Passwort gesetzt</th>
+ <th>iCal</th>
+ </tr>
+
+ <?php
+ $viewList = $wpdb->get_results("SELECT * FROM
+ {$wpdb->prefix}infocalendar_calendar", 'ARRAY_A');
+
+ foreach($viewList AS $view) {
+ $pwSet = 'Nicht gesetzt';
+ if($view['password'] != NULL)
+ $pwSet = 'Gesetzt';
+
+ $icalUrl = get_site_url().'?rest_route=/infocalendar/calendar/'.
+ $view['name'];
+
+ ?>
+ <tr>
+ <td><?php echo $view['id']; ?></td>
+ <td><?php echo $view['name']; ?></td>
+ <td><?php echo $pwSet; ?></td>
+ <td>
+ <?php echo '<a href="'.$icalUrl.'">'.$icalUrl.'</a>'; ?>
+ </td>
+ </tr>
+ <?php
+ }
+ ?>
+ </table>
+ <h2>Passwort ändern/Löschen</h2>
+
+ <form method='POST'>
+ <label for='pwViewID'>ID:</label>
+ <input type='number' name='pwViewID' id='pwViewID'><br>
+ <label for='pwViewPw'>Passwort:</label>
+ <input type='text' name='pwViewPw' id='pwViewPw'><br><br>
+ <input type='submit' name='pwViewSet' value='Passwort setzen' bgcolor='green'>
+ <br><br>
+ <input type='submit' name='pwViewDel' value='Passwort löschen' bgcolor='red'>
+ <?php
+
+}
+
+function infocalendar_add_view_admin_panel() {
+ add_submenu_page(
+ 'infoCalendar',
+ 'Kaelenderansichten',
+ 'Ansichten',
+ 'publish_posts',
+ 'infoCalendarViews',
+ 'infocalendar_get_admin_calendar_html'
+ );
+}