Fix: add function to encrypt/decrypt in sql files
This commit is contained in:
parent
5b44e2c1f8
commit
5a21d90411
@ -27,10 +27,10 @@ ALTER TABLE llx_propal MODIFY model_pdf varchar(255);
|
||||
|
||||
|
||||
-- Delete old constants
|
||||
DELETE FROM llx_const WHERE name = 'MAIN_MENU_BARRETOP';
|
||||
DELETE FROM llx_const WHERE name = 'MAIN_MENUFRONT_BARRETOP';
|
||||
DELETE FROM llx_const WHERE name = 'MAIN_MENU_BARRELEFT';
|
||||
DELETE FROM llx_const WHERE name = 'MAIN_MENUFRONT_BARRELEFT';
|
||||
DELETE FROM llx_const WHERE __DECRYPT('name')__ = 'MAIN_MENU_BARRETOP';
|
||||
DELETE FROM llx_const WHERE __DECRYPT('name')__ = 'MAIN_MENUFRONT_BARRETOP';
|
||||
DELETE FROM llx_const WHERE __DECRYPT('name')__ = 'MAIN_MENU_BARRELEFT';
|
||||
DELETE FROM llx_const WHERE __DECRYPT('name')__ = 'MAIN_MENUFRONT_BARRELEFT';
|
||||
|
||||
ALTER TABLE llx_facture_fourn ADD COLUMN ref_ext varchar(30) AFTER entity;
|
||||
ALTER TABLE llx_commande_fournisseur ADD COLUMN ref_ext varchar(30) AFTER entity;
|
||||
|
||||
@ -107,6 +107,12 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
||||
$conf->db->name = $dolibarr_main_db_name;
|
||||
$conf->db->user = $dolibarr_main_db_user;
|
||||
$conf->db->pass = $dolibarr_main_db_pass;
|
||||
|
||||
// Load type and crypt key
|
||||
if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0;
|
||||
$conf->db->dolibarr_main_db_encryption = $dolibarr_main_db_encryption;
|
||||
if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey='';
|
||||
$conf->db->dolibarr_main_db_cryptkey = $dolibarr_main_db_cryptkey;
|
||||
|
||||
$db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name,$conf->db->port);
|
||||
if ($db->connected == 1)
|
||||
|
||||
@ -218,6 +218,32 @@ function run_sql($sqlfile,$silent=1,$entity='',$usesavepoint=1,$handler='')
|
||||
// Ajout trace sur requete (eventuellement a commenter si beaucoup de requetes)
|
||||
if (! $silent) print '<tr><td valign="top">'.$langs->trans("Request").' '.($i+1)." sql='".$newsql."'</td></tr>\n";
|
||||
dol_syslog('Admin.lib::run_sql Request '.($i+1).' sql='.$newsql, LOG_DEBUG);
|
||||
|
||||
// Replace for encrypt data
|
||||
if (preg_match_all('/__ENCRYPT\(\'([^\,]+)\'\)__/i',$newsql,$reg))
|
||||
{
|
||||
$num=count($reg[0]);
|
||||
|
||||
for($i=0;$i<$num;$i++)
|
||||
{
|
||||
$from = $reg[0][$i];
|
||||
$to = $db->encrypt($reg[1][$i],1);
|
||||
$newsql = str_replace($from,$to,$newsql);
|
||||
}
|
||||
}
|
||||
|
||||
// Replace for decrypt data
|
||||
if (preg_match_all('/__DECRYPT\(\'([^\,]+)\'\)__/i',$newsql,$reg))
|
||||
{
|
||||
$num=count($reg[0]);
|
||||
|
||||
for($i=0;$i<$num;$i++)
|
||||
{
|
||||
$from = $reg[0][$i];
|
||||
$to = $db->decrypt($reg[1][$i]);
|
||||
$newsql = str_replace($from,$to,$newsql);
|
||||
}
|
||||
}
|
||||
|
||||
// Replace __x__ with rowid of insert nb x
|
||||
while (preg_match('/__([0-9]+)__/',$newsql,$reg))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user