From 2ffd7172cfab829391a13a2e70290927e2071495 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Wed, 27 Aug 2014 12:26:05 -0400 Subject: [PATCH] fix styles for add event form switch to flexy template using the contact form one as a starting point. --- Toolkit/Events/libjs/edit-event.js | 14 +- Toolkit/Members/Events/CommonEditEvent.php | 312 +++++++++++---------- Toolkit/Members/Events/templates/form.html | 111 ++++++++ Toolkit/Members/css/member-admin.css | 5 +- css/contactform.css | 7 +- 5 files changed, 292 insertions(+), 157 deletions(-) create mode 100644 Toolkit/Members/Events/templates/form.html diff --git a/Toolkit/Events/libjs/edit-event.js b/Toolkit/Events/libjs/edit-event.js index 042592c..e926fee 100644 --- a/Toolkit/Events/libjs/edit-event.js +++ b/Toolkit/Events/libjs/edit-event.js @@ -14,7 +14,7 @@ var Events = CKEDITOR.replace("descr", { toolbar : "Default", - width : 600, + width : "auto", height : 200, filebrowserImageBrowseUrl : "../Toolkit/CKImages/browser.php?folder=1", filebrowserImageUploadUrl : "../Toolkit/CKImages/controller.php?command=Upload", @@ -25,7 +25,7 @@ var Events = CKEDITOR.replace("descr", { toolbar : "Default", - width : 600, + width : "auto", height : 200, filebrowserImageBrowseUrl : "../../Toolkit/CKImages/browser.php?folder=1", filebrowserImageUploadUrl : "../../Toolkit/CKImages/controller.php?command=Upload", @@ -45,7 +45,7 @@ var Events = }); $('#edate').datepicker(); } - $(":checkbox[name='all_day']").change(function (){ + $(":checkbox[name='allday']").change(function (){ Events.show_hide_time(); }); $("select[name='dayom']").change(function (){ @@ -82,12 +82,14 @@ var Events = }); }, show_hide_time: function() { - if ($(":checkbox[name='all_day']").attr('checked')) { + if ($(':checkbox[name="allday"][value="1"]').prop('checked')) { + console.log('all_day on'); $("select[name^='btime']").val(''); - $("select[name^='btime']").attr('disabled', 'disabled'); + $("select[name^='btime']").prop('disabled', 'disabled'); $("select[name^='etime']").val(''); - $("select[name^='etime']").attr('disabled', 'disabled'); + $("select[name^='etime']").prop('disabled', 'disabled'); } else { + console.log('all_day off'); $("select[name^='btime']").removeAttr('disabled'); $("select[name^='etime']").removeAttr('disabled'); } diff --git a/Toolkit/Members/Events/CommonEditEvent.php b/Toolkit/Members/Events/CommonEditEvent.php index 4d10702..fc1afb4 100644 --- a/Toolkit/Members/Events/CommonEditEvent.php +++ b/Toolkit/Members/Events/CommonEditEvent.php @@ -102,6 +102,7 @@ class Toolkit_Members_Events_CommonEditEvent * @access protected */ protected $subject = 'New Event Submission'; + public $formTemplate = 'form.html'; /** * Message to display if the form is successfully submitted @@ -224,17 +225,17 @@ class Toolkit_Members_Events_CommonEditEvent BASE_SECURE_URL : MEDIA_BASE_URL; $this->captchaOptions = array( - 'width' => 100, - 'height' => 50, - 'callback' => "{$callbackUrl}Toolkit/qfcaptcha.php?var=$var", - 'sessionVar' => $var, + 'width' => 100, + 'height' => 50, + 'callback' => "{$callbackUrl}Toolkit/qfcaptcha.php?var=$var", + 'sessionVar' => $var, 'imageOptions' => array( - 'font_size' => 16, - 'font_path' => GLM_APP_BASE . 'glmPEAR/Image/Canvas/Fonts/', - 'font_file' => 'times.ttf', + 'font_size' => 16, + 'font_path' => GLM_APP_BASE . 'glmPEAR/Image/Canvas/Fonts/', + 'font_file' => 'times.ttf', 'background_color' => '#cccccc', - 'obfuscation' => false, - 'angle' => true, + 'obfuscation' => false, + 'angle' => true, ), ); } @@ -317,8 +318,8 @@ class Toolkit_Members_Events_CommonEditEvent // All Elements are created here. This includes group element definitions. $e[] = array( 'type' => 'header', - 'name' => 'eventInfoHeader_rmv', - 'display' => 'Event Information' + 'name' => 'eventNameHdr', + 'display' => 'Event Name' ); $e[] = array( 'type' => 'text', @@ -342,6 +343,11 @@ class Toolkit_Members_Events_CommonEditEvent 'name' => 'visable', 'val' => 0 ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventDateHdr', + 'display' => 'Event Date / Time' + ); $e[] = array( 'type' => 'text', 'req' => true, @@ -360,15 +366,15 @@ class Toolkit_Members_Events_CommonEditEvent 'type' => 'advcheckbox', 'req' => false, 'name' => 'allday', - 'display' => 'All Day Event?', - 'opts' => 'Yes', + 'display' => '', + 'opts' => 'All Day Event', 'val' => array(0, 1) ); $e[] = array( 'type' => 'date', 'req' => false, 'name' => 'btime', - 'display' => 'Start Time', + 'display' => 'Start Time
', 'opts' => array( 'format' => 'h : i A', 'addEmptyOption' => true, @@ -388,7 +394,7 @@ class Toolkit_Members_Events_CommonEditEvent 'type' => 'date', 'req' => false, 'name' => 'etime', - 'display' => 'End Time', + 'display' => 'End Time
', 'opts' => array( 'format' => 'h : i A', 'addEmptyOption' => true, @@ -403,12 +409,17 @@ class Toolkit_Members_Events_CommonEditEvent ), ), ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventRecurHdr', + 'display' => 'Event Recurs' + ); $e[] = array( 'type' => 'advcheckbox', 'req' => false, 'name' => 'recurr', - 'display' => 'Recurring Event', - 'opts' => 'Is this a recurring event?', + 'display' => '', + 'opts' => 'Event Recurs', 'val' => array(0, 1) ); $daysOm = array(''=>''); @@ -465,6 +476,11 @@ class Toolkit_Members_Events_CommonEditEvent 'seperator' => ' ', 'appendName' => true ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventInfoHdr', + 'display' => 'Event Information' + ); $e[] = array( 'type' => 'select', 'req' => true, @@ -476,7 +492,7 @@ class Toolkit_Members_Events_CommonEditEvent 'type' => 'text', 'req' => false, 'name' => 'website', - 'display' => 'Website' + 'display' => 'Event Website' ); $e[] = array( 'type' => 'text', @@ -497,6 +513,11 @@ class Toolkit_Members_Events_CommonEditEvent 'name' => 'cost', 'display' => 'Cost', ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventIntroHdr', + 'display' => 'Event Intro' + ); $e[] = array( 'type' => 'textarea', 'req' => false, @@ -504,6 +525,11 @@ class Toolkit_Members_Events_CommonEditEvent 'display' => 'Intro 350 characters left', 'opts' => array('id' => 'intro') ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventDescrHdr', + 'display' => 'Event Description' + ); $e[] = array( 'type' => 'textarea', 'req' => false, @@ -511,6 +537,11 @@ class Toolkit_Members_Events_CommonEditEvent 'display' => 'Description', 'opts' => array('id' => 'descr') ); + $e[] = array( + 'type' => 'header', + 'name' => 'eventImgHdr', + 'display' => 'Event Image' + ); $e[] = array( 'type' => 'static', 'req' => false, @@ -676,7 +707,8 @@ class Toolkit_Members_Events_CommonEditEvent 'type' => 'submit', 'req' => false, 'name' => 'submit_rmv', - 'display' => 'Submit' + 'display' => 'Submit', + 'opts' => array('class' => 'button') ); $this->setupElements($e); @@ -750,102 +782,102 @@ class Toolkit_Members_Events_CommonEditEvent 'image/pjpeg', 'image/pjp', 'image/gif', - 'image/png', + 'image/png' ); $r[] = array( - 'element' => 'topicid', - 'message' => 'ERROR: Invalid Topic!', - 'type' => 'numeric', - 'format' => null, + 'element' => 'topicid', + 'message' => 'ERROR: Invalid Category!', + 'type' => 'numeric', + 'format' => null, 'validation' => $this->validationType, - 'reset' => true, - 'force' => false + 'reset' => true, + 'force' => false ); $r[] = array( - 'element' => 'email', - 'message' => 'ERROR: Invalid Email Format!', - 'type' => 'checkEmail', - 'format' => array('use_rfc822' => true), + 'element' => 'email', + 'message' => 'ERROR: Invalid Email Format!', + 'type' => 'checkEmail', + 'format' => array('use_rfc822' => true), 'validation' => $this->validationType, - 'reset' => true, - 'force' => false + 'reset' => true, + 'force' => false ); $r[] = array( - 'element' => array('bdate', 'edate'), - 'message' => 'ERROR: Starting Date must be before Ending Date', - 'type' => 'callback', - 'format' => array(&$this, 'checkDateRange'), + 'element' => array('bdate', 'edate'), + 'message' => 'ERROR: Starting Date must be before Ending Date', + 'type' => 'callback', + 'format' => array(&$this, 'checkDateRange'), 'validation' => $this->validationType, - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); $r[] = array( - 'element' => 'bdate', - 'message' => 'ERROR: Invalid date!', - 'type' => 'callback', - 'format' => array(&$this, 'checkDate'), + 'element' => 'bdate', + 'message' => 'ERROR: Invalid date!', + 'type' => 'callback', + 'format' => array(&$this, 'checkDate'), 'validation' => $this->validationType, - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); $r[] = array( - 'element' => 'edate', - 'message' => 'ERROR: Invalid date!', - 'type' => 'callback', - 'format' => array(&$this, 'checkDate'), + 'element' => 'edate', + 'message' => 'ERROR: Invalid date!', + 'type' => 'callback', + 'format' => array(&$this, 'checkDate'), 'validation' => $this->validationType, - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); $r[] = array( - 'element' => 'url', - 'message' => 'ERROR: Invalid URL format', - 'type' => 'checkURI', - 'format' => array( + 'element' => 'url', + 'message' => 'ERROR: Invalid URL format', + 'type' => 'checkURI', + 'format' => array( 'allowed_schemes' => array('http', 'https'), 'strict' => true ), 'validation' => $this->validationType, - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); $r[] = array( - 'element' => 'phone', - 'message' => 'ERROR: Invalid Phone Format (xxx) xxx - xxxx!', - 'type' => 'phone', - 'format' => null, + 'element' => 'phone', + 'message' => 'ERROR: Invalid Phone Format (xxx) xxx - xxxx!', + 'type' => 'phone', + 'format' => null, 'validation' => $this->validationType, - 'reset' => true, - 'force' => false + 'reset' => true, + 'force' => false ); if ($this->useCaptcha) { $r[] = array( - 'element' => 'captcha_rmv', - 'message' => 'ERROR: What you entered didn\'t match!', - 'type' => 'CAPTCHA', - 'format' => $this->captchaQuestion, + 'element' => 'captcha_rmv', + 'message' => 'ERROR: What you entered didn\'t match!', + 'type' => 'CAPTCHA', + 'format' => $this->captchaQuestion, 'validation' => $this->validationType, - 'reset' => true, - 'force' => false + 'reset' => true, + 'force' => false ); } if (is_uploaded_file($_FILES['img_file_rmv']['tmp_name'])) { $r[] = array( - 'element' => 'img_file_rmv', - 'message' => 'ERROR: Incorrect File Type (.gif, .png, .jpg) only!', - 'type' => 'mimetype', - 'format' => $mimeTypes, + 'element' => 'img_file_rmv', + 'message' => 'ERROR: Incorrect File Type (.gif, .png, .jpg) only!', + 'type' => 'mimetype', + 'format' => $mimeTypes, 'validation' => $this->validationType, - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); } $r[] = array( - 'element' => 'img_file_rmv', - 'message' => 'ERROR: Error uploading image!', - 'type' => 'Image', - 'format' => array( + 'element' => 'img_file_rmv', + 'message' => 'ERROR: Error uploading image!', + 'type' => 'Image', + 'format' => array( 'form' => $this, 'fieldName' => 'img_file_rmv', 'imageField' => 'img', @@ -854,27 +886,9 @@ class Toolkit_Members_Events_CommonEditEvent 'injectImage' => array('tgtElement' => 'current_img_rmv') ), 'validation' => 'server', - 'reset' => false, - 'force' => false - ); - /* - $r[] = array( - 'element' => 'file_rmv', - 'message' => 'ERROR: Error uploading file!', - 'type' => 'Image', - 'format' => array( - 'form' => $this, - 'fieldName' => 'file_rmv', - 'imageField' => 'file', - 'is' => new Toolkit_FileServer_FileAdapter(), - 'deleteExistingImage' => false, - 'injectImage' => array('tgtElement' => 'current_file_rmv') - ), - 'validation' => 'server', - 'reset' => false, - 'force' => false + 'reset' => false, + 'force' => false ); - */ $this->setupRules($r); } @@ -901,32 +915,32 @@ class Toolkit_Members_Events_CommonEditEvent $file = $filename = ''; } $d = array( - 'id' => $event->getId(), - 'starting' => $event->getStarting(), - 'ending' => $event->getEnding(), - 'description' => $event->getDescription(), - 'category' => $event->getCategory()->getId(), - 'btime' => $event->getStarthour(), - 'etime' => $event->getEndhour(), - 'header' => $event->getHeader(), - 'website' => $event->getWebsite(), - 'facebook' => $event->getFacebook(), - 'twitter' => $event->getTwitter(), - 'allday' => $event->getAllday(), - 'hide_address' => $event->getHideAddress(), - 'recurr' => $event->getRecurr(), - 'daysow' => $event->getDaysow(), - 'dayom' => $event->getDayom(), - 'weekom' => $event->getWeekom(), - 'place' => $event->getPlace(), - 'address' => $event->getAddress(), - 'city' => $event->getCity(), - 'state' => $event->getState(), - 'zip' => $event->getZip(), - 'lat' => $event->getLat(), - 'lon' => $event->getLon(), - 'cost' => $event->getCost(), - 'contact_name' => $event->getContactName(), + 'id' => $event->getId(), + 'starting' => $event->getStarting(), + 'ending' => $event->getEnding(), + 'description' => $event->getDescription(), + 'category' => $event->getCategory()->getId(), + 'btime' => $event->getStarthour(), + 'etime' => $event->getEndhour(), + 'header' => $event->getHeader(), + 'website' => $event->getWebsite(), + 'facebook' => $event->getFacebook(), + 'twitter' => $event->getTwitter(), + 'allday' => $event->getAllday(), + 'hide_address' => $event->getHideAddress(), + 'recurr' => $event->getRecurr(), + 'daysow' => $event->getDaysow(), + 'dayom' => $event->getDayom(), + 'weekom' => $event->getWeekom(), + 'place' => $event->getPlace(), + 'address' => $event->getAddress(), + 'city' => $event->getCity(), + 'state' => $event->getState(), + 'zip' => $event->getZip(), + 'lat' => $event->getLat(), + 'lon' => $event->getLon(), + 'cost' => $event->getCost(), + 'contact_name' => $event->getContactName(), 'contact_email' => $event->getContactEmail(), 'contact_phone' => $event->getContactPhone(), 'intro' => $event->getIntro(), @@ -991,7 +1005,7 @@ class Toolkit_Members_Events_CommonEditEvent return; } - $topics = $this->getTopicFields(); + $topics = $this->getTopicFields(); $template = new HTML_Template_Flexy($this->flexyOptions); $page = new stdClass(); @@ -1116,6 +1130,15 @@ class Toolkit_Members_Events_CommonEditEvent // }}} + public function isRecurField($name) + { + if (in_array($name, array('dayom', 'weekom', 'daysow'))) { + return true; + } else { + return false; + } + } + // {{{ hasEndDate() /** @@ -1373,27 +1396,18 @@ class Toolkit_Members_Events_CommonEditEvent */ protected function setupRenderers() { - parent::setupRenderers(); - $renderer =& $this->defaultRenderer(); - $required = '* - '; - $error = '
{error}
- '; - $recurTmpl = ' - '.$required.' - '.$error.'{element}'; - $renderer->setElementTemplate($recurTmpl, 'dayom'); - $renderer->setElementTemplate($recurTmpl, 'weekom'); - $renderer->setElementTemplate($recurTmpl, 'daysow'); - $renderer->setElementTemplate( - ''.$required.'{label}' - .$error.'{element}', - 'description' - ); - $renderer->setElementTemplate( - '' - .$required.'{label}'.$error.'{element}', 'submit_rmv' + $formConfig = new Zend_Config_Ini( + BASE . 'Toolkit/Events/application.ini', + strtolower($_ENV['GLM_HOST_ID']) ); + + $renderer = new HTML_QuickForm_Renderer_Object(true); + $this->accept($renderer); + $this->template = new HTML_Template_Flexy($this->flexyOptions); + + $this->view = $this; + $this->view->form = $renderer->toObject(); + $this->template->compile($this->formTemplate); } // }}} @@ -1425,7 +1439,7 @@ class Toolkit_Members_Events_CommonEditEvent $GLOBALS['topScripts'][] = JQUERY_UI_CDN_JS; $GLOBALS['topScripts'][] = CKEDITOR_JS.''; - $this->setupRenderers(); + //$this->setupRenderers(); if ($this->validate()) { $this->cleanForm(); @@ -1448,7 +1462,8 @@ class Toolkit_Members_Events_CommonEditEvent = MEDIA_BASE_URL . 'Toolkit/Maps/geoCoder.js'; $GLOBALS['bottomScripts'][] = MEDIA_BASE_URL . 'Toolkit/Events/libjs/edit-event.js'; - $output .= parent::toHtml(); + $this->setupRenderers(); + $output .= $this->template->bufferedOutputObject($this->view); } else { $GLOBALS['topScripts'][] = 'http://maps.googleapis.com/maps/api/js?sensor=true'; @@ -1456,7 +1471,8 @@ class Toolkit_Members_Events_CommonEditEvent = MEDIA_BASE_URL . 'Toolkit/Maps/geoCoder.js'; $GLOBALS['bottomScripts'][] = MEDIA_BASE_URL . 'Toolkit/Events/libjs/edit-event.js'; - $output = parent::toHtml(); + $this->setupRenderers(); + $output .= $this->template->bufferedOutputObject($this->view); } return $output; } diff --git a/Toolkit/Members/Events/templates/form.html b/Toolkit/Members/Events/templates/form.html new file mode 100644 index 0000000..1cc07f8 --- /dev/null +++ b/Toolkit/Members/Events/templates/form.html @@ -0,0 +1,111 @@ +
+
+ {form.javascript:h} + {form.outputHeader():h} + {form.hidden:h} + {hidden} + + {foreach:form.sections,sec} + {if:sec.header} +

{sec.header:h}

+ {end:} +
+ {foreach:sec.elements,elem} + {if:elem.style} + {elem.outputStyle():h} + {else:} + {if:elem.isButton()} + {if:elem.notFrozen()} +
{elem.html:h}
+ {end:} + {else:} + {if:elem.error} +
+ {else:} + {if:isRecurField(elem.name)} +
+ {else:} + {if:elem.isType(#textarea#)} +
+ {else:} +
+ {end:} + {end:} + {end:} + {if:elem.isType(#textarea#)} + {if:elem.required}
+ {end:} + {end:} + {end:} +
+ + {if:sec.header} + + {end:} + {end:} + + + + {if:form.requirednote} +
{form.requirednote:h}
+ {end:} +
+
\ No newline at end of file diff --git a/Toolkit/Members/css/member-admin.css b/Toolkit/Members/css/member-admin.css index dd317c5..7253d7d 100755 --- a/Toolkit/Members/css/member-admin.css +++ b/Toolkit/Members/css/member-admin.css @@ -1018,7 +1018,7 @@ label.pendingUpdate { {width: 25% !important;} .calendar *.button {margin: 0;display:inline;} select[name^="btime"], select[name^="etime"],select[name^="sdate"], select[name^="edate"] -{width: 25% !important;} +{width: auto !important;} .webform label.glmCheckBox {width: 100% !important;} /*#toolbox {margin-left:auto;margin-right:auto; width:auto !important;}*/ /*Reset stuff*/ @@ -1063,6 +1063,9 @@ input.hasDatepicker { color: #000; margin: 0; } +#subNav a:hover { + color: #f27225; +} #subNav dl { display: block; background-color: #dddfdd; diff --git a/css/contactform.css b/css/contactform.css index 9dedb38..c065208 100644 --- a/css/contactform.css +++ b/css/contactform.css @@ -1,6 +1,9 @@ #contact, .webform {margin: 10px;} +.webform select {width:auto;} +.webform label {width:auto;} +.webform .hasDatepicker {width:100% !important;} .req {color: #f00;} /* Main table */ @@ -34,7 +37,7 @@ text-align: right; padding-right: 10px; padding-top: 3px; - white-space:nowrap; + /*white-space:nowrap;*/ width: 140px; } /*Right Cells */ @@ -73,7 +76,7 @@ textarea {width: 95%; height: 100px; display:block;} #contact table tr td.instructioncell, .webform table tr td.instructioncell { width: 200px; - white-space: nowrap; + /*white-space: nowrap;*/ color: #fff; } -- 2.17.1