123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- class formguide_output {
- var $fields;
- var $data;
- function __construct($formid) {
- $this->formid = $formid;
- $this->fields = getcache('formguide_field_'.$formid, 'model');
- $this->siteid = get_siteid();
- }
- function get($data) {
- $this->data = $data;
- $this->id = $data['id'];
- $info = array();
- foreach($this->fields as $field=>$v) {
- if(!isset($data[$field])) continue;
- $func = $v['formtype'];
- $value = $data[$field];
- $result = method_exists($this, $func) ? $this->$func($field, $data[$field]) : $data[$field];
- if($result !== false) $info[$field] = $result;
- }
- return $info;
- }
- function editor($field, $value) {
- return $value;
- }
- function box($field, $value) {
- extract(string2array($this->fields[$field]['setting']));
- if($outputtype) {
- return $value;
- } else {
- $options = explode("\n",$this->fields[$field]['options']);
- foreach($options as $_k) {
- $v = explode("|",$_k);
- $k = trim($v[1]);
- $option[$k] = $v[0];
- }
- $string = '';
- switch($this->fields[$field]['boxtype']) {
- case 'radio':
- $string = $option[$value];
- break;
- case 'checkbox':
- $value_arr = explode(',',$value);
- foreach($value_arr as $_v) {
- if($_v) $string .= $option[$_v].' 、';
- }
- break;
- case 'select':
- $string = $option[$value];
- break;
- case 'multiple':
- $value_arr = explode(',',$value);
- foreach($value_arr as $_v) {
- if($_v) $string .= $option[$_v].' 、';
- }
- break;
- }
- return $string;
- }
- }
- function images($field, $value) {
- return string2array($value);
- }
- function datetime($field, $value) {
- $setting = string2array($this->fields[$field]['setting']);
- extract($setting);
- if($fieldtype=='date' || $fieldtype=='datetime') {
- return $value;
- } else {
- $format_txt = $format;
- }
- if(strlen($format_txt)<6) {
- $isdatetime = 0;
- } else {
- $isdatetime = 1;
- }
- if(!$value) $value = SYS_TIME;
- $value = date($format_txt,$value);
- return $value;
- }
- function linkage($field, $value) {
- $setting = string2array($this->fields[$field]['setting']);
- $datas = getcache($setting['linkageid'],'linkage');
- $infos = $datas['data'];
- if($setting['showtype']==1) {
- $result = get_linkage($value, $setting['linkageid'], $setting['space'], 1);
- } elseif($setting['showtype']==2) {
- $result = $value;
- } else {
- $result = get_linkage($value, $setting['linkageid'], $setting['space'], 2);
- }
- return $result;
- }
- }
- ?>
|