Commit graph

7074 commits

Author SHA1 Message Date
Dan Stillman
c45c9cc23b Fix error backing up database
Broken since f7e411d561. This affected automatic backups and DB
integrity check repairs (which do a backup first).
2018-08-09 04:17:45 -04:00
Dan Stillman
63d8d57f83 Add userID fix to earlier schema update
Since the userID is used in relations updates moving from Zotero 4 to 5
2018-08-09 03:42:28 -04:00
Dan Stillman
26056c87f1 Fix non-integer userID in settings table
A submitted database had a text userID with a trailing "A0. Not sure how
that happened -- it doesn't appear to be possible in current code -- but
it caused group permissions not to be properly synced.
2018-08-09 03:30:47 -04:00
Dan Stillman
8d8109dbac Rename/move some of the PDF retrieval functions 2018-08-07 15:40:52 -04:00
Dan Stillman
679a6d5cc7 PDF retrieval improvements
- Add the ability to extract a PDF URL from a given webpage using the
  translation framework
- Add the ability to get open-access PDFs from landing pages from
  Unpaywall data in addition to direct PDF URLs
- Use the above functionality to improve PDF retrieval for "Add Item by
  Identifier"
- Add "Find Available PDFs" option to the item context menu to retrieve
  PDFs for existing items from the DOI or URL page or using Unpaywall
  data. The option appears for single items with a DOI or URL and no PDF,
  and it always appears when selecting multiple top-level items (but
  skips ineligible items).

PDF extraction from DOI/URL pages will currently only work with
unauthenticated access (i.e., on-campus or VPN, but not via a web-based
proxy).

Supersedes and closes #948
2018-08-07 04:58:15 -04:00
Adomas Venčkauskas
51e181cb81 Fix some XPCOM Zotero breakage from previous commits 2018-08-06 12:24:17 +03:00
Sylvester Keil
a8dce25cef
Deprecate Z.File.getBinaryContents 2018-08-03 22:37:09 +02:00
Sylvester Keil
fa7a330b0e
Use Services.wm getter 2018-08-03 13:29:08 +02:00
Sylvester Keil
ad0c8aad53
Use Z.File.getResourceAsync to load local resources 2018-08-03 13:22:22 +02:00
Sylvester Keil
b0fe7d546d
Make Z.Styles.validate more portable 2018-08-03 13:21:12 +02:00
Sylvester Keil
07464d5c84
Make File.getResource expect full URLs
This change makes is easier to support different URL schemes
when overriding on other platforms.
2018-08-03 10:49:15 +02:00
Sylvester Keil
6fd25419a9
Use Services.io getter 2018-08-02 23:05:17 +02:00
Sylvester Keil
dc688a876f
Keep returning nsIFile from old directory getters 2018-08-02 17:56:57 +02:00
Sylvester Keil
91ddec5bd9
Move lazy, spawn, and serial to Utilities.Internal 2018-08-02 17:20:09 +02:00
Sylvester Keil
95559a0c62
Use Services.io getter 2018-08-02 13:11:15 +02:00
Sylvester Keil
7f2d83a602
Move data dire getters to Z.DataDirectory
Add Z.DataDirectory.getSubdirectory which, optionally, creates
the directory.

Add async Z.DataDirectory.removeSubdirectory and use it for
Z.removeTempDirectory (was sync call before!).
2018-08-02 13:02:28 +02:00
Sylvester Keil
fc8037a83b
Accept strings in File.createDirectoryIfNecessary 2018-08-02 12:52:04 +02:00
Sylvester Keil
e9e6a8313d
Move prviliged public methods to Utilities.Internal
Moving flattenArguments, setFontSize and getAncestorByTagName
2018-08-02 11:59:58 +02:00
Sylvester Keil
caaaed0af1
Move privileged public functions to Z.Utilities 2018-08-01 23:57:02 +02:00
Adomas Venčkauskas
e6d5be755a Move some Utility functions from Zotero to Z.U.Internals 2018-08-01 16:30:17 +03:00
Sylvester Keil
887913de09
Fix use of bluebird's .delay 2018-08-01 11:49:00 +02:00
Sylvester Keil
cc47a3aab5
Use hard-coded list for default script direction 2018-07-30 13:23:54 +02:00
Sylvester Keil
94539ceac5
Do not bind to Zotero.Intl before it has been imported 2018-07-30 13:22:20 +02:00
Sylvester Keil
4a97529b66
Move getLocaleCollation and localeCompare to Zotero.Intl 2018-07-30 12:35:11 +02:00
Sylvester Keil
3a8d04f467
Remove Zotero.localeJoin 2018-07-30 12:33:08 +02:00
Sylvester Keil
143fdd5f2b
Revert "Remove legacy iterator protocol use in Zotero.DB"
Reverting this until we can use Fx60 for testing.

This reverts commit dfe412d448.
2018-07-30 10:18:11 +02:00
Sylvester Keil
2dce5f4842
Import PluralForm.jsm in Zotero.Intl.
PluralForm is not used directly anywhere else.
2018-07-30 10:04:14 +02:00
Sylvester Keil
e24f3414b8
Zotero.intl -> Zotero.Intl
Use upper-case namespace for consitency.
2018-07-30 10:00:53 +02:00
Sylvester Keil
38166d4e05
Add Zotero.intl namespace
Move `Zotero.getString()` and intl init code to `Zotero.intl` to make
it easier to re-use.

Link `Zotero.getString()` to `Zotero.intl.getString()`.

Do not expose `getStringFromBundle`, `pluralFormGet`, and
`pluralFormNumForms` because they are not used.
2018-07-28 21:31:20 +02:00
Sylvester Keil
e8cd4c9338
Use Services.io to access IOService 2018-07-27 16:44:28 +02:00
Sylvester Keil
3f2dd94752
Load schema resources via Zotero.File.getResourceAsync 2018-07-27 15:56:34 +02:00
Sylvester Keil
aa1adc8817
Add Zotero.File.getResourceAsync 2018-07-27 15:56:00 +02:00
Dan Stillman
cdda572728 Support additional data from OA PDF lookup service
Handle an array of objects with 'url' and 'version' rather than just an
array of URLs.

Also:

- Don't throw an error from addOpenAccessPDF() if there's an error from
  getOpenAccessPDFURLs()
- Make addPDFFromURLs() a separate function so URL lookup can be done
  separately from download
2018-07-27 00:55:19 -04:00
Adomas Venčkauskas
c3bdf72f35 Misc nodejs environment compatibility 2018-07-25 17:45:06 +03:00
Adomas Venčkauskas
b62b1968cf Change string throws to Error throws (no stack trace with former) 2018-07-25 17:45:06 +03:00
Dan Stillman
2652fac24b Throw translation error on >=400 status code for doGet()/doPost()
Previously the handler would be called even on error pages, which often
meant that an import translator (e.g., BibTeX) would fail to find
anything on the page and the save popup would just close silently. The
popup will now show an error message as soon as the error occurs.
2018-07-23 07:05:44 -04:00
Sylvester Keil
dfe412d448
Remove legacy iterator protocol use in Zotero.DB 2018-07-19 12:21:01 +02:00
Dan Stillman
1f8cf22a35 Delete group files when deleting group
Fixes #1532
2018-07-15 23:09:34 -04:00
Dan Stillman
8390f30be9 Update citeproc-js to 1.1.210 2018-07-15 09:09:23 -04:00
Sylvester Keil
9737a4d974
Initialize Dates in Electron 2018-07-13 14:03:23 +02:00
Adomas Venčkauskas
28535ac64d Throw proper error in Prefs.get(). Use double-quotes in default prefs 2018-07-11 19:35:14 +03:00
Adomas Venčkauskas
856bbf49ab Remove redundant QueryInterface for PrefBranch2 2018-07-11 16:44:04 +03:00
Adomas Venčkauskas
cb8280f0ff Move Zotero.Prefs into its own file 2018-07-11 15:53:46 +03:00
Sylvester Keil
53522c2cbe Add Zotero.File.getResource for local resources
Use `getResource` in Zotero.Date.init (this turns it into a
synchronous function). Zotero.File.getResource makes it easier
to load local files on platforms that do not support the
`resource://` URLs.
2018-07-11 14:08:45 +03:00
Sylvester Keil
06cb9aff98 Prefer use of Services.appinfo 2018-07-11 13:58:41 +03:00
Sylvester Keil
b2a1977d5a Gecko 16 and later sets topic to 'active' 2018-07-11 13:58:41 +03:00
Sylvester Keil
e406ddc54b Prefer Services.jsm getters for common services 2018-07-11 13:58:41 +03:00
Sylvester Keil
3f026239f1 Remove unused methods
`.getAsyncStatement()` and `.executeAsyncStatement()` are not used
anywhere.
2018-07-11 13:58:41 +03:00
Dan Stillman
99a1ac62c7 Fix a couple cases of open item box field changes not being saved
When clicking directly from an open field to the creator delete button
or a creator type in the creator type menu
2018-07-09 14:54:50 +02:00
Dan Stillman
62e403bc55 Limit OA PDF lookup to dev builds 2018-07-07 13:12:33 +02:00