WordPress.org

Make WordPress Core

Ticket #4337: 4337.2.diff

File 4337.2.diff, 13.1 KB (added by westi, 11 years ago)

Diff to update to current class-pop3.php from squirrelmail

  • wp-includes/class-pop3.php

     
    5757            settype($timeout,"integer");
    5858            $this->TIMEOUT = $timeout;
    5959            if (!ini_get('safe_mode'))
    60             set_time_limit($timeout);
     60                set_time_limit($timeout);
    6161        }
    6262        return true;
    6363    }
    6464
    6565    function update_timer () {
    6666        if (!ini_get('safe_mode'))
    67         set_time_limit($this->TIMEOUT);
     67            set_time_limit($this->TIMEOUT);
    6868        return true;
    6969    }
    7070
     
    7373        //  port defaults to 110. Returns true on success, false on fail
    7474
    7575        // If MAILSERVER is set, override $server with it's value
    76 
    77         if (!isset($port) || !$port) {$port = 110;}
     76       
     77        if (!isset($port) || !$port) {$port = 110;}
    7878        if(!empty($this->MAILSERVER))
    7979            $server = $this->MAILSERVER;
    8080
    8181        if(empty($server)){
    82             $this->ERROR = _("POP3 connect:") . ' ' . _("No server specified");
     82            $this->ERROR = "POP3 connect: " . _("No server specified");
    8383            unset($this->FP);
    8484            return false;
    8585        }
     
    8787        $fp = @fsockopen("$server", $port, $errno, $errstr);
    8888
    8989        if(!$fp) {
    90             $this->ERROR = _("POP3 connect:") . ' ' . _("Error ") . "[$errno] [$errstr]";
     90            $this->ERROR = "POP3 connect: " . _("Error ") . "[$errno] [$errstr]";
    9191            unset($this->FP);
    9292            return false;
    9393        }
     
    9999        if($this->DEBUG)
    100100            error_log("POP3 SEND [connect: $server] GOT [$reply]",0);
    101101        if(!$this->is_ok($reply)) {
    102             $this->ERROR = _("POP3 connect:") . ' ' . _("Error ") . "[$reply]";
     102            $this->ERROR = "POP3 connect: " . _("Error ") . "[$reply]";
    103103            unset($this->FP);
    104104            return false;
    105105        }
     
    112112        // Sends the USER command, returns true or false
    113113
    114114        if( empty($user) ) {
    115             $this->ERROR = _("POP3 user:") . ' ' . _("no login ID submitted");
     115            $this->ERROR = "POP3 user: " . _("no login ID submitted");
    116116            return false;
    117117        } elseif(!isset($this->FP)) {
    118             $this->ERROR = _("POP3 user:") . ' ' . _("connection not established");
     118            $this->ERROR = "POP3 user: " . _("connection not established");
    119119            return false;
    120120        } else {
    121121            $reply = $this->send_cmd("USER $user");
    122122            if(!$this->is_ok($reply)) {
    123                 $this->ERROR = _("POP3 user:") . ' ' . _("Error ") . "[$reply]";
     123                $this->ERROR = "POP3 user: " . _("Error ") . "[$reply]";
    124124                return false;
    125125            } else
    126126                return true;
     
    132132        // returns false (undef) on Auth failure
    133133
    134134        if(empty($pass)) {
    135             $this->ERROR = _("POP3 pass:") . ' ' . _("No password submitted");
     135            $this->ERROR = "POP3 pass: " . _("No password submitted");
    136136            return false;
    137137        } elseif(!isset($this->FP)) {
    138             $this->ERROR = _("POP3 pass:") . ' ' . _("connection not established");
     138            $this->ERROR = "POP3 pass: " . _("connection not established");
    139139            return false;
    140140        } else {
    141141            $reply = $this->send_cmd("PASS $pass");
    142142            if(!$this->is_ok($reply)) {
    143                 $this->ERROR = _("POP3 pass:") . ' ' . _("Authentication failed ") . "[$reply]";
     143                $this->ERROR = "POP3 pass: " . _("Authentication failed") . " [$reply]";
    144144                $this->quit();
    145145                return false;
    146146            } else {
     
    159159        //  (apop is optional per rfc1939)
    160160
    161161        if(!isset($this->FP)) {
    162             $this->ERROR = _("POP3 apop:") . ' ' . _("No connection to server");
     162            $this->ERROR = "POP3 apop: " . _("No connection to server");
    163163            return false;
    164164        } elseif(!$this->ALLOWAPOP) {
    165165            $retVal = $this->login($login,$pass);
    166166            return $retVal;
    167167        } elseif(empty($login)) {
    168             $this->ERROR = _("POP3 apop:") . ' ' . _("No login ID submitted");
     168            $this->ERROR = "POP3 apop: " . _("No login ID submitted");
    169169            return false;
    170170        } elseif(empty($pass)) {
    171             $this->ERROR = _("POP3 apop:") . ' ' . _("No password submitted");
     171            $this->ERROR = "POP3 apop: " . _("No password submitted");
    172172            return false;
    173173        } else {
    174174            $banner = $this->BANNER;
    175175            if( (!$banner) or (empty($banner)) ) {
    176                 $this->ERROR = _("POP3 apop:") . ' ' . _("No server banner") . ' - ' . _("abort");
     176                $this->ERROR = "POP3 apop: " . _("No server banner") . ' - ' . _("abort");
    177177                $retVal = $this->login($login,$pass);
    178178                return $retVal;
    179179            } else {
     
    183183                $cmd = "APOP $login $APOPString";
    184184                $reply = $this->send_cmd($cmd);
    185185                if(!$this->is_ok($reply)) {
    186                     $this->ERROR = _("POP3 apop:") . ' ' . _("apop authentication failed") . ' - ' . _("abort");
     186                    $this->ERROR = "POP3 apop: " . _("apop authentication failed") . ' - ' . _("abort");
    187187                    $retVal = $this->login($login,$pass);
    188188                    return $retVal;
    189189                } else {
     
    202202        // the number of messages.)
    203203
    204204        if( !isset($this->FP) ) {
    205             $this->ERROR = _("POP3 login:") . ' ' . _("No connection to server");
     205            $this->ERROR = "POP3 login: " . _("No connection to server");
    206206            return false;
    207207        } else {
    208208            $fp = $this->FP;
     
    227227        //  only the header information, and none of the body.
    228228
    229229        if(!isset($this->FP)) {
    230             $this->ERROR = _("POP3 top:") . ' ' . _("No connection to server");
     230            $this->ERROR = "POP3 top: " . _("No connection to server");
    231231            return false;
    232232        }
    233233        $this->update_timer();
     
    243243        }
    244244        if(!$this->is_ok($reply))
    245245        {
    246             $this->ERROR = _("POP3 top:") . ' ' . _("Error ") . "[$reply]";
     246            $this->ERROR = "POP3 top: " . _("Error ") . "[$reply]";
    247247            return false;
    248248        }
    249249
     
    269269
    270270        if(!isset($this->FP))
    271271        {
    272             $this->ERROR = _("POP3 pop_list:") . ' ' . _("No connection to server");
     272            $this->ERROR = "POP3 pop_list: " . _("No connection to server");
    273273            return false;
    274274        }
    275275        $fp = $this->FP;
     
    297297            }
    298298            if(!$this->is_ok($reply))
    299299            {
    300                 $this->ERROR = _("POP3 pop_list:") . ' ' . _("Error ") . "[$reply]";
     300                $this->ERROR = "POP3 pop_list: " . _("Error ") . "[$reply]";
    301301                return false;
    302302            }
    303303            list($junk,$num,$size) = preg_split('/\s+/',$reply);
     
    308308        if(!$this->is_ok($reply))
    309309        {
    310310            $reply = $this->strip_clf($reply);
    311             $this->ERROR = _("POP3 pop_list:") . ' ' . _("Error ") .  "[$reply]";
     311            $this->ERROR = "POP3 pop_list: " . _("Error ") .  "[$reply]";
    312312            return false;
    313313        }
    314314        $MsgArray = array();
     
    320320            $line = $this->strip_clf($line);
    321321            if(ereg("^\.",$line))
    322322            {
    323                 $this->ERROR = _("POP3 pop_list:") . ' ' . _("Premature end of list");
     323                $this->ERROR = "POP3 pop_list: " . _("Premature end of list");
    324324                return false;
    325325            }
    326326            list($thisMsg,$msgSize) = preg_split('/\s+/',$line);
     
    343343
    344344        if(!isset($this->FP))
    345345        {
    346             $this->ERROR = _("POP3 get:") . ' ' . _("No connection to server");
     346            $this->ERROR = "POP3 get: " . _("No connection to server");
    347347            return false;
    348348        }
    349349
     
    356356
    357357        if(!$this->is_ok($reply))
    358358        {
    359             $this->ERROR = _("POP3 get:") . ' ' . _("Error ") . "[$reply]";
     359            $this->ERROR = "POP3 get: " . _("Error ") . "[$reply]";
    360360            return false;
    361361        }
    362362
    363363        $count = 0;
    364364        $MsgArray = array();
    365365
    366         $line = "";
     366        $line = fgets($fp,$buffer);
    367367        while ( !ereg("^\.\r\n",$line))
    368368        {
    369             $line = fgets($fp,$buffer);
    370             if (preg_match("/^\s+/", $line) && $count > 0) {
    371                 $MsgArray[$count-1] .= $line;
    372                 continue;
    373             }
    374             if(empty($line))    { break; }
    375 
     369            if ( $line{0} == '.' ) { $line = substr($line,1); }
    376370            $MsgArray[$count] = $line;
    377371            $count++;
     372            $line = fgets($fp,$buffer);
     373            if(empty($line))    { break; }
    378374        }
    379375        return $MsgArray;
    380376    }
     
    387383        $last = -1;
    388384        if(!isset($this->FP))
    389385        {
    390             $this->ERROR = _("POP3 last:") . ' ' . _("No connection to server");
     386            $this->ERROR = "POP3 last: " . _("No connection to server");
    391387            return $last;
    392388        }
    393389
    394390        $reply = $this->send_cmd("STAT");
    395391        if(!$this->is_ok($reply))
    396392        {
    397             $this->ERROR = _("POP3 last:") . ' ' . _("Error ") . "[$reply]";
     393            $this->ERROR = "POP3 last: " . _("Error ") . "[$reply]";
    398394            return $last;
    399395        }
    400396
     
    417413
    418414        if(!isset($this->FP))
    419415        {
    420             $this->ERROR = _("POP3 reset:") . ' ' . _("No connection to server");
     416            $this->ERROR = "POP3 reset: " . _("No connection to server");
    421417            return false;
    422418        }
    423419        $reply = $this->send_cmd("RSET");
     
    427423            //  response - if it ever does, something truely
    428424            //  wild is going on.
    429425
    430             $this->ERROR = _("POP3 reset:") . ' ' . _("Error ") . "[$reply]";
     426            $this->ERROR = "POP3 reset: " . _("Error ") . "[$reply]";
    431427            @error_log("POP3 reset: ERROR [$reply]",0);
    432428        }
    433429        $this->quit();
     
    451447
    452448        if(!isset($this->FP))
    453449        {
    454             $this->ERROR = _("POP3 send_cmd:") . ' ' . _("No connection to server");
     450            $this->ERROR = "POP3 send_cmd: " . _("No connection to server");
    455451            return false;
    456452        }
    457453
    458454        if(empty($cmd))
    459455        {
    460             $this->ERROR = _("POP3 send_cmd:") . ' ' . _("Empty command string");
     456            $this->ERROR = "POP3 send_cmd: " . _("Empty command string");
    461457            return "";
    462458        }
    463459
     
    477473
    478474        if(!isset($this->FP))
    479475        {
    480             $this->ERROR = _("POP3 quit:") . ' ' . _("connection does not exist");
     476            $this->ERROR = "POP3 quit: " . _("connection does not exist");
    481477            return false;
    482478        }
    483479        $fp = $this->FP;
     
    514510        //  Array element 0 will contain the total number of msgs
    515511
    516512        if(!isset($this->FP)) {
    517             $this->ERROR = _("POP3 uidl:") . ' ' . _("No connection to server");
     513            $this->ERROR = "POP3 uidl: " . _("No connection to server");
    518514            return false;
    519515        }
    520516
     
    526522            $reply = $this->send_cmd($cmd);
    527523            if(!$this->is_ok($reply))
    528524            {
    529                 $this->ERROR = _("POP3 uidl:") . ' ' . _("Error ") . "[$reply]";
     525                $this->ERROR = "POP3 uidl: " . _("Error ") . "[$reply]";
    530526                return false;
    531527            }
    532528            list ($ok,$num,$myUidl) = preg_split('/\s+/',$reply);
     
    549545            if($this->DEBUG) { @error_log("POP3 SEND [$cmd] GOT [$reply]",0); }
    550546            if(!$this->is_ok($reply))
    551547            {
    552                 $this->ERROR = _("POP3 uidl:") . ' ' . _("Error ") . "[$reply]";
     548                $this->ERROR = "POP3 uidl: " . _("Error ") . "[$reply]";
    553549                return false;
    554550            }
    555551
     
    582578
    583579        if(!isset($this->FP))
    584580        {
    585             $this->ERROR = _("POP3 delete:") . ' ' . _("No connection to server");
     581            $this->ERROR = "POP3 delete: " . _("No connection to server");
    586582            return false;
    587583        }
    588584        if(empty($msgNum))
    589585        {
    590             $this->ERROR = _("POP3 delete:") . ' ' . _("No msg number submitted");
     586            $this->ERROR = "POP3 delete: " . _("No msg number submitted");
    591587            return false;
    592588        }
    593589        $reply = $this->send_cmd("DELE $msgNum");
    594590        if(!$this->is_ok($reply))
    595591        {
    596             $this->ERROR = _("POP3 delete:") . ' ' . _("Command failed ") . "[$reply]";
     592            $this->ERROR = "POP3 delete: " . _("Command failed ") . "[$reply]";
    597593            return false;
    598594        }
    599595        return true;
     
    630626        $length = strlen($server_text);
    631627        for($count =0; $count < $length; $count++)
    632628        {
    633             $digit = substr($server_text, $count, 1);
    634             if (!empty($digit)) {
     629            $digit = substr($server_text,$count,1);
     630            if(!empty($digit))            {
    635631                if( (!$outside) && ($digit != '<') && ($digit != '>') )
    636632                {
    637633                    $banner .= $digit;
     
    651647    }
    652648
    653649}   // End class
    654 
    655650?>