diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/common.inc.php | 2 | ||||
-rw-r--r-- | include/functions.inc.php | 96 | ||||
-rw-r--r-- | include/functions_mail.inc.php | 6 | ||||
-rw-r--r-- | include/functions_picture.inc.php | 56 |
4 files changed, 85 insertions, 75 deletions
diff --git a/include/common.inc.php b/include/common.inc.php index d87b8728a..2e3d27ee3 100644 --- a/include/common.inc.php +++ b/include/common.inc.php @@ -177,7 +177,7 @@ if ( is_admin() || (defined('IN_ADMIN') and IN_ADMIN) ) load_language('admin.lang'); } trigger_action('loading_lang'); -load_language('local.lang'); +load_language('local.lang', '', array('no_fallback'=>true) ); // only now we can set the localized username of the guest user (and not in // include/user.inc.php) diff --git a/include/functions.inc.php b/include/functions.inc.php index 29a973466..3902bb890 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -239,62 +239,6 @@ function mkget_thumbnail_dir($dirname, &$errors) return $tndir; } -// The get_picture_size function return an array containing : -// - $picture_size[0] : final width -// - $picture_size[1] : final height -// The final dimensions are calculated thanks to the original dimensions and -// the maximum dimensions given in parameters. get_picture_size respects -// the width/height ratio -function get_picture_size( $original_width, $original_height, - $max_width, $max_height ) -{ - $width = $original_width; - $height = $original_height; - $is_original_size = true; - - if ( $max_width != "" ) - { - if ( $original_width > $max_width ) - { - $width = $max_width; - $height = floor( ( $width * $original_height ) / $original_width ); - } - } - if ( $max_height != "" ) - { - if ( $original_height > $max_height ) - { - $height = $max_height; - $width = floor( ( $height * $original_width ) / $original_height ); - $is_original_size = false; - } - } - if ( is_numeric( $max_width ) and is_numeric( $max_height ) - and $max_width != 0 and $max_height != 0 ) - { - $ratioWidth = $original_width / $max_width; - $ratioHeight = $original_height / $max_height; - if ( ( $ratioWidth > 1 ) or ( $ratioHeight > 1 ) ) - { - if ( $ratioWidth < $ratioHeight ) - { - $width = floor( $original_width / $ratioHeight ); - $height = $max_height; - } - else - { - $width = $max_width; - $height = floor( $original_height / $ratioWidth ); - } - $is_original_size = false; - } - } - $picture_size = array(); - $picture_size[0] = $width; - $picture_size[1] = $height; - return $picture_size; -} - /* Returns true if the string appears to be encoded in UTF-8. (from wordpress) * @param string Str */ @@ -752,7 +696,7 @@ function redirect_html( $url , $msg = '', $refresh_time = 0) $user = build_user( $conf['guest_id'], true); load_language('common.lang'); trigger_action('loading_lang'); - load_language('local.lang'); + load_language('local.lang', '', array('no_fallback'=>true) ); list($tmpl, $thm) = explode('/', get_default_template()); $template = new Template(PHPWG_ROOT_PATH.'template/'.$tmpl, $thm); } @@ -1394,17 +1338,19 @@ function get_pwg_charset() * * @param string filename * @param string dirname - * @param string language - * @param bool return_content - if true the file content is returned otherwise - * the file is evaluated as php - * @return boolean success status or a string if return_content is true + * @param mixed options can contain + * language - language to load (if empty uses user language) + * return - if true the file content is returned otherwise the file is evaluated as php + * target_charset - + * no_fallback - the language must be respected + * @return boolean success status or a string if options['return'] is true */ -function load_language($filename, $dirname = '', $language = '', - $return_content=false, $target_charset=null) +function load_language($filename, $dirname = '', + $options = array() ) { global $user; - if (!$return_content) + if (! @$options['return'] ) { $filename .= '.php'; //MAYBE to do .. load .po and .mo localization files } @@ -1415,25 +1361,33 @@ function load_language($filename, $dirname = '', $language = '', $dirname .= 'language/'; $languages = array(); - if ( !empty($language) ) + if ( !empty($options['language']) ) { - $languages[] = $language; + $languages[] = $options['language']; } if ( !empty($user['language']) ) { $languages[] = $user['language']; } - if ( defined('PHPWG_INSTALLED') ) + if ( ! @$options['no_fallback'] ) { - $languages[] = get_default_language(); + if ( defined('PHPWG_INSTALLED') ) + { + $languages[] = get_default_language(); + } + $languages[] = PHPWG_DEFAULT_LANGUAGE; } - $languages[] = PHPWG_DEFAULT_LANGUAGE; + $languages = array_unique($languages); - if ( empty($target_charset) ) + if ( empty($options['target_charset']) ) { $target_charset = get_pwg_charset(); } + else + { + $target_charset = $options['target_charset']; + } $target_charset = strtolower($target_charset); $source_charset = ''; $source_file = ''; @@ -1472,7 +1426,7 @@ function load_language($filename, $dirname = '', $language = '', if ( !empty($source_file) ) { - if (!$return_content) + if (! @$options['return'] ) { @include($source_file); $load_lang = @$lang; diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php index 9e7f9024d..d965fc8c5 100644 --- a/include/functions_mail.inc.php +++ b/include/functions_mail.inc.php @@ -246,12 +246,12 @@ function switch_lang_to($language) $lang = array(); // language files - load_language('common.lang', '', $language); + load_language('common.lang', '', array('language'=>$language) ); // No test admin because script is checked admin (user selected no) // Translations are in admin file too - load_language('admin.lang', '', $language); + load_language('admin.lang', '', array('language'=>$language) ); trigger_action('loading_lang'); - load_language('local.lang', '', $language); + load_language('local.lang', '', array('language'=>$language, 'no_fallback'=>true)); $switch_lang[$language]['lang_info'] = $lang_info; $switch_lang[$language]['lang'] = $lang; diff --git a/include/functions_picture.inc.php b/include/functions_picture.inc.php index 1b6403ff3..d1c430fde 100644 --- a/include/functions_picture.inc.php +++ b/include/functions_picture.inc.php @@ -327,4 +327,60 @@ function encode_slideshow_params($decode_params = array()) return $result; } +// The get_picture_size function return an array containing : +// - $picture_size[0] : final width +// - $picture_size[1] : final height +// The final dimensions are calculated thanks to the original dimensions and +// the maximum dimensions given in parameters. get_picture_size respects +// the width/height ratio +function get_picture_size( $original_width, $original_height, + $max_width, $max_height ) +{ + $width = $original_width; + $height = $original_height; + $is_original_size = true; + + if ( $max_width != "" ) + { + if ( $original_width > $max_width ) + { + $width = $max_width; + $height = floor( ( $width * $original_height ) / $original_width ); + } + } + if ( $max_height != "" ) + { + if ( $original_height > $max_height ) + { + $height = $max_height; + $width = floor( ( $height * $original_width ) / $original_height ); + $is_original_size = false; + } + } + if ( is_numeric( $max_width ) and is_numeric( $max_height ) + and $max_width != 0 and $max_height != 0 ) + { + $ratioWidth = $original_width / $max_width; + $ratioHeight = $original_height / $max_height; + if ( ( $ratioWidth > 1 ) or ( $ratioHeight > 1 ) ) + { + if ( $ratioWidth < $ratioHeight ) + { + $width = floor( $original_width / $ratioHeight ); + $height = $max_height; + } + else + { + $width = $max_width; + $height = floor( $original_height / $ratioWidth ); + } + $is_original_size = false; + } + } + $picture_size = array(); + $picture_size[0] = $width; + $picture_size[1] = $height; + return $picture_size; +} + ?> |