From: Florent Bruneau Date: Fri, 21 Jan 2011 20:30:49 +0000 (+0100) Subject: Check html validity asynchronously. X-Git-Tag: core/1.1.2~2 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=d1bdef74354a292f610159205fdb974558c15c3b;p=platal.git Check html validity asynchronously. Signed-off-by: Florent Bruneau --- diff --git a/classes/plpage.php b/classes/plpage.php index 49d4955..c7a3006 100644 --- a/classes/plpage.php +++ b/classes/plpage.php @@ -190,21 +190,14 @@ abstract class PlPage extends Smarty $replc = "VALIDATION HTML INACTIVE
"; if ($globals->debug & DEBUG_VALID) { + global $platal; $fd = fopen($this->compile_dir."/valid.html","w"); fwrite($fd, $result); fclose($fd); - exec($globals->spoolroot."/bin/devel/xhtml.validate.pl ".$this->compile_dir."/valid.html", $val); - foreach ($val as $h) { - if (preg_match("/^X-W3C-Validator-Errors: (\d+)$/", $h, $m)) { - $replc = 'HTML OK
'; - if ($m[1]) { - $replc = "{$m[1]} ERREUR(S) !!!
"; - } - break; - } - } + $replc = 'VALIDATION HTML EN COURS' + . '' + . '
'; } echo str_replace("@HOOK@", $ttime.$replc, $result); diff --git a/modules/core.php b/modules/core.php index f61141f..f3d9386 100644 --- a/modules/core.php +++ b/modules/core.php @@ -40,6 +40,7 @@ class CoreModule extends PLModule 'wiki_help' => $this->make_hook('wiki_help', AUTH_PUBLIC), 'wiki_preview' => $this->make_hook('wiki_preview', AUTH_COOKIE, 'user', NO_AUTH), + 'validator' => $this->make_hook('validator', AUTH_PUBLIC), 'valid.html' => $this->make_hook('valid', AUTH_PUBLIC), 'favicon.ico' => $this->make_hook('favicon', AUTH_PUBLIC), 'robots.txt' => $this->make_hook('robotstxt', AUTH_PUBLIC, 'user', NO_HTTPS), @@ -52,6 +53,24 @@ class CoreModule extends PLModule exit; } + function handler_validator($page) + { + global $globals; + exec($globals->spoolroot."/bin/devel/xhtml.validate.pl ".$page->compile_dir."/valid.html", $val); + $url = ""; + $replc = 'HTML OK'; + foreach ($val as $h) { + if (preg_match("/^X-W3C-Validator-Errors: (\d+)$/", $h, $m)) { + if ($m[1]) { + $replc = "$url{$m[1]} ERREUR(S) !!!"; + } + break; + } + } + echo $replc; + exit; + } + function handler_400(PlPage& $page) { header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');