Search the Community
Showing results for tags 'create_function'.
-
Presta 1.7.5 vs PHP V 7.2 Γεια χαρά, πάει πολύς καιρός που έγραψα κάτι εδώ. Υπάρχει ένα θέμα με κάποιες εντολές php του κώδικα του Presta (1.7.5) που είναι deprecated στην version 7.2 της PHP. Για παράδειγμα, η create_function που υπάρχει τουλάχιστον στο module gamification (αν όχι κι αλλού). Μια που τα overrides δεν δουλεύουν και με τον καλύτερο τρόπο στην 1.7 (ή και καθόλου), δυστυχώς θα πρέπει να γίνουν κάποιες αλλαγές στον κώδικα, τουλάχιστον μέχρι να αλλαχθούν σε κάποια επόμενη αναβάθμιση. Για το συγκεκριμένο module λοιπόν, η αλλαγή που έκανα εγώ και μου δούλεψε ήταν η αντικατάσταση των γραμμών: $content = preg_replace_callback('#\{config\}([a-zA-Z0-9_-]*)\{/config\}#', create_function('$matches', 'return Configuration::get($matches[1]);'), $content); $content = preg_replace_callback('#\{link\}(.*)\{/link\}#', create_function('$matches', 'return Context::getContext()->link->getAdminLink($matches[1]);'), $content); $content = preg_replace_callback('#\{employee\}(.*)\{/employee\}#', create_function('$matches', 'return Context::getContext()->employee->$matches[1];'), $content); $content = preg_replace_callback('#\{language\}(.*)\{/language\}#', create_function('$matches', 'return Context::getContext()->language->$matches[1];'), $content); $content = preg_replace_callback('#\{country\}(.*)\{/country\}#', create_function('$matches', 'return Context::getContext()->country->$matches[1];'), $content); σε: $content = preg_replace_callback('#\{config\}([a-zA-Z0-9_-]*)\{/config\}#', function($matches) { return Configuration::get($matches[1]); }, $content); $content = preg_replace_callback('#\{link\}(.*)\{/link\}#', function($matches) { return Context::getContext()->link->getAdminLink($matches[1]); }, $content); $content = preg_replace_callback('#\{employee\}(.*)\{/employee\}#', function($matches) { return Context::getContext()->employee->$matches[1]; }, $content); $content = preg_replace_callback('#\{language\}(.*)\{/language\}#', function($matches) {return Context::getContext()->language->$matches[1]; }, $content); $content = preg_replace_callback('#\{country\}(.*)\{/country\}#', function($matches) { return Context::getContext()->country->$matches[1]; }, $content); Σίγουρα υπάρχουν κι άλλες αλλαγές που μπορούν να γίνουν, το topic είναι ανοιχτό για όποιον θέλει να τις μοιραστεί με τους ενδιαφερόμενους.