fusionpbx/resources/classes/text.php

71 lines
1.6 KiB
PHP
Raw Normal View History

<?php
/**
* Get the text for the correct translation
2015-01-18 10:25:50 +01:00
*
* @method array get
*/
class text {
/**
* Called when the object is created
*/
public function __construct() {
//place holder
}
/**
* Called when there are no references to a particular object
* unset the variables used in the class
*/
public function __destruct() {
foreach ($this as $key => $value) {
unset($this->$key);
}
}
/**
* Get a specific item from the cache
2015-01-18 08:42:17 +01:00
* @var string $language_code examples: en-us, es-cl, fr-fr, pt-pt
* @var string $app_path examples: app/exec or core/domains
*/
2015-01-18 08:42:17 +01:00
public function get($language_code = null, $app_path = null) {
//get the app_languages.php
2015-01-18 11:40:41 +01:00
if ($app_path != null) {
2015-01-20 07:44:12 +01:00
include $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/".$app_path."/app_languages.php";
}
else {
2015-01-20 07:44:12 +01:00
include getcwd().'/app_languages.php';
}
//get the available languages
krsort($text);
foreach ($text as $lang_label => $lang_codes) {
foreach ($lang_codes as $lang_code => $lang_text) {
if ($lang_text != '') {
$app_languages[] = $lang_code;
}
}
}
$_SESSION['app']['languages'] = array_unique($app_languages);
2015-01-18 10:25:50 +01:00
//reduce to specific language
2015-01-18 08:42:17 +01:00
if ($language_code != 'all') {
foreach($text as $key => $value) {
if ($language_code == null) {
$text[$key] = $value[$_SESSION['domain']['language']['code']];
}
else {
$text[$key] = $value[$language_code];
}
}
}
//return the array of translations
return $text;
}
}
?>