Joomla.it Forum

Componenti per Joomla! => Gestione Form => : giusebos 01 Aug 2019, 10:19:02

: Fabrik - registrare timestamp dopo invio form
: giusebos 01 Aug 2019, 10:19:02
Ciao a tutti.
In fabrik c'è un elemento che serve a inserire la data della creazione del record, si chiama date-element (http://date-element).
Questo elemento permette di inserire nel form una data (date-picker) da parte dell'utente, oppure una data automatica se occorre usarlo come timestamp.

usandolo come timestamp viene inserita nel campo la data di apertura form, quindi se apro il form alle 10:00 e ci metto 10 minuti a compilarlo, la data rilasciata è quella delle 10:00

Io vorrei che la data registrata fosse quella dell'invio del form, e fabrik ci viene in aiuto con un altro plug-in in ambito form, dove in pratica vengono impostate delle scelte in modo tale che in un certo campo succeda qualcosa solo dopo l'invio.

questa la pagina del plug-in in questione (http://fabrikar.com/forums/index.php?wiki/php-form-plugin/)

Fin qui tutto liscio e in effetti la data registrata è quella del momento dell'invio.

Questa data deve essere bloccata però, nel senso che alle possibili e future aperture del record non venga nuovamente aggiornata alla data dell'ultima modifica.

Purtroppo nel plug in non vi è nessuna opzione, e quando questo succede possiamo solo aggiungere una stringa di codice (PHP) in un apposito campo.

io per adesso ho inserito queste 2 stringhe:
:
$right_now = new JDate('now +2 hour');
$formModel->updateFormData('aa_tickets___data_inoltro_tickets', $right_now, true);

dove la prima aggiunge 2 ore per allineare la data (non è una soluzione perchè al cambio di ora solare dovrò intervenire inserendo un 1 al posto di 2).
la seconda stringa dice al plug in in quale campo agire.

Ora chiedo a qualcuno che con il PHP è più a suo agio, un aiuto o un un suggerimento, nel creare una stringa che faccia in modo di non cambiare la data/ora dopo il primo salvataggio.

Grazie
: Re:Fabrik - registrare timestamp dopo invio form
: tomtomeight 01 Aug 2019, 20:07:12
Devo verificare in una mia applicazione ove ho timestamp che non cambia ed un altro campo update che mi si aggiorna ogni volta che modifico il post.
: Re:Fabrik - registrare timestamp dopo invio form
: giusebos 02 Aug 2019, 12:42:42
nel frattempo ho sistemato la questione timezone inserendo questa stringa:
:
date_default_timezone_set('Europe/Rome');
$right_now=date("d-m-Y H:i:s");

Rimane solo la questione di non aggiornare la data oltre il primo salvataggio.
: Re:Fabrik - registrare timestamp dopo invio form
: tomtomeight 02 Aug 2019, 17:36:02
Se imposti il campo timestamp direttamente nel db viene lo stesso sovrascitto?
: Re:Fabrik - registrare timestamp dopo invio form
: giusebos 02 Aug 2019, 17:58:18
Con fabrik impostando il tipo di campo, decide lui per quel tipo quale è la scelta migliore, quindi se dovessi modificarlo direttamente da db via phpmyadmin, poi lui provvede a sistemarlo secondo il tipo di campo collegato....
: Re:Fabrik - registrare timestamp dopo invio form
: tomtomeight 02 Aug 2019, 19:28:13
In fabrik puoi mettere solo data per il tipo di dato?
: Re:Fabrik - registrare timestamp dopo invio form
: giusebos 02 Aug 2019, 20:38:07
In fabrik puoi mettere solo data per il tipo di dato?

In fabrik quando si sceglie il tipo di elemento e lui successivamente ti avvisa che cambia il campo in base alla scelta fatta.
: Re:Fabrik - registrare timestamp dopo invio form
: flinx68 05 Aug 2019, 08:12:26
Hai provato a mettere come valore predefinito se stesso con un controllo in modo che da quando c'è un valore utilizzi se stesso (quello memorizzato nel db) mentre se vuoto vada avanti prendendosi il valore letto della data odierna.
: Re:Fabrik - registrare timestamp dopo invio form
: giusebos 05 Aug 2019, 11:31:21
Hai provato a mettere come valore predefinito se stesso con un controllo in modo che da quando c'è un valore utilizzi se stesso (quello memorizzato nel db) mentre se vuoto vada avanti prendendosi il valore letto della data odierna.

Tradotto?