Parsed: 108114

  function _data_write($mode=FTP_ASCII, $fp=NULL) {
    $NewLine=$this->_eol_code[$this->OS_local];
    if(is_resource($fp)) $out=0;
    else $out="";
    if(!$this->_passive) {
      $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport);
      $this->_ftp_temp_sock=socket_accept($this->_ftp_data_sock);
      if($this->_ftp_temp_sock===FALSE) {
        $this->PushError("_data_write","socket_accept", socket_strerror(socket_last_error($this->_ftp_temp_sock)));
        $this->ftp_sockets::_data_close();
        return false;
      }
    }
    if(is_resource($fp)) {
      while(!feof($fp)) {
        $block=fread($fp, $this->_ftp_buff_size);
        if(!$this->ftp_sockets::_data_write_block($mode, $block)) return false;
      }
    } elseif(!$this->ftp_sockets::_data_write_block($mode, $fp)) return false;
    return true;
  }