protected function _loginTasks($firstlogin = true, array $resp = array())
    {
        /* If reusing an imapproxy connection, no need to do any of these
         * login tasks again. */
        if (!$firstlogin && !empty($resp['proxyreuse'])) {
            if (isset($this->_init['enabled'])) {
                foreach ($this->_init['enabled'] as $val) {
                    $this->_capability()->enable($val);
                }
            }

            // If we have not yet set the language, set it now.
            if (!isset($this->_init['lang'])) {
                $this->_temp['lang_queue'] = true;
                $this->setLanguage();
                unset($this->_temp['lang_queue']);
            }
            return false;
        }

        /* If we logged in for first time, and server did not return
         * capability information, we need to mark for retrieval. */
        if ($firstlogin && empty($resp['capability_set'])) {
            $this->_setInit('capability');
        }

        $this->_temp['lang_queue'] = true;
        $this->setLanguage();
        unset($this->_temp['lang_queue']);

        /* Only active QRESYNC/CONDSTORE if caching is enabled. */
        $enable = array();
        if ($this->_initCache()) {
            if ($this->_capability('QRESYNC')) {
                $enable[] = 'QRESYNC';
            } elseif ($this->_capability('CONDSTORE')) {
                $enable[] = 'CONDSTORE';
            }
        }

        /* Use UTF8=ACCEPT, if available. */
        if ($this->_capability('UTF8', 'ACCEPT')) {
            $enable[] = 'UTF8=ACCEPT';
        }

        $this->_enable($enable);

        return true;
    }
protected function _loginTasks($firstlogin = true, array $resp = array())
    {
        /* If reusing an imapproxy connection, no need to do any of these
         * login tasks again. */
        if (!$firstlogin && !empty($resp['proxyreuse'])) {
            if (isset($this->_init['enabled'])) {
                foreach ($this->_init['enabled'] as $val) {
                    $this->_capability()->enable($val);
                }
            }

            // If we have not yet set the language, set it now.
            if (!isset($this->_init['lang'])) {
                $this->_temp['lang_queue'] = true;
                $this->setLanguage();
                unset($this->_temp['lang_queue']);
            }
            return false;
        }

        /* If we logged in for first time, and server did not return
         * capability information, we need to mark for retrieval. */
        if ($firstlogin && empty($resp['capability_set'])) {
            $this->_setInit('capability');
        }

        $this->_temp['lang_queue'] = true;
        $this->setLanguage();
        unset($this->_temp['lang_queue']);

        /* Only active QRESYNC/CONDSTORE if caching is enabled. */
        $enable = array();
        if ($this->_initCache()) {
            if ($this->_capability('QRESYNC')) {
                $enable[] = 'QRESYNC';
            } elseif ($this->_capability('CONDSTORE')) {
                $enable[] = 'CONDSTORE';
            }
        }

        /* Use UTF8=ACCEPT, if available. */
        if ($this->_capability('UTF8', 'ACCEPT')) {
            $enable[] = 'UTF8=ACCEPT';
        }

        $this->_enable($enable);

        return true;
    }
protected function _loginTasks ( $ firstlogin = true , array $ resp = array ( ) ) { /* If reusing an imapproxy connection, no need to do any of these
         * login tasks again. */ if ( ! $ firstlogin && ! empty ( $ resp [ 'proxyreuse' ] ) ) { if ( isset ( $ this -> _init [ 'enabled' ] ) ) { foreach ( $ this -> _init [ 'enabled' ] as $ val ) { $ this -> _capability ( ) -> enable ( $ val ) ; } } // If we have not yet set the language, set it now. if ( ! isset ( $ this -> _init [ 'lang' ] ) ) { $ this -> _temp [ 'lang_queue' ] = true ; $ this -> setLanguage ( ) ; unset ( $ this -> _temp [ 'lang_queue' ] ) ; } return false ; } /* If we logged in for first time, and server did not return
         * capability information, we need to mark for retrieval. */ if ( $ firstlogin && empty ( $ resp [ 'capability_set' ] ) ) { $ this -> _setInit ( 'capability' ) ; } $ this -> _temp [ 'lang_queue' ] = true ; $ this -> setLanguage ( ) ; unset ( $ this -> _temp [ 'lang_queue' ] ) ; /* Only active QRESYNC/CONDSTORE if caching is enabled. */ $ enable = array ( ) ; if ( $ this -> _initCache ( ) ) { if ( $ this -> _capability ( 'QRESYNC' ) ) { $ enable [ ] = 'QRESYNC' ; } elseif ( $ this -> _capability ( 'CONDSTORE' ) ) { $ enable [ ] = 'CONDSTORE' ; } } /* Use UTF8=ACCEPT, if available. */ if ( $ this -> _capability ( 'UTF8' , 'ACCEPT' ) ) { $ enable [ ] = 'UTF8=ACCEPT' ; } $ this -> _enable ( $ enable ) ; return true ; }
Perform login tasks.

@param boolean $firstlogin  Is this the first login?
@param array $resp          The data response from the login command.
May include:
- capability_set: (boolean) True if CAPABILITY was set after login.
- proxyreuse: (boolean) True if re-used connection via imapproxy.

@return boolean  True if global login tasks should be performed.
Perform login tasks .