Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Recaptcha Module Question


Reply


907 Views

Avatar
bmc38119

Community Member, 45 Posts

21 November 2009 at 11:04am

I got the Racaptcha Module working, however, I cannot seem to get the theme parameter to work properly. My code is below. Anyone else have this same problem?

function GetInvolvedForm() {

$recaptchaField = new RecaptchaField('MyCaptcha');
$recaptchaField->jsOptions = array('theme' => 'clean'); // optional
      
      return new Form($this, "GetInvolvedForm", new FieldSet(
         // List the your fields here
         new LiteralField("literalfield","<div class=\"clearfix\" style=\"margin-bottom:20px;\">"),
         new CheckboxSetField("ContactTypeList","Please check the following areas for which you are contacting us:",
            Dataobject::get("ContactType")->toDropdownMap("Name", "Description")
         ),
         new LiteralField("literalfield","</div>"),
         new TextField("NameFirst", "First Name *"),
         new TextField("NameLast", "Last Name *"),
         new TextField("PhoneHome", "Home Phone *"),
         new TextField("PhoneCell", "Cell Phone"),
         new EmailField("Email", "Email *"),
         new TextField("Address", "Address"),
         new TextField("City", "City"),
         new DropdownField("State", "State", Dataobject::get("FormState")->toDropdownMap("StateName", "StateName"),$value = null,$form=null,$emptyOption="Select"),
         new TextField("ZipCode", "Zip Code"),
         new DropdownField("Province", "Province", Dataobject::get("FormProvince")->toDropdownMap("ProvinceName", "ProvinceName"),$value = null,$form=null,$emptyOption="Select"),
         new DropdownField("Country", "Country", Dataobject::get("FormCountry")->toDropdownMap("CountryName", "CountryName"),$value = null,$form=null,$emptyOption="Select"),
         new TextareaField("Comment", "Comment"),
         $recaptchaField,
         new HiddenField("GetInvolvedPageID", "", $this->ID)//,
         //new HiddenField ("Referrer", "", $_SERVER['HTTP_REFERER'])
      ), new FieldSet(
      // List the action buttons here
         new FormAction("process", "Submit")
      
      ), new RequiredFields(
      // List the required fields here: "Email", "FirstName"
      "NameFirst",
      "NameLast",
      "PhoneHome",
      "Email"
      ));
   }
   
   function process( $data, $form ) {
      $submittedForm = new Contact();
      $form->saveInto($submittedForm);
      //replace array commas with space after so string can return down to next line in reports
      //do not use carriage returns, will cause issues with csv export
      $submittedForm->ContactTypeList = str_replace(',', ', ', $submittedForm->ContactTypeList);
      $submittedForm->write();

      //iterate through ContactTypeList array for print friendly in the email
      $printedContactTypeList = '<br/>';
      foreach ($data['ContactTypeList'] as $k=>$v) {
         $printedContactTypeList .= $v . '<br />';
      };
      $data['ContactTypeList'] = $printedContactTypeList;

      //send notifcation email
      $From = $this->EmailNotificationFrom;
      $To = $this->EmailNotificationTo;
      $Subject = $this->EmailNotificationSubject;
      $email = new Email($From, $To, $Subject);
      //set template
      $email->setTemplate('GetInvolvedEmailNotification');
      //populate template
      $email->populateTemplate($data);
      //send mail
      $email->send();
       //return to submitted message

      $url = "/get-involved-thank-you/";
      Director::redirect($url);
   }