public function init() { $this->addPrefixPath('Ynevent_Form_Decorator', APPLICATION_PATH . '/application/modules/Ynevent/Form/Decorator', 'decorator')->addPrefixPath('Ynevent_Form_Element', APPLICATION_PATH . '/application/modules/Ynevent/Form/Element', 'element')->addElementPrefixPath('Ynevent_Form_Decorator', APPLICATION_PATH . '/application/modules/Ynevent/Form/Decorator', 'decorator'); $this->setTitle('Global Settings')->setDescription('These settings affect all members in your community.'); $ynevent_day = new Ynevent_Form_Element_YnCalendarSimple('ynevent_day'); $ynevent_day->setLabel("Maximum end day repeat"); $ynevent_day->setAllowEmpty(true); $ynevent_day->setValue(Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.day', '')); $this->addElement($ynevent_day); /* $this->addElement('Text', 'ynevent_day',array( 'label'=>'Maximum end day repeat', 'title' => '', 'description' => '', 'filters' => array( new Engine_Filter_Censor(), ), 'value'=> Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.day', ''), )); */ $this->addElement('Text', 'ynevent_instance', array('label' => 'Maximum instances of each repeat events', 'title' => '', 'description' => '', 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.instance', 50))); $this->addElement('Text', 'ynevent_google_api', array('label' => 'Google API key', 'title' => '', 'description' => '', 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.google.api', ''))); $this->addElement('Text', 'ynevent_google_oauth_client_id', array('label' => 'Google OAuth 2.0 Client ID', 'title' => '', 'description' => '', 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.google.oauth.client.id', ''))); $this->addElement('Text', 'ynevent_google_oauth_client_secret', array('label' => 'Google OAuth 2.0 Client Secret', 'title' => '', 'description' => '', 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.google.oauth.client.secret', ''))); $defaultCallbackUrl = Engine_Api::_()->ynevent()->getCurrentSiteUrl(); $defaultCallbackUrl .= '?' . http_build_query(array('m' => 'lite', 'module' => 'ynevent', 'name' => 'googlecal')); $this->addElement('Text', 'ynevent_google_redirect_uri', array('label' => 'Redirect URIs', 'title' => '', 'description' => 'Please use this setting when creating new OAuth 2.0', 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.google.redirect.uri', $defaultCallbackUrl))); $this->getElement('ynevent_google_redirect_uri')->getDecorator("Description")->setOption("placement", "append"); $this->addElement('Text', 'ynevent_max_review_report', array('label' => 'Maximum reports of user review to hide', 'title' => '', 'description' => "User's reviews will be hidden when number of report is over.", 'filters' => array(new Engine_Filter_Censor()), 'value' => Engine_Api::_()->getApi('settings', 'core')->getSetting('ynevent.max.review.report', 10))); $this->getElement('ynevent_max_review_report')->getDecorator("Description")->setOption("placement", "append"); // Add submit button $this->addElement('Button', 'submit', array('label' => 'Save Changes', 'type' => 'submit', 'ignore' => true)); }
public function init() { $this->addPrefixPath('Ynevent_Form_Decorator', APPLICATION_PATH . '/application/modules/Ynevent/Form/Decorator', 'decorator')->addPrefixPath('Ynevent_Form_Element', APPLICATION_PATH . '/application/modules/Ynevent/Form/Element', 'element')->addElementPrefixPath('Ynevent_Form_Decorator', APPLICATION_PATH . '/application/modules/Ynevent/Form/Decorator', 'decorator'); $this->setAttrib('id', 'filter_form'); $translate = Zend_Registry::get("Zend_Translate"); $this->clearDecorators()->addDecorators(array('FormElements', array('HtmlTag', array('tag' => 'dl')), 'Form'))->setMethod('get')->setAttrib('class', 'global_form_box'); $this->addElement('Text', 'keyword', array('label' => 'Keyword', 'maxlength' => '60', 'placeholder' => $translate->translate('Search events..'), 'required' => false)); $this->addElement('Select', 'order', array('label' => 'Sort by', 'multiOptions' => array('starttime ASC' => 'Start Time', 'creation_date DESC' => 'Recently Created', 'member_count DESC' => 'Most Popular'), 'value' => 'creation_date DESC')); // Category $this->addElement('MultiLevel2', 'category_id', array('label' => 'Event Category', 'required' => false, 'model' => 'Ynevent_Model_DbTable_Categories', 'module' => 'ynevent')); $this->addElement('Dummy', 'location', array('label' => 'Location', 'decorators' => array(array('ViewScript', array('viewScript' => '_location_search.tpl', 'class' => 'form element'))))); $this->addElement('Text', 'within', array('label' => 'Radius (mile)', 'placeholder' => $translate->translate('Radius (mile)..'), 'maxlength' => '60', 'required' => false, 'style' => "display: block", 'validators' => array(array('Int', true), new Engine_Validate_AtLeast(0)))); // Start time $start = new Ynevent_Form_Element_YnCalendarSimple('start_date'); $start->setLabel("Start Time"); $start->setAllowEmpty(true); $this->addElement($start); // End time $end = new Ynevent_Form_Element_YnCalendarSimple('end_date'); $end->setLabel("End Time"); $end->setAllowEmpty(true); $this->addElement($end); $this->addElement('hidden', 'is_search', array('value' => '1', 'order' => '0')); $this->addElement('hidden', 'lat', array('value' => '0', 'order' => '98')); $this->addElement('hidden', 'long', array('value' => '0', 'order' => '99')); $this->addElement('hidden', 'filter', array('value' => 'future', 'order' => '100')); // Buttons $this->addElement('Button', 'Search', array('label' => 'Search', 'type' => 'submit')); }