123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- function & _get_lang_purify(& $string, & $language) {
- $system_encoding = api_get_system_encoding();
- if (api_is_utf8($system_encoding)) {
- if (!api_is_valid_utf8($string)) {
- $string = api_utf8_encode($string, api_get_non_utf8_encoding($language));
- }
- } else {
- if (api_is_valid_utf8($string)) {
- $string = api_utf8_decode($string, $system_encoding);
- }
- }
- return api_html_entity_decode($string, ENT_QUOTES, $system_encoding);
- }
- function &_api_get_day_month_names($language = null) {
- static $date_parts = array();
- if (empty($language)) {
- $language = api_get_interface_language();
- }
- if (!isset($date_parts[$language])) {
- $week_day = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
- $month = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
- for ($i = 0; $i < 7; $i++) {
- $date_parts[$language]['days_short'][] = get_lang($week_day[$i].'Short', '', $language);
- $date_parts[$language]['days_long'][] = get_lang($week_day[$i].'Long', '', $language);
- }
- for ($i = 0; $i < 12; $i++) {
- $date_parts[$language]['months_short'][] = get_lang($month[$i].'Short', '', $language);
- $date_parts[$language]['months_long'][] = get_lang($month[$i].'Long', '', $language);
- }
- }
- return $date_parts[$language];
- }
- function _api_get_person_name_convention($language, $type) {
- static $conventions;
- $language = api_refine_language_id($language);
- if (!isset($conventions)) {
- $file = dirname(__FILE__) . '/internationalization_database/name_order_conventions.php';
- if (file_exists($file)) {
- $conventions = include ($file);
- } else {
- $conventions = array('english' => array('format' => 'title first_name last_name', 'sort_by' => 'first_name'));
- }
- $search = array('first_name', 'last_name', 'title');
- $replacement = array('%f', '%l', '%t');
- foreach (array_keys($conventions) as $key) {
- $conventions[$key]['format'] = _api_validate_person_name_format(_api_clean_person_name(str_replace('%', ' %', str_ireplace($search, $replacement, $conventions[$key]['format']))));
- $conventions[$key]['sort_by'] = strtolower($conventions[$key]['sort_by']) != 'last_name' ? true : false;
- }
- }
- switch ($type) {
- case 'format':
- return is_string($conventions[$language]['format']) ? $conventions[$language]['format'] : '%t %f %l';
- case 'sort_by':
- return is_bool($conventions[$language]['sort_by']) ? $conventions[$language]['sort_by'] : true;
- }
- return null;
- }
- function _api_validate_person_name_format($format) {
- if (empty($format) || strpos($format, '%f') === false || strpos($format, '%l') === false) {
- return '%t %f %l';
- }
- return $format;
- }
- function _api_clean_person_name($person_name) {
- return preg_replace(array('/\s+/', '/, ,/', '/,+/', '/^[ ,]/', '/[ ,]$/'), array(' ', ', ', ',', '', ''), $person_name);
- }
|