Refactor previous name into dedicated service (#7571)
[openemr.git] / interface / language / lang_language.php
blob1cef193ba301fed907775cbe4c6f5bdcce73880e
1 <?php
3 /**
4 * lang_language.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 use OpenEMR\Common\Acl\AclMain;
14 use OpenEMR\Common\Csrf\CsrfUtils;
16 // Ensure this script is not called separately
17 if ($langModuleFlag !== true) {
18 die(function_exists('xlt') ? xlt('Authentication Error') : 'Authentication Error');
21 // gacl control
22 $thisauth = AclMain::aclCheckCore('admin', 'language');
23 if (!$thisauth) {
24 echo "<html>\n<body>\n";
25 echo "<p>" . xlt('You are not authorized for this.') . "</p>\n";
26 echo "</body>\n</html>\n";
27 exit();
30 if (!empty($_POST['add'])) {
31 if (!CsrfUtils::verifyCsrfToken($_POST["csrf_token_form"])) {
32 CsrfUtils::csrfNotVerified();
35 //validate
36 $pat = "^[a-z]{2}\$";
37 if (!check_pattern($_POST['lang_code'], $pat)) {
38 echo xlt("Code must be two letter lowercase") . '<br />';
39 $err = 'y';
42 $sql = "SELECT * FROM lang_languages WHERE lang_code LIKE ? or lang_description LIKE ? limit 1" ;
43 $res = SqlQuery($sql, array("%" . $_POST['lang_code'] . "%","%" . $_POST['lang_name']));
44 if ($res) {
45 echo xlt("Data Alike is already in database, please change code and/or description") . '<br />';
46 $err = 'y';
49 if (!empty($err) && ($err == 'y')) {
50 $val_lang_code = $_POST['lang_code'];
51 $val_lang_name = $_POST['lang_name'];
52 } else {
53 //insert into the main table
54 $sql = "INSERT INTO lang_languages SET lang_code=?, lang_description=?";
55 SqlStatement($sql, array($_POST['lang_code'],$_POST['lang_name']));
57 //insert into the log table - to allow persistant customizations
58 insert_language_log($_POST['lang_name'], $_POST['lang_code'], '', '');
60 echo xlt('Language definition added') . '<br />';
66 <form name="lang_form" method="post" action="?m=language&csrf_token_form=<?php echo attr_url(CsrfUtils::collectCsrfToken()); ?>" onsubmit="return top.restoreSession()">
67 <input type="hidden" name="csrf_token_form" value="<?php echo attr(CsrfUtils::collectCsrfToken()); ?>" />
68 <!-- Language Code -->
69 <div class="form-group">
70 <label for="languageCode"><?php echo xlt('Language Code'); ?>:</label>
71 <input type="text" class="form-control" id="languageCode" name="lang_code" size="2" maxlength="2" value="<?php echo attr($val_lang_code ?? ''); ?>">
72 </div>
73 <!-- Language Name -->
74 <div class="form-group">
75 <label for="languageName"><?php echo xlt('Language Name'); ?>:</label>
76 <input type="text" class="form-control" id="languageName" name="lang_name" size="24" value="<?php echo attr($val_lang_name ?? ''); ?>">
77 </div>
78 <!-- Submit Button -->
79 <div class="form-group">
80 <input type="submit" class="btn btn-primary" name="add" value="<?php echo xla('Add'); ?>">
81 </div>
82 </form>
84 <?php echo activate_lang_tab('language-link'); ?>