moved code up one level to eliminate the docs subdirectory
[acontent.git] / include / jscripts / handleAjaxResponse.js
1 //************************************************************************/\r
2 //* Transformable                                                        */\r
3 //************************************************************************/\r
4 //* Copyright (c) 2009                                                   */\r
5 //* Adaptive Technology Resource Centre / University of Toronto          */\r
6 //*                                                                      */\r
7 //* This program is free software. You can redistribute it and/or        */\r
8 //* modify it under the terms of the GNU General Public License          */\r
9 //* as published by the Free Software Foundation.                        */\r
10 //************************************************************************/\r
11 \r
12 // Parse the returned data array from php script and display messages in div #ajax-msg\r
13 // @parameter: data   - array\r
14 //  success data array structure\r
15 //  data['status'] = 'success';\r
16 //  data['success'][] = 'success 1';\r
17 //  data['success'][] = 'success 2';\r
18 //  data['success'][] = 'success 3';\r
19 \r
20 //  fail data array structure\r
21 //  data['status'] = 'fail';\r
22 //  data['error'][] = 'error 1';\r
23 //  data['error'][] = 'error 2';\r
24 //  data['error'][] = 'error 3';\r
25 //\r
26 //  data['feedback'][] = 'feedback 1';\r
27 //  data['feedback'][] = 'feedback 2';\r
28 //\r
29 //  data['warning'][] = 'warning 1';\r
30 function handleAjaxResponse(data)\r
31 {\r
32         var msg='';\r
33         \r
34         if (data == null) return;\r
35         \r
36         if (typeof(data.status) == "undefined") \r
37         {\r
38                 jQuery('#ajax-msg').empty();\r
39                 return;\r
40         }\r
41         \r
42         // handle success message\r
43         if (typeof(data.status) == "undefined" || data.status == "success") \r
44         {\r
45                 msg += template_feedback_prefix;\r
46                 \r
47 //              if (typeof(data.success) == "undefined") {\r
48 //                      msg += "<li>Action completed successfully.</li>";\r
49 //              }\r
50 //              else {\r
51                         for(i=0; i<data.success.length; i++)\r
52                         {\r
53                                 if (data.success[i] != "") msg += "<li>"+data.success[i]+"</li>";\r
54                         }\r
55 //              }\r
56                 msg += template_suffix;\r
57         }\r
58         \r
59         // handle fail messages\r
60         if (typeof(data.error) != "undefined")\r
61         {\r
62                 msg += template_error_prefix;\r
63                 for(i=0; i<data.error.length; i++)\r
64                 {\r
65                         if (data.error[i] != "") msg += "<li>"+data.error[i]+"</li>";\r
66                 }\r
67                 msg += template_suffix;\r
68         }\r
69 \r
70         if (typeof(data.feedback) != "undefined")\r
71         {\r
72                 msg += template_feedback_prefix;\r
73                 for(i=0; i<data.feedback.length; i++)\r
74                 {\r
75                         if (data.feedback[i] != "") msg += "<li>"+data.feedback[i]+"</li>";\r
76                 }\r
77                 msg += template_suffix;\r
78         }\r
79         \r
80         if (typeof(data.warning) != "undefined")\r
81         {\r
82                 msg += template_warning_prefix;\r
83                 for(i=0; i<data.warning.length; i++)\r
84                 {\r
85                         if (data.warning[i] != "") msg += "<li>"+data.warning[i]+"</li>";\r
86                 }\r
87                 msg += template_suffix;\r
88         }\r
89         jQuery('#server-msg').empty();\r
90         jQuery('#ajax-msg').html(msg);\r
91 }\r
92 \r
93 function addslashes(str)\r
94 {\r
95         str=str.replace(/\\/g,'\\\\');\r
96         str=str.replace(/\'/g,'\\\'');\r
97         str=str.replace(/\"/g,'\\"');\r
98         str=str.replace(/\0/g,'\\0');\r
99         str=str.replace(/\|/g,'\\|');\r
100         \r
101         return str;\r
102 }\r
103 // templates for message boxes\r
104 var template_error_prefix = '\\r
105         <div id="error"> \\r
106         <h4>The following errors occurred:</h4> \\r
107         <ul> \\r
108 ';\r
109 \r
110 var template_warning_prefix = '\\r
111         <div id="warning"> \\r
112         <ul> \\r
113 ';\r
114 \r
115 var template_feedback_prefix = '\\r
116         <div id="feedback"> \\r
117         <ul> \\r
118 ';\r
119 \r
120 \r
121 var template_suffix = ' </ul>\\r
122         </div> \\r
123 ';