registrazione con privacy
Moderatore: mod Generali
registrazione con privacy
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
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
-
- membro Regular
- Messaggi: 193
- Iscritto il: 26/12/2003, 1:00
- Località: italia
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
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
risolto
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.
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
Re: risolto
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.massimo ha scritto:http://www.oscommerce.com/community/con ... ch,privacy
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
Re: risolto
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: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.massimo ha scritto:http://www.oscommerce.com/community/con ... ch,privacy
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
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:');
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:');
postero a giorni la modifica del Total Pack con questo aggiornamento.
ciao
Re: risolto
<?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, 'readonly'); ?>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
Marzullus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
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:
e sostituiscilo con:
poi cerca questo:
e sostituiscilo con:
poi vai in privacy.php
ed elimina queste righe:
cerca questo codice:
e sostituiscilo con:
poi vai includes/languages/italian.php e aggiungi
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
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;
}
}
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();
}
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>
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>
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 //-->
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>
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>
Codice: Seleziona tutto
define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto le condizioni sulla privacy e le accetto:');
define('TEXT_CLOSE_WINDOW', 'Chiudi finestra');
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
Re: risolto
marcus ha scritto: <?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, 'readonly'); ?>
Marzullus
Grazie mille!

'iao
Sergio
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.Simona67 ha scritto: Io ho risolto, c'è da modificare un pò il codice ma funziona.
'iao
Sergio
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 troppoMoloko 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?

'iao
Sergio
Mi ero dimenticatoMoloko 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?

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>
'iao
Sergio
io ho cercato di risolvere così:
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?
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>
se la spunta e' condizione essenziale per procedere alla registrazione, e' ovvio che e' stata messa da un utente che si e' registrato.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
la stessa presenza della registrazione implica che e' stata messa la spunta.