referral

Started by laudia, October 28, 2011, 03:12:40 PM

Previous topic - Next topic

laudia

ciao,
stavo pensando di inserire un sistema referral al mio forum e tra i mod ho trovato questo
http://custom.simplemachines.org/mods/index.php?mod=1114
vorrei collegarlo ai banner della mod Ad revenue sharing(Ars).
In poche parole se un utente clicca sul referral del menbro, vorrei che apparissero, nella pagina, i banner con l' ID Ars che lo stesso menbro ha inserito nelle impostazioni della mod Ars, se non ha inserito nulla invece non fare niente.

In ars credo ci sia una funzione che inpedisce quando si è loggati che appaiano i banner col propio ID, io vorrei fare il contrario, vorrei che appaiano col propio ID quando si clicca sul propio referral link.

non sono pratica mi serve aiuto, grazie in anticipo
smf 1

laudia

scusate ne ho trovato un altro
http://mods.simplemachines.org/index.php?mod=287

ma non sò quale sia più adatto per fare quello che voglio, devo provarlo.
Potete aiutarmi perfavore, con questa ultima modifica potrò dire di aver ultimato il forum.

emanuele

Onestamente non conosco nessuno dei due (tre), non saprei cosa consigliarti a parte che il secondo che hai linkato è piuttosto vecchio e nella descrizione c'è scritto che è in "beta" (quindi versione non definitiva). Cosa di preciso intenda con "beta" non lo so, ma sicuramente unito al fatto che non viene aggiornato da 4 anni e 12 microversioni di SMF non è che prometta niente di buono... ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#3
il primo l' ho già provato ad installarlo è funziona ed è molto semplice ma purtroppo sembra che reindirizzi solo alla pagina di registrazione, il secondo non sò se fa quello che voglio, non ho capito ancora come funzione c' è scritto pay per post ma non sono sicura se fà quello che desidero.
Ma la modifica che vorrei si può fare sfruttando una di queste mod, o è troppo complicato? Vorrei aggiungere solo la funzione detta all' inizio.
Ne conosci qualche altra mod che possa fare al caso mio.

emanuele

Quote from: laudia on November 01, 2011, 04:40:49 PM
Ma la modifica che vorrei si può fare sfruttando una di queste mod, o è troppo complicato? Vorrei aggiungere solo la funzione detta all' inizio.
Come ho detto non conosco nessuno di questi mod e più in generale non conosco il problema, avrei bisogno di un po' di tempo per guardarci...
Ad occhio direi che non è troppo difficile, se ti bastano delle linee generali direi che: mentre avviene la registrazione è necessario che venga salvato l'id del membro che ha "fornito" il referral insieme alle informazioni del membero che si è appena registrato, quindi in Ars quando viene scelto l'ad da mostrare bisognerà modificare leggermente la query per poter scegliere solo tra quelli creati da quel membro (supponendo (ma direi che è molto probabile che lo faccia) che Ars mantenga la connessione tra utente e ad (quindi salvando l'id dell'utente che ha introdotto l'ad nella tabella degli ad).
E' possibile che la prima parte venga già fatta, in tal caso dovrebbe essere ancora più semplice.
Mi metti un link ad ars?
* emanuele troppo pigro per cercare... :P

Quote from: laudia on November 01, 2011, 04:40:49 PM
Ne conosci qualche altra mod che possa fare al caso mio.
No, non saprei proprio.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#5
Quote from: emanuele on November 02, 2011, 01:45:04 PMMi metti un link ad ars?
http://custom.simplemachines.org/mods/index.php?mod=1798

pensavo si potesse sfruttare la prima mod
http://custom.simplemachines.org/mods/index.php?mod=1114
(dato che la seconda me l' hai sconsigliata) modifcando il redirectexit('action=register'); , pesente nel file della mod, facendo in modo che non reidirizzi solo alla pagina di registrazione ma alla pagina che l'utente vuole ad esempio
http://www.simplemachines.org/forum/index.php?action=refferals;refferedby=24  alla pagina
http://www.simplemachines.org/forum/index.php e così via, al link prima del punto interrogativo, inserendo il link del topic prima del (?) reidirizza a quello. Ed ogni volta esce il banner ars con l' ID ars del menbro del ref.
Ma credo che tu sia più esperto e saprai meglio come possiamo realizzare questo.

laudia

emanuele! ti sei dimentiocato di me

emanuele

Al momento sono più o meno a mezzo servizio causa morte prematura computer circa 3 settimane fa e resterò in questo stato per ancora parecchio tempo pare...mi sto or ora riorganizzando per scrivere codice (oltre al fatto che ho scoperto git e mi piace, quindi sto facendo un po' di conversioni, test, riorganizzazione, ecc. :P).

Ce l'ho segnato, appena posso ci guardo. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#8
grazie per la tua disponibilità, nonostante tu abbia problemi col tuo computer, ma con questa ultima modifica potrò dire di aver finito col la parte creazione e potrò dedicarmi allo sviluppo e alla crescita del forum. Se fossi così gentile da aiutarmi, nonostante le tue difficoltà, te ne sarei davvero grata.

Mi diresti almeno quando possiamo ultimare questa modifica? così cercherò di portarmi avanti col lavoro aggiungendo le info.  di questa nuova funzionalità alla guida  e alle regole del mio forum.

emanuele

#9
Adesso guardo se si può fare e se son capace di farla. ;)

Fammi capire se ho capito: l'utente A suggerisce a qualuno di registrarsi sul tuo forum, questi accetta e diventa l'utente B.
Da qui in poi, quando l'utente B si collega vedrà sempre e solo i banner dell'utente A. Corretto?
Mi son perso con la storia del reindirizzamento però...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#10
No, con il mod referrals, il link referral creato rimanda solo alla pagina di registrazione.
vorrei che un utente possa inserire qualsiasi pagina come referral, ad esempio come gia detto
http://www.simplemachines.org/forum/index.php?action=refferals;refferedby=24         
reiderizzerà a
http://www.simplemachines.org/forum/index.php
se invece di questo ci mette http://www.simplemachines.org/forum/Nome-topic/
prima del (?) reiderizzerà a questo detto http://www.simplemachines.org/forum/Nome-topic/.
?action=refferals;refferedby=24  rimane sempre lo stesso e l' utente può decidere quale discussione fare referrall (anche se non è stato lui a scriverla).
Quando si clicca su questo referrall vorrei che comparissero i banner ars dell' utente propietario del referrall e solo quando clicca.

ESEMPIO SEMPLICE
Utente= emanuele
Suo referral link= http://www.simplemachines.org/forum/topic-topic/?action=refferals;refferedby=24   
Ii suo ID inserito in profilo Ad Revenue Sharing=   1234567

emanuele inserisce il suo referrall link nel suo sito o da qualsiasi altra parte.
Quando qualcuno clicca sul link referrall questo viene reindirizzato alla pagina http://www.simplemachines.org/forum/topic-topic/ o qualsiasi altra pagina abbia scelto emanuele e, i banner presenti nella pagina appariranno con ID di emanuele (1234567) ma solo per quella pagina scelta da emanuele e solo quando viene cliccato il link referrall. Emanuele pubblicizza quella pagina e ci guadagna.

spero di essere stata chiara, pensavo solo che si potesse sfruttare il codice del mod referralls aggiungendo solo le funzioni per fare quello che ho detto per non doverlo scrivere da zero, non sono un esperta era solo una mia idea, sto cercando di impare ma non è così semplice.


emanuele

ahhhhhhhhhh............
Ok, ora credo di aver capito.
Quindi più che un reindirizzamento, sarebbe più comodo che ogni utente avesse a disposizione in ogni pagina un link simile a quello che hai postato nell'esempio:
http://www.simplemachines.org/forum/topic-topic/?action=refferals;refferedby=24
o meglio, dato che mi pare che stai usando pretty url o simili, direi qualcosa tipo:
http://www.simplemachines.org/forum/topic-topic/refferedby_24
da poter copiare ed usare al di fuori del tuo forum, corretto?
In questo modo ad esempio qualcuno potrebbe avere:
http://www.simplemachines.org/forum/topic-topic/refferedby_24
http://www.simplemachines.org/forum/topic-parlo_d_altro/refferedby_24
http://www.simplemachines.org/forum/topic-uno_ancora_diverso/refferedby_24

giusto?
Altrimenti se usi un reindirizzamento avresti sempre e solo una pagina per ogni utente.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

Esatto!!
vorrei propio che sia l' utente a poter scegliere.

Quote from: emanuele on November 09, 2011, 06:11:38 AM
mi pare che stai usando pretty url o simili,
uso pretty url

emanuele

Almeno ho capito! :P

Allora, quel che c'è da fare è:
1) in ogni pagina proporre il link per la condivisione (posizione e aspetto le metti poi a posto tu),
2) referral non serve (ed anche come indicazione per il codice non è molto utile perché poco correlato),
3) devo metterci mano...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Siccome non posso testarlo (non ho un codice adsense...non ho saputo che serviva fin quando non ho provato il mod...), ti indico qui le modifiche da fare, così puoi provare.

Nel file ArsAds.php, trova:
function setArsUser() {

// DEFINE GLOBALS
global $modSettings, $context, $db_prefix, $user_info;


ed aggiungi dopo:
if (isset($context['topic_starter_id']))
$context['user_ad'] = isset($_GET['referral']) ? (int) $_GET['referral'] : $context['topic_starter_id'];


quindi cerca tutte le istanze di:
$context['topic_starter_id']
e rimpiazzale con:
$context['user_ad']
Ovviamente quella che ti ho fatto introdurre al passaggio precedente non toccarla! ;)

Questo dovrebbe fare in modo che se un utente arriva al tuo forum da un url tipo ?topic=123.0;referral=24 mostrerà gli AD dell'utente 24 in quella pagina, poi se il visitatore si muoverà su altre pagine vedrà gli AD normalmente.

Ora, ti servirà un link...per qua è un problema perché non ho mai usato pretty url e non posso provarlo perché (come al solito) non mi funziona mod_rewrite sul forum di prova che uso (sembra una maledizione, tutte le volte non riesco a farlo funzionare...  >:(), inoltre sono un disastro con htaccess, quindi non so dirti di preciso 1) cosa pretty url converte in "pretty" e come (cioè se il ";referral=24" glielo devi mettere così, oppure se devi metterlo già in versione "pretty", 2) quali regole dovrai cambiare per ottenere quello che vuoi...

Per il primo problema io ti consiglierei di fare qualche prova: siccome il link mi pare di aver capito che ce l'hai bisogno solo nei topic, puoi usare:
'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]
questo lo dovresti poter usare nel template dove vuoi per ottenere l'esatta pagina a cui l'utente si trova.
Poi puoi ad esempio metterla in un input con un javascript per facilitare la copia, ad esempio:
echo '
<input onfocus="this.select();" type="text" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" />';


Se questo non riesci a riscriverlo nella forma "pretty", un'altra possibilità è creare l'input come prima senza value, ed aggiungere solo questo via javascript così:
echo '
<div id="share_url" style="display:none">
<input id="share_this_url" onfocus="this.select();" type="text" value="" /></div>
<script  type="text/javascript"><!-- // --><![CDATA[
document.getElementById(\'share_url\').style.display = "";
document.getElementById(\'share_this_url\').value = document.URL + \'/referral/' . $context['user']['id'] . '\'; // Notare che la parte "/referral/24" andrà corretta per come dovrai riscriverlo con htaccess. ;-)
// ]]></script>';


Penso/spero di averti dato tutte le indicazioni di cui hai bisogno (o almeno la maggior parte), se c'è qualcosa che non è chiaro o che non funzione, ovviamente chiedi pure!!


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#15
allora , modiiche ArsAds.php fatte
se ho ben capito questo
'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]
è il link referral che gli utenti dovrebbero poter usare giusto!

Come semplice prova, poi lo modifico meglio, ho preso il codice del mod referalls di cui avevamo parleto nei post precedenti(solo come esempio) e ho modificato il link. In mod referralls il link appariva nel profilo io invece lo spostato nella sezione Profilo/Ad Revenue Sharing dove sono le impostazioni Ars dell' utente.

In Profile.template.php trovato
</table><p>'.$txt['ars_profile_help'].'</p>';

inserito questo dopo
echo '
<table border="0" cellspacing="1" cellpadding="3" align="center" width="80%" class="bordercolor"><tr>
<td><b>', $txt['ref_refferal_link'], '</b></td>
<td><input onfocus="this.select();" type="text" size="65" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" /></td>
</tr></table><p></p>';


Il risultato è
Referral Link: http://nomesito.com/forum/profile/?u=1;sa=adrevenuesharing;referral=1

cambiando http://nomesito.com/forum/profile/ con ad esempio
http://nomesito.com/forum/    o
http://nomesito.com/forum/nome-topic/   rimanda alla pagine in maniera perfetta.
 
reinderizza alla pagina che vogliamo anche se nel browser elimino "referral=1"
http://nomesito.com/forum/profile/?u=1;sa=adrevenuesharing

se nel browser scrivo questo eliminando "u=1;sa=adrevenuesharing;"  funziona
http://nomesito.com/forum/profile/?referral=1

il link che dovrebbe apparire come esempio all' utente dovrebbe essere questo giusto!
http://nomesito.com/forum/?referral=1
come devo cambiarlo per ottenere questo visualizzato?

Non ho ancora visto se funziona per quanto riguarda la visualizzazione dei banner ti faccio sapere in seguito dopo aver risolto il problema link.

emanuele

Dopo aver pensato di aver capito, ora mi rendo conto che parliamo ancora due lingue leggermente diverse e che ancora una volta non ho chiaro cosa tu voglia fare...

Io ho immaginato che il tuo utente registrato voglia piazzare nel suo sito diversi link a diversi topic sul tuo forum, ad esempio:
http://www.tuosito.it/forum/topic_1/referral=24
http://www.tuosito.it/forum/topic_2/referral=24
http://www.tuosito.it/forum/topic_3/referral=24
http://www.tuosito.it/forum/topic_4/referral=24

in modo che quando qualcuno clicca su quei link viene mandato al relativo topic e viene visualizzata la pubblicità dell'utente con id 24.
In quest'ottica la mia idea era fornire nelle pagine dei topic un link tale che il tuo utente registrato potesse copiare facilmente l'url e postarla sul suo sito, da qui il codice che ti ho fornito sopra.

Invece tu mi parli sempre di questo redirect passando dal profilo...quindi presumibilmente mi son perso qualche passaggio...comunque se funziona come vuoi che funzioni per va bene! ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#17
Quello a cui mi riferisco è un link di esempio per l'utente, non posso inserire ogni link in ogni pagina.
Ho inserito il link nel profilo
http://www.tuosito.it/forum/referral=24
nella guida dove inserirò le varie info. e istruzioni per spiegare questa funzione ci scriverò :
se tu utente vuoi inserire un link topic nel tuo sito copia il link della pagina che desideri e sostituici questa parte al tuo referral
http://www.tuosito.it/forum/. Aggiungendo semplicemente  referral=24 [referral=(con il tuo numero, esempio"24", il numero è unico per ogni utente)] appariranno i tuoi banner quando qualcuno clicca su questo link. Il link referral esempio con il numero che si riferisce a te  ( esempioo "=24" ) lo puoi trovare nella sezione Profilo/Ad Revenue Sharing.

Nel profilo quindi devo inserire un link di esempio
http://www.tuosito.it/forum/referral=24
e l' utente potrà cambiarlo a secondo della pagina che vuole.

Spero di essere stata chiara

il link di esempio che l' utente può trovare in Profilo/Ad Revenue Sharing appare così (il codice che ho inserito in Profile.template.php detto prima) :
http://tuosito.it/forum/profile/?u=1;sa=adrevenuesharing;referral=24

io voglio che appaia così
http://tuosito.it/forum/?referral=24

Per quanto riguarda la funzione hai capito bene.
Io mi riferivo a come dare questo o questi link all' utente, mi sembra più semplice mettergli a disposizione un solo link di esempio nel profilo e poi l' utente se lo vuole lo cambia che metterne uno per ogni pagina. Mi devo scusare io per non aver capito che intendevi questo.

emanuele

Quote from: laudia on November 10, 2011, 12:41:11 PM
Quello a cui mi riferisco è un link di esempio per l'utente, non posso inserire ogni link in ogni pagina.
Perché no? ???
E' il principio di youtube o di imageshack o di qualunque altro sito che permette di copiare i link.

Col metodo che stai usando, ad ogni modo, l'utente potrà reindirizzare sempre e solo ad una pagina per volta ed inoltre dovrai fornirgli delle istruzioni per modificare l'url e per cambiare il link alla pagina a cui vogliono che il link punti, col mio copiano un qualunque link e quello resterà finché il tuo forum durerà e non dovranno modificare alcuna url.

Comunque vedi tu come sei più comoda. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#19
devo scoprire quale sistema è più comodo per gli utenti, magari quando avrò abbastanza utenti farò un sondaggio interno per scoprire quale è più semplice per loro ma, per ora, il forum è nato da poco quindi ci sono ancora troppo pochi utente per poter fare tale sondaggio.
Io mi segno il codice e in futuro se è il caso lo cambio.
Se mi aiuti a mostrare il link come ti ho detto, così poteremo dire risolta questa discussione.

Ora che ho capito cosa intendevi, per non rifarti  queste domande in futuro se decidessi di inserire la tua idea, vorrei chiederti:
- Il codice che mi hai detto quindi, in quale file dovrei inserirlo? intendo questo
echo '
<input onfocus="this.select();" type="text" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" />';
o quello in javascript. E' una semplice curiosità se in futuro decidessi di fare come tu mi hai suggeito.

emanuele

Direi, dato che ti servirebbe un po' ovunque, index.template.php anche se poi mi pare di capire che ars è "attivo" solo nei topic, ma su questo non ne ho la certezza...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#21
Quote from: emanuele on November 12, 2011, 06:34:59 AM
ars è "attivo" solo nei topic,
ars, a quanto ho capito, e attivo su tutte le pagine solo che nei topic appare con Id dell' utente, invece nelle pagine non-topic l' ID ars viene mostrato a caso in rotazione fra quelli degli utenti.

Per quanto riguarda quello che ti ho chiesto, mostrare il link di esempio da così
http://tuosito.it/forum/profile/?u=24;sa=adrevenuesharing;referral=24
a così  http://www.tuosito.it/forum/?referral=24 è possibile?

Per quanto riguarda i banner invece dai primi test sembra non funzioni. Cliccando più volte su link referral dovrebbe uscire il banner sempre con lo stesso ID. Se l' utente referral=24  ha un ars-ID = 12345 dovrebbe uscire sempre i banner con ID = 12345 invece gli ID cambiano, come se questa funzione non ci fosse.

laudia

#22
ho provato con il sistema che mi hai suggerito, inserendo il codice in index.template.php ma i link che ne escono nelle pagine dove viene usato pretty url il redirect non funziona (esce pagina inesistente), nelle pagine dove pretty url non agisce invece funziona.
con imput il link appare così:
http://tuosito.com/forum/nome-topic/;referral=24
con javascript il link appare così:
http://tuosito.com/forum/nome-topic/referral/24
ma in entrambi i casi dà lo stesso risultato.

Per quanto riguarda i banner non funziona neanche in questo modo.

Qualche idea, Qualche sugerimento?

emanuele

Va beh, ci sarà da cambiare un paio di caratteri...
echo '
<input onfocus="this.select();" type="text" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], '?referral=' . $context['user']['id'] . '" />';


Oppure:
echo '
<div id="share_url" style="display:none">
<input id="share_this_url" onfocus="this.select();" type="text" value="" /></div>
<script  type="text/javascript"><!-- // --><![CDATA[
document.getElementById(\'share_url\').style.display = "";
document.getElementById(\'share_this_url\').value = document.URL + \'?referral=' . $context['user']['id'] . '\'; // Notare che la parte "/referral/24" andrà corretta per come dovrai riscriverlo con htaccess. ;-)
// ]]></script>';

L'avevo anche scritto nel commento la parte referral andava cambiata... :P

I banner credo vengano visualizzati "personalizzati" solo all'interno dei topic.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#24
il problema redirect, finalmente risolto.

per quanto riguarda i banner, nei topic è uguale alle altre pagine, non funziona.
Credo, "è solo una mia ipotesi", che appaiano in % cioè, nei topic, a quanto ho capito, appaiono i banner col propio ID a secondo del membergroup a cui appartiene l' utente e quindi a secondo del numero di post scritti.
Ad esempio (è sempre una mia ipotesi)
Newbie          Revenue Sharing  30%
Jr. Member     Revenue Sharing   50%
Quindi il referral di un utente newbie fà apparire il banner il 30% delle volte che viene cliccato, cioè su 10 click appare il banner col propio ID 3 volte.
Il referral di un utente Jr. Member fà apparire il banner il 50% delle volte che viene cliccato, cioè su 10 click appare il banner col propio ID 5 volte. ecc..
Non ne sono sicura ma credo che sia per questo motivo che non appare sempre il propio banner cliccando il referral (è sempre una mia ipotesi). Se veramente è così bisognerebbe fare in modo che quando viene cliccato faccia apparire il banner il 100% delle volte.(ripeto è una mia ipotesi).

Altre soluzioni perfavore per far apparire i banner.  Perfavore!!!! altre idee, vorrei finirla questa cosa.

laudia

#25
amanuele, io non credo di aver fatto errori ma, per essere sicuri, mi controlli il file ArsAds.php. te lo allego per essere sicuri che non è dovuto a un mio errore di trascrizione del codice che mi hai detto di inserire nel file. Me lo controlli e mi dici se ho fatto tutto bene.

se non riesci a darmi altre soluzioni per far apparire i banner "personalizzati" con ars ID, mi basterebbe anche se apparissero "personalizzati" con solo adsense ID del membro. Vorrei davvero mettere questa discussione come risolta.

emanuele

Non ho indagato la questione gruppi e percentuali, ma quando ho guardato il codice, ho visto che utilizza l'ID dell'utente che inizia la discussione per decidere quale banner visualizzare, è per questo che ho ipotizzato "funzioni" solo nei topic. ;)

Domani gli guardo, se non rispondo posta pure perché magari me lo son perso... ::)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

in poche parole, nei topic vengono visualizzati in % a secondo del membergroup e nelle pagine non-topic vengono visualizzati in maniera casuale se per il membergroup è attivato il revenue sharing per i non-topic.

laudia

allora emanuele ci hai dato uno sguardo? che mi dici? soluzioni!!!!

emanuele

Cambia:
if (isset($context['topic_starter_id']))
$context['user_ad'] = isset($_GET['referral']) ? (int) $_GET['referral'] : $context['topic_starter_id'];

in:
if (isset($context['topic_starter_id']) || isset($_GET['referral']))
$context['user_ad'] = isset($_GET['referral']) ? (int) $_GET['referral'] : $context['topic_starter_id'];


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#30
nessun cambiamento visibile rispetto a prima.

Credo che in qesto modo il referral è collegato, anche , alla % di codivisione. Il referral si collega all' Ars ID ma anche alla % riservata al membergroup, quindi, in questo modo non viene visualizzato sempre.

emanuele

Non ho presente come funziona ad, sto tirando sostanzialmente ad indovinare.
if ($random < $modSettings['ars_defaultadshare']) {
// TRY TO SHOW SHOW BOARD ADS
$context['ars_selected'] = 0;
} else {
// TRY TO SHOW USERS ADS
$context['ars_selected'] = 1;
}


a:
if (isset($_GET['referral']))
{
$context['ars_selected'] = 1;
}
elseif ($random < $modSettings['ars_defaultadshare']) {
// TRY TO SHOW SHOW BOARD ADS
$context['ars_selected'] = 0;
} else {
// TRY TO SHOW USERS ADS
$context['ars_selected'] = 1;
}


Poi:
if ($random > $context['ars_share']) {
// SHOW THE BOARDS ADS EXCEPT IF ADMIN (SO WONT BE SHOWN OWN ADS)
if ($context['user']['is_admin']) {
$context['ars_selected'] = 1;
} else {
// WE WILL BE SHOWING THE BOARDS ADS, SO SET THE VARS FROM SETTINGS TO THOSE WE WILL USE
$context['ars_selected'] = 0;
$context['ars_userid'] = NULL;
$context['ars_adsenseid'] = $modSettings['ars_adsenseid'];
$context['ars_adsensechannel'] = $modSettings['ars_adsensechannel'];
$context['ars_ypnid'] = $modSettings['ars_ypnid'];
$context['ars_ypnsection'] = $modSettings['ars_ypnsection'];
$context['ars_textlinkadsid'] = $modSettings['ars_textlinkadsid'];
}
} else {
// USERS
$context['ars_selected'] = 1;
}


a:
if (isset($_GET['referral']))
{
$context['ars_selected'] = 1;
}
elseif ($random > $context['ars_share']) {
// SHOW THE BOARDS ADS EXCEPT IF ADMIN (SO WONT BE SHOWN OWN ADS)
if ($context['user']['is_admin']) {
$context['ars_selected'] = 1;
} else {
// WE WILL BE SHOWING THE BOARDS ADS, SO SET THE VARS FROM SETTINGS TO THOSE WE WILL USE
$context['ars_selected'] = 0;
$context['ars_userid'] = NULL;
$context['ars_adsenseid'] = $modSettings['ars_adsenseid'];
$context['ars_adsensechannel'] = $modSettings['ars_adsensechannel'];
$context['ars_ypnid'] = $modSettings['ars_ypnid'];
$context['ars_ypnsection'] = $modSettings['ars_ypnsection'];
$context['ars_textlinkadsid'] = $modSettings['ars_textlinkadsid'];
}
} else {
// USERS
$context['ars_selected'] = 1;
}


Ricordati che per gli admin tutto questo non vale, quindi se stai facendo delle prove, fallo con un utente normale.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#32
dai primi test veloci, sembra che funzioni. Devo fare altre prove.
Nei topic sembra appaiano con ID utente, nelle pagine non-topic cioè nei board e in index.php invece NO ma, credo sia una cosa diversa poichè nelle pagine non-topic i banner appaiono in maniera casuale fra quelli degli utenti e se per il membergroup è permesso e non in %.
( fammi sapere per quanto riguarda i non-topic )

Creo utenti fake, faccio altre prove, e ti faccio sapere, oggi o domani.

emanuele

Tecnicamente il codice che ho postato dovrebbe tenere in considerazione entrambe le situazioni, ma...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#34
Per le pagine topic, confermo, funziona anche se la condivisone è al 0%.
Per quanto riguarda le pagine non-topic, invece, funziona ma, solo quando la condivisone per le pagine non-topic è attivata. Se nel membergroup dell' utente la condivisione non-topic è disattivata il referral non funziona.

emanuele

Quote from: laudia on November 22, 2011, 04:26:46 AM
Per i topic, confermo, funziona anche se la condivisone è al 0%.
Per quanto riguarda i non-topic, invece, funziona ma, solo quando la condivisone per i non-topic è attivata. Se nel membergroup dell' utente la condivisione non-topic è disattivata il referral non funziona.
Ok, cercherò di capire cosa questo significhi con la pancia pienza... :laugh:


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#36
Nelle pagine topic funziona anche se disabilito la condivisione in % nel membergroup.
Nelle pagine non-topic comfermo quello detto nel precedente post, se la condivisione nelle pagine non-topic è abilitata per il menbergroup il referral funziona,  se, invece, non è abilitata il referral non funziona. Soluzioni per farlo funzionare senpre anche nei non-topic?

emanuele

Ok, prova questo:
// SO WE CAN RUN THE RANDOM GENERATOR
$random = mt_rand(1,100);
if (isset($_GET['referral']))
{
$context['ars_selected'] = 1;
}
elseif ($random < $modSettings['ars_defaultadshare']) {


cambialo in:
// SO WE CAN RUN THE RANDOM GENERATOR
$random = mt_rand(1,100);
if (isset($_GET['referral']))
{
$context['ars_selected'] = 1;
$random = 1;
}
elseif ($random < $modSettings['ars_defaultadshare']) {


Naturalmente le modifiche che ti ho già suggerito sono da lasciare applicate. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

No, purtroppo ancora niente  :(

emanuele

Nella modifica che hai fatto prima cambia:
$random = 1;
a
$user = isset($_GET['referral']) ? (int) $_GET['referral'] : 0;

quindi:
WHERE ".$notsameuser." (". implode(' OR ', $defineids) .")
ORDER BY RAND()

in:
WHERE " . (empty($user) ? ($notsameuser." (". implode(' OR ', $defineids) .")
ORDER BY RAND()") : ("p.ID_MEMBER = " . $user)) . "


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

ancora niente.  :(

Non sò se può esserti utile ma ho notato che anche se un utente fà parte di più membergroup e in uno di questi la condivisione non-topic è disabilitata non funziona.
Esempio:
Moderatore = condivisione non-topic abilitata
Newbie = condivisione non-topic disabilitata
refferral non funziona

emanuele

Guarda, a questo punto non saprei cosa dirti.
Non posso testarlo direttamente, quindi ho cercato tutti i punti in cui poteva essere, l'unica cosa che vedo ancora dubbia è:
if ($row == NULL) {
che dovrebbe essere:
if (empty($row)) {
ce ne sono due.
Ma non ho idea se possa servire o no.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#42
No, niente.  :(

E negli altri file della mod c'è qualche funzione che potrebbe essere utile cambiare?
ad esempio in questo

laudia

#43
non sono un esperta ma non sarebbe più semplice creare una funzione del genere

if ($row['ars_random'] == 1) aggiungendo  il  $_GET['referral']

cioè: se si viene esclusi dalla selezione causuale per i Non-topic, abilita referral. O una cosa del genere.
Non essemdo un esperta spero di non aver detto una cosa stupida. Dimmi se sbaglio.

emanuele

E' quello che ho cercato di fare fino ad ora senza dover scrivere da zero tutto...il problema è solo che ho finito le idee su *dove* mettere questi controlli...

Ne ho visto un altro ancora, cambia:
if ($a + $b + $c == 0) {

in:
if ($a + $b + $c == 0 || isset($_GET['referral'])) {


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#45
non ancora.
Le modifiche fatte fino a ora che non hanno funzionato le riporto com' erano?

E in questa parte qui, si potrebbe inserire il codice? non parlo inglese ma mi sembra la parte che riguarda l' esclusione della condivisione nei non-topic
// IS THE PARTICIPANT ALLOWED TO BENEFIT FROM RANDOM SELECTION FOR NON-TOPIC PAGES
$query = db_query("
SELECT ars_random
FROM {$db_prefix}membergroups
WHERE ID_GROUP = '". implode("' OR ID_GROUP = '", $groups) ."'", __FILE__, __LINE__);
// GO THROUGH EACH MEMBERGROUPS ROW AND CHECKS THEY ARE ALLOWED TO BENEFIT FROM THESE PAGES
$random = 0;
while ($row = mysql_fetch_assoc($query)) {
// IF ONE OR MORE OF THEIR MEMBERGROUPS HAVE ADS DISABLED, THEY WONT BE SHOWN
if ($row['ars_random'] == 1) {
$random = 1;
}
}

laudia

#46
IEAHH!!!! Non sò come ma credo che ora funzioni.
Ho cambiato questo
// IF ADMIN OR WE HAVE NO AVAILABLE ADS TO SHOW, THEN WE NEED TO FLIP THE KILLSWITCH
if (($a + $b + $c == 0) || ($context['user']['is_admin'])) {
// WE CAN'T SHOW ANY ADMIN ADS, SO JUST SHOW THE USERS ADS ANYWAY
$context['ars_selected'] = 1;


con questo
// IF ADMIN OR WE HAVE NO AVAILABLE ADS TO SHOW, THEN WE NEED TO FLIP THE KILLSWITCH
if (($a + $b + $c == 0 || isset($_GET['referral'])) || ($context['user']['is_admin'])) {
// WE CAN'T SHOW ANY ADMIN ADS, SO JUST SHOW THE USERS ADS ANYWAY
$context['ars_selected'] = 1;


Devo  provare ancora ma dai primi test sembra funzioni in tutte le pagine, ti faccio sapere.
Secondo te è giusto, ho questa modifica può causare problemi con altre funzioni, dammi il tuo parere, devo dirti la verità non sò cosa ho fatto, quindi ... ho solo inserito il tuo codice che mi hai suggerito nel post precedente da un' altra parte.

Emanuele le modifiche fatte fino a ora che non hanno funzionato le riporto com' erano? e quali devo riportare com'erano in origine? fammi sapere così la potrò dire ultimata questa discussione.

emanuele

Quote from: laudia on November 26, 2011, 04:32:28 PM
Emanuele le modifiche fatte fino a ora che non hanno funzionato le riporto com' erano? e quali devo riportare com'erano in origine? fammi sapere così la potrò dire ultimata questa discussione.
Non ne ho la più pallida idea... ;)
Se non le vuoi lasciare prova a toglierle, ma credo che almeno in (buona) parte servano.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#48
scusa credo di essermi fatta prendere dall' entusiasmo credo che in questo modo si attivi soltanto la condivisione casuale per i non-topic quando si clicca sul referral. :( :(
Esempio:
Se per i newbie la condivisione non-topic è disabilitata quando un utente newbie clicca sul propio referral la condivisione non-topic si attiva,  quindi non esce solo e sempre ID Ars del membro ma si attiva soltanto, gli ID Ars degli utenti sembra appaiano casualmete.
l' ID ars admin sembra che non compaia mai cliccando sul referral, solo quello degli utenti.
Succede la stessa cosa se uso il referral di un utente dove non è inserito nessun ID Ars, credo esca a caso fra quegli degli utenti.
All' inizio avevo fatto un test con un solo ID, poi ho fatto un test con più utenti fake e ID e ho capito che si attivava soltanto.

Chiedo ancora scusa per l' errore ma ora hai qualche idea per collegarlo solo all' ID ars del membro e non farli uscire in maniera casuale, come succede per il referral  nelle pagine topic.

laudia

Ok credo di aver capito quale fosse il problema, bisogna riportare com' era l' ultimo che mi ai suggerito o altrimenti funziona come ti ho già detto.

Ho aggiunto le info. nella guida del mio forum, mi piacerebbe avere una tua opinione se sono abbastanza chiare su quello che fà questa nuova funzione.
Appena mi rispondi metto discussione risola, sempre se nel frattempo non trovo qualche bug, spero di no.

Ci è voluto un pò per completare questo ma, grazie mille di tutto, sei stato molto gentile, emanuele sei sempre il migliore.

Advertisement: