DataObjects/I18n.php
[Pman.Core] / DataObjects / core_functions.sql
index a174447..22dadec 100644 (file)
@@ -6,32 +6,26 @@ CREATE FUNCTION i18n_translate(in_ltype  varchar(1) , in_lkey varchar(8), in_inl
         RETURNS VARCHAR(64) DETERMINISTIC
     BEGIN
         DECLARE ret  VARCHAR(64);
+        DECLARE v_id INTEGER;
         SET ret  = '';
-        SELECT lval INTO ret FROM i18n
+        SELECT id, lval  INTO v_id, ret FROM i18n
             WHERE ltype=in_ltype AND lkey=in_lkey and inlang=in_inlang LIMIT 1;
-        RETURN ret;
+
+        IF v_id  > 0 THEN 
+            RETURN ret;
+        END IF;
+
+        -- we do not have it  - return the english.
         
-    END $$
-DELIMITER ;
+        SELECT id, lval  INTO v_id, ret FROM i18n
+            WHERE ltype=in_ltype AND lkey=in_lkey and inlang='en' LIMIT 1;
 
-DROP FUNCTION IF EXISTS i18n_translate_with_title;
-DELIMITER $$
-CREATE FUNCTION i18n_translate(in_ltype  varchar(1) , in_lkey varchar(8), in_inlang varchar(8), in_lval VARCHAR(64)) 
-        RETURNS VARCHAR(64) DETERMINISTIC
-    BEGIN
-        DECLARE ret  VARCHAR(64);
-        SET ret  = '';
-        SELECT lval INTO ret FROM i18n
-            WHERE
-                ltype=in_ltype
-            AND
-                lkey=in_lkey
-            AND
-                inlang=in_inlang
-            AND
-                lval LIKE '%in_val%'
-            LIMIT 1;
-        RETURN ret;
+        IF v_id > 0 THEN 
+            RETURN ret;
+        END IF;
+        
+
+        RETURN '??';
         
     END $$
 DELIMITER ;