예제 #1
0
 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);
         }
     }
 }
예제 #2
0
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);
예제 #3
0
파일: hook.php 프로젝트: geldarr/hack-space
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));
        }
    }
}