original_string: public function listMessages( $contentType = null )
      {
          if ( $this->state != self::STATE_SELECTED &&
               $this->state != self::STATE_SELECTED_READONLY )
          {
              throw new ezcMailTransportException( "Can't call listMessages() on the IMAP transport when a mailbox is not selected." );
          }
  
          $messageList = array();
          $messages = array();
   
          // get the numbers of the existing messages
          $tag = $this->getNextTag();
          $command = "{$tag} SEARCH UNDELETED";
          if ( !is_null( $contentType ) )
          {
              $command .= " HEADER \"Content-Type\" \"{$contentType}\"";
          }
          $this->connection->sendData( $command );
          $response = trim( $this->getResponse( '* SEARCH' ) );
          if ( strpos( $response, '* SEARCH' ) !== false )
          {
              $ids = trim( substr( $response, 9 ) );
              if ( $ids !== "" )
              {
                  $messageList = explode( ' ', $ids );
              }
          }
          // skip the OK response ("{$tag} OK Search completed.")
          $response = trim( $this->getResponse( $tag, $response ) );
          if ( $this->responseType( $response ) != self::RESPONSE_OK )
          {
              throw new ezcMailTransportException( "The IMAP server could not list messages: {$response}." );
          }
  
          if ( !empty( $messageList ) )
          {
              // get the sizes of the messages
              $tag = $this->getNextTag();
              $query = trim( implode( ',', $messageList ) );
              $this->connection->sendData( "{$tag} FETCH {$query} RFC822.SIZE" );
              $response = $this->getResponse( 'FETCH (' );
              $currentMessage = trim( reset( $messageList ) );
              while ( strpos( $response, 'FETCH (' ) !== false )
              {
                  $line = $response;
                  $line = explode( ' ', $line );
                  $line = trim( $line[count( $line ) - 1] );
                  $line = substr( $line, 0, strlen( $line ) - 1 );
                  $messages[$currentMessage] = intval( $line );
                  $currentMessage = next( $messageList );
                  $response = $this->connection->getLine();
              }
              // skip the OK response ("{$tag} OK Fetch completed.")
              $response = trim( $this->getResponse( $tag, $response ) );
              if ( $this->responseType( $response ) != self::RESPONSE_OK )
              {
                  throw new ezcMailTransportException( "The IMAP server could not list messages: {$response}." );
              }
          }
          return $messages;
      }
code: public function listMessages( $contentType = null )
      {
          if ( $this->state != self::STATE_SELECTED &&
               $this->state != self::STATE_SELECTED_READONLY )
          {
              throw new ezcMailTransportException( "Can't call listMessages() on the IMAP transport when a mailbox is not selected." );
          }
  
          $messageList = array();
          $messages = array();
   
          // get the numbers of the existing messages
          $tag = $this->getNextTag();
          $command = "{$tag} SEARCH UNDELETED";
          if ( !is_null( $contentType ) )
          {
              $command .= " HEADER \"Content-Type\" \"{$contentType}\"";
          }
          $this->connection->sendData( $command );
          $response = trim( $this->getResponse( '* SEARCH' ) );
          if ( strpos( $response, '* SEARCH' ) !== false )
          {
              $ids = trim( substr( $response, 9 ) );
              if ( $ids !== "" )
              {
                  $messageList = explode( ' ', $ids );
              }
          }
          // skip the OK response ("{$tag} OK Search completed.")
          $response = trim( $this->getResponse( $tag, $response ) );
          if ( $this->responseType( $response ) != self::RESPONSE_OK )
          {
              throw new ezcMailTransportException( "The IMAP server could not list messages: {$response}." );
          }
  
          if ( !empty( $messageList ) )
          {
              // get the sizes of the messages
              $tag = $this->getNextTag();
              $query = trim( implode( ',', $messageList ) );
              $this->connection->sendData( "{$tag} FETCH {$query} RFC822.SIZE" );
              $response = $this->getResponse( 'FETCH (' );
              $currentMessage = trim( reset( $messageList ) );
              while ( strpos( $response, 'FETCH (' ) !== false )
              {
                  $line = $response;
                  $line = explode( ' ', $line );
                  $line = trim( $line[count( $line ) - 1] );
                  $line = substr( $line, 0, strlen( $line ) - 1 );
                  $messages[$currentMessage] = intval( $line );
                  $currentMessage = next( $messageList );
                  $response = $this->connection->getLine();
              }
              // skip the OK response ("{$tag} OK Fetch completed.")
              $response = trim( $this->getResponse( $tag, $response ) );
              if ( $this->responseType( $response ) != self::RESPONSE_OK )
              {
                  throw new ezcMailTransportException( "The IMAP server could not list messages: {$response}." );
              }
          }
          return $messages;
      }
code_tokens: public function listMessages ( $ contentType = null ) { if ( $ this -> state != self :: STATE_SELECTED && $ this -> state != self :: STATE_SELECTED_READONLY ) { throw new ezcMailTransportException ( "Can't call listMessages() on the IMAP transport when a mailbox is not selected." ) ; } $ messageList = array ( ) ; $ messages = array ( ) ; // get the numbers of the existing messages $ tag = $ this -> getNextTag ( ) ; $ command = "{$tag} SEARCH UNDELETED" ; if ( ! is_null ( $ contentType ) ) { $ command .= " HEADER \"Content-Type\" \"{$contentType}\"" ; } $ this -> connection -> sendData ( $ command ) ; $ response = trim ( $ this -> getResponse ( '* SEARCH' ) ) ; if ( strpos ( $ response , '* SEARCH' ) !== false ) { $ ids = trim ( substr ( $ response , 9 ) ) ; if ( $ ids !== "" ) { $ messageList = explode ( ' ' , $ ids ) ; } } // skip the OK response ("{$tag} OK Search completed.") $ response = trim ( $ this -> getResponse ( $ tag , $ response ) ) ; if ( $ this -> responseType ( $ response ) != self :: RESPONSE_OK ) { throw new ezcMailTransportException ( "The IMAP server could not list messages: {$response}." ) ; } if ( ! empty ( $ messageList ) ) { // get the sizes of the messages $ tag = $ this -> getNextTag ( ) ; $ query = trim ( implode ( ',' , $ messageList ) ) ; $ this -> connection -> sendData ( "{$tag} FETCH {$query} RFC822.SIZE" ) ; $ response = $ this -> getResponse ( 'FETCH (' ) ; $ currentMessage = trim ( reset ( $ messageList ) ) ; while ( strpos ( $ response , 'FETCH (' ) !== false ) { $ line = $ response ; $ line = explode ( ' ' , $ line ) ; $ line = trim ( $ line [ count ( $ line ) - 1 ] ) ; $ line = substr ( $ line , 0 , strlen ( $ line ) - 1 ) ; $ messages [ $ currentMessage ] = intval ( $ line ) ; $ currentMessage = next ( $ messageList ) ; $ response = $ this -> connection -> getLine ( ) ; } // skip the OK response ("{$tag} OK Fetch completed.") $ response = trim ( $ this -> getResponse ( $ tag , $ response ) ) ; if ( $ this -> responseType ( $ response ) != self :: RESPONSE_OK ) { throw new ezcMailTransportException ( "The IMAP server could not list messages: {$response}." ) ; } } return $ messages ; }
docstring: Returns a list of the not deleted messages in the current mailbox.
  
  It returns only the messages with the flag DELETED not set.
  
  Before calling this method, a connection to the IMAP server must be
  established and a user must be authenticated successfully, and a mailbox
  must be selected.
  
  The format of the returned array is
  <code>
  array( message_id => size );
  </code>
  
  Example:
  <code>
  array( 2 => 1700, 5 => 1450, 6 => 21043 );
  </code>
  
  If $contentType is set, it returns only the messages with
  $contentType in the Content-Type header.
  
  For example $contentType can be "multipart/mixed" to return only the
  messages with attachments.
  
  @throws ezcMailTransportException
  if a mailbox is not selected
  or if the server sent a negative response
  @param string $contentType
  @return array(int)
docstring_tokens: Returns a list of the not deleted messages in the current mailbox .