* This code provides various string manipulation functions that are
* used by the rest of the SquirrelMail code.
*
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
*/
include_once(SM_PATH . 'functions/global.php');
+/**
+ * Include Compatibility plugin if available.
+ */
+if (file_exists(SM_PATH . 'plugins/compatibility/functions.php'))
+ include_once(SM_PATH . 'plugins/compatibility/functions.php');
+
/**
* Appends citation markers to the string.
* Also appends a trailing space.
return( $elem );
}
+/**
+ * Find out where SquirrelMail lives and try to be smart about it.
+ * The only problem would be when SquirrelMail lives in directories
+ * called "src", "functions", or "plugins", but people who do that need
+ * to be beaten with a steel pipe anyway.
+ *
+ * @return string the base uri of SquirrelMail installation.
+ * @since 1.2.6
+ */
+function sqm_baseuri(){
+ global $base_uri, $PHP_SELF;
+ /**
+ * If it is in the session, just return it.
+ */
+ if (isset($base_uri)){
+ return $base_uri;
+ }
+ $dirs = array('|src/.*|', '|plugins/.*|', '|functions/.*|');
+ $repl = array('', '', '');
+ $base_uri = preg_replace($dirs, $repl, $PHP_SELF);
+ return $base_uri;
+}
+
/**
* get_location
*
// use automatic charset detection, if function call asks for it
if ($charset=='auto') {
- global $default_charset;
+ global $default_charset, $squirrelmail_language;
set_my_charset();
$charset=$default_charset;
+ if ($squirrelmail_language=='ja_JP') $charset='euc-jp';
}
// Use mbstring only with listed charsets
function sq_substr($string,$start,$length,$charset='auto') {
// use automatic charset detection, if function call asks for it
if ($charset=='auto') {
- global $default_charset;
+ global $default_charset, $squirrelmail_language;
set_my_charset();
$charset=$default_charset;
+ if ($squirrelmail_language=='ja_JP') $charset='euc-jp';
}
$charset = strtolower($charset);
if (function_exists('mb_internal_encoding') &&
function sq_strpos($haystack,$needle,$offset,$charset='auto') {
// use automatic charset detection, if function call asks for it
if ($charset=='auto') {
- global $default_charset;
+ global $default_charset, $squirrelmail_language;
set_my_charset();
$charset=$default_charset;
+ if ($squirrelmail_language=='ja_JP') $charset='euc-jp';
}
$charset = strtolower($charset);
if (function_exists('mb_internal_encoding') &&
function sq_strtoupper($string,$charset='auto') {
// use automatic charset detection, if function call asks for it
if ($charset=='auto') {
- global $default_charset;
+ global $default_charset,$squirrelmail_language;
set_my_charset();
$charset=$default_charset;
+ if ($squirrelmail_language=='ja_JP') $charset='euc-jp';
}
$charset = strtolower($charset);
if (function_exists('mb_strtoupper') &&
return $count;
}
-?>
\ No newline at end of file
+?>