CMSimple Linkcheck

CMSimple 4.0 und höher
Post Reply
Gert
Posts: 2076
Joined: Sun 18. Nov 2012, 14:18

CMSimple Linkcheck

Post by Gert »

Hallo,

seit ich CMSimple kenne, nervt mich der CMSimple Linkcheck, genauer gesagt die Funktion check_internal_link() :roll:

Teilweise weist bei mir diese Funktion dutzende interne Links als fehlerhaft aus, die aber funktionieren. Die wirklich fehlerhaften Links fallen dazwischen dann gar nicht mehr auf. Also eigentlich unbrauchbar. Jedenfalls für mich und meine Seiten mit -zig domaininternen Links.

Der TinyMCE macht domaininterne Links automatisch relativ, was ja auch so sein soll, damit man mit den Seiten problemlos auf eine andere Domain umziehen kann.

Jetzt habe ich mich endlich da rangetraut, das Ergebnis ist eine Reduzierung der fast 100 Zeilen umfassenden Funktion check_internal_link() auf diese paar Zeilen:

./cmsimple/adm.php:

Code: Select all

// new GE 2022-04
function check_internal_link($test) 
{
	global $c, $u, $cl, $sn, $pth, $sl, $cf, $pth;  // add $pth to globals
	if(empty($_SERVER['HTTPS'])) $htpLinkcheck = 'http://'; else $htpLinkcheck = 'https://';
	$urlLinkcheck = @fopen ($htpLinkcheck . $_SERVER['SERVER_NAME'] . $sn . $test['path'] . '?' . $test['query'], "r");
	if($urlLinkcheck)
	{
		fclose($urlLinkcheck);
		return 200;
	}
	else return 'internalfail';
}
Einfach die alte Funktion check_internal_link($test) in der adm.php mit der neuen überschreiben.

Jetzt ist der CMSimple Linkcheck für mich ein brauchbares und zuverlässiges Werkzeug, aber wie das so ist: man kommt gar nicht auf alles, was man so testen müsste.

Also bitte ich Euch, das mal zu testen. Es geht darum, das Links, die vom CMSimple Linkcheck ausgegeben werden, auch wirklich fehlerhaft sind und nicht funktionieren.

Immer ausgegeben werden E-mail Links und Links auf weitergeleitete Seiten, das ist auch ok so und soll so bleiben,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
meyomey
Posts: 36
Joined: Tue 17. May 2016, 11:52
Contact:

Re: CMSimple Linkcheck

Post by meyomey »

Hallo Gert,
adm.php habe ich geändert.
Beim Linkcheck erhalte ich nach einiger Zeit einen "504 Gateway Time-out"
Das war aber glaube ich vorher auch schon so....
Gert
Posts: 2076
Joined: Sun 18. Nov 2012, 14:18

Re: CMSimple Linkcheck

Post by Gert »

meyomey wrote: Sat 9. Apr 2022, 14:27 Beim Linkcheck erhalte ich nach einiger Zeit einen "504 Gateway Time-out"
Hier: https://www.ge-webdesign.de/plugindemo/

prüft der neue Linkcheck 165 Links in 7-10 Sekunden, die meisten davon sind domaininterne relative Links,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gert
Posts: 2076
Joined: Sun 18. Nov 2012, 14:18

Re: CMSimple Linkcheck

Post by Gert »

Hallo Heiko,

vielen Dank für die Testmöglichkeit auf Deinem Server, ich habe schon 4 Plugins gefunden, die überarbeitet werden müssen, und der Pluginloader auch :roll:

In meiner Testinstallation auf Deinem Server funktioniert der Linktest übrigens problemlos, also muss das irgendwie an Deiner Website liegen. Der Server verhindert es jedenfalls nicht. Du kannst Dir ja aus meiner Installation die adm.php holen und damit mal testen, vielleicht hast Du ja was falsch gemacht beim überschreiben der Funktion,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
meyomey
Posts: 36
Joined: Tue 17. May 2016, 11:52
Contact:

Re: CMSimple Linkcheck

Post by meyomey »

vielen Dank für die Testmöglichkeit auf Deinem Server, ich habe schon 4 Plugins gefunden, die überarbeitet werden müssen, und der Pluginloader auch :roll:
Gerne! Na, dann kommt ja wenigstens keine Langeweile bei dir auf ;) ;)
In meiner Testinstallation auf Deinem Server funktioniert der Linktest übrigens problemlos, also muss das irgendwie an Deiner Website liegen. Der Server verhindert es jedenfalls nicht. Du kannst Dir ja aus meiner Installation die adm.php holen und damit mal testen, vielleicht hast Du ja was falsch gemacht beim überschreiben der Funktion,
Ich habe deine adm.php rüberkopiert, jetzt funktioniert es bei mir auch. :)
Der Linkchecker ist schon sehr hilfreich um mal eben schnell unterbrochene Links zu finden!
Post Reply