name=$jname; $this->db=new Db('helpers',array('jname'=>$jname,'helper'=>$helper)); } function generate() { if($this->db->error) return; $query="select * from forms order by group_id asc, order_id asc"; $fields=$this->db->select($query); //echo '
';print_r($fields);
		$defaults=array();

		$last_type='';
		$this->html='
'; foreach($fields as $key=>$field) { /* if($last_type=='delimer' && $field['type']!='delimer') $this->html.='
'; */ $last_type=$field['type']; $tpl=$this->getElement($field['type'],$field); $params=array('param','desc','attr','cur'); foreach($params as $param) { if(isset($field[$param])) $tpl=str_replace('${'.$param.'}',$field[$param],$tpl); } //$value=$field['def']; //if(isset($field['cur']) && !empty($field['cur'])) $value=$field['cur']; $value=$field['cur']; $tpl=str_replace('${value}',$value,$tpl); $value=$field['def']; $tpl=str_replace('${def}',$value,$tpl); $required=($field['mandatory']==1)?' required':''; $tpl=str_replace('${required}',$required,$tpl); $this->html.=$tpl; if(!empty($field['def'])) $defaults[$key]=$field['def']; } $this->html.='
'; $this->setButtons(); $this->html.='
'; return array('html'=>$this->html,'defaults'=>$defaults); } function getElement($el,$arr=array()) { $tpl=''; switch(trim($el)) { case 'inputbox': $tpl='
[default]${desc}
'; break; case 'password': $tpl='
[default]${desc}
'; break; case 'delimer': $tpl='

${desc}

'; break; case 'checkbox': $tpl=''; break; case 'select': $tpl=$this->getSelect($el,$arr); break; case 'radio': $tpl=$this->getRadio($el,$arr); break; } return $tpl; } function getSelect($el,$arr) { $tpl='
[default]${desc}
'; return $tpl; } function getRadio($el,$arr) { $tpl='
${desc}'; if(isset($arr['link'])) { $query="select * from {$arr['link']} order by order_id asc"; $opts=$this->db->select($query); if(!empty($opts))foreach($opts as $key=>$opt) { $checked=($opt['id']==$arr['cur'])?' checked':''; $tpl.=''; } } $tpl.='
'; return $tpl; } function setButtons($arr=array()) { $this->html.='
 
'; } } /* $form=new Forms('php'); ?> generate(); //$form->setButtons(array('save','cancel')); */