remove code..
authorAlan Knowles <alan@roojs.com>
Tue, 15 Dec 2020 06:53:20 +0000 (14:53 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 15 Dec 2020 06:53:20 +0000 (14:53 +0800)
Translations.php

index a0c8aec..b0f3690 100644 (file)
@@ -1,9 +1,7 @@
 <?php
 
-die("NOT USED!?");
 // see core_template code..
-
-
 /**
  * Pman_Admin_Translation:
  * - the latest version of this....
@@ -19,359 +17,4 @@ die("NOT USED!?");
  * Note: at present the front end does not query this to get a list of modules..
  * 
  */
-
-require_once 'Pman.php';
-
-class Pman_Admin_Translations extends Pman
-{
-    
-    var $prefix = '';
-    var $fn = '';
-    var $data = array();
-    
-    var $original = array() ; // filename => array( orig_string > orig_string)
-    var $originalKeys = array() ; // md5(filename-orig_string) => filename
-    
-    function getAuth()
-    {
-        parent::getAuth();
-        $au = $this->getAuthUser();
-        if (!$au) {
-            $this->jerr("Not authenticated", array('authFailure' => true));
-        }
-        $this->authUser = $au;
-        return true;
-    }
-    
-    
-    function get($module, $opts = Array())
-    {
-        
-        if (!empty($module)) {
-            $this->init();
-            //DB_DataObject::debugLevel(1);
-            require_once 'Services/JSON.php';
-            $d = DB_DataObject::factory('translations');
-            $d->module = $module;
-            $d->selectAdd();
-            $d->selectAdd('distinct(tlang) as tlang');
-            header('Content-type: text/javascript');
-            $langs= $d->fetchAll('tlang');
-            foreach($langs as $lang) {
-                // output the translations strings file..
-                
-                    
-                $this->loadOriginalStrings($module);
-                
-                $data = $this->loadTranslateDB($lang,$module);
-                
-                $j = new Services_JSON();
-                echo "_T.{$lang}= Roo.apply( _T.{$lang} || { }, " .  $j->stringify($data, null, 4) . ");\n";
-                
-            }
-            exit;
-            
-        }
-        
-        // load and parse json file containing all translations...
-        if (isset($_REQUEST['id'])) {
-            return $this->post();
-        }
-        if (empty($_REQUEST['lang']) || !preg_match('/^[A-Z_]+$/i', $_REQUEST['lang'])) {
-            $this->jerr("NO LANG / INVALID LANG");
-        }
-         
-        $enable = $this->modulesList();
-        
-        if (empty($_REQUEST['module']) || !in_array($_REQUEST['module'], $enable)) {
-            $this->jerr("NO MODULE / INVALID MODULE");
-        }
-        
-        
-        $lang = $_REQUEST['lang'];
-        $module = $_REQUEST['module'];
-        
-        
-        $this->loadOriginalStrings($module); // what needs translating..
-        
-        $ff = $this->bootLoader;
-        if (empty($ff->Pman['public_cache_dir'])) {
-            $this->jerr("public_cache_dir has not been set up");
-        }
-        
-        
-        
-        $translated_data = $this->loadTranslateDB($lang, $module); // the 'database!'
-        
-        
-       // echo '<PRE>';print_R($data);exit;
-        // covert data ready to send back..
-        
-        $ret = array();
-        foreach($this->original as $k=>$ar) {
-            foreach($ar as $tr=>$trv) {
-                // $hint = isset($hints[$tr]) ? $hints[$tr] : '';
-                $key = $trv;
-                $ret[] = array(
-                    'id' => $lang.'/'.$key,
-                    'msum' => $key,
-                    'colname' => $k,
-                    'origtxt' => $tr,
-                    'txt' => isset($translated_data[$key]) ? $translated_data[$key] : '',
-                   // 'suggest' => $hint
-                );
-                
-            }
-        }
-        
-        
-        $this->jdata($ret);
-        
-        
-        exit;
-        
-    }
-    
-    function post($v) 
-    {
-         
-         
-        
-        if (empty($_REQUEST['module']) || !in_array($_REQUEST['module'], $this->modulesList())) {
-            $this->jerr("NO MODULE / INVALID MODULE");
-        }
-        
-        //id   zh_HK/54e1d44609e3abed11f6e1eb6ae54988
-        //txt  é \85ç\9b®
-        list($lang,$id) = explode('/', $_REQUEST['id']);
-        
-        $this->loadOriginalStrings($_REQUEST['module']);
-        
-        $data = $this->loadTranslateDB($lang,$_REQUEST['module']);
-        
-        $data[$id] = $_REQUEST['txt'];
-        
-        if (!isset($this->originalKeys[$id])) {
-            
-            
-            $this->jerr("invalid key ?");
-        }
-        
-        $this->saveTranslateDB($lang,$_REQUEST['module'],$this->originalKeys[$id], $id, $_REQUEST['txt']);
-        
-        
-        
-        $this->writeTransMod($lang,$_REQUEST['module'], $data);
-        // write merged file..
-        //$this->prefix = '_T["'.$lang .'"]=';
-        //file_put_contents($this->fn, $this->prefix. $j->encode($this->data).';');
-        $this->jok("OK");
-    }
-    
-    /**
-     * load strings that need translating..
-     */
-    
-    function loadOriginalStrings($module)
-    {
-        // since this can handle errors better.!!?
-        $info = $this->moduleJavascriptFilesInfo($module);
-        //print_r($info);
-        
-        
-        
-        $this->original  = array();
-        $tfile = $info->basedir . '/'. $info->translation_data;
-         //var_dump($tfile);
-        //if (empty($tfile) || !file_exists($tfile)) {
-            
-            foreach($info->filesmtime as $f =>$mt) {
-                $bjs = preg_replace('/\.js$/','.bjs', $f);
-                if (!file_exists($bjs)) {
-                    continue;
-                }
-                $jd = json_decode(file_get_contents($bjs));
-                if (empty($jd->strings)) {
-                    continue;
-                }
-                foreach($jd->strings as $tkey => $val) {
-                    $line = array(
-                        'module' => $module,
-                        'tfile' => preg_replace('/\.js$/','',  basename($bjs)),
-                    );
-                    
-                    
-                }
-                
-                $this->original[str_replace('.bjs', '', basename($bjs)) ] = array_flip((array)$jd->strings);
-            }
-             
-            file_put_contents($tfile, json_encode($this->original));
-            
-            
-        //}
-        
-        
-        print_R($this->original);exit;
-        
-        
-        $this->original = (array) json_decode( file_get_contents($tfile) );
-        ksort($this->original);
-
-        $this->originalKeys = array();
-        
-        // 
-        foreach($this->original as $k=>$ar) {
-            foreach($ar as $tr=>$trv) {
-                $key = md5($k.'-'.$tr);
-                $this->originalKeys[$key] = $k;
-            }
-        }
-        
-    }
-    
-     
-    
-    
-   
-    /***
-     *
-     * loadTranslateDB -
-     *
-     *
-     * @return key=>value list of translation_id=>tranlation.
-     *
-     *
-     */
-    
-    function loadTranslateDB($lang, $module)
-    {
-        
-        //DB_DataObject::debugLevel(1);
-        $d = DB_DataObject::factory('translations');
-        $d->module = $module;
-        $d->tlang = $lang;
-        $d->whereAdd('LENGTH(tval) > 0');
-        $ret = array();
-        
-        if ($d->count()) {
-            // since key includes file 
-            $ret = $d->fetchAll('tkey','tval'); /// shoudl we include updates
-        }
-        // no data is contained in the database, we should initialize it, if we can
-        $info  = $this->moduleJavascriptFilesInfo($module);
-        $fn = $info->module_dir.'/_translations_/'.$lang.'.js';
-        
-       
-        if (!file_exists($fn)) {
-            ///Die($fn ." does not exist?");
-            return $ret;
-        }
-        
-        
-        $default = (array) json_decode(file_get_contents($fn));
-        //echo '<PRE>';print_r($default); print_r($this->originalKeys);exit;
-        
-        
-        
-        foreach($default as $k=>$v) {
-            if (isset($ret[$k])) {
-                continue; // skip database already holds a version of this translation.
-            }
-            // is it relivant anymore..
-            if (!isset($this->originalKeys[$k])) {
-                continue;
-            }
-            
-            // it's current..
-            $this->saveTranslateDB($lang, $module, $this->originalKeys[$k], $k, $v);
-            $ret[$k] = $v;
-            
-            
-        }
-        return $ret;
-        
-         
-    }
-    
-    function saveTranslateDB($lang, $module, $tfile, $tkey, $tval)
-    {
-        $d = DB_DataObject::factory('translations');
-        $d->module = $module;
-        $d->tlang = $lang;
-        $d->tfile = $tfile;
-        $d->tkey = $tkey;
-        if ($d->find(true)) {
-            $d->tval = $tval;
-            $d->update();
-        }
-        $d->tval = $tval;
-        $d->insert();
-        
-    }
-    
-    
-    
-    
-    function getTransFilename($lang, $module)
-    {
-        
-        $ff = HTML_FlexyFramework::get();
-        $fn = $ff->rootDir .'/_translations_/'. $lang . '/'. $module.'.json';
-        if (!file_exists(dirname($fn))) {
-            
-            /// create the direct
-            $oldumask = umask(0);
-            mkdir(dirname($fn), 0770, true);
-            umask($oldumask);  
-            clearstatcache();
-            if (!file_exists(dirname($fn))) {
-                $this->jerr("_translations_ directory does not exist in Pman folder - it needs to be editable");
-            }
-            
-        }
-        return $fn;
-    }
-    
-     
-    /**
-     * Writes a file MODULE.js inside of _translations_
-     *
-     * this should contain all contents from all the language directroris for this
-     * module
-     *
-     */
-    
-    function writeTransMod($lang, $module, $data)
-    {
-        //print_R($data);
-        
-        
-        $fn = $this->getTransFilename($lang, $module);
-        require_once 'Services/JSON.php';
-        $j = new Services_JSON();
-        
-        file_put_contents($fn, $j->stringify($data, null, 4));
-        
-        $ff = HTML_FlexyFramework::get();
-        $base = $ff->rootDir.'/_translations_' ;
-        $out = '';
-        foreach(scandir($base) as $l) {
-             
-            if (!strlen($l) || $l[0] == '.' || !is_dir("$base/$l") || !file_exists("$base/$l/$module.json")) {
-                continue;
-            }
-            // decode as our temp files contain spaces..
-            $jdata = json_decode(file_get_contents("$base/$l/$module.json") );
-            $out .= "_T.$l= Roo.apply( _T.$l || { }, " . json_encode($jdata) . ");\n";
-        }
-        //var_dump($out);
-        if (strlen($out)) {
-            file_put_contents("$base/$module.js", $out);
-        }
-        //$this->writeTrans($lang);
-    }
-     
-     
-    
-}
\ No newline at end of file
+  
\ No newline at end of file