InterfaceTranslations.php
[Pman.Admin] / InterfaceTranslations.php
1 <?php
2
3
4 /**
5  * Pman_Admin_Translation:
6  * - the latest version of this....
7  *
8  * Files:
9  *   output / current state:    ROOT/_translations_/MODULE.js
10  *   input:       Pman::moduleJavascriptFilesInfo($MODULE)->translation_data
11  * 
12  * 
13  * see:
14  * Pman->modulesList()
15  *
16  * Note: at present the front end does not query this to get a list of modules..
17  * 
18  */
19
20 require_once 'Pman/Admin/Translations.php';
21
22 class Pman_Admin_InterfaceTranslations extends Pman_Admin_Translations 
23 {
24     
25     var $prefix = '';
26     var $fn = '';
27     var $data = array();
28     
29     var $original = array() ; // filename => array( orig_string > orig_string)
30     var $originalKeys = array() ; // md5(filename-orig_string) => filename
31     
32     function getAuth()
33     {
34         
35         return true;
36     }
37     
38     
39     function get($module)
40     {
41         
42         if (empty($module)) {
43             $this->jerr("no module selected");
44         }
45         $this->init();
46         //DB_DataObject::debugLevel(1);
47         require_once 'Services/JSON.php';
48         $d = DB_DataObject::factory('translations');
49         $d->module = $module;
50         $d->selectAdd();
51         $d->selectAdd('distinct(tlang) as tlang');
52         header('Content-type: text/javascript');
53         $langs= $d->fetchAll('tlang');
54         foreach($langs as $lang) {
55             // output the translations strings file..
56             
57                 
58             $this->loadOriginalStrings($module);
59             
60             $data = $this->loadTranslateDB($lang,$module);
61             
62             $j = new Services_JSON();
63             echo "_T.{$lang}= Roo.apply( _T.{$lang} || { }, " .  $j->stringify($data, null, 4) . ");\n";
64             
65         }
66         exit;
67                
68     }
69     
70     function post() 
71     {
72         $this->jerr("invalid url"); 
73      
74     
75 }