TomPascal
| Pascal Membre
Inscrit le : 08/11/2006
|
# Le 05/09/2012 à 02:53
Un petit "plug-in", si ça peut servir à certains d'entre vous...
Pour ceux qui vendent parfois des volumes (ex: 100.000 affichages vendus au CPM, à écouler sur le mois, répartis uniformément en respectant un caping imposé...).
On sait à l'avance combien on sera payé... et donc combien on gagnera chaque jour que dure la campagne (si on est en mesure d'écouler les volumes commandés évidement).. je n'ai donc pas besoin (dans mon cas) de remonter les stats depuis mon adserver.
Je divise le montant total de la campagne par le nombre de jours qu'elle dure et j'ai ajouté cette classe "Campagnes" à AffiliStats, dans le but de vraiment tout centraliser et pouvoir continuer à voir le CA/jour ou /mois toutes sources confondues (régies, plate-formes, ventes directes...)
Dans require.php :
$regie->setRegie('Campagnes',
array(
'login' => 'pseudo
'passe' => 'xxx',
)
);
(on se fiche des paramètres, il n'y a pas d'authentification)
le fichier ~/AffliliStat/Campagnes.php est le suivant :
<?php
/**
* Campagnes
* -----------------------------------------------------------------------------
*/
class AffiliStat_Campagnes extends AffiliStat implements iAffiliStat
{
var $campagnes;
public function __construct()
{
parent::__construct();
}
public function __destruct()
{
parent::__destruct();
}
/**
* Connexion
*/
public function login()
{
/**
* Connexion
*/
$this->campagnes[]=array(
'nom' => 'Annonceur1',
'debut' => '09/03/2012',
'fin' => '20/3/2012',
'rem' => 98.44,
);
$this->campagnes[]=array(
'nom' => 'Annonceur2',
'debut' => '12/03/2012',
'fin' => '31/03/2012',
'rem' => 156.93,
);
$this->campagnes[]=array(
'nom' => 'Annonceur3',
'debut' => '02/04/2012',
'fin' => '02/04/2012',
'rem' => 74.40,
);
$this->campagnes[]=array(
'nom' => 'Annonceur4',
'debut' => '21/05/2012',
'fin' => '22/06/2012',
'rem' => 59.63,
);
$this->campagnes[]=array(
'nom' => 'Annonceur5',
'debut' => '08/06/2012',
'fin' => '08/07/2012',
'rem' => 31.45,
);
$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '21/08/2012',
'fin' => '31/08/2012',
'rem' => 12.78,
);
$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '04/09/2012',
'fin' => '30/09/2012',
'rem' => 15.56,
);
$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '01/10/2012',
'fin' => '14/10/2012',
'rem' => 11.38,
);
$this->campagnes[]=array(
'nom' => 'Annonceur7',
'debut' => '05/09/2012',
'fin' => '05/10/2012',
'rem' => 09.27,
);
}
/**
* Stats par jour
*/
public function parJour($parDate=NULL, $moinsJour=NULL)
{
if ($moinsJour !== NULL)
{
$parDate = date('d/m/Y',time()-3600*24*$moinsJour);
}
$return = array();
$return[$parDate] = 0;
$dcpr = explode("/", $parDate);
$dcpr = $dcpr[2].$dcpr[1].$dcpr[0];
foreach ($this->campagnes as $campagne){
$ddebut = explode("/", $campagne['debut']);
$ddebut = $ddebut[2].$ddebut[1].$ddebut[0];
$dfin = explode("/", $campagne['fin']);
$dfin = $dfin[2].$dfin[1].$dfin[0];
if($dcpr >= $ddebut && $dcpr<=$dfin){
$return[$parDate]+=$campagne['rem'];
}
}
return $return;
}
/**
* Stats par mois
*/
public function parMois($mois=NULL, $an=NULL, $moinsMois=NULL)
{
if ($moinsMois !== NULL)
{
$leMois = date('m/Y',strtotime('-' . $moinsMois . ' month'));
}
elseif ($mois !== NULL && $an !== NULL)
{
$leMois = $mois.'/'.$an;
}
$return = array();
$return[$leMois] = 0;
foreach ($this->campagnes as $campagne){
$ddebut = explode("/", $campagne['debut']);
$ddebut = $ddebut[2].$ddebut[1].$ddebut[0];
$dfin = explode("/", $campagne['fin']);
$dfin = $dfin[2].$dfin[1].$dfin[0];
for($j=1;$j<=31;$j++){
$dcpr = sprintf("%02d",$j).'/'.$leMois;
$dcpr = explode("/", $dcpr);
$dcpr = $dcpr[2].$dcpr[1].$dcpr[0];
if($dcpr >= $ddebut && $dcpr<=$dfin){
$return[$leMois]+=$campagne['rem'];
}
}
}
return $return;
}
}
A chaque fois qu'une nouvelle campagne vous est attribué, vous ajoutez dans la fonction "login" une valeur pour précision son nom, sa date de début, de fin et ce qu'elle vous rapporte donc "en direct" par jour durant cette période (cf. les exemples fictifs dans le code ci-dessus, il n'y a qu'à adapter le tableau).
Archipel Web Conception, réalisation, référencement de sites internet. |
Maximus32
| Gael Modérateur
Inscrit le : 13/05/2009
|
# Le 17/09/2012 à 17:25
Bon, PublicIdees a fait la même chose que NetAff il y a 2 ans...
A la veille du salon e-commerce, ils mettent à jour leur home page (elle est assez sympa pour une fois, un peu de paralaxe ça change !) et évidemment ne touchent pas au reste de leur site ! Ca sent la modif de dernière minute...
Bref, le login PI a donc changé. Je ne vais pas avoir le temps de regarder avant mercredi, donc si personne dans l’assistance ne s'en est occupé d'ici là, je m'en occupe c'est promis ! Data-Solutions.com |
devtribu
| Olivier Modérateur
Inscrit le : 16/06/2005
|
# Le 17/09/2012 à 17:30
Maximus32 > une nouvelle interface affiliée m'a été promise pour septembre
c'est surement le début de la migration
par contre, c'est la course aux ID quand ils changent les urls de connexion : les navigateurs ne retrouvent plus les mdp Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0f |
Charlie
| Charles Membre
Inscrit le : 07/06/2007
|
# Le 17/09/2012 à 18:48
@tompascal : merci pour le plugin !! WEBFRANCE - Communauté e-Business - Marketplace Achat & Vente de sites |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 18/09/2012 à 15:57
Hello à tous
Publicidées fonctionne-t-il chez vous ?
Merci |
tonguide
| Jeremy Modérateur
Inscrit le : 09/05/2005
|
# Le 18/09/2012 à 16:22
Pour PI :
Remplacez (au niveau de login() ) :
---------------------------------------------------------------
/* On recup charge.php pour pouvoir se connecter */
$URL = 'http://www.publicidees.com/';
curl_setopt($this->ch, CURLOPT_URL, $URL);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
$String = curl_exec($this->ch);
$String = str_replace('<','-',$String);
$hidden_h = preg_replace('|(.*)input name="h" type="hidden" value="([^"]+)" />(.*)|is','$2',$String,1);
---------------------------------------------------------------
par :
---------------------------------------------------------------
$URL = 'http://fr.publicidees.com/logmein.php';
$data = array(
'loginAff' => $this->login,
'passAff' => $this->passe,
'userType' => 'aff'
);
curl_setopt($this->ch, CURLOPT_URL, $URL);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->implode_array($data));
$String = curl_exec($this->ch);
$String = str_replace('<','-',$String);
$hidden_h = preg_replace('|.*"h":"(.+?)".*|is','$1',$String,1);
--------------------------------------------------------------- |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 18/09/2012 à 16:40
Merci
je venais de faire le correctif |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 18/09/2012 à 16:41
sauf pour h :
$String = json_decode($String);
$hidden_h = $String->{'h'}; |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 18/09/2012 à 17:12
Question : adsense fonctionne toujours avec le dernier correctif ?
ici ça a tenu 3/4 jours puis plus rien.
|
ddpetit
| Damien Modérateur
Inscrit le : 03/05/2006
|
# Le 18/09/2012 à 20:24
Est-ce que quelqu'un peut me passer sur mon mail damien @ brico les scripts de Zanox et Netaffiliation. Ça marche pas chez moi pour les deux là. Merci d'avance Loccasion.com - Vente de voitures d'occasion - Mandataire Auto |
riri1311
| Henri Membre
Inscrit le : 25/01/2010
|
# Le 04/10/2012 à 14:24
Hello à tous,
Est ce que quelqu'un saurait comment faire pour faire en sorte que le rapport webgains tienne en compte des commissions retardées. Je sais qu'il faut ajouter le statut '25' au statut '10' mais sur cette ligne vous feriez comment?
'status[]' => '10',
Merci à vous! |
tonguide
| Jeremy Modérateur
Inscrit le : 09/05/2005
|
# Le 04/10/2012 à 14:57
'status[0]' => '10',
'status[1]' => '25',
essai ça peut-etre |
riri1311
| Henri Membre
Inscrit le : 25/01/2010
|
# Le 04/10/2012 à 16:45
|
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 15/10/2012 à 10:41
Chez vous Adsense fonctionne ?
Moi impossible de le refaire fonctionner malgré les correctifs proposés précédemment. |
Maximus32
| Gael Modérateur
Inscrit le : 13/05/2009
|
# Le 19/10/2012 à 11:30
ddpetit me disait très justement sur Skype il y a quelques minutes :
"Dis Gaga (oui, il adore m'appeler comme ça...), ça serait quand même cool si on pouvait donner un accès à une version stable d'Affilistat à tout le monde pour que les gens arrête de nous faire chier sur le forum à demandant la dernière version d'Adsense qui marche ou l'ancienne version de zanox qui marchait mieux..."
Bref, qu'en dites-vous si je créé un projet sur GitHub pour mettre AffiliStats en libre service et pour que les gens puissent poster les évolutions ou les nouvelles plateformes ?
Je sais que vous aimez faire vivre ce sujet sur le forum, mais ce serait un peu plus structuré si c'était hébergé quelques part non ?
J'attends vos avis (surtout celui de tonguide "aka AffiliStats's Dad" en fait ) Data-Solutions.com |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 19/10/2012 à 11:34
Bien sur
ça évite d'envoyer des fichiers à droite à gauche sur diverses plateformes.
Une centralisation des fichiers serait vraiment bénéfique.
ps : En effet, j'ai demandé pour adsense car je n'arrive pas à le refaire fonctionner ;) |
Maximus32
| Gael Modérateur
Inscrit le : 13/05/2009
|
# Le 19/10/2012 à 11:43
olivierb35 a dit :ps : En effet, j'ai demandé pour adsense car je n'arrive pas à le refaire fonctionner ;)
C'était pas pour toi, c'était juste une illustration Data-Solutions.com |
zehub
| BENAICHA Membre
Inscrit le : 21/12/2005
|
# Le 19/10/2012 à 18:18
Bonne idée. Faut voir avec tonguide s'il le permet ;) Divertissement , Voyages , Voitures , Cuisine |
olivierb35
| Olivier Membre
Inscrit le : 15/12/2011
|
# Le 23/10/2012 à 11:51
Oui je me doute bien, je suis prêt à contribuer si besoin |
tonguide
| Jeremy Modérateur
Inscrit le : 09/05/2005
|
# Le 23/10/2012 à 12:02
Comme je l'avais déjà expliqué, pour le moment, je ne le permet pas justement. |