Elxis CMS Forum

Ελληνικό Forum => Πρόσθετα => Topic started by: nikos13 on September 17, 2007, 18:04:58

Title: Joomlastats
Post by: nikos13 on September 17, 2007, 18:04:58
Έχω περάσει το joomlastats και αντιμετωπίζω ένα μικρό πρόβλημα.

Όταν κάποιος μπαίνει στη σελίδα ( www.eidisis.gr ) από ένα λινκ, χωρίς να την πληκτρολογεί ο ίδιος στον browser του βγάζει το εξής μήνυμα πάνω πάνω :
Code: [Select]
PHP WARNING 
PHP: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
uri: index.php
path: /components/com_frontpage/frontpage.php
version: Elxis 2006.4 Stable rev1080 [ Nestor ] 04-December-2006 23:08 GMT+2
WARNING(2): /var/www/vhosts/eidisis.gr/httpdocs/components/com_joomlastats/joomlastats.inc.php, line 867

Στο αρχείο joomlastats.inc.php στις γραμμές που παρουσιάζεται το πρόβλημα έχει τον εξής κώδικα :
Code: [Select]
function regKeyWords($url)
{
global $database;

$kwrds = '';
$sql = "SELECT * FROM #__jstats_search_engines";
$database->setQuery($sql);
$rs = $database->query();

[b]867[/b]       while ($row = mysql_fetch_array($rs))
...........

Μπορεί κάποιος να με βοηθήσει να διορθώσω το πρόβλημα?
Title: Re: Joomlastats
Post by: datahell on September 17, 2007, 19:30:32
Το component είναι ΜΗ-ΣΥΜΒΑΤΟ με το Elxis και σου συστήνω να ΜΗΝ το χρησιμοποιήσεις. Δεν έχει νόημα να διορθώσεις τη συγκεκριμένη γραμμή όταν όλο το component είναι εντελώς άκυρο για το Elxis (Το κατέβασα και το είδα λίγο).
Title: Re: Joomlastats
Post by: nikos13 on September 17, 2007, 19:42:32
Καμιά πρόταση για κάποιο παρόμοιο component στατιστικών ?
Title: Re: Joomlastats
Post by: ArXoS on September 19, 2007, 01:21:58
astatsPRO
Title: Re: Joomlastats
Post by: nikos13 on September 19, 2007, 13:45:01
To έχεις δοκιμάσει? Δουλεύει απροβλημάτιστα ?
Title: Re: Joomlastats
Post by: ArXoS on September 20, 2007, 16:45:33
δουλευει στο frond page, αλλα δε φαίνεται να δουλεύει καλά στο admin panel και τις παραμέτρους δημοσίευσης τις περνάω με το χέρι στη βάση δεδομένων
Title: Re: Joomlastats
Post by: datahell on September 20, 2007, 19:35:14
Άντε οργανωθείτε και αρχίστε να δουλεύετε πάνω σε component για το elxis! Σε κάνα 2μηνο θα έχετε και software repository (μάλλον το EDir) πάνω στο elxis.org όπου θα μπορείτε να ανεβάζετε τα project σας.
Title: Re: Joomlastats
Post by: nikos13 on September 20, 2007, 20:40:01
Αν τελείωνε εκείνος ο compatibility guide θα μας διευκόλυνε πάρα πολύ. Υπάρχουν αρκετά πολύ καλά components-modules για joomla και όταν ολοκληρωθεί ο compatibility guide θα μετατρέψω όσο περισσότερα μπορώ.

Ξερώ ότι αυτό τον καιρό ασχολείστε αποκλειστικά με το Elxis 2008 οπότε κάνω υπομονή :)
Σχετικά με τον compatibilty guide κάπου μεσα στο φορουμ διαβασα ότι τον έχεις γράψει στα ελληνικά και σιγά σιγά τον μεταφράζεις. Εάν θέλεις βοηθεία στη μετάφραση θα μπορούσα να μεταφράσω και γω κάποια κεφάλαια, καθώς μόλις τελειώσα με την εξεταστική μου και έχω άφθονο ελεύθερο χρόνο.
Title: Re: Joomlastats
Post by: datahell on September 20, 2007, 23:49:03
Το έχω γράψει στα Ελληνικά αλλά δεν είναι ολοκληρωμένο. Έχω γράψει μόνο ένα 20-25%... και γενικά το θέμα είναι ψιλό-τεράστιο. Για να είναιο πλήρες ένα τέτοιο πράγμα θέλει να γράψω ένα ολόκληρο βιβλίο... Το forum πάντως περιέχει αρκετές πληροφορίες  και δίνει κατευθυντήριες γραμμές που σε συνδυασμό με το ίδιο τον κώδικα του elxis που μπορεί να είναι ως παράδειγμα καθώς και με το manual του adodb (αν χρειαστεί) μπορεί να οδηγήσει κάποιον να φτιάξει απόλυτα συμβατό με το Elxis λογισμικό.

Μπορείτε να αντιπαραβάλλετε ένα κοινό πχ module των Elxis και Mambo/joomla για να δείτε τις διαφορές στον κώδικα. Η περίπτωση των module είναι η απλούστερη γι αυτό συνιστάτε να ξεκινήσετε από εκεί. Οι κύριες διαφορές είναι στα queries προς τη βάση (adodb), στη γλώσσα και στο χειρισμό της (σύστημα πολυγλωσσίας του Elxis), στο σύστημα πρόσβασης (σύστημα πρόσβασης του Elxis), στο χειρισμό των strings (κλάση eUTF) και στο χειρισμό αρχείων (file manager). Για όλα αυτά κάντε την παραπάνω αντιπαραβολή σε συνδυασμό με ότι κατά καιρούς έχουμε δημοσιεύσει και θα βγάλετε άκρη πιστεύω εύκολα. Δεν είναι κάτι τραγικό, ούτε δύσκολο, και εμείς εδώ είμαστε για ερωτήσεις.
Title: Re: Joomlastats
Post by: nikos13 on September 21, 2007, 12:41:56
Οκ θα αρχίσω συγκρίνοντας τις 2 εκδόσεις του Letterman και θα μαζέψω όσες διαφορές βρίσκω σε ένα αρχείο. Στη συνέχεια σκέφτομαι να συγκρίνω και τον κώδικα των 2 CMS(τα σημεία που ανέφερες κυρίως) για να έχω μια πιο ολοκληρωμένη εικόνα.

Νομίζω πως το 1ο component που θα προσπαθήσω να μετατρέψω θα είναι το joomlastats καθώς λείπει κάτι τέτοιο από το elxis

Παρ'όλα αυτά συνεχίζω να πιστεύω πως πρέπει να ολοκληρωθεί ο οδηγός συμβατότητας
Title: Re: Joomlastats
Post by: nikos13 on September 24, 2007, 20:39:38
Έχω μετατρέψει σχεδόν όλο το joomlastats.inc.php, ελπίζω σωστά. Μόλις το ολοκληρώσω θα το ανεβάσω για να το δειτε εάν είναι δυνατόν και να μου πείτε που έχω κάνει λάθος.

Έχω κολλήσει όμως στο σημείο που αναφέρω στο 1ο post. Συγκεκριμένα σκέφτηκα να αντικαταστήσω τον κώδικα που έβαλα στο 1ο ποστ με τον παρακάτω:

Code: [Select]
function regKeyWords($url)
{
global $database;
$kwrds = '';
$sql = "SELECT * FROM #__jstats_search_engines";
$results = $database->GetAll($sql);

foreach ($results AS $result)

To θέμα είναι πως θα κάνω την function Getall() της Adodb να δουλέψει αφού δεν συμπεριλαμβάνεται στο database.php ???
Title: Re: Joomlastats
Post by: datahell on September 26, 2007, 20:29:30
Μην κολλάς στο GetAll.

Χρησιμοποίησε αυτό:

$sql = "SELECT * FROM #__jstats_search_engines";
$database->setQuery($sql);
$results = $database->loadObjectList();

foreach ($results as $result) {
όπου τα στοιχεία για κάθε column τα παίρνεις από το object έτσι (Πχ για ένα υποθετικό με όνομα name): $result->name;
}
Title: Re: Joomlastats
Post by: nikos13 on September 26, 2007, 22:37:01
Οκ σ'ευχαριστώ πολύ.  :)

Τα είχα παρατήσει τις 2 τελευταίες μέρες γιατί έτυχαν κάτι δουλειές, ελπίζω μέχρι την άλλη βδομάδα να το έχω τελειώσει.
Title: Re: Joomlastats
Post by: nikos13 on September 27, 2007, 12:54:05
Έτοιμο το joomlastats.inc.php  :)

Εάν βρεις χρόνο datahell ριξτου μια ματιά για τυχόν λάθη ή παραλείψεις που έχω. Εχω και μια ερώτηση : για να δουλέψει σωστά η κλάση eutf του elxis πρέπει να αλλάξω και το Collation στους πίνακες της mysql (σε utf8_general_ci?), έτσι δεν είναι?

[old attachment deleted by admin]
Title: Re: Joomlastats
Post by: datahell on September 27, 2007, 13:27:27
Το κοίταξα πάρα πολύ γρήγορα και εννοείται δεν δοκίμασα ούτε και κοίταξα τη λειτουργικότητά του. 2-3 πραγματάκια που πρόσεξα:

Την κλάση eUTF την χρησιμοποιείς μόνο όταν την χρειάζεσαι όχι πάντα γιατί το script σου θα γίνει πολύ αργό. Αν το string σου είναι Latin-1 ή αριθμός δεν χρειάζεται να χρησιμοποιήσεις την eUTF.

Παράδειγμα
Αντί για:
eUTF::utf8_explode('.', $remote_addr);
χρήση:
explode('.', $remote_addr);
αφού το remote address είναι μία ip!

Το eUTF δεν έχει σχέση με τη βάση αλλά με την php. Διορθώνει μία αδυναμία της php να χειριστεί σωστά multi-byte χαρακτήρες.
Τα πάντα στη βάση σου πρέπει να είναι utf-8, δεν το συζητάμε αυτό!

Χρησιμοποιείς συναρτήσεις της Mysql στα querries Οπότε το script σου θα παίζει μόνο σε Elxis που δουλεύουν με Mysql. Θα μπορούσες να αλλάξεις τα querries ώστε να παίζουν με κάθε τύπο βάσης δεδομένων. ΠΧ:

αντί για αυτό:
$sql = "SELECT id FROM #__jstats_visits ".
"WHERE month =  MONTH(DATE_ADD(NOW(), INTERVAL ".$this->hourdiff." HOUR)) ".
...........
αυτό:
$month = date('m', time() + $this->hourdiff * 3600);
$sql = "SELECT id FROM #__jstats_visits WHERE month =  '$month'".
............

Το σύστημα γλώσσας του joomstats δεν ακολουθεί τα πρότυπα του Elxis. Το component σου δεν θα αλλάζει γλώσσα αυτόματα όταν αλλάζει το elxis αλλά θα είναι μόνιμα στα αγγλικά. Σχετικά: enable_i18n, $lang στη url και στο sef.

Title: Re: Joomlastats
Post by: nikos13 on September 27, 2007, 13:57:25
Σχετικά με την κλάση eUTF το είχα σκεφτεί και εγώ να μην την βάλω σε όλες τις συναρτήσεις. Ευχαριστώ για την επισήμανση.

Τα υπόλοιπα θα προσπαθήσω να τα διορθώσω αν και με τις βάσεις δεδομένων θα δυσκολευτώ λίγο.