Posts Tagged with joomla

posted by qubix on October 10, 2016

Αν μόλις βάλατε το νέο σας template και πατώντας σε οποιοδήποτε article αντί να το δείτε , βλέπετε ένα κουφό σφάλμα

500 - JHtml: :icon not supported. File not found

μην απελπίζεστε, υπάρχει λύση.

Κάνοντας λίγο debugin' το joomla επειδή το ζητά το template, ψάχνει να βρει το αρχείο icon.php στο libraries/joomla/html/ αλλά δεν το βρίσκει. Η λύση λοιπόν είναι να το αντιγράψουμε από το components/com_content/helpers/ στο libraries/joomla/html/ και et voila, παίζουν όλα σωστά!

njoy

posted by qubix on October 31, 2015

Ναι, το joomla 1.5.x είναι αρχαιολογία. Έλα όμως που υπάρχουν ακόμη sites σε αυτό από ανθρώπους που δε θέλουν να τα αναβαθμίσουν, δεν ξέρουν πως ή απλά τα έχουν παρατήσει στο έλεος της μοίρας τους...

Σε ένα τέτοιο site λοιπόν, ξαφνικά αντί για χαρακτήρες, παντού εμφάνισε αγγλικά ερωτηματικά ?????
Τελικά όμως δεν ήταν και τόσο ξαφνικά. Στον server αυτό, για λόγους performance, οι ιδιοκτήτες πήγανε από mysql 5.5 σε mariaDB 10.1 και από τότε και μετά το utf8 πήγε περίπατο στο παλιό αυτό joomla.

Γιατί όμως; Η απάντηση βρέθηκε στο αρχείο:

libraries/joomla/database/database/mysql.php

και συγκεκριμένα στη function hasUTF() στην οποία η γραμμή

return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));

είναι φανερό πως δεν μπορεί να αναγνωρίσει οτιδήποτε μεγαλύτερο του 5.x ως version του όποιου SQL server είναι εν χρήση, και η mariaDB όπως προείπα είναι..10.1..
To ίδιο ακριβώς ισχύει και στο αρχείο:

libraries/joomla/database/database/mysqli.php

Η λύση είναι η αντικατάσταση της εν λόγω γραμμής με την παρακάτω:

return ($verParts[0] >= 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));

Τώρα το αγαπημένο σας παλιό site θα παίξει κανονικά :]

posted by qubix on November 10, 2013

Το K2 όταν ανεβάζουμε ένα βίντεο δεν δημιουργεί thumbnail και ο λόγος είναι πως χρειάζεται κάποιον τρόπο να χειρίζεται τα αρχεία βίντεο ο οποίος δεν υπάρχει εγγενώς στην php. Η λύση είναι η χρήση του ffmpeg utility. Δυστυχώς πρέπει να πειράξουμε τον κώδικα του Κ2..



1) ανοίγουμε το αρχείο administrator/components/com_k2/models/item.php

2) πάμε στη γραμμή:
$row->video = '{'.$filetype.'}'.$row->id.'{/'.$filetype.'}';

3) κάτω από αυτή προσθέτουμε:
$videofile = $savepath.DS.$row->id.'.'.$filetype;
$image = $savepath.DS.$row->id;
passthru("ffmpeg -i $videofile -vframes 1 -ss 00:00:00 $image.jpg",$fvstat);

4) κάνουμε save το αρχείο και στο επόμενο upload θα δούμε τα thumbnails να εμφανίζονται κανονικά!

Η λύση αυτή προϋποθέτει στον server που είναι το site να υπάρχει το ffmpeg και να επιτρέπεται η εντολή της php "passthru"

Η μεταβλητή $fvstat μπορεί να έχει την τιμή 0 ή 1 ανάλογα με το αν εκτελέστηκε η εντολή σωστά η όχι.

Ο λόγος που δουλεύει το παραπάνω snippet είναι επειδή το allvideos plugin του K2 (εγκαθείσταται χωριστά) όταν βρίσκει μια εικόνα με το ίδιο όνομα με του video και στον ίδιο φάκελο, το βάζει ως thumbnail και αυτό ακριβώς είναι που κάνει ο κώδικας, τραβά το πρώτο frame και το σώζει ως jpg με όνομα το όνομα του video.

posted by qubix on November 9, 2011

Ας πούμε πως θέλουμε να δείξουμε την ημερομηνία σε κάτι του στυλ:

Τετάρτη, 4 Νοεμβρίου 2010

Χωρίς να βάλουμε κάποιο plugin ή module, αρκεί να κάνουμε τα εξής:

1) εγκαθιστούμε τα ελληνικά στον φάκελο languages
2) βάζουμε τον παρακάτω κώδικα στο template εκεί που θέλουμε ή ίσως με κάποιο mod_custom


jimport('joomla.utilities.date');
$config =& JFactory::getConfig();
$date = new JDate('now',$config->getValue('config.offset'));
echo $date->toFormat(JText::_('DATE_FORMAT_LC'));

και είμαστε έτοιμοι!

hyperworks