diff options
Diffstat (limited to 'adminCalendars.php')
-rw-r--r-- | adminCalendars.php | 85 |
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' + ); +} |