public static function updateHash($oldaeskey, $newaeskey, $hash_id) { global $DB; $self = new self(); $self->getFromDB($hash_id); $entities = getSonsOf('glpi_entities', $self->fields['entities_id']); $account = new PluginAccountsAccount(); $aeskey = new PluginAccountsAesKey(); $oldhash = hash("sha256", $oldaeskey); $newhash = hash("sha256", $newaeskey); $newhashstore = hash("sha256", $newhash); // uncrypt passwords for update $query_ = "SELECT *\n FROM `glpi_plugin_accounts_accounts`\n WHERE "; $query_ .= getEntitiesRestrictRequest(" ", "glpi_plugin_accounts_accounts", '', $entities); $result_ = $DB->query($query_); if ($DB->numrows($result_) > 0) { while ($data = $DB->fetch_array($result_)) { $oldpassword = addslashes(plugin_accounts_AESDecryptCtr($data['encrypted_password'], $oldhash, 256)); $newpassword = addslashes(plugin_accounts_AESEncryptCtr($oldpassword, $newhash, 256)); $account->update(array('id' => $data["id"], 'encrypted_password' => $newpassword)); } $self->update(array('id' => $hash_id, 'hash' => $newhashstore)); if ($aeskey->getFromDBByHash($hash_id) && isset($aeskey->fields["name"])) { $values["id"] = $aeskey->fields["id"]; $values["name"] = $newaeskey; $aeskey->update($values); } } }
if (!isset($_GET["id"])) { $_GET["id"] = ""; } if (!isset($_GET["withtemplate"])) { $_GET["withtemplate"] = ""; } $account = new PluginAccountsAccount(); $account_item = new PluginAccountsAccount_Item(); if (isset($_POST["add"])) { $account->check(-1, 'w', $_POST); $newID = $account->add($_POST); Html::back(); } else { if (isset($_POST["update"])) { $account->check($_POST['id'], 'w'); $account->update($_POST); Html::back(); } else { if (isset($_POST["delete"])) { $account->check($_POST['id'], 'w'); $account->delete($_POST); $account->redirectToList(); } else { if (isset($_POST["restore"])) { $account->check($_POST['id'], 'w'); $account->restore($_POST); $account->redirectToList(); } else { if (isset($_POST["purge"])) { $account->check($_POST['id'], 'w'); $account->delete($_POST, 1);
function plugin_accounts_configure15() { global $DB; // uncrypt passwords for update $query_ = "SELECT *\n FROM `glpi_plugin_accounts_accounts` "; $result_ = $DB->query($query_); if ($DB->numrows($result_) > 0) { while ($data = $DB->fetch_array($result_)) { $password = addslashes(plugin_accounts_crypte($data['encrypted_password'], 3)); $PluginAccountsAccount = new PluginAccountsAccount(); $PluginAccountsAccount->update(array('id' => $data["id"], 'encrypted_password' => $password)); } } }