| Ajouter des sites (on the fly) [Résolu] [message #17420] |
Mon, 30 July 2007 10:55  |
lemacbacon Messages: 5 Registered: July 2007 Location: Narbonne |
Junior Member |
|
|
Bonjour à tous,
Tout d'abord merci aux développeurs de phpmyvisit pour leur (enorme) boulot !
Bon je vous présente le problème.
Je développe actuellement un portail internet qui permettra à terme d'héberger des sites sous la forme de sous-domaine.
J'aimerais intégré à ce service une solution de statistique (j'ai retenu phpmyvisit !). L'idée serait de pouvoir ajouter le site créé à la volée par le client dans la base de donnée de phpmv2, sans passer par l'interface d'administration.
J'ai identifié deux tables :
"site" => contient le nom, le logo.
"site_url" => contient l'id du site et les urls correspondante.
J'ajoute donc l'id du site de mon système manuellement dans les deux tables citées plus haut. Cela fonctionne bien tant que le système n'archive pas les données.
En effet lorsque je me connecte à l'interface d'administration, j'ai une erreur lorsque je veux consulter les stats du site ajouté manuellement.
Fatal error: Call to a member function getMinDay() on a non-object in /services/phpmv2/core/include/Archive.class.php on line 334
Sachant que lors de l'installation, j'ai ajouté le site portail et qu'il porte l'id numéro 1, j'ai remplacé l'id du site par 2.
L'erreur disparait mais je n'ai plus de stats associé au site (logique puisque elle ne correspond plus a rien dans les archives ou dans la table visit).
J'aimerais savoir si il y a une astuce pour ajouter dynamiquement un site dans le système de site de phpmyvisit ou si j'avais oublié une table super importante.
Merci d'avoir pris le temps de me lire !
Bonne journée, cordialement.
Clément.
|
|
|
| Re : Ajouter des sites (on the fly) [message #17422] |
Mon, 30 July 2007 11:30   |
sylvainbbox Messages: 9 Registered: May 2007 |
Junior Member |
|
|
Bonjour,
J'ai développé une fonction permettant d'ajouter un site à phpMyVisites sans passer par l'interface.
Les éléments nécessitant un ajout ou une mise à jour sont les suivants :
- table phpmv_site
- table phpmv_site_url
- table phpmv_users_link_groups (si autorise par exemple un user particulier ou bien anonymous)
- phpmv_ip_ignore (si des IPs ignorées sont ajoutées)
- mise à jour du fichier phpmv2/config/site_info.php
- mise à jour du fichier phpmv2/config/site_urls.php
- mise à jour du fichier phpmv2/config/site_first_date.php
J'espère que cela pourra vous aider.
Le problème que vous avez doit venir probablement du fait que les fichiers de config ne sont pas à jour.
Cordialement,
Sylvain
|
|
|
| Re : Ajouter des sites (on the fly) [message #17423] |
Mon, 30 July 2007 11:38   |
lemacbacon Messages: 5 Registered: July 2007 Location: Narbonne |
Junior Member |
|
|
Bonjour,
Merci pour votre réponse, j'ai ajouté le(s) site(s) dans les fichiers de config
- site_first_date.php
- site_info.php
- site_urls.php
et l'erreur que je cite plus haut à disparu. Cependant, je trouve bizarre qu'il faille faire une double manipulation des données ( à la fois dans la BDD et dans les fichiers de config).
Savez-vous quel fichier fait appel à ces fichiers de configuration pour que je puisse lui fournir via une requete la liste des sites à "écouter" !
Merci
|
|
|
| Re : Ajouter des sites (on the fly) [message #17424] |
Mon, 30 July 2007 11:59   |
sylvainbbox Messages: 9 Registered: May 2007 |
Junior Member |
|
|
Bonjour,
Content que votre erreur soit résolue. Concernant le fichier qui effectue cette mise à jour, je ne le connaît pas. En fait je gère moi-même la mise à jour de ces fichiers.
Si cela vous intéresse je peut toujours vous transmettre la fonction que j'ai développé. Mais je vais quand même regarder quelle fonction est appelée (en debut d'aprerm).
Cordialement,
Sylvain
|
|
|
|
| Re : Ajouter des sites (on the fly) [message #17426] |
Mon, 30 July 2007 13:40   |
sylvainbbox Messages: 9 Registered: May 2007 |
Junior Member |
|
|
J'ai envoyé par MP les fonctions nécessaires.
Cordialement,
Sylvain
|
|
|
| Re : Ajouter des sites (on the fly) [message #17430] |
Mon, 30 July 2007 15:34   |
lemacbacon Messages: 5 Registered: July 2007 Location: Narbonne |
Junior Member |
|
|
Bonjour à tous,
En cherchant mieux et avec l'aide de Sylvain, j'ai réussit à modifier le bon fichier (core/include/Site.class.php) pour qu'il aille chercher les sites, non pas dans la base de phpmyvisit mais dans la mienne !
Merci encore.
Bonne fin de journée.
Edit :
Pour ceux qui voudraient faire la même chose et utiliser cet outil avec leurs applications. Je vous laisse les lignes du fichier que j'ai modifié :
Ligne 540 - core/include/Site.class.php
else
{
// Modifications
// On vide la table phpmv_site_url
$r = query("truncate table ".T_SITE_URL);
// On remplie la table avec les donnees perso (sous_domaine)
$r = query("insert into ".T_SITE_URL." (idsite, url) (select idabonnement as idsite, sous_domaine as url from abonnement where etat_abonnement = 'active' and sous_domaine <> '')");
// On remplie la table avec les donnees perso (domaine)
$r = query("insert into ".T_SITE_URL." (idsite, url) (select idabonnement as idsite, domaine as url from abonnement where etat_abonnement = 'active' and domaine <> '')");
// Fin du patch perso
(...)
Ligne 695 - core/include/Site.class.php
else
{
// Modifications perso
// On vide la table phpmv_site
$r = query("truncate table ".T_SITE);
// On la rempli directement avec les données perso
$r = query("insert into ".T_SITE." (select idabonnement as idsite,sous_domaine as name, 'pixel.gif' as logo, 'none' as params_choice, '' as params_names from abonnement where etat_abonnement = 'active' and sous_domaine <> '')");
// Fin du patch perso
(...)
=> Pour tout mettre à jour, il suffit de supprimer les fichiers de configuration :
/phpmv2/config/site_first_date.php
/phpmv2/config/site_info.php
/phpmv2/config/site_urls.php
Voilà.
A bientôt sûrement.
Cordialement, Clément.
|
|
|
| Re: Re : Ajouter des sites (on the fly) [message #17459] |
Tue, 31 July 2007 10:59   |
Matthieu Messages: 2009 Registered: October 2003 Location: india chennai |
Senior Member |
|
|
Pour votre information ce genre de joyeuseries sera cruellement simple dans la prochaine version
Matthieu
Check out Piwik
|
|
|
| Re : Re: Re : Ajouter des sites (on the fly) [message #17462] |
Tue, 31 July 2007 11:24   |
lemacbacon Messages: 5 Registered: July 2007 Location: Narbonne |
Junior Member |
|
|
Tant mieux !
Bon courage pour la suite.
|
|
|
| Re: Re : Re: Re : Ajouter des sites (on the fly) [message #18048] |
Fri, 07 December 2007 10:13   |
vrossign Messages: 1 Registered: December 2007 |
Junior Member |
|
|
Bonjour, je suis intéressé par le même genre de fonctionnalité à savoir ajouter depuis un de mes scripts un site à phpmyvisites. Après lecture des posts de ce topic, je n'ai pas bien cerné la démarche.
Si je mets à jour la table phpmv_site et phpmv_site_url, et que je supprime les fichiers /phpmv2/config/site_first_date.php, /phpmv2/config/site_info.php, /phpmv2/config/site_urls.php alors il devrait les regénérer et prendre en compte mes changements?
Merci pour votre aide.
|
|
|
| Re : Ajouter des sites (on the fly) [Résolu] [message #18265] |
Thu, 24 January 2008 11:42   |
maximenet Messages: 1 Registered: January 2008 Location: clermont-ferrand |
Junior Member |
|
|
Bonjour,
| Matthieu |
Pour votre information ce genre de joyeuseries sera cruellement simple dans la prochaine version
|
prochaine version c'est à dire ? y'a une date approximatif de prévus ?
http://www.gigadi.com
|
|
|
| Re: Re : Ajouter des sites (on the fly) [Résolu] [message #18288] |
Thu, 31 January 2008 13:15  |
Matthieu Messages: 2009 Registered: October 2003 Location: india chennai |
Senior Member |
|
|
Je parle en fait de Piwik, la nouvelle version de phpmyvisites. Il y a une API regardez par exemple la partie "Module SitesManager" sur la documentation de l'api
Matthieu
Check out Piwik
|
|
|