]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Ticket 1870: drop unnecessary Tidy module installation requirement.
authorBrion Vibber <brion@pobox.com>
Mon, 30 Nov 2009 16:09:30 +0000 (08:09 -0800)
committerBrion Vibber <brion@pobox.com>
Mon, 30 Nov 2009 17:12:19 +0000 (09:12 -0800)
Tidy was only being used by a couple of non-default URL shortener plugins,
PtitUrl and TightUrl. Both were easily changed to load the tag-soup HTML
via DOMDocument (using the default DOM module which is already used by
other dependencies).

Added xml, dom, and simplexml modules to the requirements check
in install.php, as they were being used but not checked for.

Also cleaned up LilUrl, PtitUrl, and TightUrl to return URL as a string
instead of as a SimpleXML node object.

README
install.php
plugins/LilUrl/LilUrlPlugin.php
plugins/PtitUrl/PtitUrlPlugin.php
plugins/TightUrl/TightUrlPlugin.php
plugins/UrlShortener/UrlShortenerPlugin.php

diff --git a/README b/README
index eb1fb8cd70a7e3dd28fdbb04a8eeb4939254dba2..51a8e91cc5e9542d0e72a2b0032f1b6771d10284 100644 (file)
--- a/README
+++ b/README
@@ -98,7 +98,6 @@ released Aug 26 2009. Notable changes this version:
 - Better error handling in Twitter posting.
 - Show oEmbed data for XHTML files as well as plain HTML.
 - Updated bug database link in README.
-- require HTML tidy extension.
 - add support for HTTP Basic Auth in PHP CGI or FastCGI (e.g. GoDaddy).
 - autofocus input to selected entry elements depending on page.
 - updated layout for filter-by-tag form.
@@ -179,7 +178,6 @@ Your PHP installation must include the following PHP extensions:
 - GD. For scaling down avatar images.
 - mbstring. For handling Unicode (UTF-8) encoded strings.
 - gettext. For multiple languages. Default on many PHP installs.
-- tidy. Used to clean up HTML/URLs for the URL shortener to consume.
 
 For some functionality, you will also need the following extensions:
 
index e7f7cf318786c576b9792277afc3cee67d1a12b5..1c62bb2b21659efee149854a27c9e70a86899162 100644 (file)
@@ -301,7 +301,7 @@ function checkPrereqs()
     }
 
     $reqs = array('gd', 'curl',
-                  'xmlwriter', 'mbstring','tidy');
+                  'xmlwriter', 'mbstring', 'xml', 'dom', 'simplexml');
 
     foreach ($reqs as $req) {
         if (!checkExtension($req)) {
index e906751e8424410b15fbbb3061e0d0897cee9fcc..4a6f1cdc79cdeca5746dbff4344f79c82e6b9a27 100644 (file)
@@ -54,7 +54,7 @@ class LilUrlPlugin extends UrlShortenerPlugin
         if (!isset($y->body)) return;
         $x = $y->body->p[0]->a->attributes();
         if (isset($x['href'])) {
-            return $x['href'];
+            return strval($x['href']);
         }
     }
 }
index ef453e96d84e388903efa480b7eb923e030777f3..76a438dd5e9ec9f41e98e1ba32ad9e49e6a298bd 100644 (file)
@@ -47,11 +47,14 @@ class PtitUrlPlugin extends UrlShortenerPlugin
     {
         $response = $this->http_get(sprintf($this->serviceUrl,urlencode($url)));
         if (!$response) return;
-        $response = $this->tidy($response);
-        $y = @simplexml_load_string($response);
+        $dom = new DOMDocument();
+        @$dom->loadHTML($response);
+        $y = @simplexml_import_dom($dom);
         if (!isset($y->body)) return;
         $xml = $y->body->center->table->tr->td->pre->a->attributes();
-        if (isset($xml['href'])) return $xml['href'];
+        if (isset($xml['href'])) {
+            return strval($xml['href']);
+        }
     }
 }
 
index 56414c8c8d121fe45ea23668e79a0bdf750c8df7..6ced9afdc511d750e7a2d5bcf872fa315bcb95b4 100644 (file)
@@ -48,10 +48,13 @@ class TightUrlPlugin extends UrlShortenerPlugin
     {
         $response = $this->http_get(sprintf($this->serviceUrl,urlencode($url)));
         if (!$response) return;
-        $response = $this->tidy($response);
-        $y = @simplexml_load_string($response);
+        $dom = new DOMDocument();
+        @$dom->loadHTML($response);
+        $y = @simplexml_import_dom($dom);
         if (!isset($y->body)) return;
         $xml = $y->body->p[0]->code[0]->a->attributes();
-        if (isset($xml['href'])) return $xml['href'];
+        if (isset($xml['href'])) {
+            return strval($xml['href']);
+        }
     }
 }
index 37206aa896e2cf04493c9719afa2fdabf11cdff4..027624b7ae1ca1c439d0731fc3dce8b252f7ccb1 100644 (file)
@@ -68,14 +68,6 @@ abstract class UrlShortenerPlugin extends Plugin
         return $response->getBody();
     }
 
-    protected function tidy($response) {
-        $response = str_replace('&nbsp;', ' ', $response);
-        $config = array('output-xhtml' => true);
-        $tidy = new tidy;
-        $tidy->parseString($response, $config, 'utf8');
-        $tidy->cleanRepair();
-        return (string)$tidy;
-    }
     //------------Below are the methods that connect StatusNet to the implementing Url Shortener plugin------------\\
 
     function onInitializePlugin(){