Adding the form.
Make form template so it is like the other forms and uses foundation
styles.
Update to use cdn for jquery-ui and the theme
* @access protected
*/
protected $subject = 'New Event Submission';
+ public $formTemplate = 'form.html';
/**
* Message to display if the form is successfully submitted
// All Elements are created here. This includes group element definitions.
$e[] = array(
'type' => 'header',
- 'name' => 'eventInfoHdr',
- 'display' => 'Event Information'
+ 'name' => 'eventNameHdr',
+ 'display' => 'Event Name'
);
$e[] = array(
'type' => 'text',
'name' => 'header',
'display' => 'Event Name'
);
+ $e[] = array(
+ 'type' => 'header',
+ 'name' => 'eventDateHdr',
+ 'display' => 'Event Date / Time'
+ );
$e[] = array(
'type' => 'text',
'req' => true,
),
),
);
+ $e[] = array(
+ 'type' => 'header',
+ 'name' => 'eventInfoHdr',
+ 'display' => 'Event Information'
+ );
$e[] = array(
'type' => 'select',
'req' => true,
'type' => 'submit',
'req' => false,
'name' => 'submit_rmv',
- 'display' => 'Submit'
+ 'display' => 'Submit',
+ 'opts' => array('class' => 'button')
);
$this->setupElements($e);
*/
protected function setupRenderers()
{
- parent::setupRenderers();
- $renderer = $this->defaultRenderer();
- $required = '<!-- BEGIN required --><span class="req">*</span><!-- END required -->';
- $error = '<!-- BEGIN error --><div class="req">{error}</div><!-- END error -->';
+ $formConfig = new Zend_Config_Ini(
+ BASE . 'Toolkit/Events/application.ini',
+ strtolower($_ENV['GLM_HOST_ID'])
+ );
- $renderer->setElementTemplate('<tr><td colspan="2">' . $required . '{label}' . $error . '{element}</td></tr>', 'descr');
- $renderer->setElementTemplate('<tr align="center"><td colspan="2">' . $required . '{label}' . $error . '{element}</td></tr>', 'submit_rmv');
+ $renderer = new HTML_QuickForm_Renderer_Object(true);
+ $this->accept($renderer);
+ $this->template = new HTML_Template_Flexy(
+ $formConfig->flexyOptions->toArray()
+ );
- if ($this->useCaptcha) {
- $renderer->setElementTemplate('<tr><td class="labelcell"><label>{label}</label></td><td class="fieldcell captcha">{element}</td></tr>', 'captcha_question');
- $renderer->setElementTemplate('<tr><td class="labelcell">' . $required . '<label>{label}</label></td><td class="fieldcell">' . $error . '{element}<span class="tooltip" title="Verification Code|To help us distinguish between information submitted by individuals and those automatically entered by software robots, please type the letters shown.">What is this?</span></td></tr>', 'captcha_rmv');
- }
+ $this->view = $this;
+ $this->view->form = $renderer->toObject();
+ $this->template->compile($this->formTemplate);
}
// }}}
*/
public function toHtml()
{
- $this->setupRenderers();
if ($this->validate()) {
$this->captchaQuestion->destroy();
$this->cleanForm();
}
$output = $this->errorMsg;
$GLOBALS['topScripts'][]
- = MEDIA_APP_BASE_URL
- . 'libjs/jqueryui/1.8.13/js/jquery-ui-1.8.13.custom.min.js';
+ = '//code.jquery.com/ui/1.11.1/jquery-ui.min.js';
$GLOBALS['styleSheets'][]
- = MEDIA_APP_BASE_URL
- . 'libjs/jqueryui/1.8.13/development-bundle/themes/base/jquery.ui.all.css';
+ = '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css';
$GLOBALS['bottomScripts'][] = MEDIA_APP_BASE_URL . 'libjs/textlimit.js';
$GLOBALS['topScripts'][]
= 'http://maps.googleapis.com/maps/api/js?sensor=true';
= MEDIA_BASE_URL . 'Toolkit/Maps/geoCoder.js';
$GLOBALS['bottomScripts'][]
= MEDIA_BASE_URL . 'Toolkit/Events/libjs/addEvent.js';
- $output .= parent::toHtml();
+ $output = $this->errorMsg;
+ $output .= $this->template->bufferedOutputObject($this->view);
} else {
if ($this->useCaptcha) {
$this->captchaQuestion->destroy();
$this->captchaAnswer->setValue('');
}
$GLOBALS['topScripts'][]
- = MEDIA_APP_BASE_URL
- . 'libjs/jqueryui/1.8.13/js/jquery-ui-1.8.13.custom.min.js';
+ = '//code.jquery.com/ui/1.11.1/jquery-ui.min.js';
$GLOBALS['styleSheets'][]
- = MEDIA_APP_BASE_URL
- . 'libjs/jqueryui/1.8.13/development-bundle/themes/base/jquery.ui.all.css';
+ = '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css';
$GLOBALS['bottomScripts'][] = MEDIA_APP_BASE_URL . 'libjs/textlimit.js';
$GLOBALS['topScripts'][]
= 'http://maps.googleapis.com/maps/api/js?sensor=true';
= MEDIA_BASE_URL . 'Toolkit/Maps/geoCoder.js';
$GLOBALS['bottomScripts'][]
= MEDIA_BASE_URL . 'Toolkit/Events/libjs/addEvent.js';
- $output = parent::toHtml();
+ $this->setupRenderers();
+ $output .= $this->template->bufferedOutputObject($this->view);
}
return $output;
}
--- /dev/null
+; Production server configuration data
+[production]
+; flexyOptions
+flexyOptions.templateDir = BASE "Toolkit/Events/templates"
+flexyOptions.compileDir = BASE "Toolkit/Events/templates/compiled"
+flexyOptions.forceCompile = Off
+flexyOptions.allowPHP = On
+
+; development server configuration data inherits from production and
+; overrides values as necessary
+[development : production]
+
+; chuck's server configuration data inherits from development
+; and overrides values as necessary
+[chuck : development]
+
+; steve's server configuration data inherits from development
+; and overrides values as necessary
+[steve : development]
+
+; Vagrant server configuration inherits from development and
+; overrides values as needed
+[vagrant : development]
e.preventDefault();
$("#map-dialog").dialog('open');
GLM_GeoMap.initialize();
+ return false;
});
}
}
--- /dev/null
+
+ {form.javascript:h}
+ {form.outputHeader():h}
+ {form.hidden:h}
+ {hidden}
+
+ {foreach:form.sections,sec}
+ {if:sec.header}
+ <fieldset>
+ <legend>{sec.header:h}</legend>
+ {end:}
+ <div class="row">
+ {foreach:sec.elements,elem}
+ {if:elem.style}
+ {elem.outputStyle():h}
+ {else:}
+ {if:elem.isButton()}
+ {if:elem.notFrozen()}
+ <div class="medium-6 small-12 columns">{elem.html:h}</div>
+
+ {end:}
+ {else:}
+ {if:elem.error}
+ <div class="medium-6 small-12 columns error">
+ {else:}
+ <div class="medium-6 small-12 columns">
+ {end:}
+ {if:elem.isType(#textarea#)}
+ {if:elem.required}<label class="req">{else:}<label>{end:}
+
+ {if:elem.required}<span class="req">*</span>{end:}
+ {elem.label:h}
+ {else:}
+ {if:elem.isType(#CAPTCHA_Image#)}
+ {if:elem.required}<label>{else:}<label class="req">{end:}
+ {if:elem.required}<span class="req">*</span>{end:}
+ {elem.label:h}
+
+ {else:}
+ {if:elem.isType(#group#)}
+ {if:element.isName(#interest#)}
+ {else:}
+ {if:elem.required}<label class="req">{else:}<label>{end:}
+ {if:elem.required}<span class="req">*</span>{end:}
+ {elem.label:h}<br>
+ {end:}
+ {else:}
+
+ {if:elem.required}<label class="req">{else:}<label>{end:}
+ {if:elem.required}<span class="req">*</span>{end:}
+ {elem.label:h}
+
+ {if:elem.isName(#interest#)}
+
+ {else:}
+
+ {end:}
+ {end:}
+ {end:}
+ {end:}
+
+ {if:elem.isType(#group#)}
+
+ <div class="row collapse">
+
+ {foreach:elem.elements,gitem}
+ <div class="small-12 columns">
+ {gitem.html:h}{if:gitem.required}<div class="req">*</div>{end:}
+ {if:elem.separator}{elem.separator:h}{end:}
+ </div>
+ {end:}
+
+ </div>
+
+ {else:}
+ {elem.html:h}
+ {if:elem.isName(#captcha_rmv#)}
+ <span
+ class="tooltip"
+ title="Verification Code|To help us distinguish between
+ information submitted by individuals and those automatically
+ entered by software robots, please type the letters shown.">What is this?
+ </span>
+ {end:}
+ {end:}
+ </label>
+ {if:elem.error}<small class="error">{elem.error}</small>{end:}
+ </div> <!-- end for columns -->
+ {end:}
+ {end:}
+ {end:} <!-- end for foreach:sec.element,elem -->
+ </div> <!-- end for row -->
+
+ {if:sec.header}
+ </fieldset>
+ {end:}
+ {end:} <!-- end for foreach:form.section,sec -->
+
+
+ </form>
+ {if:form.requirednote}
+ <div>{form.requirednote:h}</div>
+ {end:}
+
*/
public function useCaptcha($useCaptcha)
{
- $this->useClueTip();
+// $this->useClueTip();
$this->useCaptcha = $useCaptcha;
}
--- /dev/null
+<?php
+if (defined('COMMON_EVENTS') && COMMON_EVENTS) {
+ if (!defined('COMMON_APP_BASE')) {
+ define('COMMON_APP_BASE', '/var/www/server/CommonApps/');
+ }
+ require_once COMMON_APP_BASE . 'EventCalendar/V1/models/EventMapper.php';
+ $eventMapper = new EventMapper(Toolkit_Database::getInstance());
+ $form = new Toolkit_Events_AddCommonEventForm(
+ Toolkit_Database::getInstance(),
+ 'new_event',
+ 'post',
+ '',
+ '',
+ null,
+ false,
+ $eventMapper
+ );
+ $form->useCaptcha(true);
+ $form->setAutoValidateDateElements(false);
+ $form->configureForm();
+ echo $form->toHtml();
+} else {
+ $scriptTag = <<<EOD
+<script type="text/javascript">
+$(document).ready(function(){
+ $("textarea[name='descr']").textlimit('span.counter',1000);
+});
+</script>
+EOD;
+ $form = new Toolkit_Events_AddEventForm(
+ Toolkit_Database::getInstance(),
+ 'new_event'
+ );
+ $form->useCaptcha(true);
+ $form->setAutoValidateDateElements(false);
+ $form->configureForm();
+ echo $form->toHtml();
+}