3 @author: Sudheer K. <scifi1947 at gmail.com>
4 @license: GNU General Public License
7 function getDatabase() {
8 logMessage("Opening VICaR database..");
9 return openDatabaseSync("VICaR", "1.0", "StorageDatabase", 100);
12 function logMessage(strMessage){
13 if (typeof(logUtility)!== 'undefined'){
14 logUtility.logMessage(strMessage);
17 console.log(strMessage);
22 function initialize() {
23 var db = getDatabase();
26 // Create the settings table if it doesn't already exist
27 // If the table exists, this is skipped
28 tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT PRIMARY KEY, value TEXT)');
30 tx.executeSql('CREATE TABLE IF NOT EXISTS profiles(id INTEGER PRIMARY KEY, numberpattern TEXT, gatewaynumber TEXT, dtmfformat TEXT, dtmfprefix TEXT, dtmfsuffix TEXT)');
32 tx.executeSql('CREATE TABLE IF NOT EXISTS rules(id INTEGER PRIMARY KEY, numberpattern TEXT, gatewaynumber TEXT, dtmfformat TEXT, dtmfprefix TEXT, dtmfsuffix TEXT)');
33 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
36 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
40 function getSetting(setting) {
41 var db = getDatabase();
45 var rs = tx.executeSql('SELECT value FROM settings WHERE setting=?;', [setting]);
46 if (rs.rows.length > 0) {
47 res = rs.rows.item(0).value;
48 logMessage(setting+" is "+res);
54 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
61 function setSetting(setting, value) {
62 var db = getDatabase();
66 var rs = tx.executeSql('INSERT OR REPLACE INTO settings VALUES (?,?);', [setting,value]);
67 if (rs.rowsAffected > 0) {
69 logMessage("Updated "+setting+" to "+value);
75 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
81 function addRule(ruleObj){
83 logMessage('SQL> INSERT INTO profiles(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, '+[ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]+')');
85 logMessage('SQL> INSERT INTO rules(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, '+[ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]+')');
86 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
87 var db = getDatabase();
89 logMessage("Opened VICaR database..");
91 db.transaction(function(tx) {
93 var rs = tx.executeSql('INSERT INTO profiles(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, ?, ?, ?, ?, ?);', [ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]);
95 var rs = tx.executeSql('INSERT INTO rules(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, ?, ?, ?, ?, ?);', [ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]);
96 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
97 logMessage("Inserted "+rs.rowsAffected+" rows");
98 if (rs.rowsAffected > 0) {
105 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
111 function updateRule(id,ruleObj){
113 logMessage('SQL> UPDATE profiles set numberpattern = '+[ruleObj.numberpattern]+
115 logMessage('SQL> UPDATE rules set numberpattern = '+[ruleObj.numberpattern]+
116 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
117 ', gatewaynumber = '+[ruleObj.gatewaynumber]+
118 ', dtmfformat = '+[ruleObj.dtmfformat]+
119 ', dtmfprefix = '+[ruleObj.dtmfprefix]+
120 ', dtmfsuffix = '+[ruleObj.dtmfsuffix]+
121 ' WHERE id = ?'+[id]);
122 var db = getDatabase();
124 db.transaction(function(tx) {
126 var rs = tx.executeSql('UPDATE profiles set numberpattern = ?, gatewaynumber = ?, dtmfformat = ?, dtmfprefix = ?, dtmfsuffix = ? WHERE id = ?;',
128 var rs = tx.executeSql('UPDATE rules set numberpattern = ?, gatewaynumber = ?, dtmfformat = ?, dtmfprefix = ?, dtmfsuffix = ? WHERE id = ?;',
129 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
130 [ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix, id]);
131 logMessage("Updated "+rs.rowsAffected+" rows");
132 if (rs.rowsAffected > 0) {
139 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
145 function removeRule(id){
147 logMessage('SQL> DELETE FROM profiles WHERE id = '+[id]);
148 var db = getDatabase();
150 db.transaction(function(tx) {
151 var rs = tx.executeSql('DELETE FROM profiles WHERE id = ?;', [id]);
153 logMessage('SQL> DELETE FROM rules WHERE id = '+[id]);
154 var db = getDatabase();
156 db.transaction(function(tx) {
157 var rs = tx.executeSql('DELETE FROM rules WHERE id = ?;', [id]);
158 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
159 logMessage("Deleted "+rs.rowsAffected+" rows");
160 if (rs.rowsAffected > 0) {
167 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
173 function getAllRules(){
174 var db = getDatabase();
175 var rulesArray = new Array();
177 db.transaction(function(tx) {
179 var rs = tx.executeSql('SELECT * FROM profiles');
181 var rs = tx.executeSql('SELECT * FROM rules');
182 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
183 logMessage("Fetched "+rs.rows.length+" rows");
185 for (i = 0; i < rs.rows.length; i++){
186 ruleObj = new Object();
187 ruleObj.id = rs.rows.item(i).id;
188 ruleObj.numberpattern = rs.rows.item(i).numberpattern;
189 ruleObj.gatewaynumber = rs.rows.item(i).gatewaynumber;
190 ruleObj.dtmfformat = rs.rows.item(i).dtmfformat;
191 ruleObj.dtmfprefix = rs.rows.item(i).dtmfprefix;
192 ruleObj.dtmfsuffix = rs.rows.item(i).dtmfsuffix;
193 rulesArray[i] = ruleObj;
194 logMessage("id = "+ruleObj.id
195 +", numberpattern = "+ruleObj.numberpattern
196 +", gatewaynumber = "+ruleObj.gatewaynumber
197 +", dtmfformat = "+ruleObj.dtmfformat
198 +", dtmfprefix = "+ruleObj.dtmfprefix
199 +", dtmfsuffix = "+ruleObj.dtmfsuffix);
203 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
210 function getRuleByID(id){
211 var db = getDatabase();
213 db.transaction(function(tx) {
215 logMessage('SQL> SELECT * FROM profiles WHERE id = '+[id]);
216 var rs = tx.executeSql('SELECT * FROM profiles WHERE id = '+[id]);
218 logMessage('SQL> SELECT * FROM rules WHERE id = '+[id]);
219 var rs = tx.executeSql('SELECT * FROM rules WHERE id = '+[id]);
220 >>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
221 logMessage("Fetched "+rs.rows.length+" rows");
222 if (rs.rows.length > 0){
223 ruleObj = new Object();
224 ruleObj.id = rs.rows.item(0).id;
225 ruleObj.numberpattern = rs.rows.item(0).numberpattern;
226 ruleObj.gatewaynumber = rs.rows.item(0).gatewaynumber;
227 ruleObj.dtmfformat = rs.rows.item(0).dtmfformat;
228 ruleObj.dtmfprefix = rs.rows.item(0).dtmfprefix;
229 ruleObj.dtmfsuffix = rs.rows.item(0).dtmfsuffix;
230 logMessage("id = "+ruleObj.id
231 +", numberpattern = "+ruleObj.numberpattern
232 +", gatewaynumber = "+ruleObj.gatewaynumber
233 +", dtmfformat = "+ruleObj.dtmfformat
234 +", dtmfprefix = "+ruleObj.dtmfprefix
235 +", dtmfsuffix = "+ruleObj.dtmfsuffix);
239 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");