aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--feed.php2
-rw-r--r--include/feedcreator.class.php2
-rw-r--r--include/functions.inc.php5
-rw-r--r--include/functions_metadata.inc.php10
-rw-r--r--include/functions_user.inc.php74
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