Sähköpostilaskun lähetys ei onnistu (MLInvoice 1.16.1, PHP 5.4.45)

Started by kotsku, 03.04.20 - klo:18:33

Previous topic - Next topic

kotsku

Hei!

Olisiko tiedossa ongelmaa MLInvoice 1.16.1 ja PHP 5.4:n välillä.

MLInvoice päivitetty versiosta 1.11.1

Sähköpostilaskun lähetys tökkää valkoiseen sivuun ja jättää Error Logiin seuraavan virheen:
PHP Fatal error:  Can't use function return value in write context in /home/asiakkaat/d/domain.com/public_html/laskutus/invoice_printer_email_trait.php on line 50, referer: http://domain.com/laskutus/index.php?func=open_invoices&list=invoice&form=invoice&listid=resultlist_unpaid_invoices&id=511

Kokeiltu myös sähköpostikuitti, sähköpostilasku (eng.) ja sähköpostitilausvahvistus.

Lisäksi kokeiltu vaihtaa invoice_printer_email_trait.php -tiedostoa.
- Kokeillut versiot GitHubista päivämäärillä 25.7.2018 sekä uusin (02.04.2020)

Kaikilla törmää samaan ongelmaan.

ps. Kiitos loistavasta softasta..

Terveisin tyytyväinen käyttäjä vuodesta 2012!

ele

Onko sulla joku erityinen syy käyttää kohta 5 vuotta vanhaa PHP-versiota? Uudemmilla toimii ihan ok, eli helpoin ratkaisu olisi päivitys? Tältä pohjalta syytä voisi lähteä etsimään: https://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/12770530#12770530 .

Edit: Sori, asennusohjeen mukaan ton 1.16.1 pitäisi vielä tukea PHP 5.4:ää, mutta näköjään ei tue. Päivitys edelleen helpoin ratkaisu jos vain suinkin mahdollista.

kotsku

Tällä hetkellä käytössä oleva webhotelli tukee vain PHP 5.4:ää.

Webhotelli pitäisi päivittää ja siihen asennetut softat pitäisi siirtää uudelle palvelimelle, mutta aikatauluongelmien vuoksi homma etenee hitaasti.

ele

Sitten vaan vanhempia versioita kokeilemaan. Eiköhän joku väliltä 1.11.1 - 1.16.1 toimi: https://github.com/emaijala/MLInvoice/releases .

Ere Maijala

Bugihan siinä, rakenne ei toimi PHP 5.4:lla. Suosittelisin ensisijaisesti vaatimaan webhotellilta ryhtiliikettä, PHP 5.4 on niin vanha, että hirvittää. Ongelman saattaa saada korjattua vaihtamalla ko. tiedostosta rivin 50, joka siis näyttää tällaiselta (tuon siis pitäisi toimia, mutta en ole testannut):


                if (!empty(trim($contact['contact_person']))) {


Tähän muotoon:


                $contactPerson = trim($contact['contact_person']);
                if (!empty($contactPerson)) {

kotsku

Moi!

Loistavaa! Ongelma korjaantui muuttamalla rivin 50 koodi...

Webhotellipalvelun tarjoajalta saisi uudemman palvelimen / webhotellipalvelun käyttöön, kunhan ehtisi siirtää kaikki palvelimella toimivat ohjelmistot uudelle alustalle.
Käytössä oleva palvelin poistuu käytöstä heti kun kaikki webhotellit on siirretty uudemmille.

Ja palveluntarjoajaa ei viitsi syyttää asiasta kuin ei palvelustakaan maksa kun domainit.  :)

Quote from: Ere Maijala on 04.04.20 - klo:10:03
Bugihan siinä, rakenne ei toimi PHP 5.4:lla. Suosittelisin ensisijaisesti vaatimaan webhotellilta ryhtiliikettä, PHP 5.4 on niin vanha, että hirvittää. Ongelman saattaa saada korjattua vaihtamalla ko. tiedostosta rivin 50, joka siis näyttää tällaiselta (tuon siis pitäisi toimia, mutta en ole testannut):


                if (!empty(trim($contact['contact_person']))) {


Tähän muotoon:


                $contactPerson = trim($contact['contact_person']);
                if (!empty($contactPerson)) {