mysqli_query($dbTmp, "CREATE TABLE IF NOT EXISTS `" . $_SESSION['tbl_prefix'] . "export` (\n `id` int(12) NOT NULL,\n `label` varchar(255) NOT NULL,\n `login` varchar(100) NOT NULL,\n `description` text NOT NULL,\n `pw` text NOT NULL,\n `path` varchar(255) NOT NULL\n ) CHARSET=utf8;"); //CLEAN UP ITEMS TABLE $allowedTags = '<b><i><sup><sub><em><strong><u><br><br /><a><strike><ul>' . '<blockquote><blockquote><img><li><h1><h2><h3><h4><h5><ol><small><font>'; $cleanRes = mysqli_query($dbTmp, "SELECT id,description FROM `" . $_SESSION['tbl_prefix'] . "items`"); while ($cleanData = mysqli_fetch_array($cleanRes)) { mysqli_query($dbTmp, "UPDATE `" . $_SESSION['tbl_prefix'] . "items`\n SET description = '" . strip_tags($cleanData['description'], $allowedTags) . "' WHERE id = " . $cleanData['id']); } //Encrypt passwords in log_items $resTmp = mysqli_fetch_row(mysqli_query($dbTmp, "SELECT COUNT(*) FROM " . $pre . "misc\n WHERE type = 'update' AND intitule = 'encrypt_pw_in_log_items'\n AND valeur = 1")); if ($resTmp[0] == 0) { // AES Counter Mode implementation require_once '../includes/libraries/Encryption/Crypt/aesctr.php'; $tmpRes = mysqli_query($dbTmp, "SELECT * FROM " . $pre . "log_items\n WHERE action = 'at_modification' AND raison LIKE 'at_pw %'"); while ($tmpData = mysqli_fetch_array($tmpRes)) { $reason = explode(':', $tmpData['raison']); $text = Encryption\Crypt\aesctr::encrypt(trim($reason[1]), $_SESSION['encrypt_key'], 256); } mysqli_query($dbTmp, "INSERT INTO `" . $_SESSION['tbl_prefix'] . "misc`\n VALUES ('update', 'encrypt_pw_in_log_items',1)"); } // Since 2.1.17, encrypt process is changed. // Previous PW need to be re-encrypted if (@mysqli_query($dbTmp, "SELECT valeur FROM " . $_SESSION['tbl_prefix'] . "misc\n WHERE type='admin' AND intitule = 'encryption_protocol'")) { $tmpResult = mysqli_query($dbTmp, "SELECT valeur FROM " . $_SESSION['tbl_prefix'] . "misc\n WHERE type='admin' AND intitule = 'encryption_protocol'"); $tmp = mysqli_fetch_row($tmpResult); if ($tmp[0] != "ctr") { //count elem $res = mysqli_query($dbTmp, "SELECT COUNT(*) FROM " . $_SESSION['tbl_prefix'] . "items\n WHERE perso = '0'"); $data = mysqli_fetch_row($res); if ($data[0] > 0) { echo '$("#change_pw_encryption, #change_pw_encryption_progress").show();'; echo '$("#change_pw_encryption_progress").html(' . '"Number of Passwords to re-encrypt: ' . $data[0] . '");';
function prepareExchangedData($data, $type) { if ($type == "encode") { if (isset($_SESSION['settings']['encryptClientServer']) && $_SESSION['settings']['encryptClientServer'] == 0) { return json_encode($data, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP); } else { return Encryption\Crypt\aesctr::encrypt(json_encode($data, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP), $_SESSION['key'], 256); } } elseif ($type == "decode") { if (isset($_SESSION['settings']['encryptClientServer']) && $_SESSION['settings']['encryptClientServer'] == 0) { return json_decode($data, true); } else { return json_decode(Encryption\Crypt\aesctr::decrypt($data, $_SESSION['key'], 256), true); } } }
function prepareExchangedData($data, $type) { //Load AES $aes = new SplClassLoader('Encryption\\Crypt', '../includes/libraries'); $aes->register(); if ($type == "encode") { if (isset($_SESSION['settings']['encryptClientServer']) && $_SESSION['settings']['encryptClientServer'] == 0) { return json_encode($data, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP); } else { return Encryption\Crypt\aesctr::encrypt(json_encode($data, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP), $_SESSION['key'], 256); } } elseif ($type == "decode") { if (isset($_SESSION['settings']['encryptClientServer']) && $_SESSION['settings']['encryptClientServer'] == 0) { return json_decode($data, true); } else { return json_decode(Encryption\Crypt\aesctr::decrypt($data, $_SESSION['key'], 256), true); } } }
$return .= 'DROP TABLE ' . $table . ';'; $row2 = mysqli_fetch_row(mysqli_query($link, 'SHOW CREATE TABLE ' . $table)); $return .= "\n\n" . $row2[1] . ";\n\n"; for ($i = 0; $i < $num_fields; $i++) { while ($row = mysqli_fetch_row($result)) { $return .= 'INSERT INTO ' . $table . ' VALUES('; for ($j = 0; $j < $num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = preg_replace('/\\n/', '/\\n/', $row[$j]); if (isset($row[$j])) { $return .= '"' . $row[$j] . '"'; } else { $return .= '""'; } if ($j < $num_fields - 1) { $return .= ','; } } $return .= ");\n"; } } $return .= "\n\n\n"; } if (!empty($settings['bck_script_key'])) { $return = Encryption\Crypt\aesctr::encrypt($return, $settings['bck_script_key'], 256); } //save the file $handle = fopen($settings['bck_script_path'] . '/' . $settings['bck_script_filename'] . '-' . time() . '.sql', 'w+'); fwrite($handle, $return); fclose($handle); }