source: trunk/workflow/inc/report/includes/classes/FormularioInput.class.php @ 5307

Revision 5307, 16.0 KB checked in by pereira.jair, 12 years ago (diff)

Ticket #2416 - Inclusao da nova ferramenta de relatorios do workflow.

Line 
1<?
2/**
3 * FormularioInput
4 *
5 * Implementação de Formulários Padrões do Sistema. 
6 * @author Jair Pereira <pereira.jair@gmail.com>
7 */
8 
9class FormularioInput {
10   
11    protected $html;
12    protected $tipo;
13    protected $name;
14    protected $value;
15    protected $valueAux;
16    protected $title;
17    protected $form;
18    protected $valuesSelect;
19    protected $selectEscolha;
20    protected $selectEscolhaValue;
21    protected $valuesChecks;
22    protected $valuesRadio;
23    protected $width;
24    protected $height;
25    protected $multiple;
26    protected $inforight;
27    protected $obrigatorio;
28    protected $selectCor;
29    protected $selectValuesCor = array();
30    public $arreventos = array();
31   
32    //$this->value
33    function input(){
34        $this->html = '';
35        $addeventos = $this->getHtmlEventos();
36        switch($this->tipo){
37            case 'periodo' :
38                             $this->adicionarEvento("onkeyup","formatar(this,'@@/@@/@@@@'); validarPeriodo(document." . $this->form . "." . $this->name . "_inicio,document." .$this->form . "." . $this->name . "_fim);");
39                             $this->adicionarEvento("onblur","revalidar(this,'@@/@@/@@@@','data'); validarPeriodo(document." . $this->form . "." . $this->name . "_inicio,document." .$this->form . "." . $this->name . "_fim);");
40                             $addeventos = $this->getHtmlEventos();
41                             echo '<input type="text" id="'.$this->obrigatorio.'id_'. $this->name.'_inicio" name="' . $this->name . '_inicio" value="' . $this->value . '" size="10" maxlength="10" ' .  $addeventos .' title="' . $this->title . '">';
42                             echo '<img id="id_imgcal_' . $this->name . '_inicio" src="./images/calendar_cal.gif" align="absmiddle" border="0" alt="Calendário..." onClick="displayCalendar(document.' . $this->form . '.' . $this->name . '_inicio,\'dd/mm/yyyy\',this)">';
43                             echo '&nbsp;a&nbsp;' ;
44                             echo '<input type="text" id="'.$this->obrigatorio.'id_'. $this->name.'_fim" name="' . $this->name . '_fim" value="' . $this->valueAux . '" size="10" maxlength="10" ' .  $addeventos .' title="' . $this->title . '">' ;
45                             echo '<img id="id_imgcal_' . $this->name . '_fim" src="./images/calendar_cal.gif" align="absmiddle" border="0" alt="Calendário..."   onclick="displayCalendar(document.' . $this->form . '.' . $this->name . '_fim,\'dd/mm/yyyy\',this)"><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>';
46                 break;
47            case 'data' :
48                          $this->adicionarEvento("onkeyup","formatar(this,'@@/@@/@@@@'); validarPeriodo(document." . $this->form . "." . $this->name . "_inicio,document." .$this->form . "." . $this->name . "_fim);");
49                          $this->adicionarEvento("onblur","revalidar(this,'@@/@@/@@@@','data'); validarPeriodo(document." . $this->form . "." . $this->name . "_inicio,document." .$this->form . "." . $this->name . "_fim);");
50                          $addeventos = $this->getHtmlEventos();
51                          echo '<input type="text" id="'.$this->obrigatorio.'id_'. $this->name.'" name="' . $this->name . '_inicio" value="' . $this->value . '" size="10" maxlength="10" ' . $addeventos . ' title="' . $this->title . '">';
52                          echo '<img id="id_imgcal_' . $this->name . '_inicio" src="./images/calendar_cal.gif" align="absmiddle" border="0" alt="Calendário..." onClick="displayCalendar(document.' . $this->form . '.' . $this->name . '_inicio,\'dd/mm/yyyy\',this)"><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>';
53                 break;
54                 
55            case 'moeda' :
56                                  $this->adicionarEvento("onkeyup","milhar(this);");
57                          $this->adicionarEvento("onblur","revalidarMilhar(this);");
58                          $addeventos = $this->getHtmlEventos();
59                                  echo '<input type="text" name="' . $this->name . '" id="'.$this->obrigatorio.'id_' . $this->name . '" value="' . $this->value . '" size="20" maxlength="20" ' . $addeventos . ' title="' . $this->title . '"><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>'; break;
60            case 'cpf'   :
61                                  $this->adicionarEvento("onkeyup","formatar(this,'@@@.@@@.@@@-@@');");
62                          $this->adicionarEvento("onblur","revalidar(this,'@@@.@@@.@@@-@@','cpf');");
63                          $addeventos = $this->getHtmlEventos();
64                                  echo '<input type="text" name="' . $this->name . '" id="'.$this->obrigatorio.'id_' . $this->name . '" value="' . $this->value . '" size="20" maxlength="20" ' . $addeventos . ' title="' . $this->title . '"><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>'; break;
65            case 'cnpj'  :
66                          $this->adicionarEvento("onkeyup","formatar(this,'@@.@@@.@@@/@@@@-@@');");
67                          $this->adicionarEvento("onblur","revalidar(this,'@@.@@@.@@@/@@@@-@@','cnpj');");
68                          $addeventos = $this->getHtmlEventos();
69                                  echo '<input type="text" name="' . $this->name . '" id="'.$this->obrigatorio.'id_' . $this->name . '" value="' . $this->value . '" size="20" maxlength="20" ' . $addeventos . ' title="' . $this->title . '"><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>'; break;
70           
71            case 'hidden':echo '<input type="hidden" name="' . $this->name . '" id="id_' . $this->name . '" value="' . $this->value . '">'; break;
72           
73            case 'int'   :
74                          $this->adicionarEvento("onkeyup","formatar(this,'@@@@@@@@@@@@@@@@@@');");
75                          $this->adicionarEvento("onblur","revalidar(this,'@@@@@@@@@@@@@@@@@@');");
76                          $addeventos = $this->getHtmlEventos();
77                          echo '<input type="text" name="' . $this->name . '" id="'.$this->obrigatorio.'id_' . $this->name . '" value="' . $this->value . '"  title="' . $this->title . '" size="' . $this->width . '" maxlength="' . $this->height . '" ' . $addeventos . ' ><span id="id_info_' . $this->name . '" class=inforight style="color: rgb(100, 62, 65);">&nbsp;' . $this->inforight .'</span><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>'; break;
78           
79            default      :
80                         
81                          echo '<input type="text" name="' . $this->name . '" id="'.$this->obrigatorio.'id_' . $this->name . '" value="' . $this->value . '"  title="' . $this->title . '" size="' . $this->width . '" maxlength="' . $this->height . '" ' . $addeventos . ' ><span id="id_info_' . $this->name . '" class=inforight style="color: rgb(100, 62, 65);">&nbsp;' . $this->inforight .'</span><span id="imgAjax_' . $this->name . '" style="display: none;"><img src="images/progress4.gif"></span>';
82        }
83
84    }
85   
86    function subtitulo() {
87        echo "<tr><td>" . $this->value . "</td></tr>";
88    }
89   
90    function button() {
91        $addeventos = $this->getHtmlEventos();
92        echo "<input type='button' name='" . $this->name . "' id='" . $this->form. "_btn_". $this->name . "' value='" . $this->value . "' style='width: 90px;' class='botao' " . $addeventos ." >";
93    }
94   
95    function select(){
96        $selected = "";
97        $addeventos = $this->getHtmlEventos();
98        echo "\n\t\t\t";
99        if ($this->multiplo) { $addmultiplo = " MULTIPLE"; }
100        echo '<table><tr><td><select id="'.$this->obrigatorio.'id_'. $this->name.'" name="' . $this->name . '"  title="' . $this->title . '" style="width: ' . $this->width . 'px;" size="' . $this->height . '" ' . $addeventos . ' ' . $addmultiplo . '>';
101        echo "\n";
102        if($this->selectEscolha == true){
103            echo "\t\t\t<option value=''>" . $this->selectEscolhaValue . "</option>";
104        }
105        if(count($this->valuesSelect) > 0 ){
106            foreach($this->valuesSelect as $chave => $valor){
107                $selected = ("$chave" == "$this->value") ? ' selected="selected" ' : '';
108                echo "\t\t\t\t";
109                if (in_array($chave,$this->selectValuesCor)) {
110                        $addstyle = ' style="color: '.$this->selectCor . ';"';
111                } else {
112                        $addstyle = '';
113                }
114                echo '<option value="' . $chave . '"' . $selected .  $addstyle . '>' . $valor . '</option>';
115                echo "\n";
116            }
117        }
118        echo "\t\t\t</select></td><td><span id='imgAjax_" . $this->name . "' style='display: none;'><img src='images/progress4.gif'></span></td></tr></table>\n";
119    }
120   
121   
122    function checkbox(){
123        $selected = "";
124        $addeventos = $this->getHtmlEventos();
125        echo '';
126        if(count($this->valuesChecks) > 0 ){
127               
128            echo "\n\t\t<table border='0'>";
129            echo "\n\t\t<tr>\n\t\t\t<td>";
130            $i = 0;
131                echo "\n\t\t\t<div id='".$this->obrigatorio .'div_ckbox_' .$this->name . "'>";
132            foreach($this->valuesChecks as  $valores){
133                //$class = ($class == 'tdc') ? 'tde' : 'tdc';
134                 $selected = ($valores[2] == true) ? ' checked ' : '';
135                 if (isset($_POST[$this->name])) {
136                         if (in_array($valores[0],$_POST[$this->name])) {
137                                $selected = "checked";
138                         }
139                 }
140                 $i = $i + 1;
141                 echo "\n\t\t\t\t";
142                 echo '<input type="checkbox" class="checkbox" id="' . $this->name . '[' . $i . ']" name="' . $this->name . '[' . $i . ']" value="' . $valores[0] . '" ' . $addeventos . ' ' . $selected . ' >' . $valores[1] ;
143                 echo "<br>";
144               
145            }
146            echo "\n\t\t\t</div>";
147                    echo "\n\t\t</td><td valign='top' id='imgAjax_" . $this->name . "' style='display: none;'><img src='images/progress4.gif'></td></tr>";
148                    echo "\n\t\t</table>\n";
149                   
150        }
151    }
152   
153    function radio(){
154        $selected = "";
155        $this->html = '';
156        $addeventos = $this->getHtmlEventos();
157        if(count($this->valuesRadio) > 0 ){
158                echo "\n\t\t\t<div id='".$this->obrigatorio . $this->form. '_div_radio_' .$this->name . "'>";
159                echo "\n\t\t<table border='0'>";
160            echo "\n\t\t<tr>\n\t\t\t<td>";
161           
162            foreach($this->valuesRadio as  $valores){                         
163                $selected = ($valores[2] == true) ? ' checked ' : '';
164                echo "\n\t\t\t\t";
165                echo '<input type="radio" id="'. $this->name .'" class="radio" name="' . $this->name . '" value="' . $valores[0] . '" ' . $addeventos . " " . $selected . " >" . $valores[1] ;
166                echo "<br>\n";
167            }
168           
169                    echo "\n\t\t</td><td valign='top' id='imgAjax_" . $this->name . "' style='display: none;'><img src='images/progress4.gif'></td></tr>";
170                    echo "\n\t\t</table>\n";
171            echo "\n\t\t\t</div>";
172        }
173       
174    }
175   
176    function arquivo() {
177        $this->html = '';
178        $this->html = '<input type="file" id="'. $this->name .'" name="'. $this->name .'">';
179    }
180   
181    function textArea(){
182        $this->html = '';
183        $addeventos = " " . $this->getHtmlEventos();
184        echo "<textarea name=\"" . $this->name . "\" id=\"" . $this->obrigatorio . "id_". $this->name . "\" cols=\"" . $this->width .  "\" rows=\"" . $this->height .  "\"$addeventos>" . $this->value . "</textarea>";
185       
186    }
187   
188   
189   
190    function desenhaForm(){
191       return $this->html;       
192    }
193    function setTipo($tipo){
194        $this->tipo = $tipo;
195    }
196    function setName($name){
197        $this->name = $name;
198    }
199    function setValue($value){
200        $this->value = "$value";
201        //echo $this->name . ": " . $this->value . "<br>";
202    }
203    function setValueAux($valueAux){
204        $this->valueAux = $valueAux;
205    }
206    function setTitle($title){
207        $this->title = $title;
208    }
209    function setInfoRight($info) {
210        $this->inforight = $info;
211    }
212    function setObrigatorio($obrigatorio){
213       
214                if(strlen($obrigatorio)>1){
215                                $this->obrigatorio = $obrigatorio;
216                                return true;
217                }
218               
219                switch($obrigatorio){
220                        case true :
221                                $this->obrigatorio = "";
222                                break;
223                        case false :
224                                $this->obrigatorio = "not_";
225                                break;
226                        default :
227                                $this->obrigatorio = "";
228                }
229    }
230   
231   
232    function setValuesSelect($arrayValores){
233        $this->valuesSelect = $arrayValores;
234    }
235    function getName() {
236        return $this->name;
237    }
238    function getValue() {
239        return $this->value;
240    }
241    function getWidth() {
242        return $this->width;
243    }
244    function getTipo() {
245        return $this->tipo;
246    }
247    function getObrigatorio() {
248        return $this->obrigatorio;
249        /*if ($this->obrigatorio == "not_") {
250                $ret = false;
251        } else {
252                $ret = true;
253        }
254        return $ret; */
255    }
256    function getHeight() {
257        return $this->height;
258    }
259    function getMultiplo() {
260        return $this->multiplo;
261    }
262    function getLabel() {
263        return $this->label;
264    }
265   
266    function setValuesSelectCor($cor,$values) {
267        $this->selectValuesCor = $values;
268        $this->selectCor = $cor;
269    }
270   
271    function getTitle() {
272        return $this->title;
273    }
274    function setForm($form){
275        $this->form = $form;
276    }
277    function getHtml() {
278        return $this->html;
279    }
280    function setSelectEscolha($escolha, $valor){
281        $this->selectEscolha = $escolha;
282        $this->selectEscolhaValue = $valor;
283    }
284    function getSelectEscolha() {
285        return $this->selectEscolha;
286    }
287    function getSelectEscolhaValue() {
288        return $this->selectEscolhaValue;
289    }
290   
291    function setValuesChecks($arrValores){
292       $this->valuesChecks = $arrValores;
293    }
294    function setValuesRadio($arrValores){
295       $this->valuesRadio = $arrValores;
296    }
297   
298    function setSize($tamanho1,$tamanho2 = "") {
299        $this->width = $tamanho1;
300        $this->height = $tamanho2;
301    }
302    function setMultiplo($multiplo) {
303        $this->multiplo = $multiplo;
304    }
305   
306    function adicionarEvento($action,$javascript) {
307       $arrevt = array("action" => $action, "evento" =>$javascript);
308       array_push($this->arreventos,$arrevt);
309    }
310    function getHtmlEventos() {
311        $streventos = "";
312        foreach($this->arreventos as $evento) {
313            if ($evento["action"] == "onclick") {
314                $addonclick .= $evento["evento"];
315            }
316            if ($evento["action"] == "onchange") {
317                $addonchange .= $evento["evento"];
318            }
319            if ($evento["action"] == "onblur") {
320                $addonblur .= $evento["evento"];
321            }
322            if ($evento["action"] == "onmouseout") {
323                $addonmouseout .= $evento["evento"];
324            }
325            if ($evento["action"] == "onmousemove") {
326                $addonmousemove .= $evento["evento"];
327            }
328            if ($evento["action"] == "onkeydown") {
329                $addonkeydown .= $evento["evento"];
330            }
331            if ($evento["action"] == "onkeypress") {
332                $addonkeypress .= $evento["evento"];
333            }
334            if ($evento["action"] == "onkeyup") {
335                $addonkeyup .= $evento["evento"];
336            }
337        }
338        if ($addonclick != "") {
339                $streventos .= " OnClick=\" $addonclick \" ";
340        }
341        if ($addonchange != "") {
342                $streventos .= " OnChange=\" $addonchange \" ";
343        }
344        if ($addonmouseout != "") {
345                $streventos .= " OnMouseOut=\" $addonmouseout \" ";
346        }
347        if ($addonmousemove != "") {
348                $streventos .= " OnMouseMove=\" $addonmousemove \" ";
349        }
350        if ($addonkeypress != "") {
351                $streventos .= " OnKeyPress=\" $addonkeypress \" ";
352        }
353        if ($addonkeyup != "") {
354                $streventos .= " OnKeyUp=\" $addonkeyup \" ";
355        }
356        if ($addonkeydown != "") {
357                $streventos .= " OnKeyDown=\" $addonkeydown \" ";
358        }
359        if ($addonblur != "") {
360                $streventos .= " OnBlur=\" $addonblur \" ";
361        }
362        return $streventos;
363    }
364
365}
366?>
Note: See TracBrowser for help on using the repository browser.