Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.191.171.72
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/srv/modoboa/env/lib64/python3.5/site-packages/modoboa_webmail/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/self/root/srv/modoboa/env/lib64/python3.5/site-packages/modoboa_webmail/handlers.py
"""Webmail handlers."""

from django.urls import reverse
from django.dispatch import receiver
from django.utils.translation import ugettext as _

from modoboa.core import signals as core_signals

from . import exceptions
from . import lib


@receiver(core_signals.extra_user_menu_entries)
def menu(sender, location, user, **kwargs):
    """Return extra menu entry."""
    if location != "top_menu" or not hasattr(user, "mailbox"):
        return []
    return [
        {"name": "webmail",
         "label": _("Webmail"),
         "url": reverse("modoboa_webmail:index")},
    ]


@receiver(core_signals.user_logout)
def userlogout(sender, request, **kwargs):
    """Close IMAP connection."""
    if not hasattr(request.user, "mailbox"):
        return
    try:
        m = lib.IMAPconnector(user=request.user.username,
                              password=request.session["password"])
    except Exception:
        # TODO silent exception are bad : we should at least log it
        return

    # The following statement may fail under Python 2.6...
    try:
        m.logout()
    except exceptions.ImapError:
        pass


@receiver(core_signals.extra_static_content)
def extra_js(sender, caller, st_type, user, **kwargs):
    """Add javascript."""
    if caller != "user_index" or st_type != "js":
        return ""
    return """function toggleSignatureEditor() {
    var editorId = 'id_modoboa_webmail-signature';
    if ($(this).val() === 'html') {
        CKEDITOR.replace(editorId, $('#' + editorId).data('config'));
    } else {
        var instance = CKEDITOR.instances[editorId];
        instance.destroy();
    }
}

$(document).on(
    'change', 'input[name=modoboa_webmail-editor]', toggleSignatureEditor);
$(document).on('preferencesLoaded', function() {
    $('input[name=modoboa_webmail-editor]:checked').change();
});
"""

Anon7 - 2022
AnonSec Team