From 0c442dc1f654c8f6e4fbe1aafca82d5d8e13573d Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 15 Jan 2013 04:02:39 -0500 Subject: [PATCH] Remove E4X in tag-fixing sync code --- chrome/content/zotero/xpcom/sync.js | 42 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 8cedcbf88e..fdb0adc5c3 100644 --- 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 + }); } } }