Update of /cvsroot/php-blog/additional_plugins/serendipity_event_dejure
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24286/serendipity_event_dejure
Modified Files:
lang_de.inc.php lang_en.inc.php serendipity_event_dejure.php
Log Message:
gitclone.sh autocommit
Index: lang_de.inc.php
===================================================================
RCS file: /cvsroot/php-blog/additional_plugins/serendipity_event_dejure/lang_de.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- lang_de.inc.php 18 Jun 2007 18:55:23 -0000 1.1
+++ lang_de.inc.php 22 May 2017 20:39:17 -0000 1.2
@@ -1,6 +1,6 @@
<?php
-@define('DEJURE_TITLE', 'Dejure.org Rechtvernetzung');
+@define('DEJURE_TITLE', 'dejure.org Rechtsvernetzung');
@define('DEJURE_DESCRIPTION', 'Verlinkt automatisch zitierte Gesetze und Rechtsprechung (Aktenzeichen und Fundstellen) mit den Inhalten von dejure.org.');
@define('DEJURE_MAIL', 'E-Mail Adresse des Blogbetreibers');
@define('DEJURE_MAIL_DESC', 'Diese Informationen werden im Rahmen der Serverkommunikation jeweils an dejure.org übertragen und dienen im übrigen nur der Kommunikation bei technischen Problemen. Die Weitergabe der Daten an Dritte sowie eine Verwendung für Werbezwecke o.ä. ist ausgeschlossen!');
@@ -14,3 +14,5 @@
@define('DEJURE_LINKSTYLE_DESC', '');
@define('DEJURE_LINKSTYLE_SHORT', 'Nur die Nummern der Vorschriften verlinken (Bsp.: § _242_ BGB; §§ _278_, _254_ BGB)');
@define('DEJURE_LINKSTYLE_WIDE', 'Möglichst weite Verlinkung (Bsp.: _§ 242 BGB_; _§§ 278_, _254 BGB_)');
+@define('DEJURE_CACHE', 'Cache leeren');
+@define('DEJURE_CACHE_DESC', 'Den kompletten Cache beim nächsten Aufruf des Blogs leeren. Notwendig, wenn Sie das Linkziel, die CSS-Klasse oder den Linkstil ändern.');
Index: serendipity_event_dejure.php
===================================================================
RCS file: /cvsroot/php-blog/additional_plugins/serendipity_event_dejure/serendipity_event_dejure.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- serendipity_event_dejure.php 12 Aug 2013 07:58:41 -0000 1.7
+++ serendipity_event_dejure.php 22 May 2017 20:39:17 -0000 1.8
@@ -1,4 +1,4 @@
-<?php #
+<?php
if (IN_serendipity !== true) {
die ("Don't hack!");
@@ -12,6 +12,8 @@
include dirname(__FILE__) . '/lang_en.inc.php';
+define('CACHE_VORHALT', 4); # (Tage) Wann ein vernetzter Text aus dem Cache entfernt und neu vernetzt werden soll
+
class serendipity_event_dejure extends serendipity_event
{
function introspect(&$propbag) {
@@ -19,8 +21,8 @@
$propbag->add('name', DEJURE_TITLE);
$propbag->add('description', DEJURE_DESCRIPTION);
- $propbag->add('author', 'Garvin Hicking, dejure.org');
- $propbag->add('version', '1.2');
+ $propbag->add('author', 'Garvin Hicking, Bjoern Urban, dejure.org');
+ $propbag->add('version', '1.5');
$propbag->add('stackable', false);
$propbag->add('groups', array('FRONTEND_EXTERNAL_SERVICES'));
@@ -46,7 +48,8 @@
'newsletter',
'target',
'css',
- 'linkstyle'
+ 'linkstyle',
+ 'cache'
)
);
}
@@ -95,6 +98,13 @@
$propbag->add('radio_per_row', 1);
break;
+ case 'cache':
+ $propbag->add('type', 'boolean');
+ $propbag->add('name', DEJURE_CACHE);
+ $propbag->add('description', DEJURE_CACHE_DESC);
+ $propbag->add('default', false);
+ break;
+
default:
return false;
}
@@ -107,15 +117,21 @@
$built = $this->get_config('db_built', null);
if (empty($built)) {
- serendipity_db_schema_import("CREATE TABLE {$serendipity['dbPrefix']}dejure (
+ serendipity_db_schema_import("CREATE TABLE IF NOT EXISTS {$serendipity['dbPrefix']}dejure (
ckey varchar(32),
cache text,
last_update int(10) {UNSIGNED}
- )");
+ ) {UTF_8}");
serendipity_db_schema_import('CREATE UNIQUE INDEX dejure_cacheidx ON {PREFIX}dejure (ckey)');
}
}
+ function dropDB() {
+ global $serendipity;
+
+ serendipity_db_schema_import("DROP TABLE {$serendipity['dbPrefix']}dejure");
+ }
+
function generate_content(&$title) {
$title = DEJURE_TITLE;
}
@@ -124,30 +140,34 @@
$this->setupDB();
}
+ function uninstall() {
+ $this->dropDB();
+ }
+
function cleanup() {
global $serendipity;
- // Purge DB cache
+ // Purge the whole DB cache
serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}dejure");
}
function cache_cleanup() {
global $serendipity;
- // Purge DB cache
- serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}dejure WHERE last_update < " . (time()-86400*4));
+ // Purge old DB cache
+ serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}dejure
+ WHERE last_update < " . (time()-86400*CACHE_VORHALT));
}
-
function djo_vernetzen_ueber_dejure_org($ausgangstext, $parameter = array()) {
// Mögliche Parameter: Anbieterkennung / Dokumentkennung / target / class / AktenzeichenIgnorieren / zeitlimit_in_sekunden
- $uebergabe = "Originaltext=".urlencode($ausgangstext);
+ $uebergabe = 'Originaltext='.urlencode($ausgangstext);
foreach ($parameter as $option => $wert) {
- if ($option == "zeitlimit_in_sekunden") {
+ if ($option == 'zeitlimit_in_sekunden') {
$zeitlimit_in_sekunden = $wert;
} else {
- $uebergabe .= "&" . urlencode($option) . "=" . urlencode($wert);
+ $uebergabe .= '&' . urlencode($option) . '=' . urlencode($wert);
}
}
@@ -155,6 +175,10 @@
$zeitlimit_in_sekunden = 2;
}
+ if (preg_match("/<!-- zeitlimitDJO:([0-9]+) -->/", $ausgangstext, $wert_ARR)) {
+ $zeitlimit_in_sekunden = $wert_ARR[1];
+ }
+
$header = "POST http://rechtsnetz.dejure.org/dienste/vernetzung/vernetzen HTTP/1.0\r\n";
$header .= "Content-type: application/x-www-form-urlencoded\r\n";
$header .= "Content-length: " . strlen($uebergabe) . "\r\n\r\n";
@@ -169,7 +193,7 @@
fputs($fp, $header.$uebergabe);
$timeOutSock = false;
$eofSock = false;
- $rueckgabe="";
+ $rueckgabe = '';
while (!$eofSock && !$timeOutSock) {
$rueckgabe.= fgets($fp, 1024); //
$stSock = socket_get_status($fp);
@@ -179,7 +203,7 @@
fclose($fp);
if (!preg_match("/^(.*?)\r?\n\r?\n\r?\n?(.*)/s",$rueckgabe, $rueckgabeARR)) {
return false; // Zeitüberschreitung oder Verbindungsproblem
- } else if (strpos($rueckgabeARR[1],"200 OK")===false) {
+ } else if (strpos($rueckgabeARR[1],"200 OK") === false) {
return false; // sonstiges Serverproblem
} else {
$rueckgabe = $rueckgabeARR[2];
@@ -194,6 +218,8 @@
function djo_zwischenspeicherung() {
global $serendipity;
+ # Cache auf alte Eintraege pruefen vor dem Eintrag
+ $this->cache_cleanup();
if (is_array($this->djo_vernetzung_in_cache_schreiben)) {
foreach ($this->djo_vernetzung_in_cache_schreiben as $vernetzung) {
@@ -204,7 +230,9 @@
$text = $vernetzung[1];
}
serendipity_db_Query("DELETE FROM {$serendipity['dbPrefix']}dejure WHERE ckey = '" . $schluessel . "'");
- serendipity_db_Query("INSERT INTO {$serendipity['dbPrefix']}dejure (ckey, cache, last_update) VALUES ('" . $schluessel . "', '" . serendipity_db_escape_string($text) . "', " . time() . ")");
+ serendipity_db_Query("INSERT INTO {$serendipity['dbPrefix']}dejure
+ (ckey, cache, last_update)
+ VALUES ('".$schluessel."', '".serendipity_db_escape_string($text)."', " . time() . ")");
}
}
}
@@ -213,9 +241,10 @@
global $serendipity;
$schluessel = md5($ausgangstext);
- $rueckgabe = serendipity_db_query("SELECT cache FROM {$serendipity['dbPrefix']}dejure WHERE ckey = '" . $schluessel . "'", true, 'assoc');
+ $rueckgabe = serendipity_db_query("SELECT cache FROM {$serendipity['dbPrefix']}dejure
+ WHERE ckey = '".$schluessel."' AND last_update > " . (time()-86400*CACHE_VORHALT), true, 'assoc');
if (!empty($rueckgabe['cache']) && $rueckgabe['cache'] == "<!-- idem -->") {
- return $ausgangstext;
+ return $ausgangstext;
} else {
return $rueckgabe['cache'];
}
@@ -225,6 +254,12 @@
function djo_vernetzen(&$text) {
global $serendipity;
+ # Cache leeren wenn Option gesetzt
+ if ($this->get_config('cache') === true) {
+ $this->cleanup;
+ $this->set_config('cache', false);
+ }
+
if (!preg_match("/§|§|Art\.|\/[0-9][0-9](?![0-9\/])|[0-9][0-9], /", $text) || preg_match("/<!--ohnedjo-->/", $text)) {
return false;
}
@@ -275,7 +310,6 @@
if (date("G") < 6 && rand(0,50) < 1) {
$this->cache_cleanup();
}
-
break;
case 'frontend_display':
@@ -285,7 +319,6 @@
} elseif ($eventData['comment'] != '') {
$this->djo_vernetzen($eventData['comment']);
}
-
break;
case 'frontend_footer':
Index: lang_en.inc.php
===================================================================
RCS file: /cvsroot/php-blog/additional_plugins/serendipity_event_dejure/lang_en.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- lang_en.inc.php 18 Jun 2007 18:55:23 -0000 1.1
+++ lang_en.inc.php 22 May 2017 20:39:17 -0000 1.2
@@ -1,6 +1,6 @@
<?php
-@define('DEJURE_TITLE', 'Dejure.org automatic linking');
+@define('DEJURE_TITLE', 'dejure.org automatic linking');
@define('DEJURE_DESCRIPTION', 'Automatically links quoted statues and judicature (references and source of information) with contents of dejure.org.');
@define('DEJURE_MAIL', 'E-Mail address of the blog owner');
@define('DEJURE_MAIL_DESC', 'This information is sent to dejure.org and only servers for communication means on technical failures. No data is forwarded for marketing reasons or similar!');
@@ -8,9 +8,11 @@
@define('DEJURE_NEWSLETTER_DESC', 'I want to subscribe to updates to the dejure.org service.');
@define('DEJURE_TARGET', 'Open links...');
@define('DEJURE_TARGET_DESC', 'An empty field opens links in the same target, "_blank" in a new one.');
-@define('DEJURE_CSS', 'CSS-class for dejure.org links');
+@define('DEJURE_CSS', 'CSS class for dejure.org links');
@define('DEJURE_CSS_DESC', '');
@define('DEJURE_LINKSTYLE', 'Style of dejure.org links');
@define('DEJURE_LINKSTYLE_DESC', '');
@define('DEJURE_LINKSTYLE_SHORT', 'Only link numbers of judicature (i.e.: § _242_ BGB; §§ _278_, _254_ BGB)');
@define('DEJURE_LINKSTYLE_WIDE', 'Use detailed linking (i.e.: _§ 242 BGB_; _§§ 278_, _254 BGB_)');
+@define('DEJURE_CACHE', 'Purge cache');
+@define('DEJURE_CACHE_DESC', 'Completely purge the cache - necessary after changes to link targets ("Open links..."), CSS class or style.');
|