Rev 2122 | Rev 2153 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 2122 | Rev 2152 | ||
|---|---|---|---|
| Line 144... | Line 144... | ||
| 144 | 144 | ||
| 145 | /* Log the number */ |
145 | /* Log the number */ |
| 146 | Log("New number: " + number + ", direction: " + (incommingCall ? "in" : "out")); |
146 | Log("New number: " + number + ", direction: " + (incommingCall ? "in" : "out")); |
| 147 | 147 | ||
| 148 | 148 | ||
| - | 149 | var phonebookNumbers; |
|
| 149 | /* Lookup name */ |
150 | /* Lookup name */ |
| 150 | if (checkName) |
151 | if (checkName) |
| 151 | { |
152 | { |
| 152 | Sensor_StoreNumberInPhonebook(number, timestamp); |
153 | var phonebookNumbers = Sensor_StoreNumberInPhonebook(number, timestamp); |
| 153 | } |
154 | } |
| 154 | 155 | ||
| - | 156 | if (!phonebookNumbers) |
|
| - | 157 | { |
|
| - | 158 | phonebookNumbers = []; |
|
| - | 159 | } |
|
| 155 | 160 | ||
| 156 | /* Call any potential subscribers */ |
161 | /* Call any potential subscribers */ |
| 157 | if (Sensor_OnNewPhonenumberFunctions[alias_name]) |
162 | if (Sensor_OnNewPhonenumberFunctions[alias_name]) |
| 158 | { |
163 | { |
| 159 | for (var n in Sensor_OnNewPhonenumberFunctions[alias_name]) |
164 | for (var n in Sensor_OnNewPhonenumberFunctions[alias_name]) |
| 160 | { |
165 | { |
| 161 | /* Call callback with arguments number, direction */ |
166 | /* Call callback with arguments alias, number, direction */ |
| 162 | Sensor_OnNewPhonenumberFunctions[alias_name][n](alias_name, number, incommingCall ? "in" : "out"); |
167 | Sensor_OnNewPhonenumberFunctions[alias_name][n](alias_name, number, incommingCall ? "in" : "out", phonebookNumbers); |
| 163 | } |
168 | } |
| 164 | } |
169 | } |
| 165 | } |
170 | } |
| 166 | break; |
171 | break; |
| 167 | } |
172 | } |
| Line 203... | Line 208... | ||
| 203 | } |
208 | } |
| 204 | Module_RegisterToOnMessage("all", Sensor_OnMessage); |
209 | Module_RegisterToOnMessage("all", Sensor_OnMessage); |
| 205 | 210 | ||
| 206 | function Sensor_StoreNumberInPhonebook(number, timestamp) |
211 | function Sensor_StoreNumberInPhonebook(number, timestamp) |
| 207 | { |
212 | { |
| 208 | var phonebookNumbers = Storage_GetJsonParamter("PhoneBook", number) |
213 | var phonebookNumbers = Storage_GetJsonParamter("PhoneBook", number); |
| 209 | 214 | ||
| 210 | if (!phonebookNumbers) |
215 | if (!phonebookNumbers) |
| 211 | { |
216 | { |
| 212 | if (number.charAt(0) != '0') |
217 | if (number.charAt(0) != '0') |
| 213 | { |
218 | { |
| 214 | if (typeof sensorDefaultPhoneAreaCode === 'undefined') |
219 | if (typeof sensorDefaultPhoneAreaCode === 'undefined') |
| 215 | { |
220 | { |
| 216 | Log("\033[31mOnlinePhonebook: please add sensorDefaultPhoneAreaCode = yourAreaCode to autostart.js, defaulting to 031\033[0m\n"); |
221 | Log("\033[31mOnlinePhonebook: please add sensorDefaultPhoneAreaCode = yourAreaCode to autostart.js, defaulting to 031\033[0m\n"); |
| 217 | number = "031" + number; |
222 | number = "031" + number; |
| 218 | } |
223 | } |
| 219 | else |
224 | else |
| 220 | { |
225 | { |
| 221 | number = sensorDefaultPhoneAreaCode + number; |
226 | number = sensorDefaultPhoneAreaCode + number; |
| 222 | } |
227 | } |
| 223 | } |
228 | } |
| 224 | 229 | ||
| 225 | phonebookNumbers = []; |
230 | phonebookNumbers = []; |
| 226 | 231 | ||
| 227 | url = "wap.eniro.se/query?search_word=" + number + "&what=mobwp"; |
232 | url = "wap.eniro.se/query?search_word=" + number + "&what=mobwp"; |
| 228 | //Log("\033[31mURL: http://"+url+"\033[0m\n"); |
233 | //Log("\033[31mURL: http://"+url+"\033[0m\n"); |
| 229 | 234 | ||
| 230 | Http_Request(url, function(socket_id, result, header, content_data) |
235 | Http_Request(url, function(socket_id, result, header, content_data) |
| 231 | { |
236 | { |
| 232 | //Log("\033[31mOnlinePhonebook-eniro: result was: " + result + "\033[0m\n"); |
237 | //Log("\033[31mOnlinePhonebook-eniro: result was: " + result + "\033[0m\n"); |
| 233 | //Log("\033[31mOnlinePhonebook-eniro: content was: " + content_data + "\033[0m\n"); |
238 | //Log("\033[31mOnlinePhonebook-eniro: content was: " + content_data + "\033[0m\n"); |
| 234 | 239 | ||
| 235 | if (result.indexOf("200 OK") != -1) |
240 | if (result.indexOf("200 OK") != -1) |
| 236 | { |
241 | { |
| 237 | 242 | ||
| 238 | var lines = content_data.split("\n"); |
243 | var lines = content_data.split("\n"); |
| 239 | 244 | ||
| 240 | var endString = "<anchor>Tillbaka<prev/></anchor>"; |
245 | var endString = "<anchor>Tillbaka<prev/></anchor>"; |
| 241 | var nameStartString = "<td class=\"hTd2\">"; |
246 | var nameStartString = "<td class=\"hTd2\">"; |
| 242 | var nameEndString = "</table>"; |
247 | var nameEndString = "</table>"; |
| 243 | 248 | ||
| 244 | for (var n = 1; n < lines.length; n++) |
249 | for (var n = 1; n < lines.length; n++) |
| 245 | { |
250 | { |
| 246 | var line = lines[n].trim("\n"); |
251 | var line = lines[n].trim("\n"); |
| 247 | 252 | ||
| 248 | if (line.indexOf(endString) != -1) |
253 | if (line.indexOf(endString) != -1) |
| 249 | { |
254 | { |
| 250 | break; |
255 | break; |
| 251 | } |
256 | } |
| 252 | 257 | ||
| 253 | if (line.indexOf(nameStartString) != -1) |
258 | if (line.indexOf(nameStartString) != -1) |
| 254 | { |
259 | { |
| 255 | line = lines[n + 1].trim("\n"); |
260 | line = lines[n + 1].trim("\n"); |
| 256 | splitted = line.split("b>"); |
261 | splitted = line.split("b>"); |
| 257 | 262 | ||
| 258 | phonebookNumbers.push(splitted[1].substr(0, splitted[1].length - 2)); |
263 | phonebookNumbers.push(splitted[1].substr(0, splitted[1].length - 2)); |
| 259 | break; |
264 | break; |
| 260 | } |
265 | } |
| 261 | } |
266 | } |
| 262 | 267 | ||
| 263 | //Log("\033[31mOnlinePhonebook: Line: " + lines[1] + "\033[0m\n"); |
268 | //Log("\033[31mOnlinePhonebook: Line: " + lines[1] + "\033[0m\n"); |
| 264 | //Log("\033[31mOnlinePhonebook: Line: " + lines[2] + "\033[0m\n"); |
269 | //Log("\033[31mOnlinePhonebook: Line: " + lines[2] + "\033[0m\n"); |
| 265 | //Log("\033[31mOnlinePhonebook: Line: " + lines[3] + "\033[0m\n"); |
270 | //Log("\033[31mOnlinePhonebook: Line: " + lines[3] + "\033[0m\n"); |
| 266 | if (phonebookNumbers.length > 0) |
271 | if (phonebookNumbers.length > 0) |
| 267 | { |
272 | { |
| 268 | Storage_SetJsonParameter("PhoneBook", number, phonebookNumbers); |
273 | Storage_SetJsonParameter("PhoneBook", number, phonebookNumbers); |
| 269 | 274 | ||
| 270 | Sensor_UpdateNameInPhonecalls(timestamp, phonebookNumbers); |
275 | Sensor_UpdateNameInPhonecalls(timestamp, phonebookNumbers); |
| 271 | - | ||
| 272 | //CAll all listeners! |
- | |
| 273 | //.... |
- | |
| 274 | 276 | ||
| 275 | Log("\033[31mOnlinePhonebook-eniro: Found: " + JSON.stringify(phonebookNumbers) + "\033[0m\n"); |
277 | Log("\033[31mOnlinePhonebook-eniro: Found: " + JSON.stringify(phonebookNumbers) + "\033[0m\n"); |
| 276 | } |
278 | } |
| 277 | } |
279 | } |
| 278 | else |
280 | else |
| 279 | { |
281 | { |
| 280 | Log("\033[31mOnlinePhonebook-eniro: Failed to do name lookup, result was: " + result + "\033[0m\n"); |
282 | Log("\033[31mOnlinePhonebook-eniro: Failed to do name lookup, result was: " + result + "\033[0m\n"); |
| 281 | } |
283 | } |
| 282 | 284 | ||
| 283 | if (phonebookNumbers.length == 0) |
285 | if (phonebookNumbers.length == 0) |
| 284 | { |
286 | { |
| 285 | if (typeof sensorRKSEEK_API !== 'undefined') |
287 | if (typeof sensorRKSEEK_API !== 'undefined') |
| 286 | { |
288 | { |
| 287 | url = "rkseek.oblivioncreations.se/?client="+sensorRKSEEK_API+"&n=" + number + "&out=text"; |
289 | url = "rkseek.oblivioncreations.se/?client="+sensorRKSEEK_API+"&n=" + number + "&out=text"; |
| 288 | Log("\033[31mURL: http://"+url+"\033[0m\n"); |
290 | Log("\033[31mURL: http://"+url+"\033[0m\n"); |
| 289 | 291 | ||
| 290 | Http_Request(url, function(socket_id, result, header, content_data) |
292 | Http_Request(url, function(socket_id, result, header, content_data) |
| 291 | { |
293 | { |
| 292 | phonebookNumbers = []; |
294 | phonebookNumbers = []; |
| 293 | 295 | ||
| 294 | if (result.indexOf("200 OK") != -1) |
296 | if (result.indexOf("200 OK") != -1) |
| 295 | { |
297 | { |
| 296 | //Log("\033[31mOnlinePhonebook: result was: " + content_data + "\033[0m\n"); |
298 | //Log("\033[31mOnlinePhonebook: result was: " + content_data + "\033[0m\n"); |
| 297 | var lines = content_data.split("\n"); |
299 | var lines = content_data.split("\n"); |
| 298 | //Log("\033[31mOnlinePhonebook: Line: " + lines[1] + "\033[0m\n"); |
300 | //Log("\033[31mOnlinePhonebook: Line: " + lines[1] + "\033[0m\n"); |
| 299 | //Log("\033[31mOnlinePhonebook: Line: " + lines[2] + "\033[0m\n"); |
301 | //Log("\033[31mOnlinePhonebook: Line: " + lines[2] + "\033[0m\n"); |
| 300 | //Log("\033[31mOnlinePhonebook: Line: " + lines[3] + "\033[0m\n"); |
302 | //Log("\033[31mOnlinePhonebook: Line: " + lines[3] + "\033[0m\n"); |
| Line 309... | Line 311... | ||
| 309 | } |
311 | } |
| 310 | } |
312 | } |
| 311 | else |
313 | else |
| 312 | { |
314 | { |
| 313 | Log("\033[31mOnlinePhonebook-rseek: Failed to do name lookup, result was: " + result + "\033[0m\n"); |
315 | Log("\033[31mOnlinePhonebook-rseek: Failed to do name lookup, result was: " + result + "\033[0m\n"); |
| 314 | } |
316 | } |
| 315 | }); |
317 | }); |
| 316 | } |
318 | } |
| 317 | } |
319 | } |
| 318 | }); |
320 | }); |
| 319 | /* |
321 | /* |
| 320 | Http_Request("wap.hitta.se/default.aspx?Who=" + number + "&Where=&PageAction=White", |
322 | Http_Request("wap.hitta.se/default.aspx?Who=" + number + "&Where=&PageAction=White", |
| 321 | function(socket_id, result, header, content_data) { |
323 | function(socket_id, result, header, content_data) { |
| 322 | var persons = new Array(); |
324 | var persons = new Array(); |
| Line 366... | Line 368... | ||
| 366 | { |
368 | { |
| 367 | //Log("Number already stored\n"); |
369 | //Log("Number already stored\n"); |
| 368 | 370 | ||
| 369 | Sensor_UpdateNameInPhonecalls(timestamp, phonebookNumbers); |
371 | Sensor_UpdateNameInPhonecalls(timestamp, phonebookNumbers); |
| 370 | } |
372 | } |
| - | 373 | ||
| - | 374 | return phonebookNumbers; |
|
| 371 | } |
375 | } |
| 372 | Console_RegisterCommand(Sensor_StoreNumberInPhonebook, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args); }); |
376 | Console_RegisterCommand(Sensor_StoreNumberInPhonebook, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args); }); |
| 373 | 377 | ||
| 374 | function Sensor_UpdateNameInPhonecalls(timestamp, numbers) |
378 | function Sensor_UpdateNameInPhonecalls(timestamp, numbers) |
| 375 | { |
379 | { |