Page 1 sur 1

ReadViewEntries to Array

MessagePublié: 21 Oct 2008 à 14:46
par Michael DELIQUE
[syntax="javascript"]function RVEToArray(XMLResponse, iFiSNull, IDDoc){

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === "" || isNaN(nbRow) === true || nbRow === "0" || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

if (iFiSNull === undefined || iFiSNull === null) {
iFiSNull = null;
}
if (IDDoc === undefined || IDDoc === null || IDDoc !== true) {
IDDoc = false;
}

var arrayRetour = [];

var nbIndex = 0;
var nbIndex_old = 0;
var nbIndexColonne = 0;
var nbIndexColonne_old = 0;
var valeur = iFiSNull;
arrayRetour[nbIndex] = [];
var a = 0;
var a2 = 0;
var b = 0;
var b2 = 0;
var c = 0;
var c2 = 0;
var i = 0;

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
}
catch (e) {
return [];
}

for (a = 0, a2 = entries.length; a < a2; a++) {

var XMLEntry = entries[a];

for (b = 0, b2 = XMLEntry.childNodes.length; b < b2; b++) {

var entryData = XMLEntry.getElementsByTagName('entrydata')[b];
if (entryData !== null) {
valeur = iFiSNull;
if (entryData.hasChildNodes() === true) {
nbIndexColonne = Number(entryData.getAttributeNode('columnnumber').value) + 1;

for (c = 0, c2 = entryData.childNodes.length; c < c2; c++) {
try {
valeur = entryData.childNodes[c].lastChild.nodeValue;
}
catch (e) {
valeur = iFiSNull;
}

if (nbIndexColonne < nbIndexColonne_old) {
if (nbIndexColonne > 1) {
nbIndex_old = nbIndex;
nbIndex++;
arrayRetour[nbIndex] = [];
for (i = 0; i < nbIndexColonne; i++) {
arrayRetour[nbIndex][i] = arrayRetour[nbIndex_old][i];
}
nbIndex_old = 0;
}
else {
nbIndex++;
arrayRetour[nbIndex] = [];
}
if (IDDoc === true) {
var XMLEntry_Old = entries[a - 1];
if (XMLEntry_Old.hasAttribute('unid') === true) {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 1] = XMLEntry_Old.getAttribute('unid');
if (XMLEntry_Old.hasAttribute('noteid') === true) {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 2] = XMLEntry_Old.getAttribute('noteid');
}
else {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 2] = '';
}
}
}
}
arrayRetour[nbIndex][nbIndexColonne] = valeur;
nbIndexColonne_old = nbIndexColonne;
}
}
}
}
}
return arrayRetour;
}

function RVEEntryDataIsCategorized(entryData){
if (entryData === undefined || entryData === null) {
return false;
}
if (entryData.hasAttribute('category') === false) {
return false;
}
if (entryData.getAttributeNode('category').value.toLowerCase() === 'true') {
return true;
}
return false;
}

function RVENBRaw(XMLResponse){
try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return 0;
}
}
catch (e) {
return 0;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return 0;
}
}
catch (e) {
return 0;
}

var nbRawRetour = 0;
var nbIndexColonne_old = 0;
var nbIndexColonne = -1;
var a = 0;
var a2 = 0;
var b = 0;
var b2 = 0;

for (a = 0, a2 = entries.length; a < a2; a++) {
var XMLEntry = entries[a];
for (b = 0, b2 = XMLEntry.childNodes.length; b < b2; b++) {
var entryData = XMLEntry.getElementsByTagName('entrydata')[b];
if (entryData !== null) {
if (entryData.hasChildNodes() === true) {
nbIndexColonne = Number(entryData.getAttributeNode('columnnumber').value);
if (nbIndexColonne < nbIndexColonne_old) {
nbRawRetour++;
}
nbIndexColonne_old = nbIndexColonne;
}
}
}
}
return nbRawRetour + 1;
}

function RVENBColumn(XMLResponse){
if (XMLResponse === undefined || XMLResponse === null) {
return 0;
}

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return 0;
}
}
catch (e) {
return 0;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return 0;
}
}
catch (e) {
return 0;
}

var XMLEntry = null;
var entryData = null;
var nbColumn = 0;
var nbColumn2 = 0;
var i = 0;
var i2 = 0;
var j = 0;
var j2 = 0;
for (i = 0, i2 = entries.length; i < i2; i++) {
XMLEntry = entries[i];
for (j = 0, j2 = XMLEntry.childNodes.length; j < j2; j++) {
entryData = XMLEntry.getElementsByTagName('entrydata')[j];
if (entryData !== null) {
nbColumn2 = Number(entryData.getAttributeNode('columnnumber').value);
if (nbColumn2 > nbColumn) {
nbColumn = nbColumn2;
}
}
}
}
return nbColumn + 1;
}

function RVEFlatToArray(XMLResponse, iFiSNull, nbIDDoc){

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

if (iFiSNull === undefined || iFiSNull === null) {
iFiSNull = null;
}
if (nbIDDoc === undefined || nbIDDoc === null || isNaN(nbIDDoc) || nbIDDoc !== true) {
nbIDDoc = false;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return [];
}
}
catch (e) {
return [];
}

var arrayRetour = [];
var nbIndex = 0;
var nbIndexColonne = 0;
var entryData = null;
var i = 0;
var i2 = 0;
var j = 0;
var j2 = 0;

for (i = 0, i2 = entries.length; i < i2; i++) {
nbIndex = i;
arrayRetour[nbIndex] = [];
entryData = entries[i].getElementsByTagName("entrydata");
for (j = 0, j2 = entryData.length; j < j2; j++) {
nbIndexColonne = j + 1;
try {
arrayRetour[nbIndex][nbIndexColonne] = entryData.item(j).lastChild.firstChild.nodeValue;
}
catch (e) {
arrayRetour[nbIndex][nbIndexColonne] = iFiSNull;
}
}
if (nbIDDoc === true) {
nbIndexColonne++;
if (entries[i].hasAttribute('unid')) {
arrayRetour[nbIndex][nbIndexColonne] = entries[i].getAttribute('unid');
}
else {
arrayRetour[nbIndex][nbIndexColonne] = '';
}
nbIndexLigne++;
if (entries[i].hasAttribute('noteid')) {
arrayRetour[nbIndex - 1][nbIndexLigne] = entries[i].getAttribute('noteid');
}
else {
arrayRetour[nbIndex - 1][nbIndexLigne] = '';
}
}
nbIndexColonne = 0;
}

return arrayRetour;
}


function RVEIsCategorized(XMLResponse){
try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return false;
}
}
catch (e) {
return false;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return false;
}
}
catch (e) {
return false;
}

var valeurTest = /^\d+$/;
var i = 0;
var i2 = 0;

for (i = 0, i2 = entries.length; i < i2; i++) {
if (valeurTest.test(entries[i].getAttribute('position')) === false) {
return true
}
}

return false;

}

function RVEnbIDDoc(XMLResponse){
if (XMLResponse === undefined || XMLResponse === null) {
return [];
}

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return [];
}
}
catch (e) {
return [];
}

var arrayRetour = [];
var nbIndex = 0;
var a = 0;
var a2 = 0;

for (a = 0, a2 = entries.length; a < a2; a++) {
var XMLEntry = entries[a];
if (XMLEntry.hasAttribute('unid') === true) {
nbIndex++;
arrayRetour[nbIndex] = [];
arrayRetour[nbIndex][1] = XMLEntry.getAttribute('unid');
if (XMLEntry.hasAttribute('noteid') === true) {
arrayRetour[nbIndex][2] = XMLEntry.getAttribute('noteid');
}
else {
arrayRetour[nbIndex][2] = '';
}
}
}
return arrayRetour;
}
[/syntax]