Skip to content
Snippets Groups Projects
Commit 5a21d904 authored by Regis Houssin's avatar Regis Houssin
Browse files

Fix: add function to encrypt/decrypt in sql files

parent 5b44e2c1
No related branches found
No related tags found
No related merge requests found
......@@ -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))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment