RainLoop / rainloop-webmail

Simple, modern & fast web-based email client
http://rainloop.net
MIT License
4.07k stars 873 forks source link

php8 #2221

Open krchavdarov opened 1 year ago

krchavdarov commented 1 year ago

Hello, dear, i update my php to 8.2.4 and get this error: Deprecated: Creation of dynamic property RainLoop\Actions::$bIsAjax is deprecated in /web/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Actions.php on line 164

Deprecated: Creation of dynamic property RainLoop\Plugins\Manager::$aAjaxFilters is deprecated in /web/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Plugins/Manager.php on line 82 can you help me?

Russell-Lahti commented 1 year ago

I had the same. I had to move to php 8.1 to get it functional.

vuonglequoc commented 1 year ago

I fixed like this: https://github.com/vuonglequoc/rainloop-webmail/commit/3059554b3e5256a4607631cb9aefd4a91464cc0d And it's seem work well now.

Idea: just declare these class properties.

blyamur commented 1 year ago

I fixed like this: vuonglequoc@3059554 And it's seem work well now.

Idea: just declare these class properties.

This method did not help me. I declared private $aAjaxFilters; private $bIsAjax; but the error didn't go away. I even restarted the services. What did I do wrong? The option to downgrade the PHP version is working, but so-so

vuonglequoc commented 1 year ago

I fixed like this: vuonglequoc@3059554 And it's seem work well now. Idea: just declare these class properties.

This method did not help me. I declared private $aAjaxFilters; private $bIsAjax; but the error didn't go away. I even restarted the services. What did I do wrong? The option to downgrade the PHP version is working, but so-so

What is your new error?

(I'm using PHP 8.2.6 + RainLoop 1.17.0 + this fix)

blyamur commented 1 year ago

The error is not new, but the same

Deprecated: Creation of dynamic property RainLoop\Actions::$bIsAjax is deprecated in /www/..../rainloop/v/1.17.0/app/libraries/RainLoop/Actions.php on line 164

Deprecated: Creation of dynamic property RainLoop\Plugins\Manager::$aAjaxFilters is deprecated in /www/..../rainloop/v/1.17.0/app/libraries/RainLoop/Plugins/Manager.php on line 82

Version RainLoop 1.17.0 Version PHP | 8.2.4 and the fixes I gave above If I downgrade the PHP version to 8.1, then everything is fine. This is not critical, of course, but))

mean-cj commented 1 year ago

fast fix bug v1.7.0

sed -ie 's/private $sLogginedUser;/private $sLogginedUser;\n        private $bResponseBufferChanged;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php

sed -ie 's/private $sUpdateAuthToken;/private $sUpdateAuthToken;\n        private $bIsAjax;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Actions.php

sed -ie 's/private $aAdditionalParts;/private $aAdditionalParts;\n        private $aAjaxFilters;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Plugins/Manager.php
krchavdarov commented 1 year ago

fast fix bug v1.7.0

sed -ie 's/private $sLogginedUser;/private $sLogginedUser;\n        private $bResponseBufferChanged;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php

sed -ie 's/private $sUpdateAuthToken;/private $sUpdateAuthToken;\n        private $bIsAjax;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Actions.php

sed -ie 's/private $aAdditionalParts;/private $aAdditionalParts;\n        private $aAjaxFilters;/' \
    /var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/RainLoop/Plugins/Manager.php

after your help, now i get: Fatal error: Cannot redeclare MailSo\Imap\ImapClient::$bResponseBufferChanged in /web/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php on line 85

mean-cj commented 1 year ago

@krchavdarov /web/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php your file already have defined "private $bResponseBufferChanged;

mean-cj commented 1 year ago

PHP 8.2.5 , Rainloop 1.17.0

Please note.

Cannot open the attachments files example .xls (excel) .docx (word) , .pdf ... more. after download file from rainloop file have injection error code to header file.

b>Deprecated</b>:  Creation of dynamic property MailSo\Base\StreamWrappers\Literal::$context is deprecated in <b>/var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Base/StreamWrappers/Literal.php</b> on line <b>65</b><br />

<b>Deprecated</b>:  Creation of dynamic property MailSo\Base\StreamWrappers\Binary::$context is deprecated in <b>/var/www/html/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Base/StreamWrappers/Binary.php</b> on line <b>242</b><br />

image

krchavdarov commented 1 year ago

@krchavdarov /web/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php your file already have defined "private $bResponseBufferChanged;

I don't understand what I should do or am I wrong?

mean-cj commented 1 year ago

@krchavdarov Sorry i note other error on php 8

krchavdarov commented 1 year ago

@krchavdarov Sorry i note other error on php 8

what do you think about my mistake?

Fatal error: Cannot redeclare MailSo\Imap\ImapClient::$bResponseBufferChanged in /web/rainloop/rainloop/v/1.17.0/app/libraries/MailSo/Imap/ImapClient.php on line 85

mean-cj commented 1 year ago

Hi @krchavdarov

Please follow this update. https://github.com/RainLoop/rainloop-webmail/pull/2224

krchavdarov commented 1 year ago

i have tried many things and it doesn't work with php8 I recommend everyone to go to https://snappymail.eu/

xcodrer commented 11 months ago

\rainloop\rainloop\v\1.17.0\app\libraries\RainLoop\Actions.php \rainloop\rainloop\v\1.17.0\app\libraries\RainLoop\Plugins\Manager.php

[\AllowDynamicProperties]

//Above Class

\rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Imap\BodyStructure.php 413 if (0 === strlen((string) $sResult)) { $aParts = $this->SearchAttachmentsParts(); foreach ($aParts as $oPart) { if (0 === \strlen((string) $sResult))

\rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Base\Utils.php 177 (string) $sEncoding) 658 if (0 < \strlen((string) $sIncomingCharset)) 1642 (string) $sUtfString)

\rainloop\rainloop\v\1.17.0\app\libraries\Imagine\Image\Metadata\MetadataBag.php on line 43,52,61,69,76,88.... Above Function

[\ReturnTypeWillChange]

\rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Base\StreamWrappers\Binary.php \rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Base\StreamWrappers\Literal.php \rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Log\Logger.php \rainloop\rainloop\v\1.17.0\app\libraries\Imagine\Exception\RuntimeException.php \rainloop\rainloop\v\1.17.0\app\libraries\MailSo\Imap\Exceptions\NegativeResponseException.php

[\AllowDynamicProperties]

\rainloop\rainloop\v\1.17.0\app\libraries\lessphp\lessc.inc.php

[\AllowDynamicProperties]

line 3205,if (@preg_match line 1331, (int)... protected function coerceColor($value) { switch($value[0]) { case 'color': return $value; case 'raw_color': $c = array("color", 0, 0, 0); $colorStr = substr($value[1], 1); (int) $num = hexdec($colorStr); (int) $width = strlen($colorStr) == 3 ? 16 : 256;

            for ($i = 3; $i > 0; $i--) { // 3 2 1
                (int) $t = $num % $width;
                $num /= $width;

                $c[$i] = $t * (256/$width) + $t * floor(16/$width);
            }

            return $c;

\rainloop\rainloop\v\1.17.0\app\libraries\RainLoop\Providers\Version.php

[\AllowDynamicProperties]

niwid888 commented 10 months ago

me too