Updated gui for user facility settings (#1327)
[openemr.git] / library / validation / validate_core.php
blob61495ce7ea1f74fa8289f567e4578f7e7122b7e9
1 <?php
3 /**
4 * LICENSE: This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 3
7 * of the License, or (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program. If not, see
14 * http://www.gnu.org/licenses/licenses.html#GPL .
16 * @package OpenEMR
17 * @license http://www.gnu.org/licenses/licenses.html#GPL GNU GPL V3+
18 * @author Dror Golan <drorgo@matrix.co.il>
19 * @link http://www.open-emr.org
23 /**get all the validation on the page
24 * @param $title
25 * @return array of validation rules and forms names
27 function collectValidationPageRules($title, $active = true)
30 // Note from Rod: Not sure what the purpose is of $active because nothing calls it with a false value.
32 if ($active) {
33 $sql = sqlStatement("SELECT * " .
34 "FROM `list_options` WHERE list_id=? AND activity=? AND title = ?", array('page_validation',1,$title));
35 } else {
36 $sql = sqlStatement("SELECT * " .
37 "FROM `list_options` WHERE list_id=? AND title=?", array('page_validation', $title));
40 $dataArray=array();
41 while ($row = sqlFetchArray($sql)) {
42 $formPageNameArray = explode('#', $row['option_id']);
43 $dataArray[$formPageNameArray[1]]=array('page_name' => $formPageNameArray[0] ,'rules' => $row['notes']);
46 return $dataArray;
49 /**this function creates client side validation rules for each <form> declared in list : Patient Validation - patient_validation
50 * @param $fileNamePath
51 * @output a generated javascript tag with the validation
53 function validateUsingPageRules($fileNamePath)
56 $path='';
58 if ($GLOBALS['webroot']!='') {
59 $path= str_replace($GLOBALS['webroot'], '', $fileNamePath);
60 } else {
61 $path=$fileNamePath;
64 print '<!--Page Form Validations-->';
65 //if we would like to get all the page forms rules we need to call collectValidationPageRules($title) this way there is a
66 $collectThis=collectValidationPageRules($path);
67 if ($collectThis) {
68 print '<!---Start of page form validation-->';
69 print '<!--//include new rules of submitme functionallity-->';
70 echo("\r\n");
71 //Not lbf forms use the new validation, please make sure you have the corresponding values in the list Page validation
72 $use_validate_js = 1;
73 require_once($GLOBALS['srcdir'] . "/validation/validation_script.js.php");
74 echo("\r\n");
75 print '<script type="text/javascript">';
76 echo ("$(document).ready(function(){");
77 echo("\r\n");
78 foreach ($collectThis as $key => $value) {
79 echo("try{");
80 echo("\r\n");
81 echo('if(document.getElementsByName("' . $key . '").length>0)');
82 echo("\r\n");
83 echo('{');
84 echo("\r\n");
85 echo('var form = document.getElementsByName("'.$key.'");');
86 echo("\r\n");
87 echo('form[0].setAttribute("id","'. $key.'");');
88 echo("\r\n");
90 echo('//Use validation script js Validations-');
91 echo("\r\n");
93 echo('$("#'.$key.'").submit(function(event){');
94 echo("\r\n");
96 echo("\r\n");
97 echo ('var submitvalue = submitme(' . $use_validate_js . ',event,"' . $key . '",' . $collectThis[$key]['rules'] . ');');
98 echo("\r\n");
99 echo(' if(submitvalue){');
100 echo("\r\n");
101 echo(" ");
102 echo("\r\n");
103 echo('}');
104 echo("\r\n");
105 echo('else{');
106 echo("\r\n");
107 echo (" event.preventDefault();");
108 echo("\r\n");
109 echo('}');
110 echo("\r\n");
111 echo('});}}');
112 //echo('$("#'.$key.'").prop("onclick", \'return ');
114 echo("\r\n");
115 echo('catch(err)');
116 echo("\r\n");
117 echo('{');
118 echo("\r\n");
119 echo('//log err - console.log(err)');
120 echo("\r\n");
121 echo('}');
124 echo ("});");
125 echo("\r\n");
126 echo('</script>');
127 print '<!---End of page form validation-->';