commit 0c442dc1f654c8f6e4fbe1aafca82d5d8e13573d
parent 596c6da3ee59e8109b55f97cacf0d98eda822d02
Author: Dan Stillman <dstillman@zotero.org>
Date: Tue, 15 Jan 2013 04:02:39 -0500
Remove E4X in tag-fixing sync code
Diffstat:
1 file changed, 20 insertions(+), 22 deletions(-)
diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js
@@ -2632,28 +2632,26 @@ Zotero.Sync.Server.Data = new function() {
// TEMP: Resend tags requested by server
try {
- if (xml.fixtags.length()) {
- for each(var tagsNode in xml.fixtags.tags) {
- var libraryID = _libID(tagsNode.@libraryID);
- if (libraryID && !Zotero.Libraries.isEditable(libraryID)) {
- continue;
- }
- var tagsKeys = tagsNode.toString().split(' ');
- for each(var key in tagsKeys) {
- var sql = "SELECT tagID FROM tags WHERE libraryID=? AND key=?";
- var tagID = Zotero.DB.valueQuery(sql, [libraryID, key]);
-
- var sql = "SELECT COUNT(*) > 0 FROM itemTags WHERE tagID=?";
- if (Zotero.DB.valueQuery(sql, [tagID])) {
- var sql = "UPDATE tags SET clientDateModified=CURRENT_TIMESTAMP "
- + "WHERE tagID=?";
- Zotero.DB.query(sql, [tagID]);
- syncSession.addToUpdated({
- objectType: 'tag',
- libraryID: libraryID,
- key: key
- });
- }
+ for each(var tagsNode in updatedNode.xpath("fixtags/tags")) {
+ var libraryID = _libID(tagsNode.getAttribute('libraryID'));
+ if (libraryID && !Zotero.Libraries.isEditable(libraryID)) {
+ continue;
+ }
+ var tagsKeys = tagsNode.textContent.split(' ');
+ for each(var key in tagsKeys) {
+ var sql = "SELECT tagID FROM tags WHERE libraryID=? AND key=?";
+ var tagID = Zotero.DB.valueQuery(sql, [libraryID, key]);
+
+ var sql = "SELECT COUNT(*) > 0 FROM itemTags WHERE tagID=?";
+ if (Zotero.DB.valueQuery(sql, [tagID])) {
+ var sql = "UPDATE tags SET clientDateModified=CURRENT_TIMESTAMP "
+ + "WHERE tagID=?";
+ Zotero.DB.query(sql, [tagID]);
+ syncSession.addToUpdated({
+ objectType: 'tag',
+ libraryID: libraryID,
+ key: key
+ });
}
}
}