registrazione con privacy

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

massimo
membro Junior
membro Junior
Messaggi: 33
Iscritto il: 20/10/2003, 0:00
Località: bolzano
Contatta:

registrazione con privacy

Messaggio da massimo »

ciao a tutti,
mi è stato espressamente richiesto che all'atto della registrazione ci sia il link ad una pagina con l'informativa sulla privacy e il check di spunta obbligatorio per procedere con la registrazione.
qualcuno ha idea di contrib già pronte, o devo procedere a manina?
grazie a tutti
:: massimo colella
chiocciola
membro Regular
membro Regular
Messaggi: 193
Iscritto il: 26/12/2003, 1:00
Località: italia

Messaggio da chiocciola »

Visto che mi hai dato l'idea è serve anche a me, io l'ho risolta così, non registra niente ma non permette la continuazione del form se non viene spuntata.
Devi poi modificare il file italian.php se vuoi mettere il testo e gli altri file per le traduzioni. il link punta sul file privacy.php.

devi aggiungere due parti di codice:

ti lascio una parte del codice originale per individuare il punto dove incollarlo
-------------------------------------------------------------------------------------
if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
} elseif ($password != $confirmation) {
$error = true;

$messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
}
// opzione privacy start
if (ACCOUNT_PRIVACY == true) {
if ( $privacy == false) {
$error = true;

$messageStack->add('create_account', ENTRY_PRIVACY_ERROR);
}
}
// opzione privacy end
-------------------------------------------------------------------------------------
e poi devi aggiungere:
-------------------------------------------------------------------------------------
<td class="main"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td>
<td class="main"><?php echo tep_draw_password_field('confirmation') . ' ' . (tep_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_CONFIRMATION_TEXT . '</span>': ''); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>


<!-- opzione privacy start-->
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td class="main"><b><?php echo CATEGORY_PRIVACY; ?></b></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="main"><?php echo ENTRY_PRIVACY; ?></td>
<td class="main"><?php echo tep_draw_checkbox_field('privacy', '1') . ' ' . (tep_not_null(ENTRY_PRIVACY_TEXT) ? '<span class="inputRequirement">'. '<a href="' . tep_href_link(FILENAME_PRIVACY) . '">' . ENTRY_PRIVACY_TEXT . '</span>': ''); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>

<!-- opzione privacy end-->
-------------------------------------------------------------------------------------
fammi sapere com'è andata.
Buon lavoro
massimo
membro Junior
membro Junior
Messaggi: 33
Iscritto il: 20/10/2003, 0:00
Località: bolzano
Contatta:

risolto

Messaggio da massimo »

ciao
grazie per l'impegno. stanotte intanto ho trovato questo, e ho risolto così.
guardando la tua soluzione mi sembra molto simile a quella che ho trovato io.
la tua ha di buono che non mostra un prompt di tipo javascript, come invece fa quella che ho trovato io.
a proposito, il link:
http://www.oscommerce.com/community/con ... ch,privacy
se posso, tra un paio di giorni provo la tua.
ancora grazie e a presto.
:: massimo colella
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Re: risolto

Messaggio da Bass »

Ho installato anch'io questa contributions, funziona bene solo che a mio modo di vedere ha un fastidioso problema, se un utente clicca sul link per vedere l'informativa cliccando poi sul bottone continua (che e' piu' intuitivo del bottone indietro del browser) si ritrova in home page perdendo tutti i dati immessi. Ho pensato di sopperire mettendo una finestrella nella form di registrazione che mostri direttamente l'informativa e per fare questo ho utilizzato tep_draw_textarea_field. Funziona tutto bene tranne un piccolo problema, il testo della privacy rimane editabile.
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?

Grazie

'iao

Sergio
Avatar utente
Simona67
membro Veteran
membro Veteran
Messaggi: 786
Iscritto il: 10/11/2003, 1:00
Località: Milano
Contatta:

Re: risolto

Messaggio da Simona67 »

Bass ha scritto:
Ho installato anch'io questa contributions, funziona bene solo che a mio modo di vedere ha un fastidioso problema, se un utente clicca sul link per vedere l'informativa cliccando poi sul bottone continua (che e' piu' intuitivo del bottone indietro del browser) si ritrova in home page perdendo tutti i dati immessi. Ho pensato di sopperire mettendo una finestrella nella form di registrazione che mostri direttamente l'informativa e per fare questo ho utilizzato tep_draw_textarea_field. Funziona tutto bene tranne un piccolo problema, il testo della privacy rimane editabile.
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?

Grazie

'iao

Sergio
Leggendo questo tuo post mi sono ricordata di non aver inserito la questione privacy nel sito e si è vero fa anche a me quello scherzo io ho optato in questo:

In Includes/languages/italian.php
ho modificato questa riga:

Codice: Seleziona tutto

define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto ' . '<a href="' . tep_href_link(FILENAME_PRIVACY) . '"><u>le condizioni sulla privacy</u></a> e le accetto:');
in questo modo:

Codice: Seleziona tutto

define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto ' . '<a href="' . tep_href_link(FILENAME_PRIVACY) . '" target="_blank"><u>le condizioni sulla privacy</u></a> e le accetto:');
così facendo mi apre una nuova pagina e il futuro cliente non perde nulla dei dati già inseriti.

postero a giorni la modifica del Total Pack con questo aggiornamento.

ciao
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: risolto

Messaggio da marcus »

Bass ha scritto: ......
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?

Grazie

'iao

Sergio
<?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, 'readonly'); ?>

Marzullus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
Simona67
membro Veteran
membro Veteran
Messaggi: 786
Iscritto il: 10/11/2003, 1:00
Località: Milano
Contatta:

Messaggio da Simona67 »

Ciao Marcus,

Io ho risolto, c'è da modificare un pò il codice ma funziona.

io ho fatto così:

in create_account.php:

cerca questo codice:

Codice: Seleziona tutto

function check_form_wrapper(formname) {
  if (check_form(formname)) {
    if (formname.elements['agree'].checked) {
      return true;
    } else {
      alert('<?php echo ENTRY_PRIVACY_AGREEMENT_ERROR; ?>');
      submitted = false;
      return false;
    }
  } else {
    formname.elements['agree'].checked = false;
    return false;
  }
}
e sostituiscilo con:

Codice: Seleziona tutto

function popupPrivacy(url) {
window.open(url,'popupPrivacy','target=_blank,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=800,height=600') . focus();
}
poi cerca questo:

Codice: Seleziona tutto

<td class="main" align="left"><b><?php echo ENTRY_PRIVACY_AGREEMENT; ?></b> <?php echo tep_draw_checkbox_field('agree','true', false, 'onclick="checkboxRowEffect(\'agree\')"'); ?></td>
e sostituiscilo con:

Codice: Seleziona tutto

<td align="left" class="main"><a href="javascript:popupPrivacy('<?php echo tep_href_link(FILENAME_PRIVACY); ?>')"><?php echo ENTRY_PRIVACY_AGREEMENT; ?></b> <?php echo tep_draw_checkbox_field('agree','true', false, 'onclick="checkboxRowEffect(\'agree\')"'); ?></a></td>
poi vai in privacy.php
ed elimina queste righe:

Codice: Seleziona tutto

<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->

<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
cerca questo codice:

Codice: Seleziona tutto

<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
e sostituiscilo con:

Codice: Seleziona tutto

<td align="right" valign="bottom" class="main"> <p align="right" class="main"><a href="javascript:window.close();"><?php echo TEXT_CLOSE_WINDOW; ?></a></p></td>
poi vai includes/languages/italian.php e aggiungi

Codice: Seleziona tutto

define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto le condizioni sulla privacy e le accetto:');

define('TEXT_CLOSE_WINDOW', 'Chiudi finestra');
ed il gioco è fatto.

In questo modo quando un cliente clicca per vedere la privacy si aprira un finestra a sua volta chiudibile ed il cliente non perderà i dati inseriti.

Cosa ne pensi?

Ciao
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Re: risolto

Messaggio da Bass »

marcus ha scritto: <?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, 'readonly'); ?>

Marzullus

Grazie mille! :)

'iao

Sergio
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Simona67 ha scritto: Io ho risolto, c'è da modificare un pò il codice ma funziona.
All'inizio avevo messo anch'io una popup, poi pero' mi sono venute in mente le finestrelle di quando installi un software, quelle per le condizioni d'uso, e mi sono orientato in questa direzione. Alla fine rimane tutto nella pagina di inserimento dati.

'iao

Sergio
Moloko
membro Baby
membro Baby
Messaggi: 82
Iscritto il: 31/08/2004, 0:00
Località: Trieste
Contatta:

Messaggio da Moloko »

Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Moloko ha scritto:Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Lasciami un attimo di tempo e vado a cercare il codice, a volte faccio le cose ma non ricordo come. Mi pare comunque di aver semplicemente usato una costante in un file di lingua facendo copia e incolla dell'informativa, senza dannarmi troppo :lol:

'iao

Sergio
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

Moloko ha scritto:Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Mi ero dimenticato :lol:

Come mi sembrava di ricordare ho messo una costante nel file di lingua con tutta la tiritera sulla privacy e l'ho richiamata cosi':

Codice: Seleziona tutto

                <td><?php echo tep_draw_textarea_field('privacy', 'soft', '48', '5', TEXT_INFORMATION, 'readonly', 'false'); ?></td>
TEXT_INFORMATION e' la costante inserita nel file create_account.php nelle cartelle delle lingue

'iao

Sergio
Moloko
membro Baby
membro Baby
Messaggi: 82
Iscritto il: 31/08/2004, 0:00
Località: Trieste
Contatta:

Messaggio da Moloko »

io ho cercato di risolvere così:

Codice: Seleziona tutto

<tr> 
 <td class="main"><?php echo CATEGORY_PRIVACY; ?></td> 
 </tr> 
 <tr> 
 <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> 
 <tr class="infoBoxContents"> 
 <td><table border="0" cellspacing="2" cellpadding="2"> 
 <tr>
 <td class="main"><?php echo tep_draw_textarea_field('privacy', 'soft', '48', '5', TEXT_INFORMATION, 'readonly', 'false'); ?></td></tr>
 <tr><td class="main"><?php echo ENTRY_PRIVACY; ?><?php echo tep_draw_checkbox_field('privacy', '1'); ?></td> 
 </tr> 
ho definito CATEGORY_PRIVACY, ENTRY_PRIVACY in italian/create_account.php, però il TEXT_INFORMATION resta invariato a prescindere dalla lingua selezionata, se decido di sostituire alla stringa il testo che mi interessa. C'è modo di renderlo dipendente dalla lingua e farlo andare a pescare dalla pagina privacy.php della lingua corrispondente?
OSnew
membro Regular
membro Regular
Messaggi: 101
Iscritto il: 29/12/2003, 1:00
Località: Perugia It

Messaggio da OSnew »

Quale di questi metodi registra tra i dati del cliente: Accetto Privacy?
Altrimenti è inutile una spunta solo figurativa Di cui non rimane traccia, per correttezza bisognerebbe avere il consenso della privacy scritta o almeno inserita su DB.
grazie
mustafa
membro Senior
membro Senior
Messaggi: 357
Iscritto il: 15/06/2004, 0:00
Località: Lecce

Messaggio da mustafa »

OSnew ha scritto:Quale di questi metodi registra tra i dati del cliente: Accetto Privacy?
Altrimenti è inutile una spunta solo figurativa Di cui non rimane traccia, per correttezza bisognerebbe avere il consenso della privacy scritta o almeno inserita su DB.
grazie
se la spunta e' condizione essenziale per procedere alla registrazione, e' ovvio che e' stata messa da un utente che si e' registrato.

la stessa presenza della registrazione implica che e' stata messa la spunta.
Rispondi