Forum->Flatnux->Aggiornamento tabelle modulo include/xmldb.php
  
Welcome Unknown Register Help383 Users

User Message


boymix81

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile  home
Saturday 10 March 2007 - 14:23

Aggiornamento tabelle modulo include/xmldb.php:
Ciao,

per uso personale mi sono messo a fare alcune custumizzazioni pardendo dalla versione flatnuke3-2007-02-23 .

Ho aggiunto dei campi nella tabella Users che al momento della registrazione sono vuoti e vengono aggiornati nella conferma dopo la get dal link nella email.

I due valori nuovi pero' non vengono aggiornati, per aggiornarli ho dovuto cambiare la seguente riga n. 924 :

DA:
$newfilestring = preg_replace('/<' . $tablename . '>([^(' . $tablename . ')]*)<' . $pkey . '>' . $pvalue . '<\\/' . $pkey . '>(.*?)<\\/' . $tablename . '>/s', $strnew, $oldfilestring);

A:
$newfilestring = "<?exit(0);?>\\n<".$databasename.">\\n".$strnew."\\n</".$databasename.">\\n";

Volevo chiedere:
- posso modificarmi questi files ?
- a cosa vado in contro che non funzioni in caso di errori poichè salto l'array $oldfilestring) ?
- potrebbe essere un problema di gestione poichè la piattaforma non aggiorna valori vuoti ?

Grazie, mille e continuate così!


---
Per quanto nascosta essa sia a tutto c'è una spiegazione..



speleoalex

0 Level 10 10

levellevellevellevellevellevellevellevellevellevel
profile mail
Saturday 10 March 2007 - 14:55

Re: Aggiornamento tabelle modulo include/xmldb.php:

Con quella modifica vengono corrotte le tabelle che hanno più record nello stesso file.

L' update dovrebbe comunque funzionare...
Prova a mettere l' ultima versione della xmldb.php.
Non è che hai dichiarato i campi prima di username?
Se non funziona dimmi che valori gli passi e il nome dei campi (il nome dei campi non può contenere caratteri speciali e il nome della chiave primaria nel file xml deve essere il primo campo).

Alex




boymix81

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile  home
Sunday 11 March 2007 - 11:50

Re: Aggiornamento tabelle modulo include/xmldb.php:
Ciao speleoalex,

ho aggiornato la sola libreria xmldb.php ma l'aggiornamento non avviene.

I nomi dei due campi nuovi sono ( ti riporto descrizione ):

<field>
<name>registereddate</name>
<frm_show>0</frm_show>
</field>
<field>
<name>registeredip</name>
<frm_show>0</frm_show>
</field>

Possibili valori potrebbero essere:

<registereddate>Sun, 11 Mar 2007 11:39:47 +0100</registereddate>
<registeredip>127.0.0.1</registeredip>

Cosa intendi con questa domanda.. ?
>>>> Non è che hai dichiarato i campi prima di username? <<<<

E con questa affermazione?
>>>>>>>l nome della chiave primaria nel file xml deve essere il primo campo <<<<<<<<

Io come primo campo ho messo un separatore:

<?exit(0);?>
<tables>
<field>
<name>personal</name>
<type>separator</type>
<frm_it>Dati personali</frm_it>
<frm_en>Personal data</frm_en>
<frm_es>NickName</frm_es>
<frm_de>NickName</frm_de>
</field>

<field>
<name>username</name>
<frm_required>1</frm_required>
<frm_it>NickName</frm_it>
<frm_en>NickName</frm_en>
...........

Saluti!
Boymix

---
Per quanto nascosta essa sia a tutto c'è una spiegazione..



boymix81

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile  home
Sunday 11 March 2007 - 11:54

Re: Aggiornamento tabelle modulo include/xmldb.php:
Opz ho letto male, alla domanda:
>>>> Non è che hai dichiarato i campi prima di username? <<<<

Risposta: NO, dopo ( quasi ultimi )

Boymix.

PS: Il Modifica del messaggio nel forum non va' :P

---
Per quanto nascosta essa sia a tutto c'è una spiegazione..



speleoalex

0 Level 10 10

levellevellevellevellevellevellevellevellevellevel
profile mail
Sunday 11 March 2007 - 12:41

Re: Aggiornamento tabelle modulo include/xmldb.php:
Purtroppo se metti come primo campo un separator non si aggiornano i dati :!

Nel descrittore il primo campo deve essere sempre una primarykey

E' comunque un bug dovuto alla sintassi delle espressioni regolari che non sono ancora riuscito a risolvere...

Ho già aggiunto e tolto campi su altri siti e a parte questo problema tutto funziona.
Puoi anche fare in modo che come id venga cambiato il campo che identifica l' utente come nell' esempio ....



<tables>
<field>
<primarykey>1</primarykey>
<name>email</name>
<frm_it>E-mail</frm_it>
<frm_en>E-mail</frm_en>
<frm_es>E-mail</frm_es>
<frm_de>E-mail</frm_de>
<frm_validator>checkmail</frm_validator>
<showinprofile>1</showinprofile>
<frm_required>1</frm_required>
</field>
<field>
<name>passwd</name>
<frm_it>Password</frm_it>
<frm_en>Password</frm_en>
<frm_es>Password</frm_es>
<frm_de>Password</frm_de>
<frm_type>password</frm_type>
<frm_retype>1</frm_retype>
<frm_required>1</frm_required>
</field>
<field>
<name>name</name>
<frm_it>Nome</frm_it>
<frm_en>Name</frm_en>
<frm_es>Nombre</frm_es>
<frm_de>Name</frm_de>
<showinprofile>1</showinprofile>
</field>
<field>
<name>surname</name>
<frm_it>Cognome</frm_it>
<showinprofile>1</showinprofile>
</field>
<field>
<name>cf</name>
<frm_it>Codice fiscale</frm_it>
<showinprofile>1</showinprofile>
</field>

<field>
<name>level</name>
<defaultvalue>0</defaultvalue>
<frm_show>0</frm_show>
</field>
<field>
<name>group</name>
<frm_show>0</frm_show>
</field>
<field>
<name>ip</name>
<frm_show>0</frm_show>
</field>
<field>
<name>rnd</name>
<frm_show>0</frm_show>
</field>
<field>
<name>active</name>
<frm_show>0</frm_show>
</field>
</tables>


 [1] [2]