Subversion Repositories HomeAutomation

Rev

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
{