From c8bbe19b3fd2ba268c98561690de37fe599ff055 Mon Sep 17 00:00:00 2001 From: nicosomb Date: Fri, 12 Apr 2013 13:13:21 +0200 Subject: =?UTF-8?q?possibilit=C3=A9=20de=20mettre=20en=20fav=20ou=20en=20a?= =?UTF-8?q?rchive=20un=20article=20depuis=20la=20page=20article?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/Encoding.php | 42 +++++++++++------------ inc/functions.php | 101 +++++++++++++++++------------------------------------- 2 files changed, 52 insertions(+), 91 deletions(-) (limited to 'inc') diff --git a/inc/Encoding.php b/inc/Encoding.php index ac107af9..577763b4 100755 --- a/inc/Encoding.php +++ b/inc/Encoding.php @@ -1,4 +1,4 @@ - * @package Encoding @@ -8,7 +8,7 @@ */ class Encoding { - + protected static $win1252ToUtf8 = array( 128 => "\xe2\x82\xac", @@ -43,10 +43,10 @@ class Encoding { 158 => "\xc5\xbe", 159 => "\xc5\xb8" ); - + protected static $brokenUtf8ToUtf8 = array( "\xc2\x80" => "\xe2\x82\xac", - + "\xc2\x82" => "\xe2\x80\x9a", "\xc2\x83" => "\xc6\x92", "\xc2\x84" => "\xe2\x80\x9e", @@ -58,10 +58,10 @@ class Encoding { "\xc2\x8a" => "\xc5\xa0", "\xc2\x8b" => "\xe2\x80\xb9", "\xc2\x8c" => "\xc5\x92", - + "\xc2\x8e" => "\xc5\xbd", - - + + "\xc2\x91" => "\xe2\x80\x98", "\xc2\x92" => "\xe2\x80\x99", "\xc2\x93" => "\xe2\x80\x9c", @@ -74,14 +74,14 @@ class Encoding { "\xc2\x9a" => "\xc5\xa1", "\xc2\x9b" => "\xe2\x80\xba", "\xc2\x9c" => "\xc5\x93", - + "\xc2\x9e" => "\xc5\xbe", "\xc2\x9f" => "\xc5\xb8" ); - + protected static $utf8ToWin1252 = array( "\xe2\x82\xac" => "\x80", - + "\xe2\x80\x9a" => "\x82", "\xc6\x92" => "\x83", "\xe2\x80\x9e" => "\x84", @@ -93,10 +93,10 @@ class Encoding { "\xc5\xa0" => "\x8a", "\xe2\x80\xb9" => "\x8b", "\xc5\x92" => "\x8c", - + "\xc5\xbd" => "\x8e", - - + + "\xe2\x80\x98" => "\x91", "\xe2\x80\x99" => "\x92", "\xe2\x80\x9c" => "\x93", @@ -109,7 +109,7 @@ class Encoding { "\xc5\xa1" => "\x9a", "\xe2\x80\xba" => "\x9b", "\xc5\x93" => "\x9c", - + "\xc5\xbe" => "\x9e", "\xc5\xb8" => "\x9f" ); @@ -119,7 +119,7 @@ class Encoding { * Function Encoding::toUTF8 * * This function leaves UTF8 characters alone, while converting almost all non-UTF8 to UTF8. - * + * * It assumes that the encoding of the original string is either Windows-1252 or ISO 8859-1. * * It may fail to convert characters to UTF-8 if they fall into one of these scenarios: @@ -128,7 +128,7 @@ class Encoding { * are followed by any of these: ("group B") * ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶•¸¹º»¼½¾¿ * For example: %ABREPRESENT%C9%BB. «REPRESENTÉ» - * The "«" (%AB) character will be converted, but the "É" followed by "»" (%C9%BB) + * The "«" (%AB) character will be converted, but the "É" followed by "»" (%C9%BB) * is also a valid unicode character, and will be left unchanged. * * 2) when any of these: àáâãäåæçèéêëìíîï are followed by TWO chars from group B, @@ -148,7 +148,7 @@ class Encoding { } return $text; } elseif(is_string($text)) { - + $max = strlen($text); $buf = ""; for($i = 0; $i < $max; $i++){ @@ -244,15 +244,15 @@ class Encoding { $text = self::toUTF8(utf8_decode(str_replace(array_keys(self::$utf8ToWin1252), array_values(self::$utf8ToWin1252), $text))); return $text; } - + static function UTF8FixWin1252Chars($text){ - // If you received an UTF-8 string that was converted from Windows-1252 as it was ISO8859-1 + // If you received an UTF-8 string that was converted from Windows-1252 as it was ISO8859-1 // (ignoring Windows-1252 chars from 80 to 9F) use this function to fix it. // See: http://en.wikipedia.org/wiki/Windows-1252 - + return str_replace(array_keys(self::$brokenUtf8ToUtf8), array_values(self::$brokenUtf8ToUtf8), $text); } - + static function removeBOM($str=""){ if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) { $str=substr($str, 3); diff --git a/inc/functions.php b/inc/functions.php index 6fa5a17a..37a56038 100755 --- a/inc/functions.php +++ b/inc/functions.php @@ -1,32 +1,46 @@ assign( "url", $url); - $tpl->assign( "title", $title); - $tpl->assign( "content", $content); + $tpl->assign("id", $entry['id']); + $tpl->assign("url", $entry['url']); + $tpl->assign("title", $entry['title']); + $tpl->assign("content", $entry['content']); + $tpl->assign("is_fav", $entry['is_fav']); + $tpl->assign("is_read", $entry['is_read']); - $tpl->draw( "index"); // draw the template + $tpl->draw( "index"); } // function define to retrieve url content -function get_external_file($url, $timeout) { +function get_external_file($url, $timeout) +{ // spoofing FireFox 18.0 $useragent="Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"; @@ -95,57 +109,4 @@ function get_external_file($url, $timeout) { else { return FALSE; } -} - -function rel2abs($rel, $base) -{ - /* return if already absolute URL */ - if (parse_url($rel, PHP_URL_SCHEME) != '') return $rel; - - /* queries and anchors */ - if ($rel[0]=='#' || $rel[0]=='?') return $base.$rel; - - /* parse base URL and convert to local variables: - $scheme, $host, $path */ - extract(parse_url($base)); - - /* remove non-directory element from path */ - $path = preg_replace('#/[^/]*$#', '', $path); - - /* destroy path if relative url points to root */ - if ($rel[0] == '/') $path = ''; - - /* dirty absolute URL */ - $abs = "$host$path/$rel"; - - /* replace '//' or '/./' or '/foo/../' with '/' */ - $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); - for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} - - /* absolute URL is ready! */ - return $scheme.'://'.$abs; -} - -// $str=preg_replace('#(href|src)="([^:"]*)("|(?:(?:%20|\s|\+)[^"]*"))#','$1="http://wintermute.com.au/$2$3',$str); - -function absolutes_links($data, $base) { - // cherche les balises 'a' qui contiennent un href - $matches = array(); - preg_match_all('#(href|src)="([^:"]*)("|(?:(?:%20|\s|\+)[^"]*"))#Si', $data, $matches, PREG_SET_ORDER); - - // ne conserve que les liens ne commençant pas par un protocole « protocole:// » ni par une ancre « # » - foreach($matches as $i => $link) { - $link[1] = trim($link[1]); - - if (!preg_match('#^(([a-z]+://)|(\#))#', $link[1]) ) { - - $absolutePath=rel2abs($link[2],$base); - - $data = str_replace($matches[$i][2], $absolutePath, $data); - } - - } - return $data; -} - -?> \ No newline at end of file +} \ No newline at end of file -- cgit v1.2.3