reapply lost changes from @kim.lang
This commit is contained in:
parent
84a35f318a
commit
d0b8de3068
|
@ -19,7 +19,7 @@ defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
|||
add_action('admin_menu', 'gcal_admin_add_page');
|
||||
|
||||
function gcal_admin_add_page() {
|
||||
add_options_page( 'GCal Importer Einstellungen', 'GCal Importer', 'manage_options', 'kal3000-gcal-import', 'gcal_options_page');
|
||||
add_options_page( 'WolKal3000 – Synchronisation von Kal3000 mit Wolke-Kalendern', 'WolKal3000', 'manage_options', 'kal3000-gcal-import', 'gcal_options_page');
|
||||
}
|
||||
|
||||
function gcal_options_page() {
|
||||
|
@ -32,11 +32,14 @@ function gcal_options_page() {
|
|||
|
||||
<div class="wrap">
|
||||
<h1><?= esc_html(get_admin_page_title()); ?></h1>
|
||||
<p>Mit WolKal3000 kannst du dein Kal3000-Plugin automatisch mit Kalendern in der grünen Wolke synchronisieren. Darüber hinaus kannst du jede andere ICS-Datei verwenden.</p>
|
||||
|
||||
<form action="options.php" method="post">
|
||||
<?php settings_fields('gcal_options'); ?>
|
||||
<?php do_settings_sections('gcal'); ?>
|
||||
|
||||
<input name="Submit" type="submit" value="<?php esc_attr_e('Save Changes'); ?>" />
|
||||
</br></br></br><hr></br>
|
||||
<?php do_settings_sections('gcal2'); ?>
|
||||
<input name="Submit" type="submit" value="<?php esc_attr_e('Save Changes'); ?>" />
|
||||
</form></div>
|
||||
|
||||
|
@ -47,7 +50,7 @@ add_action('admin_init', 'gcal_admin_init');
|
|||
|
||||
function gcal_admin_init(){
|
||||
register_setting( 'gcal_options', 'gcal_options', 'gcal_options_validate' );
|
||||
add_settings_section('gcal_feeds', 'Terminkategorien und ICS-Feeds', 'gcal_feeds_section_text', 'gcal');
|
||||
add_settings_section('gcal_feeds', 'Wolke-Kalender einer Terminkategorie zuordnen', 'gcal_feeds_section_text', 'gcal');
|
||||
|
||||
// settings fields dynamisch pro Feed generieren, nur ein Callback mit Args nutzen.
|
||||
$terms = get_terms( array(
|
||||
|
@ -57,24 +60,25 @@ function gcal_admin_init(){
|
|||
foreach($terms as $term){
|
||||
$unique_id = 'gcal_feed_' . $term->name;
|
||||
$feed_name = $term->name;
|
||||
add_settings_field($unique_id, $feed_name, 'gcal_feeds_setting_string', 'gcal', 'gcal_feeds', array($unique_id));
|
||||
add_settings_field($unique_id, 'Terminkategorie "'.$feed_name.'"', 'gcal_feeds_setting_string', 'gcal', 'gcal_feeds', array($unique_id));
|
||||
}
|
||||
|
||||
add_settings_section('gcal_timer', 'Zeitintervall', 'gcal_timer_section_text', 'gcal');
|
||||
add_settings_field('gcal_timer', 'Zeitintervall', 'gcal_timer_setting_string', 'gcal', 'gcal_timer');
|
||||
add_settings_section('gcal_timer', 'Synchronisationsintervall', 'gcal_timer_section_text', 'gcal');
|
||||
add_settings_field('gcal_timer', 'Synchronisiere alle …', 'gcal_timer_setting_string', 'gcal', 'gcal_timer');
|
||||
|
||||
add_settings_section('gcal_geocoding', 'Geocoding', 'gcal_geocoding_section_text', 'gcal');
|
||||
add_settings_field('gcal_geocoding', 'Geocoding', 'gcal_geocoding_setting_string', 'gcal', 'gcal_geocoding');
|
||||
add_settings_section('gcal_geocoding', 'Geocoding (EXPERIMENTELL)', 'gcal_geocoding_section_text', 'gcal2');
|
||||
add_settings_field('gcal_geocoding', 'Geocoding-Methode', 'gcal_geocoding_setting_string', 'gcal2', 'gcal_geocoding');
|
||||
|
||||
add_settings_section('gcal_debugging', 'Debugging', 'gcal_debugging_section_text', 'gcal');
|
||||
add_settings_field('gcal_debugging', 'Debugging', 'gcal_debugging_setting_string', 'gcal', 'gcal_debugging');
|
||||
add_settings_section('gcal_debugging', 'Entwickler*innenoptionen', 'gcal_debugging_section_text', 'gcal2');
|
||||
add_settings_field('gcal_debugging', 'Debugging', 'gcal_debugging_setting_string', 'gcal2', 'gcal_debugging');
|
||||
}
|
||||
|
||||
|
||||
function gcal_feeds_section_text() {
|
||||
?>
|
||||
<p><b>Bitte hier die zu den Terminkategorien gehörigen Feeds eintragen (copy & paste!).</b></br>
|
||||
<b>Wenn zu einer Terminkategorie kein Feed gehört, einfach leer lassen.</b></p>
|
||||
<p><b>Wolke-Kalender synchronisieren in eine ausgewählte Terminkategorie von Kal3000. Bitte trage hierfür die entsprechende Export-Adresse des gewünschten Wolke-Kalenders ein.</b></br><b>Falls zu einer Terminkategorie kein Wolke-Kalender synchronisiert werden soll, entsprechendes Feld bitte leer lassen.</b></p>
|
||||
<p><b><a href="hilfeseite" target="_blank">Erfahre mehr darüber, wie du die Export-Adresse eines Wolke-Kalenders findest.</a></b>
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
@ -82,7 +86,7 @@ function gcal_feeds_section_text() {
|
|||
|
||||
function gcal_feeds_setting_string($args) {
|
||||
$options = get_option('gcal_options');
|
||||
$placeholder = "z.B. https://calendar.google.com/calendar/ical/.../public/basic.ics";
|
||||
$placeholder = "z.B. https://wolke.netzbegruenung.de/remote.php/dav/public-calendars/xxxxxxxxxxxxxxxx?export";
|
||||
// die id entspricht dem unique_id in add_settings_field.
|
||||
// der name wird options.php als Name der zu setzenden Option übergeben
|
||||
// der Value ist der inhalt von der $option[unique_id].
|
||||
|
@ -92,8 +96,8 @@ function gcal_feeds_setting_string($args) {
|
|||
|
||||
function gcal_timer_section_text() {
|
||||
?>
|
||||
<p><b>Zeitintervall in Minuten, in dem die Feeds synchronisiert werden sollen.</b></br>
|
||||
<b>Neu setzen erfordert einen Neustart des Plugins (Deaktivieren / Aktivieren).</b></p>
|
||||
<p><b>In welcher Regelmäßigkeit sollen die Wolke-Kalender synchronisiert werden? Bitte Zeitintervall in Minuten angeben.</b></br>
|
||||
<b>Achtung: Um Änderungen wirksam werden zu lassen, muss das Plugin deaktiviert und wieder aktiviert werden. (Menüpunkt "Plugins")</b></p>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
@ -108,10 +112,7 @@ function gcal_timer_setting_string() {
|
|||
|
||||
function gcal_geocoding_section_text() {
|
||||
?>
|
||||
<p><b>Um Termine auf der Karte zu sehen, ist es nötig, die Orte zu geocoden, d.h. </br>
|
||||
deren geografische Länge und Breite herauszufinden. Dafür sind mehrere </br>
|
||||
Verfahren wählbar. </br>
|
||||
</b></p>
|
||||
<p>Damit der Termin-Ort auf einer Karte eingezeichnet werden kann, müssen die Ortsinformationen von der Textform in geografische Länge und Breite umgerechnet werden.</br>Dies nennt sich Geocoding. Dabei handelt es sich um eine experimentelle Funktion von WolKal3000.</p>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
@ -125,7 +126,7 @@ function gcal_geocoding_setting_string() {
|
|||
array(
|
||||
'option' => 'off',
|
||||
'name' => 'deaktiviert',
|
||||
),
|
||||
), /*
|
||||
array(
|
||||
'option' => 'official',
|
||||
'name' => 'Google official - erfordert einen API Key --> ',
|
||||
|
@ -133,10 +134,10 @@ function gcal_geocoding_setting_string() {
|
|||
array(
|
||||
'option' => 'inofficial',
|
||||
'name' => 'Google inofficial',
|
||||
),
|
||||
), */
|
||||
array(
|
||||
'option' => 'osm',
|
||||
'name' => 'OpenStreetMap - in Entwicklung',
|
||||
'name' => 'OpenStreetMap (EXPERIMENTELL)',
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -154,11 +155,11 @@ function gcal_geocoding_setting_string() {
|
|||
|
||||
function gcal_debugging_section_text() {
|
||||
?>
|
||||
<p><b>Debugging aktivieren (landet in ${APACHE_LOG_DIR}/error.log).</br>
|
||||
<p>Debugging aktivieren? Speicherort: ${APACHE_LOG_DIR}/error.log</br></br>
|
||||
Um die Performance zu verbessern, werden gefundene Geocoding-Daten zwischengespeichert. </br>
|
||||
Zu Debugging-Zwecken kann der Zwischenspeicher (Cache) beim Neustart des Plugins gelöscht </br>
|
||||
werden, um ein neues Geocoding aller Event-Lokationen zu erzwingen. </br>
|
||||
</b></p>
|
||||
Zu Debugging-Zwecken kann der Zwischenspeicher (Cache) des Plugins gelöscht </br>
|
||||
werden, um ein neues Geocoding aller Termin-Orte zu erzwingen. </br>
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
@ -179,7 +180,7 @@ function gcal_debugging_setting_string($args) {
|
|||
<?php
|
||||
// actual logging is done by gcal_error_log()
|
||||
// Cache reset on restart
|
||||
echo '<input type="checkbox" id="gcal_reset_cache" name="gcal_options[gcal_reset_cache]" value="1"' . checked( 1, $options['gcal_reset_cache'], false ) . '> Geocoding-Cache bei Neustart des Plugins löschen </br>';}
|
||||
echo '</br><input type="checkbox" id="gcal_reset_cache" name="gcal_options[gcal_reset_cache]" value="1"' . checked( 1, $options['gcal_reset_cache'], false ) . '> Geocoding-Cache nach Deaktivieren und Aktivieren des Plugins löschen </br>';}
|
||||
|
||||
|
||||
|
||||
|
@ -198,4 +199,3 @@ function gcal_options_validate($input) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<?php
|
||||
/**
|
||||
* Plugin Name: Kal3000 Google Calender Importer
|
||||
* Plugin URI: https://github.com/hmilz/kal3000-gcal-import
|
||||
* Description: Imports and Merges an Arbitrary Number of Public Google Calendars into Kal3000
|
||||
* Version: 0.2.0
|
||||
* Author: Harald Milz <hm@seneca.muc.de>
|
||||
* Plugin Name: WolKal3000 – Termin-Synchronisation
|
||||
* Plugin URI: https://git.netzbegruenung.de/NB-Public/WolKal3000/
|
||||
* Description: Synchronisation des Kal3000-Plugins mit Wolke-Kalendern und ICS-Dateien
|
||||
* Version: 0.3.8
|
||||
* Author: Harald Milz & Netzbegrünung <hm@seneca.muc.de>
|
||||
* License: GPLv3
|
||||
* License URI: https://www.gnu.org/licenses/gpl-3.0
|
||||
* Domain Path: /languages
|
||||
|
|
Reference in New Issue