সমস্ত ওয়েবফর্মে বা প্রতি সামগ্রীর ধরণের ওয়েবফর্মগুলিতে ড্রুপাল 7 ক্যাপচা


9

আমি ডি 7 এ আছি

আমার কাছে এমন একটি সামগ্রী রয়েছে যা ওয়েবফর্ম সক্ষম।

প্রয়োজনীয়তা আমার এই সামগ্রীর ধরণের নোডের জন্য সমস্ত ওয়েবফর্মের জন্য ক্যাপচা প্রয়োগ করতে হবে।

ডি 7-তে সমস্যা , আপনি ফর্মটি ক্যাপচা পেতে সেটিংস পৃষ্ঠায় form_id দেওয়ার কথা, তবে আমার সমস্ত ফর্ম_আইডিসহ প্রচুর ফর্ম থাকবে।

আমি ক্যাপচা মডিউলটি ব্যবহার করছি ।

আমার প্রয়োজনীয়তা বাস্তবায়নের কোন উপায় আছে?

উত্তর:


9

আপনি আপনার টেম্পলেট.এফপিতে নিম্নলিখিত কোডটি যুক্ত করতে পারেন

if (strstr($form_id, 'webform_client_form')) {
        $form['my_captcha_element'] = array(
            '#type' => 'captcha',
            '#captcha_type' => 'image_captcha/Image',
        );
    }

এটি আপনার থেমেনাম_রফর্ম_াল্টারের ভিতরে রাখা উচিত


ধন্যবাদ। আমি এই সমাধানটি পেয়েছি, এটি কাজ করে চলেছি, আমার নিজের প্রশ্নের উত্তর দিতে ফিরে এসেছি এবং দেখেছি যে আপনার ইতিমধ্যে রয়েছে। :) তবুও সহায়তার জন্য ধন্যবাদ।
এসঘোষ

আপনার কাস্টম কোডটি সেই ব্যক্তিদের জন্য অনুমতি নির্ধারিত সম্মানের সম্মানের জন্য যা ক্যাপচা এড়িয়ে যেতে পারে আপনার যুক্তিতে নিম্নলিখিতগুলি যুক্ত করুন: যদি (স্টারস্টার ($ ফর্ম_আইডি, 'ওয়েবফর্ম_ক্লিয়েন্ট_ফর্ম')) &&! form ['my_captcha_element'] = অ্যারে ('# টাইপ' => 'ক্যাপচা', '# ক্যাপচা_টাইপ' => 'ডিফল্ট',); }
kbrinner

1

বিকল্পভাবে আপনি এই কোডটি একটি কাস্টম মডিউলে রাখতে পারেন:

/**
* Implementation of hook_form_alter().
*/
function mymodule_form_alter(&$form, $form_state, $form_id) {
  if (preg_match("/^webform_client_form_[0-9]+$/",$form_id) && user_is_logged_in() == FALSE) {
    $form['my_captcha_element'] = array(
      '#type' => 'captcha',
    );
  }
}

সূত্র: https://drupal.org/node/255795


0

আপনার কাস্টম কোডটি ক্যাপচা এড়িয়ে যেতে পারে এমন ব্যক্তিদের জন্য প্রশাসক / ব্যক্তি / অনুমতিগুলিতে নির্ধারিত অনুমতিগুলির সম্মান জানাতে আপনার যুক্তিতে নিম্নলিখিতটি যুক্ত করুন:

if ((strstr($form_id, 'webform_client_form')) && !(user_access('skip CAPTCHA'))) {
    $form['my_captcha_element'] = array(
      '#type' => 'captcha',
      '#captcha_type' => 'default',
    );
  }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.