alecpl
2010-04-21 8e211adb01bd6145eb250edabff38db449f34d92
- Add images pre-loading on login page (#1451160)


3 files modified
46 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_template.php 25 ●●●●● patch | view | raw | blame | history
skins/default/templates/login.html 20 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
- Add images pre-loading on login page (#1451160)
- Add HTTP_X_REAL_IP and HTTP_X_FORWARDED_FOR to successful logins log (#1486441)
- Fix setting spellcheck languages with extended codes (#1486605)
- Fix messages list scrolling in FF3.6 (#1486472)
program/include/rcube_template.php
@@ -80,6 +80,7 @@
        // register common UI objects
        $this->add_handlers(array(
            'loginform'       => array($this, 'login_form'),
            'preloader'       => array($this, 'preloader'),
            'username'        => array($this, 'current_username'),
            'message'         => array($this, 'message_container'),
            'charsetselector' => array($this, 'charset_selector'),
@@ -1073,6 +1074,30 @@
    /**
     * GUI object 'preloader'
     * Loads javascript code for images preloading
     *
     * @param array Named parameters
     * @return void
     */
    private function preloader($attrib)
    {
        $images = preg_split('/[\s\t\n,]+/', $attrib['images'], -1, PREG_SPLIT_NO_EMPTY);
        $images = array_map(array($this, 'abs_url'), $images);
        if (empty($images) || $this->app->task == 'logout')
            return;
        $this->add_script('$(document).ready(function(){
            var images = ' . json_serialize($images) .';
            for (var i=0; i<images.length; i++) {
                img = new Image();
                img.src = images[i];
            }});', 'foot');
    }
    /**
     * GUI object 'searchform'
     * Returns code for search function
     *
skins/default/templates/login.html
@@ -24,5 +24,25 @@
</div>
</div>
<roundcube:object name="preloader" images="
    /images/icons/folders.png
    /images/mail_footer.png
    /images/taskicons.gif
    /images/display/loading.gif
    /images/pagenav.gif
    /images/mail_toolbar.png
    /images/searchfield.gif
    /images/icons/glass_roll.png
    /images/icons/reset.gif
    /images/icons/attachment.png
    /images/icons/dot.png
    /images/icons/unread.png
    /images/abook_toolbar.png
    /images/icons/glass.png
    /images/icons/groupactions.png
    /images/watermark.gif
" />
</body>
</html>