"; - print_r( $var ); + print_r($var); echo ""; exit; } $locale_pattern = "/^[\w-]{2,5}$/"; -function locale_exists($locale) { - return file_exists(dirname(__FILE__)."/../locales/$locale/properties"); +function locale_exists($locale) +{ + return file_exists(dirname(__FILE__) . "/../locales/$locale/properties"); } -function get_available_locales() { +function get_available_locales() +{ global $locale_pattern; $list = array(); - $folder = dirname(__FILE__)."/../locales"; - if($handle = opendir($folder)) { + $folder = dirname(__FILE__) . "/../locales"; + if ($handle = opendir($folder)) { while (false !== ($file = readdir($handle))) { if (preg_match($locale_pattern, $file) && $file != 'names' && is_dir("$folder/$file")) { $list[] = $file; @@ -94,45 +99,47 @@ function get_available_locales() { return $list; } -function get_user_locale() { +function get_user_locale() +{ global $default_locale; - if( isset($_COOKIE['webim_locale']) ) { + if (isset($_COOKIE['webim_locale'])) { $requested_lang = $_COOKIE['webim_locale']; - if( locale_exists($requested_lang) ) + if (locale_exists($requested_lang)) return $requested_lang; } - if( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) { - $requested_langs = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); - foreach( $requested_langs as $requested_lang) { - if( strlen($requested_lang) > 2 ) - $requested_lang = substr($requested_lang,0,2); + if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { + $requested_langs = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + foreach ($requested_langs as $requested_lang) { + if (strlen($requested_lang) > 2) + $requested_lang = substr($requested_lang, 0, 2); - if( locale_exists($requested_lang) ) + if (locale_exists($requested_lang)) return $requested_lang; } } - if( locale_exists($default_locale) ) + if (locale_exists($default_locale)) return $default_locale; return 'en'; } -function get_locale() { +function get_locale() +{ global $webimroot, $locale_pattern; $locale = verifyparam("locale", $locale_pattern, ""); - if( $locale && locale_exists($locale) ) { + if ($locale && locale_exists($locale)) { $_SESSION['locale'] = $locale; - setcookie('webim_locale', $locale, time()+60*60*24*1000, "$webimroot/"); - } else if( isset($_SESSION['locale']) ){ + setcookie('webim_locale', $locale, time() + 60 * 60 * 24 * 1000, "$webimroot/"); + } else if (isset($_SESSION['locale'])) { $locale = $_SESSION['locale']; } - if( !$locale || !locale_exists($locale) ) + if (!$locale || !locale_exists($locale)) $locale = get_user_locale(); return $locale; } @@ -141,42 +148,44 @@ $current_locale = get_locale(); $messages = array(); $output_encoding = array(); -if(function_exists("date_default_timezone_set")) { +if (function_exists("date_default_timezone_set")) { // TODO try to get timezone from config.php/session etc. // autodetect timezone @date_default_timezone_set(function_exists("date_default_timezone_get") ? @date_default_timezone_get() : "GMT"); } -function get_locale_links($href) { +function get_locale_links($href) +{ global $current_locale; $localeLinks = array(); $allLocales = get_available_locales(); - if(count($allLocales) < 2) { + if (count($allLocales) < 2) { return null; } - foreach($allLocales as $k) { + foreach ($allLocales as $k) { $localeLinks[$k] = getlocal_($k, "names"); } return $localeLinks; } -function load_messages($locale) { +function load_messages($locale) +{ global $messages, $webim_encoding, $output_encoding; $hash = array(); $current_encoding = $webim_encoding; - $fp = fopen(dirname(__FILE__)."/../locales/$locale/properties", "r"); + $fp = fopen(dirname(__FILE__) . "/../locales/$locale/properties", "r"); while (!feof($fp)) { $line = fgets($fp, 4096); - $keyval = preg_split("/=/", $line, 2 ); - if( isset($keyval[1]) ) { - if($keyval[0] == 'encoding') { + $keyval = preg_split("/=/", $line, 2); + if (isset($keyval[1])) { + if ($keyval[0] == 'encoding') { $current_encoding = trim($keyval[1]); - } else if($keyval[0] == 'output_encoding') { + } else if ($keyval[0] == 'output_encoding') { $output_encoding[$locale] = trim($keyval[1]); - } else if( $current_encoding == $webim_encoding ) { - $hash[$keyval[0]] = str_replace("\\n", "\n",trim($keyval[1])); + } else if ($current_encoding == $webim_encoding) { + $hash[$keyval[0]] = str_replace("\\n", "\n", trim($keyval[1])); } else { - $hash[$keyval[0]] = myiconv($current_encoding, $webim_encoding, str_replace("\\n", "\n",trim($keyval[1]))); + $hash[$keyval[0]] = myiconv($current_encoding, $webim_encoding, str_replace("\\n", "\n", trim($keyval[1]))); } } } @@ -184,132 +193,146 @@ function load_messages($locale) { $messages[$locale] = $hash; } -function getoutputenc() { +function getoutputenc() +{ global $current_locale, $output_encoding, $webim_encoding, $messages; - if(!isset($messages[$current_locale])) + if (!isset($messages[$current_locale])) load_messages($current_locale); return isset($output_encoding[$current_locale]) ? $output_encoding[$current_locale] : $webim_encoding; } -function getstring_($text,$locale) { +function getstring_($text, $locale) +{ global $messages; - if(!isset($messages[$locale])) + if (!isset($messages[$locale])) load_messages($locale); $localized = $messages[$locale]; - if( isset($localized[$text]) ) + if (isset($localized[$text])) return $localized[$text]; - if( $locale != 'en' ) { - return getstring_($text,'en'); + if ($locale != 'en') { + return getstring_($text, 'en'); } - return "!".$text; + return "!" . $text; } -function getstring($text) { +function getstring($text) +{ global $current_locale; - return getstring_($text,$current_locale); + return getstring_($text, $current_locale); } -function getlocal($text) { +function getlocal($text) +{ global $current_locale, $webim_encoding; - return myiconv($webim_encoding,getoutputenc(), getstring_($text,$current_locale)); + return myiconv($webim_encoding, getoutputenc(), getstring_($text, $current_locale)); } -function getlocal_($text,$locale) { +function getlocal_($text, $locale) +{ global $webim_encoding; - return myiconv($webim_encoding,getoutputenc(), getstring_($text,$locale)); + return myiconv($webim_encoding, getoutputenc(), getstring_($text, $locale)); } -function topage($text) { +function topage($text) +{ global $webim_encoding; - return myiconv($webim_encoding,getoutputenc(), $text); + return myiconv($webim_encoding, getoutputenc(), $text); } -function getstring2_($text,$params,$locale) { - $string = getstring_($text,$locale); - for( $i = 0; $i < count($params); $i++ ) { - $string = str_replace("{".$i."}", $params[$i], $string); +function getstring2_($text, $params, $locale) +{ + $string = getstring_($text, $locale); + for ($i = 0; $i < count($params); $i++) { + $string = str_replace("{" . $i . "}", $params[$i], $string); } return $string; } -function getstring2($text,$params) { +function getstring2($text, $params) +{ global $current_locale; - return getstring2_($text,$params,$current_locale); + return getstring2_($text, $params, $current_locale); } -function getlocal2($text,$params) { +function getlocal2($text, $params) +{ global $current_locale, $webim_encoding; - $string = myiconv($webim_encoding,getoutputenc(), getstring_($text,$current_locale)); - for( $i = 0; $i < count($params); $i++ ) { - $string = str_replace("{".$i."}", $params[$i], $string); + $string = myiconv($webim_encoding, getoutputenc(), getstring_($text, $current_locale)); + for ($i = 0; $i < count($params); $i++) { + $string = str_replace("{" . $i . "}", $params[$i], $string); } return $string; } /* prepares for Javascript string */ -function getlocalforJS($text,$params) { +function getlocalforJS($text, $params) +{ global $current_locale, $webim_encoding; - $string = myiconv($webim_encoding,getoutputenc(), getstring_($text,$current_locale)); - $string = str_replace("\"", "\\\"", str_replace("\n", "\\n", $string)); - for( $i = 0; $i < count($params); $i++ ) { - $string = str_replace("{".$i."}", $params[$i], $string); + $string = myiconv($webim_encoding, getoutputenc(), getstring_($text, $current_locale)); + $string = str_replace("\"", "\\\"", str_replace("\n", "\\n", $string)); + for ($i = 0; $i < count($params); $i++) { + $string = str_replace("{" . $i . "}", $params[$i], $string); } return $string; } /* ajax server actions use utf-8 */ -function getrawparam( $name ) { +function getrawparam($name) +{ global $webim_encoding; - if( isset($_POST[$name]) ) { - $value = myiconv("utf-8",$webim_encoding,$_POST[$name]); + if (isset($_POST[$name])) { + $value = myiconv("utf-8", $webim_encoding, $_POST[$name]); if (get_magic_quotes_gpc()) { $value = stripslashes($value); } return $value; } - die("no ".$name." parameter"); + die("no " . $name . " parameter"); } /* form processors use current Output encoding */ -function getparam( $name ) { +function getparam($name) +{ global $webim_encoding; - if( isset($_POST[$name]) ) { + if (isset($_POST[$name])) { $value = myiconv(getoutputenc(), $webim_encoding, $_POST[$name]); if (get_magic_quotes_gpc()) { $value = stripslashes($value); } return $value; } - die("no ".$name." parameter"); + die("no " . $name . " parameter"); } -function unicode_urldecode($url) { - preg_match_all('/%u([[:alnum:]]{4})/', $url, $a); +function unicode_urldecode($url) +{ + preg_match_all('/%u([[:alnum:]]{4})/', $url, $a); - foreach ($a[1] as $uniord) { - $dec = hexdec($uniord); - $utf = ''; + foreach ($a[1] as $uniord) { + $dec = hexdec($uniord); + $utf = ''; - if ($dec < 128) { - $utf = chr($dec); - } else if ($dec < 2048) { - $utf = chr(192 + (($dec - ($dec % 64)) / 64)); - $utf .= chr(128 + ($dec % 64)); - } else { - $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); - $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); - $utf .= chr(128 + ($dec % 64)); - } - $url = str_replace('%u'.$uniord, $utf, $url); - } - return urldecode($url); + if ($dec < 128) { + $utf = chr($dec); + } else if ($dec < 2048) { + $utf = chr(192 + (($dec - ($dec % 64)) / 64)); + $utf .= chr(128 + ($dec % 64)); + } else { + $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); + $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); + $utf .= chr(128 + ($dec % 64)); + } + $url = str_replace('%u' . $uniord, $utf, $url); + } + return urldecode($url); } -function getgetparam($name,$default='') { +function getgetparam($name, $default = '') +{ global $webim_encoding; - if( !isset($_GET[$name]) || !$_GET[$name] ) { + if (!isset($_GET[$name]) || !$_GET[$name]) { return $default; } $value = myiconv("utf-8", $webim_encoding, unicode_urldecode($_GET[$name])); @@ -319,36 +342,40 @@ function getgetparam($name,$default='') { return $value; } -function connect() { +function connect() +{ global $mysqlhost, $mysqllogin, $mysqlpass, $mysqldb, $dbencoding, $force_charset_in_connection; - if(!extension_loaded("mysql")) { + if (!extension_loaded("mysql")) { die('Mysql extension is not loaded'); } - $link = @mysql_connect($mysqlhost,$mysqllogin ,$mysqlpass ) - or die('Could not connect: ' . mysql_error()); - mysql_select_db($mysqldb,$link) or die('Could not select database'); - if( $force_charset_in_connection ) { + $link = @mysql_connect($mysqlhost, $mysqllogin, $mysqlpass) + or die('Could not connect: ' . mysql_error()); + mysql_select_db($mysqldb, $link) or die('Could not select database'); + if ($force_charset_in_connection) { mysql_query("SET NAMES '$dbencoding'", $link); } return $link; } -function perform_query($query,$link) { - mysql_query($query,$link) - or die(' Query failed: '.mysql_error($link)/*.": ".$query*/); +function perform_query($query, $link) +{ + mysql_query($query, $link) + or die(' Query failed: ' . mysql_error($link) /*.": ".$query*/); } -function select_one_row($query,$link) { - $result = mysql_query($query,$link) or die(' Query failed: ' . - mysql_error($link) /*.": ".$query*/); +function select_one_row($query, $link) +{ + $result = mysql_query($query, $link) or die(' Query failed: ' . + mysql_error($link) /*.": ".$query*/); $line = mysql_fetch_array($result, MYSQL_ASSOC); mysql_free_result($result); return $line; } -function select_multi_assoc($query, $link) { - $sqlresult = mysql_query($query,$link) or die(' Query failed: ' . - mysql_error($link) /*.": ".$query*/); +function select_multi_assoc($query, $link) +{ + $sqlresult = mysql_query($query, $link) or die(' Query failed: ' . + mysql_error($link) /*.": ".$query*/); $result = array(); while ($row = mysql_fetch_array($sqlresult, MYSQL_ASSOC)) { @@ -358,21 +385,24 @@ function select_multi_assoc($query, $link) { return $result; } -function db_build_select($fields, $table, $conditions, $orderandgroup) { - $condition = count($conditions) > 0 ? " where ".implode(" and ", $conditions) : ""; - if($orderandgroup) $orderandgroup = " ".$orderandgroup; +function db_build_select($fields, $table, $conditions, $orderandgroup) +{ + $condition = count($conditions) > 0 ? " where " . implode(" and ", $conditions) : ""; + if ($orderandgroup) $orderandgroup = " " . $orderandgroup; return "select $fields from $table$condition$orderandgroup"; -} +} -function db_rows_count($table,$conditions,$countfields, $link) { - $result = mysql_query(db_build_select("count(".($countfields ? $countfields : "*").")", $table, $conditions, ""),$link) - or die(' Count query failed: '.mysql_error($link)); +function db_rows_count($table, $conditions, $countfields, $link) +{ + $result = mysql_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link) + or die(' Count query failed: ' . mysql_error($link)); $line = mysql_fetch_array($result, MYSQL_NUM); mysql_free_result($result); return $line[0]; } -function start_xml_output() { +function start_xml_output() +{ header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache"); @@ -380,173 +410,196 @@ function start_xml_output() { echo ""; } -function start_html_output() { +function start_html_output() +{ $charset = getstring("output_charset"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache"); - header("Content-type: text/html".(isset($charset)?"; charset=".$charset:"")); + header("Content-type: text/html" . (isset($charset) ? "; charset=" . $charset : "")); } -function escape_with_cdata($text) { - return "", "]]>]]>"; +function escape_with_cdata($text) +{ + return "", "]]>]]>"; } -function form_value($key) { +function form_value($key) +{ global $page; - if( isset($page) && isset($page["form$key"]) ) + if (isset($page) && isset($page["form$key"])) return htmlspecialchars($page["form$key"]); return ""; } -function form_value_cb($key) { +function form_value_cb($key) +{ global $page; - if( isset($page) && isset($page["form$key"]) ) + if (isset($page) && isset($page["form$key"])) return $page["form$key"] === true; return false; } -function form_value_mb($key,$id) { +function form_value_mb($key, $id) +{ global $page; - if( isset($page) && isset($page["form$key"]) && is_array($page["form$key"]) ) { + if (isset($page) && isset($page["form$key"]) && is_array($page["form$key"])) { return in_array($id, $page["form$key"]); } return false; } -function no_field($key) { - return getlocal2("errors.required",array(getlocal($key))); +function no_field($key) +{ + return getlocal2("errors.required", array(getlocal($key))); } -function failed_uploading_file($filename, $key) { +function failed_uploading_file($filename, $key) +{ return getlocal2("errors.failed.uploading.file", - array($filename, getlocal($key))); + array($filename, getlocal($key))); } -function wrong_field($key) { - return getlocal2("errors.wrong_field",array(getlocal($key))); +function wrong_field($key) +{ + return getlocal2("errors.wrong_field", array(getlocal($key))); } -function get_popup($href,$jshref,$message,$title,$wndName,$options) { - if(!$jshref) { $jshref = "'$href'"; } - return "$message"; +function get_popup($href, $jshref, $message, $title, $wndName, $options) +{ + if (!$jshref) { + $jshref = "'$href'"; + } + return "$message"; } -function get_image($href,$width,$height) { - if( $width != 0 && $height != 0 ) +function get_image($href, $width, $height) +{ + if ($width != 0 && $height != 0) return "