Πιθανό σφάλμα του Joomla στο αρχείο uri.php
Σάββατο, 10 Ιούλιος 2010 12:25
Πριν από μία εβδομάδα δοκίμαζα 2 γνωστές Joomla CCK Εφαρμογές, το JoomlaWorks Κ2 και το Zoo 2.0 της YOOtheme. Επειδή ήθελα να τις δοκιμάσω για να δω πώς θα τα καταφέρουν με σελίδες πολυγλωσσικού περιεχομένου έγραψα μερικά άρθρα στα ελληνικά και τα δήλωσα με κάποια tags (ετικέτες επισήμανσης - επίσης στα ελληνικά). Τα tags που περιείχαν το ελληνικό γράμμα "ρ" δεν συμπεριφέρονταν όπως θα έπρεπε. Τι εννοώ με αυτό, όταν έκανα κλικ σε αυτά, εμφανίζονταν μια κενή σελίδα περιεχομένου (δεν βρέθηκαν άρθρα), αν και υπήρχαν άρθρα σχετιζόμενα με αυτά! Αναρωτιόμουν ποιο θα μπορούσε να είναι το πρόβλημα...
Επικοινώνησα με το Φόρουμ υποστήριξης και για τις δύο εφαρμογές Κ2 και Zoo 2.0 (χωρίς απάντηση μέχρι τώρα) και τους είπα γι 'αυτό. Ο Lefteris Kavadas από το Κ2 φόρουμ μου είπε ότι διαπίστωσε ότι η function _parseURL επιστρέφει κάποιον απροσδιόριστο χαρακτήρα όταν ένα tag έχει το γράμμα "ρ" σ' αυτό. Ξεκίνησα επίσης ένα νήμα στο επίσημο Φόρουμ υποστήριξης του Joomla και τους ρώτησα αν μπορούσαν να βοηθήσουν (χωρίς απάντηση μέχρι τώρα).
Ήμουν τόσο περίεργος για αυτό και αποφάσισα να το διερευνήσω περαιτέρω... τελικά φάνηκε ότι υπάρχει ένα bug στο αρχείο βιβλιοθηκών του Joomla libraries/joomla/environment/uri.php!
Άλλαξα το αρχείο βιβλιοθηκών libraries/joomla/environment/uri.php (Joomla 1.5.18), διαγράφοντας τις ακόλουθες γραμμές κώδικα (ή απλά θέτοντας σχόλιο μπροστά από αυτές): 744,745,769-773. Με τον τρόπο αυτό η λειτουργία _parseURL αναλύει το URL με το "παλαιό" τρόπο σαν να χρησιμοποιούσαμε μια παλαιότερη έκδοση της PHP... και μαντέψτε τι έγινε, το πρόβλημα με τον απροσδιόριστο χαρακτήρα έχει λυθεί! Τώρα όλα τα tags που περιέχουν ελληνικά γράμματα (ιδιαίτερα εκείνα με το γράμμα "ρ") λειτουργούν μιά χαρά.
Δεν είμαι σίγουρος αν αυτή η αλλαγή στον κώδικα λειτουργεί με όλες τις διαφορετικές εκδόσεις της PHP (εγώ το δοκίμασα τοπικά με XAMPP 1.7.3 - PHP 5.3.1 - Joomla 1.5.18), αλλά είμαι σίγουρος ότι θα βοηθήσει όσους είχαν το ίδιο πρόβλημα όπως και εγώ.



Σχόλια
Δεν ξέρω...ίσως να κάνω κάτι λάθος...
Θα το δοκιμάσω και θα επανέλθω!
Thanks for the info
Τροφοδοσία RSS για τα σχόλια αυτού του άρθρου.