Rename trunk directory to public_html
[ldapsaisie.git] / public_html / lang / generate_lang_file.php
1 #!/usr/bin/php
2 <?php
3 /*******************************************************************************
4  * Copyright (C) 2007 Easter-eggs
5  * http://ldapsaisie.labs.libre-entreprise.org
6  *
7  * Author: See AUTHORS file in top-level directory.
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License version 2
11  * as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21
22 ******************************************************************************/
23
24 require_once('../core.php');
25 require_once('../conf/config.inc.php');
26
27 if (isset($argv[2]) && is_file($argv[2])) {
28   @include($argv[2]);
29 }
30
31 $data=array();
32
33 function add($msg) {
34   if ($msg!='') {
35     global $data;
36     $data[$msg]=$GLOBALS['LSlang'][$msg];
37   }
38 }
39
40 // LDAP Servers
41 foreach($GLOBALS['LSconfig']['ldap_servers'] as $conf) {
42   add($conf['name']);
43   add($conf['subDnLabel']);
44   add($conf['recoverPassword']['recoveryHashMail']['subject']);
45   add($conf['recoverPassword']['recoveryHashMail']['msg']);
46   add($conf['recoverPassword']['newPasswordMail']['subject']);
47   add($conf['recoverPassword']['newPasswordMail']['msg']);
48   if (is_array($conf['subDn'])) {
49     foreach($conf['subDn'] as $name => $cf) {
50       if ($name!='LSobject') {
51         add($name);
52       }
53     }
54   }
55 }
56
57
58 // LSobject
59 if (loadDir('../'.LS_OBJECTS_DIR)) {
60   foreach($GLOBALS['LSobjects'] as $name => $conf) {
61     add($conf['label']);
62     
63     // LSrelation
64     if (is_array($conf['LSrelation'])) {
65       foreach($conf['LSrelation'] as $rel) {
66         add($rel['label']);
67         add($rel['emptyText']);
68       }
69     }
70     // LSform
71     if (is_array($conf['LSform']['layout'])) {
72       foreach($conf['LSform']['layout'] as $lay) {
73         add($lay['label']);
74       }
75     }
76     
77     if(is_array($conf['attrs'])) {
78       foreach($conf['attrs'] as $attr) {
79         add($attr['label']);
80         add($attr['help_info']);
81         add($attr['html_options']['mail']['subject']);
82         add($attr['html_options']['mail']['msg']);
83         
84         // Check data
85         if (is_array($attr['check_data'])) {
86           foreach($attr['check_data'] as $check) {
87             add($check['msg']);
88           }
89         }
90         
91         // validation
92         if (is_array($attr['validation'])) {
93           foreach($attr['validation'] as $valid) {
94             add($valid['msg']);
95           }
96         }
97       }
98     }
99   }
100 }
101
102 ksort($data);
103
104 echo "<?php\n\n\$GLOBALS['LSlang'] = array (\n";
105
106 foreach($data as $key => $val) {
107   print "\n\"$key\" =>\n  \"$val\",\n";
108 }
109
110 echo "\n);\n\n?>\n";
111
112 ?>