From: Steve Sutton Date: Wed, 11 Jun 2014 18:40:37 +0000 (-0400) Subject: update forms X-Git-Tag: v1.0^2~55^2~7 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=39fd003015549f13de629e45f837ab964554b726;p=web%2FSooLocks.git update forms adding form for page id 35 setup separate groups for both form 1 = contact 2 = Cruise Form setup the config.ini file for contact types --- diff --git a/Toolkit/Contacts/ContactUs.php b/Toolkit/Contacts/ContactUs.php index 5a52256..40415ba 100755 --- a/Toolkit/Contacts/ContactUs.php +++ b/Toolkit/Contacts/ContactUs.php @@ -86,7 +86,7 @@ class Toolkit_Contacts_ContactUs /** * which groups to use on form if empty will grab all groups */ - protected $contactInqGroups = array(); + protected $contactInqGroups = array(1); /** * Who to send the email to when the contact form is submitted diff --git a/Toolkit/Contacts/CruiseForm.php b/Toolkit/Contacts/CruiseForm.php new file mode 100644 index 0000000..b0ad539 --- /dev/null +++ b/Toolkit/Contacts/CruiseForm.php @@ -0,0 +1,319 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @version CVS: $Id: ContactUs.php,v 1.36 2010/07/14 23:33:15 jamie Exp $ + * @link http://demo.gaslightmedia.com + */ + +/** + * Error codes for Toolkit_Contacts_ContactUs + * + * Codes are mapped to textual messaged by errorMessage() method, + * if you add a new code be sure to add a new message for it to errorMessage() + * + * @see Toolkit_Contacts_ContactUs::errorMessage() + */ + +/** + * GLM Contact Us form + * + * This form handles rendering and processing the contact us form. + * Controls the email functionality of the form, whether the client + * has a contact DB to store contact records and how to insert/update + * submitted form values. + * + * @category Toolkit + * @package Contacts + * @author Jamie Kahgee + * @copyright 2009 Jamie Kahgee + * @license http://www.gaslightmedia.com Gaslightmedia + * @link http://demo.gaslightmedia.com + * @see Toolkit_FormBuilder + */ +class Toolkit_Contacts_CruiseForm + extends Toolkit_Contacts_ContactUs +{ + /** + * Contact type to be inserted into the DB as when the form is submitted + * + * This property is only valid when the [hasContactDB] property is set + * to true. + * + * N.B. + * If you subclass this class out to other forms that are + * inserted into the contact db, be sure to make each one of their + * contactType properties unique. We don't check for duplicates. + * + * @var string + * @access protected + */ + protected $contactType = '2'; + /** + * Email subject and

header in email + * + * It gets set in the constructor if you leave empty here, but you + * can set it to something different here to override that if you desire. + * + * @var string + * @access protected + */ + public $subject = "ENews Signup Form from website"; + /** + * which groups to use on form if empty will grab all groups + */ + protected $contactInqGroups = array(2); + /** + * Message to display if the form is successfully submitted + * + * @var string + * @access protected + */ + protected $successMsg = ' + +
+ Thank you for requesting the ENewsetter. +
'; + // {{{ configureConstats() + + /** + * Class constructor + * + * @param object $pdo PHP Data Object + * @param string $formName Form's name. + * @param string $method (optional)Form's method defaults to 'POST' + * @param string $action (optional)Form's action + * @param string $target (optional)Form's target defaults to '_self' + * @param mixed $attributes (optional)Extra attributes for
tag + * @param bool $trackSubmit (optional)Whether to track if the form was + * submitted by adding a special hidden field + * + * @author Jamie Kahgee + * @access public + * @link http://pear.php.net/package/HTML_QuickForm/docs/latest/HTML_QuickForm/HTML_QuickForm.html + * @see HTML_QuickForm + */ + public function __construct( + PDO $pdo, + $formName, + $method = 'post', + $action = '', + $target = '', + $attributes = null, + $trackSubmit = false + ) { + parent::__construct( + $pdo, + $formName, + $method, + $action, + $target, + $attributes, + $trackSubmit + ); + $this->email = ENEWS_EMAIL; + } + + /** + * Constant variables for the form + * + * These values won't get overridden by POST or GET vars + * + * @return void + * @access public + */ + public function configureConstants() + { + $constants = array( + 'user_agent' => $_SERVER['HTTP_USER_AGENT'], + 'remote_addr' => $_SERVER['REMOTE_ADDR'], + 'mail_ok' => 1 + ); + $this->setupConstants($constants); + } + + // }}} + // {{{ configureElements() + + /** + * Form element definitions + * + * @return void + * @access public + */ + public function configureElements() + { + $e = array(); + if ($this->hasContactDB) { + $this->setInterestFields(); + // Grouped Elements are defined here. + $this->interestsGroups =& $this->getInterestFields(); + } + + // All Elements are created here. This includes group element definitions. + $e[] = array( + 'type' => 'hidden', + 'req' => false, + 'name' => 'user_agent' + ); + $e[] = array( + 'type' => 'hidden', + 'req' => false, + 'name' => 'remote_addr' + ); + $e[] = array( + 'type' => 'header', + 'name' => 'firstHdr_rmv', + 'display' => '' + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => 'fname', + 'display' => 'First Name' + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => 'lname', + 'display' => 'Last Name' + ); + if ($this->tableName == 'customer') { + $add1 = 'add1'; + $add2 = 'add2'; + } else { + $add1 = 'address'; + $add2 = 'address2'; + } + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => $add1, + 'display' => 'Address 1' + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => $add2, + 'display' => 'Address 2' + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => 'city', + 'display' => 'City' + ); + $e[] = array( + 'type' => 'select', + 'req' => false, + 'name' => 'state', + 'display' => 'State/Province', + 'opts' => $GLOBALS['states'] + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => 'zip', + 'display' => 'ZIP/Postal Code' + ); + $e[] = array( + 'type' => 'email', + 'req' => true, + 'name' => 'email', + 'display' => 'Email' + ); + $e[] = array( + 'type' => 'email', + 'req' => true, + 'name' => 'email_rmv', + 'display' => 'Verify Email' + ); + $e[] = array( + 'type' => 'tel', + 'req' => false, + 'name' => 'phone', + 'display' => 'Phone' + ); + $e[] = array( + 'type' => 'tel', + 'req' => false, + 'name' => 'fax', + 'display' => 'Fax' + ); + $e[] = array( + 'type' => 'textarea', + 'req' => false, + 'name' => 'comments', + 'display' => 'Comments' + ); + if ($this->hasContactDB) { + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'mail_ok', + 'display' => '', + 'opts' => 'Yes, I would like to receive Email Newsletters', + 'val' => array(0, 1) + ); + if (defined("MEMBERS_DB") && MEMBERS_DB) { + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'members', + 'display' => '', + 'opts' => 'Yes, I would like to receive information via e-mail from '.SITENAME.' Members', + 'val' => array(0, 1) + ); + } + } + if (is_array($this->interestsGroups)) { + foreach ($this->interestsGroups as $group => $gData) { + $this->myGroups[] = $gData; + $e[] = array( + 'type' => 'group', + 'req' => false, + 'name' => 'interest['.$group.']', + 'group' => $gData, + 'label' => $group, + 'seperator' => ' ', + 'appendName' => true + ); + } + } + $e[] = array( + 'type' => 'CAPTCHA_Image', + 'req' => false, + 'name' => 'captcha_question', + 'display' => 'Verification code', + 'opts' => $this->captchaOptions + ); + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => 'captcha_rmv', + 'display' => 'Enter verification code' + ); + $e[] = array( + 'type' => 'submit', + 'req' => false, + 'name' => 'submit_rmv', + 'display' => 'Submit Form' + ); + + $this->setupElements($e); + } + + + // }}} +} diff --git a/Toolkit/Contacts/config.ini b/Toolkit/Contacts/config.ini index c77d0d2..5b0a4da 100644 --- a/Toolkit/Contacts/config.ini +++ b/Toolkit/Contacts/config.ini @@ -9,6 +9,7 @@ sequence = "contact_id_seq" [contact_types] 1 = "Web Contact" -2 = "E-News" -3 = "Travel Planner" -4 = "Visitor Guide" +;2 = "E-News" +;3 = "Travel Planner" +;4 = "Visitor Guide" +5 = "Cruise Form" diff --git a/static/35.phtml b/static/35.phtml new file mode 100644 index 0000000..f15f0d7 --- /dev/null +++ b/static/35.phtml @@ -0,0 +1,12 @@ +configureForm(); + $cf->useCaptcha(true); + echo $cf->toHtml(); +}