From 5aafffb22b39c7347e261e2a7f56ba541e5f079e Mon Sep 17 00:00:00 2001 From: rvelices Date: Tue, 9 Oct 2007 22:43:09 +0000 Subject: - RSS feed is PWG charset - iptc are now converted from iso-8859-1 or utf-8 (automatic detection) to pwg charset - remove function get_language_filepath - load_language also checks for the default language git-svn-id: http://piwigo.org/svn/trunk@2132 68402e56-0260-453c-a942-63ccdbb3a9ee --- feed.php | 2 +- include/feedcreator.class.php | 2 +- include/functions.inc.php | 5 ++- include/functions_metadata.inc.php | 10 ++++++ include/functions_user.inc.php | 74 -------------------------------------- 5 files changed, 16 insertions(+), 77 deletions(-) diff --git a/feed.php b/feed.php index 7bf3f4f53..a92f2f735 100644 --- a/feed.php +++ b/feed.php @@ -107,7 +107,7 @@ include_once(PHPWG_ROOT_PATH.'include/feedcreator.class.php'); set_make_full_url(); $rss = new UniversalFeedCreator(); - +$rss->encoding=get_pwg_charset(); $rss->title = $conf['gallery_title']; $rss->title.= ' (as '.$user['username'].')'; diff --git a/include/feedcreator.class.php b/include/feedcreator.class.php index 2b23e9472..5138eb30e 100644 --- a/include/feedcreator.class.php +++ b/include/feedcreator.class.php @@ -391,7 +391,7 @@ class UniversalFeedCreator extends FeedCreator { $vars = get_object_vars($this); foreach ($vars as $key => $value) { // prevent overwriting of properties "contentType", "encoding"; do not copy "_feed" itself - if (!in_array($key, array("_feed", "contentType", "encoding"))) { + if (!in_array($key, array("_feed", "contentType"/*PWG, "encoding"*/))) { $this->_feed->{$key} = $this->{$key}; } } diff --git a/include/functions.inc.php b/include/functions.inc.php index c12bdcda5..e1723b601 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -1499,11 +1499,14 @@ function load_language($filename, $dirname = '', $language = '', { $languages[] = $language; } - if ( !empty($user['language']) ) { $languages[] = $user['language']; } + if ( defined('PHPWG_INSTALLED') ) + { + $languages[] = get_default_language(); + } $languages[] = PHPWG_DEFAULT_LANGUAGE; $languages = array_unique($languages); diff --git a/include/functions_metadata.inc.php b/include/functions_metadata.inc.php index aa162e14b..89a2eeb8e 100644 --- a/include/functions_metadata.inc.php +++ b/include/functions_metadata.inc.php @@ -89,6 +89,16 @@ function clean_iptc_value($value) // remove binary nulls $value = str_replace(chr(0x00), ' ', $value); + if ( preg_match('/[\x80-\xff]/', $value) ) + { + // apparently mac uses some MacRoman crap encoding. I don't know + // how to detect it so a plugin should do the trick. + $value = trigger_event('clean_iptc_value', $value); + $is_utf8 = seems_utf8($value); + $value = convert_charset( $value, + $is_utf8 ? 'utf-8' : 'iso-8859-1', + get_pwg_charset() ); + } return $value; } diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index b6c37cc0f..a73e968ca 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -929,80 +929,6 @@ SELECT name return $groupname; } -/** - * return the file path of the given language filename, depending on the - * availability of the file - * - * in descending order of preference: - * param language, user language, default language - * PhpWebGallery default language. - * - * @param string filename - * @param string dirname - * @param string language - * @return string filepath - */ -function get_language_filepath($filename, $dirname = '', $language = '') -{ - global $user, $conf; - - if (empty($dirname)) - { - $dirname = PHPWG_ROOT_PATH; - } - $dirname .= 'language'.'/'; - - $dir_methods = array(); - - if (!empty($language)) - { - $dir_methods[] = 1; - } - - $dir_methods[] = 2; - $dir_methods[] = 3; - $dir_methods[] = 4; - - foreach ($dir_methods as $dir_method) - { - switch ($dir_method) - { - case '1': - { - $directory = $dirname.$language; - break; - } - case '2': - { - $directory = $dirname.$user['language']; - break; - } - case '3': - { - $directory = $dirname.get_default_language(); - break; - } - case '4': - default: - { - $directory = $dirname.PHPWG_DEFAULT_LANGUAGE; - break; - } - { - $directory = '.'; - } - } - - $filepath = $directory.'/'.$filename; - - if (file_exists($filepath)) - { - return $filepath; - } - } - - return false; -} /** * returns the auto login key or false on error -- cgit v1.2.3