fix #8131 - chinese translations
[Pman.Core] / mysql / core_translate_lookup.sql
1
2 DROP FUNCTION IF EXISTS core_translate_lookup;
3
4 DELIMITER $$
5 CREATE FUNCTION core_translate_lookup(
6     in_ontable VARCHAR(128),
7     in_onid INT(11),
8     in_col VARCHAR(128),
9     in_lang VARCHAR(8),
10     in_default TEXT
11 )  
12 RETURNS TEXT NOT DETERMINISTIC READS SQL DATA 
13     BEGIN
14
15         DECLARE v_ret TEXT;
16         DECLARE v_id INT(11);
17         DECLARE v_src_id INT(11);
18                 DECLARE s_id INT(11);
19
20         IF LENGTH(in_default) < 1 THEN
21             RETURN in_default;
22         END IF;
23         
24         SET v_id = 0;
25         
26         SELECT
27             id , txt, src_id
28             INTO
29             v_id, v_ret, v_src_id
30         FROM
31             core_templatestr
32         WHERE
33             on_id = in_onid
34             AND
35             on_table = in_ontable
36             AND
37             on_col = in_col
38             AND
39             lang = in_lang
40             AND
41             active = 1
42         LIMIT 1;
43             
44         IF v_id < 1 OR LENGTH(v_ret) < 1 THEN
45             RETURN in_default;
46         END IF;
47
48         SELECT 
49                 id
50                 INTO
51                 s_id
52         FROM
53                 core_templatestr
54                 WHERE
55                         id = v_src_id
56                         AND
57                         mdsum = MD5(in_default);
58                 
59                 IF s_id IS NULL THEN
60                         RETURN in_default;
61                 END IF;
62         
63         RETURN v_ret;
64
65     END $$
66
67 DELIMITER ;