উত্তর:
যদিও এই পদ্ধতির মডিউলগুলি ব্যবহার করে, ব্যবহারকারীরা লগইনটোবোগান এবং বিধিগুলি ব্যবহার করে তাদের ই-মেইলগুলি নিশ্চিত করার পরে আমি নোড যুক্ত করি । লগইনটোবোগান নিয়ম সংহতকরণ একটি নতুন ইভেন্ট যুক্ত করে, When the user account is validatedযা আপনাকে ইমেল নিশ্চিতকরণের ভিত্তিতে ক্রিয়া সম্পাদন করতে দেয়।
এটি আমার জন্য কাজ করে:
/**
* Implements @see hook_user_presave
*/
function hook_user_presave(&$edit, $account, $category) {
if ($account->uid // user is not new
&& $account->status === "0" && $edit['status']==1) { // user is being activated
}
}
if($account->uid && $account->original->status == 0 && $account->status == 1)
আপনি যদি ইমেল বৈধতার জন্য লগইনটোগগান মডিউলটি ব্যবহার করেন এবং আপনি নিয়ম মডিউলটি ব্যবহার করতে চান না তবে আপনি কেবল logintoboggan_email_validated = TRUEকোডটিতে নিজেকে মডিউলটির বৈধতা প্রতিক্রিয়া ( হুক_উজার_আপডেটে ঠেলে দেওয়া একটি অস্থায়ী অ্যাকাউন্ট সম্পত্তি শোষণ করে) নকল করতে পারেন :
/**
* Implement hook_user_update()
*
*/
function yourcustommodule_user_update(&$edit, $account) {
if (!empty($account->logintoboggan_email_validated) && !isset($account->your_custom_action)) {
$account->your_custom_action = TRUE;
// Do what you want here
}
}
যেহেতু কোর এবং অন্যান্য মডিউলগুলি হুক_উজার_আপডেটকেও অনুরোধ করবে আপনি বারবার ক্রিয়া এড়াতে কিছু প্রয়োগ করতে চান। এই উদাহরণে আমি ক্রিয়াকলাপটি শুরু হওয়ার পরে property অ্যাকাউন্টে অন্য সম্পত্তি সেট করেছিলাম তবে প্রয়োজনে আপনি সূক্ষ্ম নিয়ন্ত্রণ আরোপ করতে পারেন।
নোট করুন যে যদি স্বয়ংক্রিয় ই-মেইল বৈধতার জন্য লগইনটোবগান ব্যবহার করা হয় IOco এর পদ্ধতিটি কাজ করবে না (বহু কারণের মধ্যে - একটি হুক_উজার_প্রেশাবে সময়, $ অ্যাকাউন্ট-> স্থিতি == 1 (এটি কেবলমাত্র আপনার নির্বাচিত "প্রাক-অনুমোদিত" তে ভূমিকা রাখে অবস্থা).