16require_once
"./Services/Object/classes/class.ilObject.php";
69 public function __construct($a_id, $a_call_by_reference =
true)
72 parent::__construct($a_id, $a_call_by_reference);
77 $this->lang_path =
$lng->lang_path;
78 $this->lang_default =
$lng->lang_default;
79 $this->lang_user =
$lng->lang_user;
80 $this->separator =
$lng->separator;
101 $lng->loadLanguageModule(
"meta");
104 $d = dir($this->lang_path);
106 chdir($this->lang_path);
109 while ($entry =
$d->read()) {
110 if (is_file($entry) && (preg_match(
"~(^ilias_.{2}\.lang$)~", $entry))) {
111 $lang_key = substr($entry, 6, 2);
119 $tmp_array = array();
123 $lang_keys = array();
127 foreach ($lang_db as
$lang) {
129 $lang_key =
$lang[
"title"];
131 $lang_keys[] = $lang_key;
134 if ($lang_key == $this->lang_user) {
138 if ($lang_key == $this->lang_default) {
139 $languages[$lang_key][
"status"] =
"system_language";
143 if ((count($tmp_array) > 0) && (!in_array($lang_key, $tmp_array))) {
144 $languages[$lang_key][
"info"] =
"file_not_found";
150 foreach (
$languages as $lang_key => $lang_data) {
151 if (!in_array($lang_key, $lang_keys)) {
153 $languages[$lang_key][
"info"] =
"new_language";
167 foreach (
$languages as $lang_key => $lang_data) {
188 if (count($a_languages) > 0) {
189 foreach ($a_languages as $lang_key => $lang_data) {
190 if ($lang_data[
"info"] ==
"new_language") {
191 include_once(
"./Services/Language/classes/class.ilObjLanguage.php");
193 $lngObj->setTitle($lang_key);
194 $lngObj->setDescription(
"not_installed");
199 $a_languages[$lang_key] = array(
"obj_id" => $lngObj->getId(),
200 "type" => $lngObj->getType(),
201 "description" => $lngObj->getDescription(),
202 "desc" => $lngObj->getDescription(),
203 "owner" => $lngObj->getOwner(),
204 "create_date" => $lngObj->getCreateDate(),
205 "last_update" => $lngObj->getLastUpdateDate());
207 $a_languages[$lang_key][
"info"] =
"new_language";
230 foreach ($a_languages as $lang_key => $lang_data) {
231 if ($lang_data[
"desc"] ==
"not_installed" && $lang_data[
"info"] ==
"file_not_found") {
233 unset($a_languages[$lang_key]);
236 $query =
"DELETE FROM object_data " .
237 "WHERE type = " .
$ilDB->quote(
"lng",
"text") .
" " .
238 "AND title = " .
$ilDB->quote($lang_key,
"text");
260 $d = dir($this->lang_path);
262 chdir($this->lang_path);
268 while ($entry =
$d->read()) {
269 if (is_file($entry) && (preg_match(
"~(^ilias_.{2}\.lang$)~", $entry))) {
271 $output .=
"<br/><br/>" .
$lng->txt(
"langfile_found") .
": " . $entry;
272 $content = file($entry);
278 foreach ($content as
$key => $val) {
279 $separated = explode($this->separator, trim($val));
280 $num = count($separated);
286 $output .=
"<br/><b/>" .
$lng->txt(
"err_in_line") .
" " . $line .
" !</b> ";
287 $output .=
$lng->txt(
"module") .
": " . $separated[0];
288 $output .=
", " .
$lng->txt(
"identifier") .
": " . $separated[1];
289 $output .=
", " .
$lng->txt(
"value") .
": " . $separated[2];
293 if (empty($separated[0])) {
294 $output .=
"<br/>" .
$lng->txt(
"err_no_param") .
" " .
$lng->txt(
"check_langfile");
296 $output .=
"<br/>" .
$lng->txt(
"err_1_param") .
" " .
$lng->txt(
"check_langfile");
301 $output .=
"<br/>" .
$lng->txt(
"err_2_param") .
" " .
$lng->txt(
"check_langfile");
305 $output .=
"<br/>" .
$lng->txt(
"err_over_3_param") .
" " .
$lng->txt(
"check_langfile");
312 $output .=
"<br/>" .
$lng->txt(
"file_not_valid") .
" " .
$lng->txt(
"err_count_param");
317 $output .=
"<br/>" .
$lng->txt(
"file_not_valid") .
" " .
$lng->txt(
"err_wrong_header");
325 $output .=
"<br/>" .
$lng->txt(
"err_no_langfile_found");
An exception for terminatinating execution or to throw for unit testing.
Class ilObjLanguageFolder contains all function to manage language support for ILIAS3 install,...
__construct($a_id, $a_call_by_reference=true)
Constructor @access public.
checkAllLanguages()
validate the logical structure of a lang-file
getLanguages()
gather all information about available languages
removeLanguages($a_languages)
remove languages which are not installed AND has no lang-file
addNewLanguages($a_languages)
add new languages
static cut_header($content)
remove lang-file haeder information from '$content' This function seeks for a special keyword where t...
Class ilObject Basic functions for all objects.
static _getObjectsByType($a_obj_type="", $a_owner="")
Get objects by type.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output