author | Clipperz <info@clipperz.com> | 2013-01-09 11:45:31 (UTC) |
---|---|---|
committer | Clipperz <info@clipperz.com> | 2013-01-09 11:45:31 (UTC) |
commit | 9741a93a9f5c76827135b43c03b20c0a48f12604 (patch) (unidiff) | |
tree | 1a8fff379a033d873c9e1c7faff755fb6bb7b118 /frontend | |
parent | 8ef30d00eb96004c39540019336c0ec99dae01cb (diff) | |
download | clipperz-9741a93a9f5c76827135b43c03b20c0a48f12604.zip clipperz-9741a93a9f5c76827135b43c03b20c0a48f12604.tar.gz clipperz-9741a93a9f5c76827135b43c03b20c0a48f12604.tar.bz2 |
Merge latest changes with public repository
-rw-r--r-- | frontend/beta/js/Clipperz/PM/DataModel/Record.js | 9 | ||||
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/frontend/beta/js/Clipperz/PM/DataModel/Record.js b/frontend/beta/js/Clipperz/PM/DataModel/Record.js index d6ebb39..f89f79c 100644 --- a/frontend/beta/js/Clipperz/PM/DataModel/Record.js +++ b/frontend/beta/js/Clipperz/PM/DataModel/Record.js | |||
@@ -186,215 +186,214 @@ Clipperz.PM.DataModel.Record.prototype = MochiKit.Base.update(null, { | |||
186 | return Clipperz.Base.serializeJSON(result); | 186 | return Clipperz.Base.serializeJSON(result); |
187 | }, | 187 | }, |
188 | 188 | ||
189 | //------------------------------------------------------------------------- | 189 | //------------------------------------------------------------------------- |
190 | 190 | ||
191 | 'shouldLoadData': function() { | 191 | 'shouldLoadData': function() { |
192 | return this._shouldLoadData; | 192 | return this._shouldLoadData; |
193 | }, | 193 | }, |
194 | 194 | ||
195 | 'setShouldLoadData': function(aValue) { | 195 | 'setShouldLoadData': function(aValue) { |
196 | this._shouldLoadData = aValue; | 196 | this._shouldLoadData = aValue; |
197 | }, | 197 | }, |
198 | 198 | ||
199 | //------------------------------------------------------------------------- | 199 | //------------------------------------------------------------------------- |
200 | 200 | ||
201 | 'shouldDecryptData': function() { | 201 | 'shouldDecryptData': function() { |
202 | return this._shouldDecryptData; | 202 | return this._shouldDecryptData; |
203 | }, | 203 | }, |
204 | 204 | ||
205 | 'setShouldDecryptData': function(aValue) { | 205 | 'setShouldDecryptData': function(aValue) { |
206 | this._shouldDecryptData = aValue; | 206 | this._shouldDecryptData = aValue; |
207 | }, | 207 | }, |
208 | 208 | ||
209 | //------------------------------------------------------------------------- | 209 | //------------------------------------------------------------------------- |
210 | 210 | ||
211 | 'shouldProcessData': function() { | 211 | 'shouldProcessData': function() { |
212 | return this._shouldProcessData; | 212 | return this._shouldProcessData; |
213 | }, | 213 | }, |
214 | 214 | ||
215 | 'setShouldProcessData': function(aValue) { | 215 | 'setShouldProcessData': function(aValue) { |
216 | this._shouldProcessData = aValue; | 216 | this._shouldProcessData = aValue; |
217 | }, | 217 | }, |
218 | 218 | ||
219 | //------------------------------------------------------------------------- | 219 | //------------------------------------------------------------------------- |
220 | 220 | ||
221 | 'loadData': function() { | 221 | 'loadData': function() { |
222 | var result; | 222 | var result; |
223 | 223 | ||
224 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.loadData - this: " + this); | 224 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.loadData - this: " + this); |
225 | if (this.shouldLoadData()) { | 225 | if (this.shouldLoadData()) { |
226 | var deferredResult; | 226 | var deferredResult; |
227 | 227 | ||
228 | deferredResult = new MochiKit.Async.Deferred(); | 228 | deferredResult = new MochiKit.Async.Deferred(); |
229 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'loadingRecordData'); | 229 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'loadingRecordData'); |
230 | deferredResult.addCallback(MochiKit.Base.method(this.user().connection(), 'message'), 'getRecordDetail', {reference: this.reference()}); | 230 | deferredResult.addCallback(MochiKit.Base.method(this.user().connection(), 'message'), 'getRecordDetail', {reference: this.reference()}); |
231 | deferredResult.addCallback(MochiKit.Base.method(this,'setServerData')); | 231 | deferredResult.addCallback(MochiKit.Base.method(this,'setServerData')); |
232 | deferredResult.callback(); | 232 | deferredResult.callback(); |
233 | result = deferredResult; | 233 | result = deferredResult; |
234 | } else { | 234 | } else { |
235 | result = MochiKit.Async.succeed(this.serverData()); | 235 | result = MochiKit.Async.succeed(this.serverData()); |
236 | } | 236 | } |
237 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.loadData"); | 237 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.loadData"); |
238 | 238 | ||
239 | return result; | 239 | return result; |
240 | }, | 240 | }, |
241 | 241 | ||
242 | //------------------------------------------------------------------------- | 242 | //------------------------------------------------------------------------- |
243 | 243 | ||
244 | 'decryptData': function(anEncryptedData) { | 244 | 'decryptData': function(anEncryptedData) { |
245 | var result; | 245 | var result; |
246 | 246 | ||
247 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.decryptData - this: " + this + " (" + anEncryptedData + ")"); | 247 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.decryptData - this: " + this + " (" + anEncryptedData + ")"); |
248 | if (this.shouldDecryptData()) { | 248 | if (this.shouldDecryptData()) { |
249 | var deferredResult; | 249 | var deferredResult; |
250 | 250 | ||
251 | deferredResult = new MochiKit.Async.Deferred(); | 251 | deferredResult = new MochiKit.Async.Deferred(); |
252 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'decryptingRecordData'); | 252 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'decryptingRecordData'); |
253 | deferredResult.addCallback(Clipperz.PM.Crypto.deferredDecrypt, this.key(), anEncryptedData['data'], anEncryptedData['version']); | 253 | deferredResult.addCallback(Clipperz.PM.Crypto.deferredDecrypt, this.key(), anEncryptedData['data'], anEncryptedData['version']); |
254 | deferredResult.addCallback(function(anEncryptedData, someDecryptedValues) { | 254 | deferredResult.addCallback(function(anEncryptedData, someDecryptedValues) { |
255 | varresult; | 255 | varresult; |
256 | 256 | ||
257 | result = anEncryptedData; | 257 | result = anEncryptedData; |
258 | result['data'] = someDecryptedValues; | 258 | result['data'] = someDecryptedValues; |
259 | 259 | ||
260 | return result; | 260 | return result; |
261 | }, anEncryptedData); | 261 | }, anEncryptedData); |
262 | deferredResult.addCallback(MochiKit.Base.method(this, 'setDecryptedData')); | 262 | deferredResult.addCallback(MochiKit.Base.method(this, 'setDecryptedData')); |
263 | deferredResult.callback(); | 263 | deferredResult.callback(); |
264 | 264 | ||
265 | result = deferredResult; | 265 | result = deferredResult; |
266 | } else { | 266 | } else { |
267 | result = MochiKit.Async.succeed(this.decryptedData()); | 267 | result = MochiKit.Async.succeed(this.decryptedData()); |
268 | } | 268 | } |
269 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.decryptData"); | 269 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.decryptData"); |
270 | 270 | ||
271 | return result; | 271 | return result; |
272 | }, | 272 | }, |
273 | 273 | ||
274 | //------------------------------------------------------------------------- | 274 | //------------------------------------------------------------------------- |
275 | 275 | ||
276 | 'processData': function(someValues) { | 276 | 'processData': function(someValues) { |
277 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.processData"); | 277 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] Record.processData"); |
278 | //MochiKit.Logging.logDebug("--- Record.processData: " + Clipperz.Base.serializeJSON(someValues)); | 278 | //MochiKit.Logging.logDebug("--- Record.processData: " + Clipperz.Base.serializeJSON(someValues)); |
279 | if (this.shouldProcessData()) { | 279 | if (this.shouldProcessData()) { |
280 | var currentVersionParameters; | 280 | var currentVersionParameters; |
281 | 281 | ||
282 | console.log("Record.processData", someValues); | ||
283 | this.processDataToExtractLegacyValues(someValues['data']); | 282 | this.processDataToExtractLegacyValues(someValues['data']); |
284 | 283 | ||
285 | if (typeof(someValues['data']['notes']) != 'undefined') { | 284 | if (typeof(someValues['data']['notes']) != 'undefined') { |
286 | this.setNotes(someValues['data']['notes']); | 285 | this.setNotes(someValues['data']['notes']); |
287 | } | 286 | } |
288 | 287 | ||
289 | if (someValues['data']['currentVersionKey'] != null) { | 288 | if (someValues['data']['currentVersionKey'] != null) { |
290 | this.setCurrentVersionKey(someValues['data']['currentVersionKey']); | 289 | this.setCurrentVersionKey(someValues['data']['currentVersionKey']); |
291 | } else { | 290 | } else { |
292 | this.setCurrentVersionKey(this.key()); | 291 | this.setCurrentVersionKey(this.key()); |
293 | } | 292 | } |
294 | 293 | ||
295 | // community edition doesn't currently pass version | 294 | // community edition doesn't currently pass version information |
296 | // information | ||
297 | if (someValues['versions'] == null) { | 295 | if (someValues['versions'] == null) { |
298 | currentVersionParameters = someValues['currentVersion']; | 296 | currentVersionParameters = someValues['currentVersion']; |
299 | } else { | 297 | } else { |
300 | currentVersionParameters = someValues['versions'][someValues['currentVersion']]; | 298 | currentVersionParameters = someValues['versions'][someValues['currentVersion']]; |
301 | } | 299 | } |
302 | 300 | ||
303 | console.log("Record.processData - this.currentVersionKey()", this.currentVersionKey()); | 301 | //- currentVersionParameters = someValues['currentVersion']; |
304 | console.log("Record.processData - currentVersionParameters", currentVersionParameters); | 302 | // currentVersionParameters = someValues['versions'][someValues['currentVersion']]; |
303 | |||
305 | currentVersionParameters['key'] = this.currentVersionKey(); | 304 | currentVersionParameters['key'] = this.currentVersionKey(); |
306 | this.setCurrentVersion(new Clipperz.PM.DataModel.RecordVersion(this, currentVersionParameters)); | 305 | this.setCurrentVersion(new Clipperz.PM.DataModel.RecordVersion(this, currentVersionParameters)); |
307 | 306 | ||
308 | if (someValues['data']['directLogins'] != null) { | 307 | if (someValues['data']['directLogins'] != null) { |
309 | vardirectLoginReference; | 308 | vardirectLoginReference; |
310 | 309 | ||
311 | for (directLoginReference in someValues['data']['directLogins']) { | 310 | for (directLoginReference in someValues['data']['directLogins']) { |
312 | var directLogin; | 311 | var directLogin; |
313 | var directLoginParameters; | 312 | var directLoginParameters; |
314 | 313 | ||
315 | directLoginParameters = someValues['data']['directLogins'][directLoginReference]; | 314 | directLoginParameters = someValues['data']['directLogins'][directLoginReference]; |
316 | directLoginParameters.record = this; | 315 | directLoginParameters.record = this; |
317 | directLoginParameters.reference = directLoginReference; | 316 | directLoginParameters.reference = directLoginReference; |
318 | 317 | ||
319 | directLogin = new Clipperz.PM.DataModel.DirectLogin(directLoginParameters); | 318 | directLogin = new Clipperz.PM.DataModel.DirectLogin(directLoginParameters); |
320 | this.addDirectLogin(directLogin, true); | 319 | this.addDirectLogin(directLogin, true); |
321 | } | 320 | } |
322 | } | 321 | } |
323 | this.setShouldProcessData(false); | 322 | this.setShouldProcessData(false); |
324 | } | 323 | } |
325 | 324 | ||
326 | Clipperz.NotificationCenter.notify(this, 'recordDataReady'); | 325 | Clipperz.NotificationCenter.notify(this, 'recordDataReady'); |
327 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.processData"); | 326 | //MochiKit.Logging.logDebug("<<< [" + (new Date()).valueOf() + "] Record.processData"); |
328 | //MochiKit.Logging.logDebug("<<< Record.processData"); | 327 | //MochiKit.Logging.logDebug("<<< Record.processData"); |
329 | 328 | ||
330 | return this; | 329 | return this; |
331 | }, | 330 | }, |
332 | 331 | ||
333 | //------------------------------------------------------------------------- | 332 | //------------------------------------------------------------------------- |
334 | 333 | ||
335 | 'processDataToExtractLegacyValues': function(someValues) { | 334 | 'processDataToExtractLegacyValues': function(someValues) { |
336 | //MochiKit.Logging.logDebug(">>> Record.processDataToExtractLegacyValues"); | 335 | //MochiKit.Logging.logDebug(">>> Record.processDataToExtractLegacyValues"); |
337 | if (someValues['data'] != null) { | 336 | if (someValues['data'] != null) { |
338 | this.setNotes(someValues['data']); | 337 | this.setNotes(someValues['data']); |
339 | } | 338 | } |
340 | 339 | ||
341 | if ( | 340 | if ( |
342 | (typeof(someValues['loginFormData']) != "undefined") | 341 | (typeof(someValues['loginFormData']) != "undefined") |
343 | &&(typeof(someValues['loginBindings'] != "undefined")) | 342 | &&(typeof(someValues['loginBindings'] != "undefined")) |
344 | &&(someValues['loginFormData'] != "") | 343 | &&(someValues['loginFormData'] != "") |
345 | &&(someValues['loginBindings'] != "") | 344 | &&(someValues['loginBindings'] != "") |
346 | ) { | 345 | ) { |
347 | vardirectLogin; | 346 | vardirectLogin; |
348 | 347 | ||
349 | directLogin = new Clipperz.PM.DataModel.DirectLogin({ | 348 | directLogin = new Clipperz.PM.DataModel.DirectLogin({ |
350 | record:this, | 349 | record:this, |
351 | label:this.label() + Clipperz.PM.Strings['newDirectLoginLabelSuffix'], | 350 | label:this.label() + Clipperz.PM.Strings['newDirectLoginLabelSuffix'], |
352 | reference:Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray(this.label() + | 351 | reference:Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray(this.label() + |
353 | someValues['loginFormData'] + | 352 | someValues['loginFormData'] + |
354 | someValues['loginBindings'])).toHexString().substring(2), | 353 | someValues['loginBindings'])).toHexString().substring(2), |
355 | formData:Clipperz.Base.evalJSON(someValues['loginFormData']), | 354 | formData:Clipperz.Base.evalJSON(someValues['loginFormData']), |
356 | legacyBindingData:Clipperz.Base.evalJSON(someValues['loginBindings']), | 355 | legacyBindingData:Clipperz.Base.evalJSON(someValues['loginBindings']), |
357 | bookmarkletVersion:'0.1' | 356 | bookmarkletVersion:'0.1' |
358 | }); | 357 | }); |
359 | this.addDirectLogin(directLogin, true); | 358 | this.addDirectLogin(directLogin, true); |
360 | } | 359 | } |
361 | //MochiKit.Logging.logDebug("<<< Record.processDataToExtractLegacyValues"); | 360 | //MochiKit.Logging.logDebug("<<< Record.processDataToExtractLegacyValues"); |
362 | }, | 361 | }, |
363 | 362 | ||
364 | //------------------------------------------------------------------------- | 363 | //------------------------------------------------------------------------- |
365 | 364 | ||
366 | 'getReadyBeforeUpdatingVersionValues': function() { | 365 | 'getReadyBeforeUpdatingVersionValues': function() { |
367 | }, | 366 | }, |
368 | 367 | ||
369 | //------------------------------------------------------------------------- | 368 | //------------------------------------------------------------------------- |
370 | 369 | ||
371 | 'addNewField': function() { | 370 | 'addNewField': function() { |
372 | varnewField; | 371 | varnewField; |
373 | 372 | ||
374 | //MochiKit.Logging.logDebug(">>> Record.addNewField - " + this); | 373 | //MochiKit.Logging.logDebug(">>> Record.addNewField - " + this); |
375 | this.getReadyBeforeUpdatingVersionValues(); | 374 | this.getReadyBeforeUpdatingVersionValues(); |
376 | newField = this.currentVersion().addNewField(); | 375 | newField = this.currentVersion().addNewField(); |
377 | Clipperz.NotificationCenter.notify(this, 'recordUpdated'); | 376 | Clipperz.NotificationCenter.notify(this, 'recordUpdated'); |
378 | //MochiKit.Logging.logDebug("<<< Record.addNewField"); | 377 | //MochiKit.Logging.logDebug("<<< Record.addNewField"); |
379 | 378 | ||
380 | return newField; | 379 | return newField; |
381 | }, | 380 | }, |
382 | 381 | ||
383 | //------------------------------------------------------------------------- | 382 | //------------------------------------------------------------------------- |
384 | 383 | ||
385 | 'removeField': function(aField) { | 384 | 'removeField': function(aField) { |
386 | this.getReadyBeforeUpdatingVersionValues(); | 385 | this.getReadyBeforeUpdatingVersionValues(); |
387 | this.currentVersion().removeField(aField); | 386 | this.currentVersion().removeField(aField); |
388 | Clipperz.NotificationCenter.notify(this, 'recordUpdated'); | 387 | Clipperz.NotificationCenter.notify(this, 'recordUpdated'); |
389 | }, | 388 | }, |
390 | 389 | ||
391 | 'removeEmptyFields': function() { | 390 | 'removeEmptyFields': function() { |
392 | MochiKit.Iter.forEach(MochiKit.Base.values(this.currentVersion().fields()), MochiKit.Base.bind(function(aField) { | 391 | MochiKit.Iter.forEach(MochiKit.Base.values(this.currentVersion().fields()), MochiKit.Base.bind(function(aField) { |
393 | if (aField.isEmpty()) { | 392 | if (aField.isEmpty()) { |
394 | this.removeField(aField); | 393 | this.removeField(aField); |
395 | // this.currentVersion().removeField(aField); | 394 | // this.currentVersion().removeField(aField); |
396 | } | 395 | } |
397 | }, this)); | 396 | }, this)); |
398 | }, | 397 | }, |
399 | 398 | ||
400 | //------------------------------------------------------------------------- | 399 | //------------------------------------------------------------------------- |
diff --git a/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js b/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js index 299ebc7..ab1bb0f 100644 --- a/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js +++ b/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js | |||
@@ -415,193 +415,193 @@ Clipperz.PM.Strings.Languages['en-us'] = { | |||
415 | <p>JSON enables a “lossless” export of your cards. All the information will be preserved, including direct login configurations.</p>\ | 415 | <p>JSON enables a “lossless” export of your cards. All the information will be preserved, including direct login configurations.</p>\ |
416 | <p>This custom format it’s quite convenient if you need to move some of all of your cards to a different Clipperz account. Or if you want to restore a card that has been accidentally deleted.</p>\ | 416 | <p>This custom format it’s quite convenient if you need to move some of all of your cards to a different Clipperz account. Or if you want to restore a card that has been accidentally deleted.</p>\ |
417 | <p>Click on the link below to start the export process.</p>", | 417 | <p>Click on the link below to start the export process.</p>", |
418 | 418 | ||
419 | 'exportLinkLabel': "Export to JSON", | 419 | 'exportLinkLabel': "Export to JSON", |
420 | 420 | ||
421 | 'exportDataInProgressDescription':"<h4>Exporting, please wait while your data are being processed …</h4>", | 421 | 'exportDataInProgressDescription':"<h4>Exporting, please wait while your data are being processed …</h4>", |
422 | 422 | ||
423 | 'exportDataDescription': "\ | 423 | 'exportDataDescription': "\ |
424 | <h4>Instructions</h4>\ | 424 | <h4>Instructions</h4>\ |
425 | <p>Copy the text below to your favorite editor and save it. (e.g. “clipperz_export_20071217.json”)</p>", | 425 | <p>Copy the text below to your favorite editor and save it. (e.g. “clipperz_export_20071217.json”)</p>", |
426 | 426 | ||
427 | //Contacts panel | 427 | //Contacts panel |
428 | 'contactsTabLabel': "Contacts", | 428 | 'contactsTabLabel': "Contacts", |
429 | 'contactsTabTitle': "Contacts", | 429 | 'contactsTabTitle': "Contacts", |
430 | 430 | ||
431 | //Tools panel - password generator | 431 | //Tools panel - password generator |
432 | 'passwordGeneratorTabLabel': "Password generator", | 432 | 'passwordGeneratorTabLabel': "Password generator", |
433 | 'bookmarkletTabLabel': "Bookmarklet", | 433 | 'bookmarkletTabLabel': "Bookmarklet", |
434 | 'compactTabLabel': "Compact edition", | 434 | 'compactTabLabel': "Compact edition", |
435 | 'httpAuthTabLabel': "HTTP authentication", | 435 | 'httpAuthTabLabel': "HTTP authentication", |
436 | 436 | ||
437 | 'passwordGeneratorTabTitle': "Password generator", | 437 | 'passwordGeneratorTabTitle': "Password generator", |
438 | 'bookmarkletTabTitle': "Bookmarklet", | 438 | 'bookmarkletTabTitle': "Bookmarklet", |
439 | 'compactTabTitle': "Compact edition", | 439 | 'compactTabTitle': "Compact edition", |
440 | 'httpAuthTabTitle': "HTTP authentication", | 440 | 'httpAuthTabTitle': "HTTP authentication", |
441 | 441 | ||
442 | 442 | ||
443 | //Tools panel - password generator - description | 443 | //Tools panel - password generator - description |
444 | 'paswordGeneratorTabDescription':"<p></p>", | 444 | 'paswordGeneratorTabDescription':"<p></p>", |
445 | 'passwordGeneratorTabButtonLabel':"Generate password", | 445 | 'passwordGeneratorTabButtonLabel':"Generate password", |
446 | 446 | ||
447 | //Tools panel - bookmarklet | 447 | //Tools panel - bookmarklet |
448 | 'bookmarkletTabLabel': "Bookmarklet", | 448 | 'bookmarkletTabLabel': "Bookmarklet", |
449 | 'bookmarkletTabTitle': "Bookmarklet", | 449 | 'bookmarkletTabTitle': "Bookmarklet", |
450 | 450 | ||
451 | 'bookmarkletTabDescription': "\ | 451 | 'bookmarkletTabDescription': "\ |
452 | <!-- FIX CSS DONE! -->\ | 452 | <!-- FIX CSS DONE! -->\ |
453 | <p>A bookmarklet is a simple “one-click” tool that can perform very useful tasks. It can be saved and used like a normal web page bookmark.</p>\ | 453 | <p>A bookmarklet is a simple “one-click” tool that can perform very useful tasks. It can be saved and used like a normal web page bookmark.</p>\ |
454 | <p>The Clipperz bookmarklet will help you to quickly create new cards and new “direct logins” within existing cards.</p>\ | 454 | <p>The Clipperz bookmarklet will help you to quickly create new cards and new “direct logins” within existing cards.</p>\ |
455 | <p><b>Please note that the bookmarklet does not include any information related to your account (e.g. your username or passphrase), the bookmarklet is a general tool containing the same code for every Clipperz user.</b></p>\ | 455 | <p><b>Please note that the bookmarklet does not include any information related to your account (e.g. your username or passphrase), the bookmarklet is a general tool containing the same code for every Clipperz user.</b></p>\ |
456 | <h3>How to install the bookmarklet</h3>\ | 456 | <h3>How to install the bookmarklet</h3>\ |
457 | <h>Firefox, Camino, Opera, Safari</h5>\ | 457 | <h>Firefox, Camino, Opera, Safari</h5>\ |
458 | <ol>\ | 458 | <ol>\ |
459 | <li><p>Make sure that the “Bookmarks Bar” is displayed by selecting “View > Toolbars > Bookmarks”, or similar menu items, from the browser menu.</p></li>\ | 459 | <li><p>Make sure that the “Bookmarks Bar” is displayed by selecting “View > Toolbars > Bookmarks”, or similar menu items, from the browser menu.</p></li>\ |
460 | <li><p>Drag and drop the “Add to Clipperz” link below to the bookmark bar.</p></li>\ | 460 | <li><p>Drag and drop the “Add to Clipperz” link below to the bookmark bar.</p></li>\ |
461 | </ol>\ | 461 | </ol>\ |
462 | \ | 462 | \ |
463 | <h5>Internet Explorer</h5>\ | 463 | <h5>Internet Explorer</h5>\ |
464 | <ol>\ | 464 | <ol>\ |
465 | <li><p>Make sure that the “Links” toolbar is displayed by selecting “View > Toolbars > Links” from the browser menu.</p></li>\ | 465 | <li><p>Make sure that the “Links” toolbar is displayed by selecting “View > Toolbars > Links” from the browser menu.</p></li>\ |
466 | <li><p>Right-click on the “Add to Clipperz” link below.</p></li>\ | 466 | <li><p>Right-click on the “Add to Clipperz” link below.</p></li>\ |
467 | <li><p>Select “Add to favorites” from the contextual menu.</p></li>\ | 467 | <li><p>Select “Add to favorites” from the contextual menu.</p></li>\ |
468 | <li><p>Click “Yes” for any security message that pops up.</p></li>\ | 468 | <li><p>Click “Yes” for any security message that pops up.</p></li>\ |
469 | <li><p>Open the “Links” folder and click “OK”</p></li>\ | 469 | <li><p>Open the “Links” folder and click “OK”</p></li>\ |
470 | </ol>", | 470 | </ol>", |
471 | 471 | ||
472 | 'bookmarkletTabBookmarkletTitle':"Add to Clipperz", | 472 | 'bookmarkletTabBookmarkletTitle':"Add to Clipperz", |
473 | 473 | ||
474 | //Tools panel - bookmarklet - instructions | 474 | //Tools panel - bookmarklet - instructions |
475 | 'bookmarkletTabInstructions': "\ | 475 | 'bookmarkletTabInstructions': "\ |
476 | <!-- FIX CSS DONE! -->\ | 476 | <!-- FIX CSS DONE! -->\ |
477 | <h3>How to create a new card inclusive of a “direct login” link to an online service</h3>\ | 477 | <h3>How to create a new card inclusive of a “direct login” link to an online service</h3>\ |
478 | <ol>\ | 478 | <ol>\ |
479 | <li><p>Open the web page where the login form is hosted. (this is the page where you usually enter your sign-in credentials)</p></li>\ | 479 | <li><p>Open the web page where the login form is hosted. (this is the page where you usually enter your sign-in credentials)</p></li>\ |
480 | <li><p>Launch the bookmarklet by clicking on it: a pop-up window will appear over the web page.</p></li>\ | 480 | <li><p>Launch the bookmarklet by clicking on it: a pop-up window will appear over the web page.</p></li>\ |
481 | <li><p>Copy to the clipboard the content of the large text area within the pop-up. (ctrl-C)</p></li>\ | 481 | <li><p>Copy to the clipboard the content of the large text area within the pop-up. (ctrl-C)</p></li>\ |
482 | <li><p>Enter your Clipperz account and click on the <b>Add new card</b> button.</p></li>\ | 482 | <li><p>Enter your Clipperz account and click on the <b>Add new card</b> button.</p></li>\ |
483 | <li><p>Select the “Direct login” template and paste the content of the clipboard to the large text area in the form. (ctrl-V)</p></li>\ | 483 | <li><p>Select the “Direct login” template and paste the content of the clipboard to the large text area in the form. (ctrl-V)</p></li>\ |
484 | <li><p>Press the <b>Create</b> button, complete and review the details, then click <b>Save</b>.</p></li>\ | 484 | <li><p>Press the <b>Create</b> button, complete and review the details, then click <b>Save</b>.</p></li>\ |
485 | </ol>\ | 485 | </ol>\ |
486 | \ | 486 | \ |
487 | <h3>How to add a “direct login” link to an existing card</h3>\ | 487 | <h3>How to add a “direct login” link to an existing card</h3>\ |
488 | <ol>\ | 488 | <ol>\ |
489 | <li><p>Same as above.</p></li>\ | 489 | <li><p>Same as above.</p></li>\ |
490 | <li><p>Same as above.</p></li>\ | 490 | <li><p>Same as above.</p></li>\ |
491 | <li><p>Same as above.</p></li>\ | 491 | <li><p>Same as above.</p></li>\ |
492 | <li><p>Enter your Clipperz account and select the card containing the credentials for the web service you just visited and click the <b>Edit</b> button.</p></li>\ | 492 | <li><p>Enter your Clipperz account and select the card containing the credentials for the web service you just visited and click the <b>Edit</b> button.</p></li>\ |
493 | <li><p>Paste the content of the clipboard to the large text area in the “Direct logins” section. (ctrl-V)</p></li>\ | 493 | <li><p>Paste the content of the clipboard to the large text area in the “Direct logins” section. (ctrl-V)</p></li>\ |
494 | <li><p>Press the <b>Add direct login</b> button, review the details and then click <b>Save</b>.</p></li>\ | 494 | <li><p>Press the <b>Add direct login</b> button, review the details and then click <b>Save</b>.</p></li>\ |
495 | </ol>\ | 495 | </ol>\ |
496 | \ | 496 | \ |
497 | <p></p>\ | 497 | <p></p>\ |
498 | <p>Further information about the bookmarklet are <a href=\"http://www.clipperz.com/support/user_guide/bookmarklet\" target=\"_blank\">available here</a>.</p>", | 498 | <p>Further information about the bookmarklet are <a href=\"http://www.clipperz.com/support/user_guide/bookmarklet\" target=\"_blank\">available here</a>.</p>", |
499 | 499 | ||
500 | //Tools panel - Compact - instructions | 500 | //Tools panel - Compact - instructions |
501 | 'compactTabDescription': "\ | 501 | 'compactTabDescription': "\ |
502 | <!-- FIX CSS DONE! -->\ | 502 | <!-- FIX CSS DONE! -->\ |
503 | <p>Clipperz Compact is a special version of Clipperz designed to be opened in the Firefox sidebar.</p>\ | 503 | <p>Clipperz Compact is a special version of Clipperz designed to be opened in the Firefox sidebar.</p>\ |
504 | <p>Its purpose is to keep your collection of “direct logins” always at hand. Read more <a href=\"http://www.clipperz.com/support/user_guide/clipperz_compact\", target=\"blank\">here</a></p>\ | 504 | <p>Its purpose is to keep your collection of “direct logins” always at hand. Read more <a href=\"http://www.clipperz.com/support/user_guide/clipperz_compact\", target=\"blank\">here</a></p>\ |
505 | \ | 505 | \ |
506 | <h3>How to launch Clipperz Compact in the sidebar</h3>\ | 506 | <h3>How to launch Clipperz Compact in the sidebar</h3>\ |
507 | <ol>\ | 507 | <ol>\ |
508 | <li><p>Get Firefox! Sidebars are only available in Firefox and you need to switch to Firefox in order to enjoy the convenience of Clipperz Compact.</p></li>\ | 508 | <li><p>Get Firefox! Sidebars are only available in Firefox and you need to switch to Firefox in order to enjoy the convenience of Clipperz Compact.</p></li>\ |
509 | <li>\ | 509 | <li>\ |
510 | <p>Add the following URL to Firefox bookmarks, or even better, drag it to the bookmark bar.</p>\ | 510 | <p>Add the following URL to Firefox bookmarks, or even better, drag it to the bookmark bar.</p>\ |
511 | <div id=\"compactLinkBox\"><a href=\"index.html?compact\" target=\"_search\">Clipperz Compact</a></div>\ | 511 | <div id=\"compactLinkBox\"><a href=\"./index.html?compact\" target=\"_search\">Clipperz Compact</a></div>\ |
512 | </li>\ | 512 | </li>\ |
513 | <li><p>Change the properties of the bookmark so that “load this bookmark in the sidebar” is checked.</p></li>\ | 513 | <li><p>Change the properties of the bookmark so that “load this bookmark in the sidebar” is checked.</p></li>\ |
514 | </ol>\ | 514 | </ol>\ |
515 | \ | 515 | \ |
516 | <h5>Added bonus: Clipperz Compact works also in Opera’s panel.</h5>", | 516 | <h5>Added bonus: Clipperz Compact works also in Opera’s panel.</h5>", |
517 | 517 | ||
518 | //Tools panel - HTTP authentication - instructions | 518 | //Tools panel - HTTP authentication - instructions |
519 | 'httpAuthTabDescription': "\ | 519 | 'httpAuthTabDescription': "\ |
520 | <!-- FIX CSS DONE! -->\ | 520 | <!-- FIX CSS DONE! -->\ |
521 | <p>HTTP authentication is a method designed to allow a web browser to provide credentials – in the form of a username and password – including them in a website address (HTTP or HTTPS URL).</p>\ | 521 | <p>HTTP authentication is a method designed to allow a web browser to provide credentials – in the form of a username and password – including them in a website address (HTTP or HTTPS URL).</p>\ |
522 | <p>Nowadays it is rarely used, but it can still be found on small, private websites. You can tell that a website is protected by HTTP authentication when the browser displays a pop-up window to enter username and password.</p>\ | 522 | <p>Nowadays it is rarely used, but it can still be found on small, private websites. You can tell that a website is protected by HTTP authentication when the browser displays a pop-up window to enter username and password.</p>\ |
523 | <p>Unfortunately the Clipperz bookmarklet does not work on websites that use HTTP authentication. However you can still create a “direct login”.</p>\ | 523 | <p>Unfortunately the Clipperz bookmarklet does not work on websites that use HTTP authentication. However you can still create a “direct login”.</p>\ |
524 | \ | 524 | \ |
525 | <h3>How to create a “direct login” for a website that uses HTTP authentication</h3>\ | 525 | <h3>How to create a “direct login” for a website that uses HTTP authentication</h3>\ |
526 | <ol>\ | 526 | <ol>\ |
527 | <li><p>Store website URL, username and password in a new card.</p></li>\ | 527 | <li><p>Store website URL, username and password in a new card.</p></li>\ |
528 | <li><p>Copy the configuration below and paste it to the large text area in the “Direct logins” section of the new card.</p></li>\ | 528 | <li><p>Copy the configuration below and paste it to the large text area in the “Direct logins” section of the new card.</p></li>\ |
529 | <li><p>Press the <b>Add direct login</b> button, bind URL, username and password fields and then click <b>Save</b>.</p></li>\ | 529 | <li><p>Press the <b>Add direct login</b> button, bind URL, username and password fields and then click <b>Save</b>.</p></li>\ |
530 | </ol>\ | 530 | </ol>\ |
531 | \ | 531 | \ |
532 | <h5><a href=\"http://support.microsoft.com/kb/834489\" target=\"_blank\">Warning: Internet Explorer does not support HTTP authentication.</a></h5>", | 532 | <h5><a href=\"http://support.microsoft.com/kb/834489\" target=\"_blank\">Warning: Internet Explorer does not support HTTP authentication.</a></h5>", |
533 | 533 | ||
534 | // Direct logins block | 534 | // Direct logins block |
535 | 'mainPanelDirectLoginBlockLabel': "Direct logins", | 535 | 'mainPanelDirectLoginBlockLabel': "Direct logins", |
536 | 'directLinkReferenceShowButtonLabel': "show", | 536 | 'directLinkReferenceShowButtonLabel': "show", |
537 | 537 | ||
538 | // Direct logins - blank slate | 538 | // Direct logins - blank slate |
539 | 'mainPanelDirectLoginBlockDescription': "\ | 539 | 'mainPanelDirectLoginBlockDescription': "\ |
540 | <!-- FIX CSS DONE! -->\ | 540 | <!-- FIX CSS DONE! -->\ |
541 | <p>Add “direct logins” to sign in to your web accounts without typing usernames and passwords!</p>\ | 541 | <p>Add “direct logins” to sign in to your web accounts without typing usernames and passwords!</p>\ |
542 | <p>“Direct logins” greatly enhance your password security since you can:</p>\ | 542 | <p>“Direct logins” greatly enhance your password security since you can:</p>\ |
543 | <ul>\ | 543 | <ul>\ |
544 | <li><p>conveniently adopt and enter complex passwords;</p></li>\ | 544 | <li><p>conveniently adopt and enter complex passwords;</p></li>\ |
545 | <li><p>never re-use the same and easy-to-guess password.</p></li>\ | 545 | <li><p>never re-use the same and easy-to-guess password.</p></li>\ |
546 | </ul>\ | 546 | </ul>\ |
547 | <p>Simple and quick configuration with the <b>Clipperz bookmarklet</b>.</p>\ | 547 | <p>Simple and quick configuration with the <b>Clipperz bookmarklet</b>.</p>\ |
548 | <a href=\"http://www.clipperz.com/support/user_guide/direct_logins\" target=\"_blank\">Learn more about “direct logins”</a>", | 548 | <a href=\"http://www.clipperz.com/support/user_guide/direct_logins\" target=\"_blank\">Learn more about “direct logins”</a>", |
549 | 549 | ||
550 | // Cards block | 550 | // Cards block |
551 | 'mainPanelRecordsBlockLabel': "Cards", | 551 | 'mainPanelRecordsBlockLabel': "Cards", |
552 | 'mainPanelAddRecordButtonLabel': "Add new card", | 552 | 'mainPanelAddRecordButtonLabel': "Add new card", |
553 | 'mainPanelRemoveRecordButtonLabel': "Delete card", | 553 | 'mainPanelRemoveRecordButtonLabel': "Delete card", |
554 | 554 | ||
555 | // Cards block - filter tabs | 555 | // Cards block - filter tabs |
556 | 'mainPanelRecordFilterBlockAllLabel': "all", | 556 | 'mainPanelRecordFilterBlockAllLabel': "all", |
557 | 'mainPanelRecordFilterBlockTagsLabel': "tags", | 557 | 'mainPanelRecordFilterBlockTagsLabel': "tags", |
558 | 'mainPanelRecordFilterBlockSearchLabel':"search", | 558 | 'mainPanelRecordFilterBlockSearchLabel':"search", |
559 | 559 | ||
560 | // Cards block - blank slate | 560 | // Cards block - blank slate |
561 | 'recordDetailNoRecordAtAllTitle': "Welcome to Clipperz!", | 561 | 'recordDetailNoRecordAtAllTitle': "Welcome to Clipperz!", |
562 | 'recordDetailNoRecordAtAllDescription': "\ | 562 | 'recordDetailNoRecordAtAllDescription': "\ |
563 | <h5>Get started by adding cards to your account.</h5>\ | 563 | <h5>Get started by adding cards to your account.</h5>\ |
564 | <p>Cards are simple and flexible forms where you can store your passwords and any other confidential data.</p>\ | 564 | <p>Cards are simple and flexible forms where you can store your passwords and any other confidential data.</p>\ |
565 | <p>Cards could contain credentials for accessing a web site, the combination of your bicycle lock, details of your credit card, …</p>\ | 565 | <p>Cards could contain credentials for accessing a web site, the combination of your bicycle lock, details of your credit card, …</p>\ |
566 | \ | 566 | \ |
567 | <h5>Don't forget the Clipperz bookmarklet!</h5>\ | 567 | <h5>Don't forget the Clipperz bookmarklet!</h5>\ |
568 | <p>Before you start, install the “Add to Clipperz” bookmarklet: it will make creating cards easier and more fun.</p>\ | 568 | <p>Before you start, install the “Add to Clipperz” bookmarklet: it will make creating cards easier and more fun.</p>\ |
569 | <p>Go to the “Tools” tab to discover how to install it and how it use it.</p>\ | 569 | <p>Go to the “Tools” tab to discover how to install it and how it use it.</p>\ |
570 | <p></p>\ | 570 | <p></p>\ |
571 | <p>Then simply click the <b>\"Add new card\"</b> button and enjoy your Clipperz account.</p>\ | 571 | <p>Then simply click the <b>\"Add new card\"</b> button and enjoy your Clipperz account.</p>\ |
572 | <p></p>\ | 572 | <p></p>\ |
573 | <a href=\"http://www.clipperz.com/support/user_guide/managing_cards\" target=\"_blank\">Learn more about creating and managing cards</a>", | 573 | <a href=\"http://www.clipperz.com/support/user_guide/managing_cards\" target=\"_blank\">Learn more about creating and managing cards</a>", |
574 | 574 | ||
575 | // Cards block - new card wizard - bookmarklet configuration | 575 | // Cards block - new card wizard - bookmarklet configuration |
576 | 'newRecordWizardTitleBox': "\ | 576 | 'newRecordWizardTitleBox': "\ |
577 | <h5>Please select a template</h5>\ | 577 | <h5>Please select a template</h5>\ |
578 | <p>Cards are simple and flexible forms where you can store passwords or any other confidential data.</p>\ | 578 | <p>Cards are simple and flexible forms where you can store passwords or any other confidential data.</p>\ |
579 | <p>Start choosing one of the templates below. You can always customize your cards later by adding or removing fields.</p>", | 579 | <p>Start choosing one of the templates below. You can always customize your cards later by adding or removing fields.</p>", |
580 | 580 | ||
581 | 'newRecordWizardBookmarkletConfigurationTitle': "Direct login", | 581 | 'newRecordWizardBookmarkletConfigurationTitle': "Direct login", |
582 | 'newRecordWizardBookmarkletConfigurationDescription':"\ | 582 | 'newRecordWizardBookmarkletConfigurationDescription':"\ |
583 | <p>Paste below the configuration code generated by the Clipperz bookmarklet.</p>\ | 583 | <p>Paste below the configuration code generated by the Clipperz bookmarklet.</p>\ |
584 | <p>A new card complete with a direct login to your web account will be created.</p>", | 584 | <p>A new card complete with a direct login to your web account will be created.</p>", |
585 | 585 | ||
586 | 'newRecordWizardCreateButtonLabel': "Create", | 586 | 'newRecordWizardCreateButtonLabel': "Create", |
587 | 'newRecordWizardCancelButtonLabel': "Cancel", | 587 | 'newRecordWizardCancelButtonLabel': "Cancel", |
588 | 588 | ||
589 | //Create new card - Donation splash | 589 | //Create new card - Donation splash |
590 | 'donateSplashPanelTitle': "Support Clipperz, make a donation today!", | 590 | 'donateSplashPanelTitle': "Support Clipperz, make a donation today!", |
591 | 'donateSplashPanelDescription': "\ | 591 | 'donateSplashPanelDescription': "\ |
592 | <!-- FIX CSS DONE! -->\ | 592 | <!-- FIX CSS DONE! -->\ |
593 | <p>A few good reasons to make a donation:</p>\ | 593 | <p>A few good reasons to make a donation:</p>\ |
594 | <ul>\ | 594 | <ul>\ |
595 | <li><p>support the development of new features</p></li>\ | 595 | <li><p>support the development of new features</p></li>\ |
596 | <li><p>keep Clipperz free</p></li>\ | 596 | <li><p>keep Clipperz free</p></li>\ |
597 | <li><p>show appreciation for our hard work</p></li>\ | 597 | <li><p>show appreciation for our hard work</p></li>\ |
598 | </ul>\ | 598 | </ul>\ |
599 | <p>For any further information, please visit our <a href=\"http://www.clipperz.com/donations\" target=\"_blank\">Donations page</a>.</p>\ | 599 | <p>For any further information, please visit our <a href=\"http://www.clipperz.com/donations\" target=\"_blank\">Donations page</a>.</p>\ |
600 | <p><b>Ready to donate?</b></p>", | 600 | <p><b>Ready to donate?</b></p>", |
601 | 601 | ||
602 | 'donateCloseButtonLabel': "Not yet", | 602 | 'donateCloseButtonLabel': "Not yet", |
603 | 'donateDonateButtonLabel': "Yes", | 603 | 'donateDonateButtonLabel': "Yes", |
604 | 604 | ||
605 | // Card templates | 605 | // Card templates |
606 | 'recordTemplates': { | 606 | 'recordTemplates': { |
607 | 607 | ||