अगर उपयोगकर्ता ने पासवर्ड बदल दिया है तो कैसे जांचें?


9

मैं उपयोगकर्ता को मूल सूचना ईमेल भेजना चाहता था, इसके बाद उसने पासवर्ड बदल दिया, उसे पासवर्ड बदलने की सूचना दी।

मैं इसके Rulesलिए मॉड्यूल का उपयोग कर रहा हूं । लेकिन मुझे कोई विकल्प नहीं मिल रहा है, अगर उपयोगकर्ता ने पासवर्ड बदल दिया है तो शर्त जोड़ने के लिए।

क्या कोई तरीका है जो मैं जांच सकता हूं कि उपयोगकर्ता ने नियमों या व्यावहारिक रूप से अपना पासवर्ड बदल दिया है या नहीं।

-- आपके समय के लिए बहुत धन्यवाद।


1
जांच यह आप में मदद मिल सकती drupal.stackexchange.com/questions/68380/...
शमूएल Beniamin

जवाबों:


7

नियमों का उपयोग करके ऐसा करना सबसे आसान होगा। अगले चरणों का पालन करते हुए काम करना चाहिए।

  1. सुनिश्चित करें कि आपने मॉड्यूल पेज पर "PHP फ़िल्टर" सक्षम किया है। यह नियमों के अंदर PHP कोड का उपयोग करने में सक्षम होने के लिए आवश्यक है।
  2. एक नियम बनाएँ जो उपयोगकर्ता घटना पर प्रतिक्रिया करता है "नया उपयोगकर्ता खाता सहेजने के बाद"।
  3. प्रकार की एक शर्त जोड़ें "कस्टम PHP कोड निष्पादित करें" और निम्नलिखित स्निपेट का उपयोग करें:
    return $account_unchanged->pass != $account->pass;
  4. उपयोगकर्ता को ईमेल सूचना भेजने के लिए अपनी क्रिया (याँ) जोड़ें या कुछ और जो आपके उद्देश्य के अनुकूल हो।

या तुमने कोशिश की?
Aboodred1

हां, मैंने उत्तर लिखने से ठीक पहले इसका परीक्षण किया।
ओवी

धन्यवाद, सरल और कुशल समाधान। आकर्षण जैसा काम करता है !!
कल्पेश पटेल

4

मैंने इसे पहले नियमों में आज़माया नहीं है, लेकिन यह शायद $accountऔर $account->originalवस्तुओं पर मूल्यों की तुलना करने का मामला होगा ।

इसे कस्टम कोड में करने का एक तरीका यह है hook_user_presave():

function MYMODULE_user_presave(&$edit, $account, $category) {
  // Don't show message for registering users.
  if (isset($account->is_new) && $account->is_new) {
    return;
  }

  if (!empty($edit['pass']) && $account->pass != $edit['pass']) {
    // Password has been changed.
  }
}

आप शायद ऐसा ही कर सकते हैं hook_user_update(), लेकिन मैंने पहले कभी ऐसा नहीं किया। ऊपर एक लाइव प्रोजेक्ट से लिया गया है और पूरी तरह से काम करता है।


1

नियमों का उपयोग करना आसान हो सकता है क्योंकि आप पहले से ही इसका उपयोग कर रहे हैं, लेकिन आपको PHP फ़िल्टर मॉड्यूल को सक्षम करने की आवश्यकता है ।

निर्देशों का पालन करें:

  1. PHP फ़िल्टर मॉड्यूल सक्षम करें admin/modules
  2. एक नया नियम बनाएँ admin/config/workflow/rules
  3. After updating an existing user accountइवेंट ड्रॉपडाउन सूची पर प्रतिक्रिया से चयन करना सुनिश्चित करें ।
  4. एक शर्त जोड़ें और चुनें Execute custom PHP code
  5. मूल्य अनुभाग में निम्नलिखित PHP कस्टम कोड जोड़ें

    if(!empty($account->current_pass)) { return true; }

  6. फिर एक क्रिया जोड़ें और चुनें Send mail

  7. मान अनुभाग में [account:mail]विषय फ़ील्ड और संदेश फ़ील्ड जोड़ें और भरें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.