ACC SHELL
/********************************************************************************************
* BlueShoes Framework; This file is part of the php application framework.
* NOTE: This code is stripped (obfuscated). To get the clean documented code goto
* www.blueshoes.org and register for the free open source *DEVELOPER* version or
* buy the commercial version.
*
* In case you've already got the developer version, then this is one of the few
* packages/classes that is only available to *PAYING* customers.
* To get it go to www.blueshoes.org and buy a commercial version.
*
* @copyright www.blueshoes.org
* @author Samuel Blume <sam at blueshoes dot org>
* @author Andrej Arn <andrej at blueshoes dot org>
*/
function Bs_CsvUtil() {
this.foo = '';this.Bs_CsvUtil = function() {
}
this.csvStringToArray = function(string, separator, trim, removeHeader, removeEmptyLines, checkMultiline) {
if (typeof(separator) == 'undefined') separator = ';';if (typeof(trim) == 'undefined') trim = 'none';if (typeof(removeHeader) == 'undefined') removeHeader = false;if (typeof(removeEmptyLines) == 'undefined') removeEmptyLines = false;if (typeof(checkMultiline) == 'undefined') checkMultiline = false;if (string.length == 0) return new Array;var array = string.split("\n");for (var i=0; i<array.length; i++) {
if (array[i].substr(array[i].length -1) == "\r") {
array[i] = array[i].substr(0, array[i].length -1);}
}
if ((typeof(array) != 'object') || (array.length == 0)) return new Array;if (checkMultiline) array = this._checkMultiline(array);if (separator == 'auto') separator = this.guessSeparator(array);return this.csvArrayToArray(array, separator, trim, removeHeader, removeEmptyLines);}
this.csvArrayToArray = function(array, separator, trim, removeHeader, removeEmptyLines) {
if (typeof(separator) == 'undefined') separator = ';';if (typeof(trim) == 'undefined') trim = 'none';if (typeof(removeHeader) == 'undefined') removeHeader = false;if (typeof(removeEmptyLines) == 'undefined') removeEmptyLines = false;switch (trim) {
case 'none':
var trimFunction = false;break;case 'left':
var trimFunction = 'ltrim';break;case 'right':
var trimFunction = 'rtrim';break;default:
var trimFunction = 'trim';break;}
var sepLength = separator.length;if (removeHeader) {
array.shift();}
var ret = new Array;for (var i=0; i<array.length; i++) {
var line = array[i];var offset = 0;var lastPos = 0;var lineArray = new Array;for (var j=0; j<1; j--) {
var pos = line.indexOf(separator, offset);if (pos == -1) {
lineArray[lineArray.length] = line.substr(lastPos);break;}
var currentSnippet = line.substr(lastPos, pos-lastPos);var numQuotes = currentSnippet.split('"').length -1;if ((numQuotes % 2) == 0) {
lineArray[lineArray.length] = line.substr(lastPos, pos-lastPos);lastPos = pos + sepLength;} else {
}
offset = pos + sepLength;}
if (trimFunction != false) {
try {
for (var j=0; j<lineArray.length; j++) {
if (trimFunction == 'trim') {
lineArray[j] = bs_trim(lineArray[j]);} else if (trimFunction == 'ltrim') {
lineArray[j] = bs_ltrim(lineArray[j]);} else if (trimFunction == 'rtrim') {
lineArray[j] = bs_rtrim(lineArray[j]);}
}
} catch (e) {
}
}
for (var j=0; j<lineArray.length; j++) {
if ((lineArray[j].substr(0, 1) == '"') && (lineArray[j].substr(1, 1) != '"') && (lineArray[j].substr(lineArray[j].length -1) == '"')) {
lineArray[j] = lineArray[j].substring(1, lineArray[j].length -1);}
lineArray[j] = lineArray[j].replace(/""/, '"');
}
var addIt = true;if (removeEmptyLines) {
var addIt = false;for (var j=0; j<lineArray.length; j++) {
try {
var tmp = bs_trim(lineArray[j]);} catch (e) {
var tmp = lineArray[j];}
if (tmp != '') {
addIt = true;break;}
}
}
if (addIt) {
ret[ret.length] = lineArray;}
}
return ret;}
this.guessSeparator = function(cvsArray) {
if (cvsArray[0].indexOf(';') >= 0) return ';';if (cvsArray[0].indexOf("\t") >= 0) return "\t";return false;}
this._checkMultiline = function(input) {
return input;}
}
ACC SHELL 2018