- Timestamp:
- 06/14/12 23:39:50 (12 years ago)
- Location:
- sandbox/expressoServiceImap
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoServiceImap/expressoMail1_2/index.php
r6237 r6509 29 29 <link rel="stylesheet" type="text/css" href="../prototype/plugins/fullcalendar/fullcalendar.print.css"></link> 30 30 <link rel="stylesheet" type="text/css" href="../prototype/plugins/icalendar/jquery.icalendar.css"></link> 31 32 <script type="text/javascript" src="../prototype/plugins/jquery/jquery.min.js"></script>33 31 <link href="../prototype/modules/filters/filters.css" rel="stylesheet" type="text/css"> 34 <script type="text/javascript" src="../prototype/plugins/jquery/jquery-ui.min.js"></script> 35 <script src="../prototype/plugins/json2/json2.js" language="javascript"></script> 36 <script src="../prototype/plugins/ejs/ejs.js" language="javascript"></script> 37 <script src="../prototype/plugins/store/jquery.store.js" language="javascript"></script> 38 <script src="../prototype/plugins/farbtastic/farbtastic.js" language="javascript"></script> 39 <script src="../prototype/api/datalayer.js" language="javascript"></script> 40 <script type="text/javascript" src="../prototype/plugins/scrollto/jquery.scrollTo.js"></script> 32 33 <script language="javascript" src="../prototype/plugins/jquery/jquery.min.js"></script> 34 <script language="javascript" src="../prototype/plugins/jquery/jquery-ui.min.js"></script> 35 <script language="javascript" src="../prototype/plugins/json2/json2.js"></script> 36 <script language="javascript" src="../prototype/plugins/ejs/ejs.js"></script> 37 <script language="javascript" src="../prototype/plugins/store/jquery.store.js"></script> 38 <script language="javascript" src="../prototype/plugins/farbtastic/farbtastic.js"></script> 39 <script language="javascript" src="../prototype/api/datalayer.js"></script> 40 <script language="javascript" src="../prototype/plugins/scrollto/jquery.scrollTo.js"></script> 41 41 <script language="javascript">DataLayer.dispatchPath = "../prototype/";</script> 42 <script src="../library/ckeditor/ckeditor.js" language="javascript" charset="utf-8"></script> 43 <script src="../library/ckeditor/adapters/jquery.js" language="javascript"></script> 44 <script src="../prototype/plugins/lazy/jquery.lazy.js" language="javascript"></script> 45 42 <script language="javascript" src="../library/ckeditor/ckeditor.js" charset="utf-8"></script> 43 <script language="javascript" src="../library/ckeditor/adapters/jquery.js"></script> 44 <script language="javascript" src="../prototype/plugins/lazy/jquery.lazy.js"></script> 45 <script language="javascript" src="../prototype/modules/attach_message/common.js"></script> 46 46 47 <link rel="Stylesheet" type="text/css" href="../prototype/plugins/jquery/jquery-ui.css" /> 47 48 … … 68 69 69 70 <script type="text/javascript" src="../prototype/modules/calendar/js/timezone.js"></script> 70 71 <script type="text/javascript" src="../prototype/plugins/dateFormat/dateFormat.js"></script> 71 72 <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.date.js"></script> 72 73 <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.codecs.js"></script> -
sandbox/expressoServiceImap/expressoMail1_2/js/draw_api.js
r6486 r6509 3885 3885 }) 3886 3886 }); 3887 3888 DataLayer.codec( 'folder', 'tree', {3889 3890 encoder: function( data ){3891 3892 if( preferences.use_local_messages == 1 || expresso_offline)3893 {3894 var folders = expresso_local_messages.list_local_folders();3895 3896 var stripParents = /^(.*)\/([^\/]*)/;3897 3898 $.each( folders, function( i, folder ){3899 3900 if(typeof(folder) == 'undefined') return;3901 3902 var id = 'local_messages/' + folder[0];3903 3904 var parts = stripParents.exec( id );3905 3906 data[data.length] = { 'id' : id,3907 'commonName' : parts[2],3908 'parentFolder' : parts[1] };3909 });3910 }3911 3912 var trees = [[],[],[]],3913 3914 root = { inbox: /^INBOX/, share: /^user/, local: /^local_messages/ };3915 3916 for (var i = 0; i < data.length; i++ )3917 {3918 var index = root.inbox.test(data[i].id) ? 0 :3919 root.share.test(data[i].id) ? 1 :3920 root.local.test(data[i].id) ? 2 :3921 'false';3922 3923 if( isNaN(index) ) continue;3924 3925 if (!unorphanize(trees[index], data[i]))3926 {3927 data[i].children = [];3928 trees[index].push(data[i]);3929 }3930 }3931 3932 return( { folders: trees } );3933 }3934 } );3935 3936 current_folder = 'INBOX';3937 3938 DataLayer.codec( 'message', 'jqGrid', {3939 3940 encoder: function( data, crit ){3941 3942 if( !crit.criteria.properties.context.folder.indexOf( 'local_messages/' ) )3943 {3944 var msgs = expresso_local_messages.get_local_range_msgs( crit.criteria.properties.context.folder.replace(dots, "/").replace("local_messages/", ""),3945 crit.offset + 1, crit.limit, "SORTARRIVAL", crit.orderDesc, "ALL", 1, 1 );3946 3947 for( var i = 0; i < msgs.length; i++ )3948 {3949 msgs[i].size = msgs[i].Size;3950 msgs[i].timestamp = msgs[i].udate * 1000;3951 msgs[i].flags = [];3952 3953 for( var ii = 0; ii < flags.length; ii++ )3954 if( f = $.trim( msgs[i][ flags[ii] ] ) )3955 msgs[i].flags[ msgs[i].flags.length ] = f;3956 3957 msgs[i].flags = msgs[i].flags.join(',');3958 }3959 3960 return( {"rows": msgs,3961 "records": msgs.length,3962 "page": crit.page,3963 "total": Math.ceil( msgs.num_msgs / crit.limit )} );3964 }3965 3966 return( data );3967 },3968 criteria: function( crit ){3969 3970 return { criteria: { properties: {context:{folder: current_folder || 'INBOX'}}, offset: crit.rows * ( crit.page - 1 ), limit: crit.rows, orderDesc: crit.sord == "desc" } };3971 3972 }3973 });3974 3887 3975 3888 return ID; -
sandbox/expressoServiceImap/prototype/modules/attach_message/attach_message.js
r6486 r6509 1 // $.storage = new $.store();2 3 isOffline = /[A-z0-9-_\/\.]*:offline\?(.*)/;4 breakParams = /[&=]/;5 dots = /\./gi;6 dashes = /\//gi;7 flags = [ 'Attachment', 'Forwarded' ,'Recent', 'Unseen', 'Answered', 'Draft', 'Deleted', 'Flagged', 'Followupflag', 'Label' ];8 months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];9 10 1 var BASE_PATH = '../prototype/'; 11 //BASE_PATH = '../';12 //encontra os pais de todas as pastas e cria uma nova estrutura adicionando os filhos a um array no atributo 'children' do respectivo pai13 unorphanize = function(root, element) {14 var ok = false;15 for (var i=0; i<root.length; i++) {16 if (root[i].id == element.parentFolder) {17 element.children = new Array();18 root[i].children.push(element);19 return true;20 } else if (ok = unorphanize(root[i].children, element)) {21 break;22 }23 }24 25 return ok;26 }27 28 /* --- helpers --- */29 bytes2Size = function(bytes) {30 var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];31 if (bytes == 0) return 'n/a';32 var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));33 var size = (i<2) ? Math.round((bytes / Math.pow(1024, i))) : Math.round((bytes / Math.pow(1024, i)) * 100)/100;34 return size + ' ' + sizes[i];35 }36 37 flags2Class = function(cellvalue, options, rowObject) {38 var classes = '';39 cellvalue = cellvalue.split(',');40 cell = {41 Unseen: parseInt(cellvalue[0]) ? 'Unseen' : 'Seen',42 Answered: parseInt(cellvalue[1]) ? 'Answered' : (parseInt(cellvalue[2]) ? 'Forwarded' : ''),43 Flagged: parseInt(cellvalue[3]) ? 'Flagged' : '',44 Recent: parseInt(cellvalue[4]) ? 'Recent' : '',45 Draft: parseInt(cellvalue[5]) ? 'Draft' : ''46 };47 for(var flag in cell){48 classes += '<span class="flags '+ (cell[flag]).toLowerCase() + '"' + (cell[flag] != "" ? 'title="'+ get_lang(cell[flag])+'"' : '')+'> </span>';49 }50 if(rowObject.labels){51 var titles = [];52 var count = 0;53 for(i in rowObject.labels){54 titles[count] = " "+rowObject.labels[i].name;55 count++;56 }57 titles = titles.join();58 classes += '<span class="flags labeled" title="'+titles+'"> </span>';59 }else{60 classes += '<span class="flags"> </span>';61 }62 63 if(rowObject.followupflagged){64 if(rowObject.followupflagged.followupflag.id < 7){65 var nameFollowupflag = get_lang(rowObject.followupflagged.followupflag.name);66 }else{67 var nameFollowupflag = rowObject.followupflagged.followupflag.name;68 }69 if(rowObject.followupflagged.isDone == 1){70 classes += '<span class="flags followupflagged" title="'+nameFollowupflag+'" style="background:'+rowObject.followupflagged.backgroundColor+';"><img style=" margin-left:-3px;" src="../prototype/modules/mail/img/flagChecked.png"></span>';71 }else{72 classes += '<span class="flags followupflagged" title="'+nameFollowupflag+'" style="background:'+rowObject.followupflagged.backgroundColor+';"><img src="../prototype/modules/mail/img/flagEditor.png"></span>';73 }74 75 }76 77 return classes;78 }79 80 NormaliseFrom = function(cellvalue, options, rowObject) {81 rowObject['flags'] = rowObject['flags'].split(",");82 if(rowObject['flags'][rowObject['flags'].length-1] == 1){83 return get_lang(special_folders["Drafts"]);84 }85 return cellvalue;86 }87 88 NormaliseSubject = function(cellvalue, options, rowObject) {89 return html_entities(cellvalue);90 }91 92 date2Time = function (timestamp) {93 date = new Date();94 if( typeof timestamp === "string" )95 timestamp = parseInt( timestamp, 10 );96 dat = new Date(timestamp);97 if ((date.getTime() - timestamp) < (24*60*60*1000)) {98 return '<span class="timable" title="'+dat.getTime()+'"></span>';99 } else {100 date = new Date(timestamp);101 if(is_ie){102 var b = date.toString().split(' ');103 var c = b[2] + "/" + months.indexOf(b[1]) + "/" + b[5];104 return '<span class="datable">' + c + '</span>';105 }else{106 var b = date.toISOString().split("T")[0].split("-");107 var c = b[2] + "/" + b[1] + "/" + b[0];108 return '<span class="datable">' + c + '</span>';109 }110 }111 }112 113 changeTabIndex = function (elements) {114 // jQuery('#foldertree').attr('tabIndex', '1').focus();115 }116 117 selectedMessagesCount = function() {118 var byte_size = 0, total_messages = 0;119 for (var folder in selectedMessages) {120 for (var message in selectedMessages[folder]) {121 if (selectedMessages[folder][message]) {122 byte_size += parseInt(onceOpenedMessages[folder][message].size);123 total_messages++;124 }125 }126 }127 $("#selected_messages_number").html(total_messages).next().html(bytes2Size(byte_size));128 return total_messages;129 }130 2 131 3 var msgAttacherGrid = $("#message_attacher_grid"), msgsTotal = $("#selected_messages_number");
Note: See TracChangeset
for help on using the changeset viewer.