예제 #1
0
 public function getForm()
 {
     $form = new Stuffpress_Form();
     // Add the form element details
     $form->setAction('admin/recover/submit');
     $form->setMethod('post');
     $form->setName('formRecover');
     // Create and configure email element:
     $e = $form->createElement('text', 'email', array('label' => 'Email:', 'decorators' => $form->elementDecorators));
     $e->addValidator(new Zend_Validate_EmailAddress());
     $e->setRequired(true);
     $form->addElement($e);
     // Submit button
     $button = $form->createElement('submit', 'post', array('label' => 'Recover', 'decorators' => $form->buttonDecorators));
     $form->addElement($button);
     return $form;
 }
예제 #2
0
	private function getFormCommon($source_id = 0, $item_id=0, $type='text', $date=false, $edit=false, $tags=false, $lat=false, $long=false, $elev=false) {
		// Create the basic form		
		$form = new Stuffpress_Form();

		// Add the form element details
		$form->setAction('admin/post/submit');
		$form->setMethod('post');
		$form->setName("formPost");
		
		// Create and configure tags element:
		$element = $form->createElement('text', 'tags',  array('label' => 'Tags:', 'decorators' => array('ViewHelper', 'Errors')));
		$element->addValidator('stringLength', false, array(0, 256));
		$element->addFilter('StripTags');
		$element->setValue($tags);
		$element->setRequired(false);
		$form->addElement($element);
		
		// Create and configure latitude element:
		$element = $form->createElement('hidden', 'latitude',  array('label' => 'Latitude:', 'decorators' => array('ViewHelper', 'Errors')));
		$element->addValidator('between', false, array(-180.0, 180.0));
		$element->setValue($lat);
		$element->setRequired(false);
		$form->addElement($element);

		// Create and configure longitude element:
		$element = $form->createElement('hidden', 'longitude',  array('label' => 'Longitude:', 'decorators' => array('ViewHelper', 'Errors')));
		$element->addValidator('between', false, array(-180.0, 180.0));
		$element->setValue($long);
		$element->setRequired(false);
		$form->addElement($element);
		
		// Add a radio button element for the date_type
		$element = $form->createElement('hidden', 'date_type');
		$element->setRequired(false);
		$element->setDecorators(array('ViewHelper'));
		$form->addElement($element);
				
		if ($date) {
			$timestamp = $date;
			$this->view->date_text = Stuffpress_Date::date("F d, Y h:i A", $timestamp, $this->_properties->getProperty('timezone'));
			$element->setValue('other');
		} else {
			$timestamp = time();
			$this->view->date_text = "Now";
			$element->setValue('now');
		}		
				
		$form->addElement($element);
		
		// Create and configure date element:
		$element = $form->createElement('hidden', 'date');
		$element->setRequired(false);
		$element->setDecorators(array('ViewHelper'));
		$element->setValue(Stuffpress_Date::date("F d, Y h:i A", $timestamp, $this->_properties->getProperty('timezone')));
		$form->addElement($element);
		
		// Add a twitter element if required
		if ($this->_properties->getProperty('twitter_auth')) {
			$checked = (!$item_id && in_array($source_id, unserialize($this->_properties->getProperty('twitter_services')))) ? true : false;
			$element = $form->createElement('checkbox', 'twitter_notify',  array('label' => 'Twitter:', 'decorators' => array('ViewHelper', 'Errors'), 'class' => 'css'));
			$element->setValue($checked);
			$element->setRequired(true);
			$form->addElement($element);		
		}
		
		// Add a hidden element with the item id
		$element = $form->createElement('hidden', 'item');
		$element->setDecorators(array(array('ViewHelper')));
		$element->setValue($item_id);
		$form->addElement($element);

		// Add a hidden element with the item id
		$element = $form->createElement('hidden', 'source');
		$element->setDecorators(array(array('ViewHelper')));
		$element->setValue($source_id);
		$form->addElement($element);		
		
		// Add a hidden element with the type
		$element = $form->createElement('hidden', 'type');
		$element->setDecorators(array(array('ViewHelper')));
		$element->setValue($type);
		$form->addElement($element);
		
		// If a bookmarklet, we also need to remember it
		$element = $form->createElement('hidden', 'bookmarklet');
		$element->setDecorators(array(array('ViewHelper')));
		$element->setValue($this->_bookmarklet);
		$form->addElement($element);
		
		// Add a hidden element with action
		$element = $form->createElement('hidden', 'mode');
		$element->setDecorators(array(array('ViewHelper')));
		$element->setValue($edit ? 'edit' : 'create');
		$form->addElement($element);

		// use addElement() as a factory to create 'Post' button:
		$form->addElement('button', 'post', array('label' => ($edit ? 'Save' : 'Post'), 'onclick' => "submitFormPost();", 'decorators' => $form->buttonDecorators));

		return $form;
	}
예제 #3
0
 private function getForm($sources)
 {
     $form = new Stuffpress_Form();
     // Add the form element details
     $form->setMethod('post');
     $form->setAction('admin/story/submit');
     $form->setName('formCreateStory');
     // Title
     $e = $form->createElement('text', 'title', array('size' => 25, 'label' => 'Title', 'decorators' => array('ViewHelper', 'Errors'), 'maxlength' => 35));
     $e->setRequired(true);
     $e->addValidator('stringLength', false, array(0, 40));
     $e->addFilter('StripTags');
     $form->addElement($e);
     // Subtitle
     $e = $form->createElement('text', 'subtitle', array('size' => 25, 'label' => 'Subtitle', 'decorators' => array('ViewHelper', 'Errors'), 'maxlength' => 35));
     $e->setRequired(false);
     $e->addValidator('stringLength', false, array(0, 40));
     $e->addFilter('StripTags');
     $form->addElement($e);
     // From
     // TODO Validate the date
     $e = $form->createElement('text', 'date_from', array('size' => 25, 'readonly' => 'readonly', 'label' => 'From', 'decorators' => array('ViewHelper', 'Errors')));
     $e->setRequired(true);
     $form->addElement($e);
     // To
     // TODO Validate the date
     $e = $form->createElement('text', 'date_to', array('size' => 25, 'label' => 'To', 'readonly' => 'readonly', 'decorators' => array('ViewHelper', 'Errors')));
     $e->setRequired(true);
     $form->addElement($e);
     // Sources
     $e = new Zend_Form_Element_MultiCheckbox('sources', array('decorators' => array('ViewHelper', 'Errors'), 'multiOptions' => $sources, 'class' => 'checkbox'));
     $e->setLabel('Sources');
     $form->addElement($e);
     // Save button
     $e = $form->createElement('submit', 'post', array('label' => 'Create', 'decorators' => $form->buttonDecorators));
     $form->addElement($e);
     return $form;
 }
예제 #4
0
 private function getForm()
 {
     $form = new Stuffpress_Form();
     // Add the form element details
     $form->setAction('admin/auth/login');
     $form->setMethod('post');
     $form->setName('formLoginMain');
     // Create and configure username element:
     $username = $form->createElement('text', 'username', array('label' => 'Username:'******'decorators' => $form->noDecorators));
     $username->addValidator('alnum');
     $username->addValidator('stringLength', false, array(4, 20));
     $username->setRequired(true);
     $username->addFilter('StringToLower');
     $form->addElement($username);
     // Create and configure password element:
     $password = $form->createElement('password', 'password', array('label' => 'Password:'******'decorators' => $form->noDecorators));
     $password->addValidator('StringLength', false, array(6, 20));
     $password->setRequired(true);
     $form->addElement($password);
     // Remember me
     $element = $form->createElement('checkbox', 'remember', array('label' => 'Remember:', 'decorators' => $form->noDecorators, 'class' => 'remember'));
     $element->setRequired(true);
     $form->addElement($element);
     // Add a hidden element with a target url
     $target = $form->createElement('hidden', 'target');
     $target->setDecorators(array(array('ViewHelper')));
     // Add a hidden element with a bookmarklet flag
     $bk = $form->createElement('hidden', 'bookmarklet');
     $bk->setDecorators(array(array('ViewHelper')));
     $bk->setValue($this->_bookmarklet);
     // Add elements to form:
     $form->addElement($target);
     $form->addElement($bk);
     $form->addElement('submit', 'login', array('label' => 'Sign in', 'decorators' => $form->noDecorators));
     return $form;
 }
예제 #5
0
 public function getForm()
 {
     $form = new Stuffpress_Form();
     $domain = $this->_config->web->host;
     // Add the form element details
     $form->setAction('admin/register/signup');
     $form->setMethod('post');
     $form->setName('formRegister');
     // Create and configure email element:
     $email = $form->createElement('text', 'email', array('label' => 'Email:', 'decorators' => $form->elementDecorators));
     $email->addValidator(new Zend_Validate_EmailAddress());
     $email->setRequired(true);
     // Create and configure username element:
     $username = $form->createElement('text', 'username', array('label' => 'Username:'******'onkeyup' => 'updateName(this.value);', 'decorators' => $form->elementDecorators));
     $username->addFilter('StringToLower');
     $username->addValidator('alnum');
     $username->addValidator('regex', false, array('/^[a-z0-9]+$/'));
     $username->addValidator('stringLength', false, array(4, 20));
     $username->addValidator(new Stuffpress_Validate_AvailableUsername(Zend_Db_Table::getDefaultAdapter(), 'users', 'username'));
     $username->setRequired(true);
     $username->setDescription("Minimum of 4 characters.<br/> This will be your link: <strong>http://<span id='user_link'>username</span>.{$domain}</strong>");
     // Create and configure password element:
     $password = $form->createElement('password', 'password', array('label' => 'Password:'******'decorators' => $form->elementDecorators));
     $password->addValidator('StringLength', false, array(6, 20));
     $password->setDescription("Minimum of 6 characters.");
     $password->setRequired(true);
     // Add elements to form:
     $form->addElement($email);
     $form->addElement($username);
     $form->addElement($password);
     $form->addElement('submit', 'register', array('label' => 'Sign up', 'decorators' => $form->buttonDecorators));
     return $form;
 }
예제 #6
0
 private function getTwitterLoginForm()
 {
     $form = new Stuffpress_Form();
     // Add the form element details
     $form->setMethod('post');
     $form->setName('formTwitterLogin');
     $form->setAction('admin/sns/login');
     // Twitter account
     $e = $form->createElement('text', 'username', array('size' => 12, 'label' => 'Username', 'decorators' => array('ViewHelper', 'Errors')));
     $e->setRequired(true);
     $form->addElement($e);
     // Twitter account
     $e = $form->createElement('password', 'password', array('size' => 12, 'label' => 'Password', 'decorators' => array('ViewHelper', 'Errors')));
     $e->setRequired(true);
     $form->addElement($e);
     // Save button
     $form->addElement('submit', 'login', array('label' => 'Sign in', 'decorators' => $form->buttonDecorators));
     return $form;
 }