original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: 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.
docstring_tokens: Perform login tasks .