dots = /\./gi; dashes = /\//gi; flags = [ 'Attachment', 'Forwarded' ,'Recent', 'Unseen', 'Answered', 'Draft', 'Deleted', 'Flagged', 'Followupflag', 'Label' ]; months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec']; current_folder = 'INBOX'; current_count = DataLayer.get( 'message', { criteria: { count: true, properties: {context:{folder:current_folder}} } }, true ); DataLayer.codec( 'folder', 'tree', { encoder: function( data ){ if( preferences.use_local_messages == 1 || expresso_offline) { var folders = expresso_local_messages.list_local_folders(); var stripParents = /^(.*)\/([^\/]*)/; $.each( folders, function( i, folder ){ if(typeof(folder) == 'undefined') return; var id = 'local_messages/' + folder[0]; var parts = stripParents.exec( id ); data[data.length] = { 'id' : id, 'commonName' : parts[2], 'parentFolder' : parts[1] }; }); } var trees = [[],[],[]], root = { inbox: /^INBOX/, share: /^user/, local: /^local_messages/ }; for (var i = 0; i < data.length; i++ ) { var index = root.inbox.test(data[i].id) ? 0 : root.share.test(data[i].id) ? 1 : root.local.test(data[i].id) ? 2 : 'false'; if( isNaN(index) ) continue; if (!unorphanize(trees[index], data[i])) { data[i].children = []; trees[index].push(data[i]); } } return( { folders: trees } ); } } ); DataLayer.codec( 'message', 'jqGrid', { encoder: function( data, crit ){ crit = crit.criteria; if( !crit.properties.context.folder.indexOf( 'local_messages/' ) ) { var msgs = expresso_local_messages.get_local_range_msgs( crit.properties.context.folder.replace(dots, "/").replace("local_messages/", ""), crit.offset + 1, crit.limit, "SORTARRIVAL", crit.orderDesc, "ALL", 1, 1 ); for( var i = 0; i < msgs.length; i++ ) { msgs[i].size = msgs[i].Size; msgs[i].timestamp = msgs[i].udate * 1000; msgs[i].flags = []; for( var ii = 0; ii < flags.length; ii++ ) if( f = $.trim( msgs[i][ flags[ii] ] ) ) msgs[i].flags[ msgs[i].flags.length ] = f; msgs[i].flags = msgs[i].flags.join(','); } data = msgs; } return( {"rows": data, "records": data.num_msgs || current_count, "page": crit.offset / crit.limit + 1, "total": Math.ceil( data.num_msgs || current_count / crit.limit )} ); }, criteria: function( crit ){ return { criteria: { properties: {context:{folder: current_folder || 'INBOX'}}, offset: crit.rows * ( crit.page - 1 ), limit: crit.rows, orderDesc: crit.sord == "desc", currentCount: current_count } }; } }); //BASE_PATH = '../'; //encontra os pais de todas as pastas e cria uma nova estrutura adicionando os filhos a um array no atributo 'children' do respectivo pai unorphanize = function(root, element) { var ok = false; for (var i=0; i '; } if(rowObject.labels){ var titles = []; var count = 0; for(i in rowObject.labels){ titles[count] = " "+rowObject.labels[i].name; count++; } titles = titles.join(); classes += ' '; }else{ classes += ' '; } if(rowObject.followupflagged){ if(rowObject.followupflagged.followupflag.id < 7){ var nameFollowupflag = get_lang(rowObject.followupflagged.followupflag.name); }else{ var nameFollowupflag = rowObject.followupflagged.followupflag.name; } if(rowObject.followupflagged.isDone == 1){ classes += ''; }else{ classes += ''; } } return classes; } NormaliseFrom = function(cellvalue, options, rowObject) { rowObject['flags'] = rowObject['flags'].split(","); if(rowObject['flags'][rowObject['flags'].length-1] == 1){ return get_lang(special_folders["Drafts"]); } return cellvalue; } NormaliseSubject = function(cellvalue, options, rowObject) { return html_entities(cellvalue); } date2Time = function (timestamp) { date = new Date(); if( typeof timestamp === "string" ) timestamp = parseInt( timestamp, 10 ); dat = new Date(timestamp); if ((date.getTime() - timestamp) < (24*60*60*1000)) { return ''; } else { date = new Date(timestamp); if(is_ie){ var b = date.toString().split(' '); var c = b[2] + "/" + months.indexOf(b[1]) + "/" + b[5]; return '' + c + ''; }else{ var b = date.toISOString().split("T")[0].split("-"); var c = b[2] + "/" + b[1] + "/" + b[0]; return '' + c + ''; } } } changeTabIndex = function (elements) { // jQuery('#foldertree').attr('tabIndex', '1').focus(); } selectedMessagesCount = function() { var byte_size = 0, total_messages = 0; for (var folder in selectedMessages) { for (var message in selectedMessages[folder]) { if (selectedMessages[folder][message]) { byte_size += parseInt(onceOpenedMessages[folder][message].size); total_messages++; } } } $("#selected_messages_number").html(total_messages).next().html(bytes2Size(byte_size)); return total_messages; }