From: Steve Sutton Date: Fri, 2 May 2014 12:59:26 +0000 (+0000) Subject: Servicerequest form X-Git-Tag: v1.0~44 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=6d09044fa17301893701dd480f2a0ef71c07bf96;p=web%2FCedarvilleMarine.git Servicerequest form --- diff --git a/Toolkit/Contacts/ServiceRequest.php b/Toolkit/Contacts/ServiceRequest.php new file mode 100755 index 0000000..614b6bb --- /dev/null +++ b/Toolkit/Contacts/ServiceRequest.php @@ -0,0 +1,358 @@ + + * @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_ServiceRequest + 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"; + /** + * 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' => true, + 'name' => 'fname', + 'display' => 'First Name' + ); + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => 'lname', + 'display' => 'Last Name' + ); + $e[] = array( + 'type' => 'tel', + 'req' => true, + 'name' => 'phone', + 'display' => 'Home Phone' + ); + $e[] = array( + 'type' => 'tel', + 'req' => true, + 'name' => 'mobile_phone', + 'display' => 'Mobile Phone' + ); + $e[] = array( + 'type' => 'email', + 'req' => true, + 'name' => 'email', + 'display' => 'Email' + ); + $e[] = array( + 'type' => 'email', + 'req' => true, + 'name' => 'email_rmv', + 'display' => 'Verify Email' + ); + if ($this->tableName == 'customer') { + $add1 = 'add1'; + $add2 = 'add2'; + } else { + $add1 = 'address'; + $add2 = 'address2'; + } + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => $add1, + 'display' => 'Address 1' + ); + $e[] = array( + 'type' => 'text', + 'req' => false, + 'name' => $add2, + 'display' => 'Address 2' + ); + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => 'city', + 'display' => 'City' + ); + $e[] = array( + 'type' => 'select', + 'req' => true, + 'name' => 'state', + 'display' => 'State/Province', + 'opts' => $GLOBALS['states'] + ); + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => 'zip', + 'display' => 'ZIP/Postal Code' + ); + $e[] = array( + 'type' => 'text', + 'req' => true, + 'name' => 'name_of_vessel', + 'display' => 'Name of Vessel' + ); + $engTypes = array( + '' => 'Select Engine Type', + 'group1' => 'Outboard', + 'Mercury' => 'Mercury', + 'Evinrude_Johnson' => 'Evinrude / Johnson', + 'group2' => 'Stern Drive', + 'Mercruiser' => 'Mercruiser', + 'group3' => 'Sail Boats', + 'N/A' => 'Not Applicable' + ); + $e[] = array( + 'type' => 'select3', + 'req' => true, + 'name' => 'engine_type', + 'display' => 'Engine Type', + 'opts' => $engTypes + ); + $serTypes = array( + '' => '', + 'group1' => 'Yes', + 'arDate' => 'Anticipated Arrival Date', + 'group2' => 'No', + 'arDate' => 'Anticipated Arrival Date', + ); + $e[] = array( + 'type' => 'select3', + 'req' => true, + 'name' => 'service_request', + 'display' => 'Are you also requesting launch service?', + 'opts' => $serTypes + ); + $e[] = array( + 'type' => 'select3', + 'req' => true, + 'name' => 'work_requested', + 'display' => 'Work Requested', + 'opts' => $groupSelect + ); + //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' => 'textarea', + 'req' => false, + 'name' => 'comments', + 'display' => 'Additional Issues, Comments or Directions' + ); + $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/static/11.phtml b/static/11.phtml new file mode 100644 index 0000000..3e96aba --- /dev/null +++ b/static/11.phtml @@ -0,0 +1,12 @@ +configureForm(); + $cf->useCaptcha(true); + echo $cf->toHtml(); +} diff --git a/static/8.phtml b/static/8.phtml index 705e836..e8ff4ad 100644 --- a/static/8.phtml +++ b/static/8.phtml @@ -1,12 +1,12 @@ configureForm(); - $cf->useCaptcha(true); - echo $cf->toHtml(); + $cf = new Toolkit_Contacts_ContactUs( + Toolkit_Database::getInstance(), + 'contact_form', + 'post', + BASE_URL . "index.php?catid=$catid" + ); + $cf->configureForm(); + $cf->useCaptcha(true); + echo $cf->toHtml(); }