aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-10-20 16:48:07 -0700
committerFriendika <info@friendika.com>2011-10-20 16:48:07 -0700
commit01164c8c2f802f0b4c2f0f7c4a83ed826768ae1a (patch)
tree32b0ba9fc9c46057a44dfb97691fd548399c5520
parentbef7a5d66bf7ef26e0d4da1c6209f3e23b0ccffe (diff)
downloadvolse-hubzilla-01164c8c2f802f0b4c2f0f7c4a83ed826768ae1a.tar.gz
volse-hubzilla-01164c8c2f802f0b4c2f0f7c4a83ed826768ae1a.tar.bz2
volse-hubzilla-01164c8c2f802f0b4c2f0f7c4a83ed826768ae1a.zip
fix various html parse errors
-rw-r--r--include/Scrape.php27
-rw-r--r--include/event.php7
-rw-r--r--include/network.php7
-rw-r--r--library/HTML5/TreeBuilder.php2
-rw-r--r--mod/parse_url.php8
-rw-r--r--view/diaspora_vcard.tpl6
6 files changed, 42 insertions, 15 deletions
diff --git a/include/Scrape.php b/include/Scrape.php
index 642b8e624..f5b15c82f 100644
--- a/include/Scrape.php
+++ b/include/Scrape.php
@@ -30,8 +30,11 @@ function scrape_dfrn($url) {
}
}
-
- $dom = HTML5_Parser::parse($s);
+ try {
+ $dom = HTML5_Parser::parse($s);
+ } catch (DOMException $e) {
+ logger('scrape_dfrn: parse error: ' . $e);
+ }
if(! $dom)
return $ret;
@@ -132,9 +135,11 @@ function scrape_meta($url) {
}
}
-
-
- $dom = HTML5_Parser::parse($s);
+ try {
+ $dom = HTML5_Parser::parse($s);
+ } catch (DOMException $e) {
+ logger('scrape_meta: parse error: ' . $e);
+ }
if(! $dom)
return $ret;
@@ -177,7 +182,11 @@ function scrape_vcard($url) {
}
}
- $dom = HTML5_Parser::parse($s);
+ try {
+ $dom = HTML5_Parser::parse($s);
+ } catch (DOMException $e) {
+ logger('scrape_vcard: parse error: ' . $e);
+ }
if(! $dom)
return $ret;
@@ -243,7 +252,11 @@ function scrape_feed($url) {
}
}
- $dom = HTML5_Parser::parse($s);
+ try {
+ $dom = HTML5_Parser::parse($s);
+ } catch (DOMException $e) {
+ logger('scrape_feed: parse error: ' . $e);
+ }
if(! $dom)
return $ret;
diff --git a/include/event.php b/include/event.php
index 746422a13..c7669b381 100644
--- a/include/event.php
+++ b/include/event.php
@@ -53,7 +53,12 @@ function parse_event($h) {
$ret = array();
- $dom = HTML5_Parser::parse($h);
+
+ try {
+ $dom = HTML5_Parser::parse($h);
+ } catch (DOMException $e) {
+ logger('parse_event: parse error: ' . $e);
+ }
if(! $dom)
return $ret;
diff --git a/include/network.php b/include/network.php
index ec99d1e0d..c6f5fd909 100644
--- a/include/network.php
+++ b/include/network.php
@@ -429,7 +429,12 @@ function lrdd($uri) {
// don't try and parse raw xml as html
if(! strstr($html,'<?xml')) {
require_once('library/HTML5/Parser.php');
- $dom = @HTML5_Parser::parse($html);
+
+ try {
+ $dom = HTML5_Parser::parse($html);
+ } catch (DOMException $e) {
+ logger('lrdd: parse error: ' . $e);
+ }
if($dom) {
$items = $dom->getElementsByTagName('link');
diff --git a/library/HTML5/TreeBuilder.php b/library/HTML5/TreeBuilder.php
index 03e2ee77f..a64816f56 100644
--- a/library/HTML5/TreeBuilder.php
+++ b/library/HTML5/TreeBuilder.php
@@ -3041,6 +3041,8 @@ class HTML5_TreeBuilder {
if (!empty($token['attr'])) {
foreach($token['attr'] as $attr) {
+ // mike@macgirvin.com 2011-10-21, stray double quotes cause everything to abort
+ $attr['name'] = str_replace('"','',$attr['name']);
if(!$el->hasAttribute($attr['name'])) {
$el->setAttribute($attr['name'], $attr['value']);
}
diff --git a/mod/parse_url.php b/mod/parse_url.php
index a238ecb2f..7a520ba92 100644
--- a/mod/parse_url.php
+++ b/mod/parse_url.php
@@ -88,9 +88,11 @@ function parse_url_content(&$a) {
$purifier = new HTMLPurifier($config);
$s = $purifier->purify($s);
-// logger('parse_url: purified: ' . $s, LOGGER_DATA);
-
- $dom = @HTML5_Parser::parse($s);
+ try {
+ $dom = HTML5_Parser::parse($s);
+ } catch (DOMException $e) {
+ logger('scrape_dfrn: parse error: ' . $e);
+ }
if(! $dom) {
echo sprintf($template,$url,$url,'') . $str_tags;
diff --git a/view/diaspora_vcard.tpl b/view/diaspora_vcard.tpl
index 684b1d18d..e71fc33ef 100644
--- a/view/diaspora_vcard.tpl
+++ b/view/diaspora_vcard.tpl
@@ -33,19 +33,19 @@
<dl class="entity_photo">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="300px" width="300px" src="$diaspora.photo300">
+ <img class="photo avatar" height="300" width="300" src="$diaspora.photo300">
</dd>
</dl>
<dl class="entity_photo_medium">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="100px" width="100px" src="$diaspora.photo100">
+ <img class="photo avatar" height="100" width="100" src="$diaspora.photo100">
</dd>
</dl>
<dl class="entity_photo_small">
<dt>Photo</dt>
<dd>
- <img class="photo avatar" height="50px" width="50px" src="$diaspora.photo50">
+ <img class="photo avatar" height="50" width="50" src="$diaspora.photo50">
</dd>
</dl>
<dl class="entity_searchable">