aboutsummaryrefslogtreecommitdiff
path: root/h-source/Library/Form/Entry.php
blob: 725235ae0520f7db55ee3ae97d467657d9ffbdb4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php

// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
// See COPYRIGHT.txt and LICENSE.txt.

if (!defined('EG')) die('Direct access not allowed!');

//base class of the form entries
abstract class Form_Entry {

	public $entryName = null; //the name of the entry
	public $entryClass = null; //the class of the entry
	public $idName = null; //the id of the input entry
	public $className = null; //the class of the input entry
	public $labelString = null; //label of the form
	public $labelClass = null; //the class of the tag of the label
	public $options = array(); //options (if the entry is a <select> entry or a radio button). Associative array or comma-divided list.
	public $defaultValue = '';
	public $wrap = array();
	public $type = null; //the type of the entry

	//create the label of each entry of the form
	public function getLabelTag()
	{
		$labelTagClass = isset($this->labelClass) ? $this->labelClass : 'entryLabel';
		return isset($this->labelString) ? "<label class='$labelTagClass'>".$this->labelString."</label>\n\t" : null;
	}

	//get the class of the entry
	public function getEntryClass()
	{
		return isset($this->entryClass) ? $this->entryClass : 'formEntry';
	}

	public function getWrapElements()
	{
		$wrap[0] = isset($this->wrap[0]) ? $this->wrap[0] : null;
		$wrap[1] = isset($this->wrap[1]) ? $this->wrap[1] : null;
		$wrap[2] = isset($this->wrap[2]) ? $this->wrap[2] : null;
		return $wrap;
	}

	abstract public function render($value = null);

}