Feat openemr fix 7480 7494 email prescription (#7495)
[openemr.git] / interface / language / language.inc.php
blob5963ed5aed3bb313e8f14c3b0e33d72d0ed27ab2
1 <?php
3 /**
4 * language.inc.php script
6 * @package OpenEMR
7 * @link http://www.open-emr.org
8 * @author Brady Miller <brady.g.miller@gmail.com>
9 * @copyright Copyright (c) 2018 Brady Miller <brady.g.miller@gmail.com>
10 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
13 function check_pattern($data, $pat)
15 if (preg_match("/" . addcslashes($pat, '/') . "/", $data)) {
16 return true ;
17 } else {
18 return false;
22 // Function to insert/modify items in the language log table, lang_custom
24 function insert_language_log($lang_desc, $lang_code, $cons_name, $def)
26 global $disable_utf8_flag, $sqlconf;
28 // set up the mysql collation string to ensure case is sensitive in the mysql queries
29 if (!$disable_utf8_flag) {
30 if (!empty($sqlconf["db_encoding"]) && ($sqlconf["db_encoding"] == "utf8mb4")) {
31 $case_sensitive_collation = "COLLATE utf8mb4_bin";
32 } else {
33 $case_sensitive_collation = "COLLATE utf8_bin";
35 } else {
36 $case_sensitive_collation = "COLLATE latin1_bin";
40 if ($cons_name == '') {
41 // NEW LANGUAGE
42 // (ensure not a repeat log entry)
43 $sql = "SELECT * FROM lang_custom WHERE constant_name='' AND lang_description " . $case_sensitive_collation . " =?";
44 $res_test = SqlStatement($sql, array($lang_desc));
45 if (!SqlFetchArray($res_test)) {
46 $sql = "INSERT INTO lang_custom SET lang_code=?, lang_description=?";
47 SqlStatement($sql, array($lang_code, $lang_desc));
49 } elseif ($lang_desc == '') {
50 // NEW CONSTANT
51 // (ensure not a repeat entry)
52 $sql = "SELECT * FROM lang_custom WHERE lang_description='' AND constant_name " . $case_sensitive_collation . " =?";
53 $res_test = SqlStatement($sql, array($cons_name));
54 if (!SqlFetchArray($res_test)) {
55 $sql = "INSERT INTO lang_custom SET constant_name=?";
56 SqlStatement($sql, array($cons_name));
58 } else {
59 // FULL ENTRY
60 // (ensure not a repeat log entry)
61 $sql = "SELECT * FROM lang_custom WHERE lang_description " . $case_sensitive_collation . " =? AND constant_name " . $case_sensitive_collation . " =? AND definition " . $case_sensitive_collation . " =?";
62 $res_test = SqlStatement($sql, array($lang_desc, $cons_name, $def));
63 if (!SqlFetchArray($res_test)) {
64 // either modify already existing log entry or create a new one
65 $sql = "SELECT * FROM lang_custom WHERE lang_description " . $case_sensitive_collation . " =? AND constant_name " . $case_sensitive_collation . " =?";
66 $res_test2 = SqlStatement($sql, array($lang_desc, $cons_name));
67 if (SqlFetchArray($res_test2)) {
68 // modify existing log entry(s)
69 $sql = "UPDATE lang_custom SET definition=? WHERE lang_description " . $case_sensitive_collation . " =? AND constant_name " . $case_sensitive_collation . " =?";
70 SqlStatement($sql, array($def, $lang_desc, $cons_name));
71 } else {
72 // create new log entry
73 $sql = "INSERT INTO lang_custom (lang_description,lang_code,constant_name,definition) VALUES (?,?,?,?)";
74 SqlStatement($sql, array($lang_desc, $lang_code, $cons_name, $def));