Ignore:
Timestamp:
2011/04/15 12:45:37 (13 years ago)
Author:
shutta
Message:

refs #1196 (【2.11系DB移行機能】顧客情報)
2.11未満のバージョンからのデータ移行を考慮して、パスワード、秘密の質問の照合・更新処理を調整

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/helper/SC_Helper_Customer.php

    r20844 r20845  
    4949        if(is_numeric($customer_id)) { 
    5050            $salt = $objQuery->get('salt', "dtb_customer", "customer_id = ? ", array($customer_id)); 
     51 
     52            // 旧バージョン(2.11未満)からの移行を考慮 
     53            if (empty($salt)) $old_version_flag = true; 
    5154        }else{ 
    5255            $salt = SC_Utils_Ex::sfGetRandomString(10); 
     
    5861            unset($array['password']); 
    5962        } else { 
     63            // 旧バージョン(2.11未満)からの移行を考慮 
     64            if ($old_version_flag) { 
     65                $is_password_updated = true; 
     66                $salt = SC_Utils_Ex::sfGetRandomString(10); 
     67                $array['salt'] = $salt; 
     68            } 
     69 
    6070            $array['password'] = SC_Utils_Ex::sfGetHashString($array['password'], $salt); 
    6171        } 
     
    6474            //更新しない 
    6575            unset($array["reminder_answer"]); 
     76 
     77            // 旧バージョン(2.11未満)からの移行を考慮 
     78            if ($old_version_flag && $is_password_updated) { 
     79                // パスワードが更新される場合は、平文になっている秘密の質問を暗号化する 
     80                $reminder_answer = $objQuery->get('reminder_answer', "dtb_customer", "customer_id = ? ", array($customer_id)); 
     81                $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($reminder_answer, $salt); 
     82            } 
    6683        } else { 
    67             $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt); 
     84            // 旧バージョン(2.11未満)からの移行を考慮 
     85            if ($old_version_flag && !$is_password_updated) { 
     86                // パスワードが更新されない場合は、平文のままにする 
     87                unset($array['salt']); 
     88            } else { 
     89                $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt); 
     90            } 
    6891        } 
    6992 
Note: See TracChangeset for help on using the changeset viewer.