/** * 字段输出表单 * * @param string $username * @return intval */ function dr_field_input($name, $type, $option, $value = NULL, $id = 0) { $ci =& get_instance(); $ci->load->library('Dfield', array(APP_DIR)); $field = $ci->dfield->get($type); if (!is_object($field)) { return NULL; } A_Field::set_input_format('{value}'); return preg_replace('/(<div class="on.+<\\/div>)/U', '', $field->input($name, $name, $option, $value, $id)); }
/** * 字段输出表单(兼容老版本) * * @param array $field 字段数组 * @param array $data 表单值 * @param bool $cat 是否显示栏目附加字段 * @param string $id id字符串 * @return string */ public function field_input($field, $data = NULL, $cat = FALSE, $id = 'id') { return $this->new_field_input($field, $data, $cat, $id); exit('此方法已经被废弃'); $group = array(); $myfield = $mygroup = $mycat = $mark = ''; if ($cat == TRUE) { $mycat = '<tbody id="dr_category_field"></tbody>'; } if (!$field) { return $mycat; } // 分组字段筛选 foreach ($field as $t) { if ($t['fieldtype'] == 'Group' && preg_match_all('/\\{(.+)\\}/U', $t['setting']['option']['value'], $value)) { foreach ($value[1] as $v) { $group[$v] = $t['fieldname']; } } } // 字段类 $this->load->library('dfield', array(APP_DIR)); $pchtml = $this->get_cache('member', 'setting', 'field'); $mbhtml = $this->get_cache('member', 'setting', 'mbfield'); if (!IS_ADMIN) { if ($this->mobile && $mbhtml) { // 移动端格式 A_Field::set_input_format($mbhtml); unset($mbhtml); } elseif ($pchtml) { // Pc端格式 A_Field::set_input_format($pchtml); unset($pchtml); } } // 主字段 foreach ($field as $t) { if (!IS_ADMIN && !$t['ismember']) { continue; } $obj = $this->dfield->get($t['fieldtype']); if (is_object($obj)) { // 百度地图特殊字段 $value = $t['fieldtype'] == 'Baidumap' ? $data[$t['fieldname'] . '_lng'] && $data[$t['fieldname'] . '_lat'] ? $data[$t['fieldname'] . '_lng'] . ',' . $data[$t['fieldname'] . '_lat'] : $data[$t['fieldname']] : $data[$t['fieldname']]; $input = $obj->input($t['name'], $t['fieldname'], $t['setting'], $value, isset($data[$id]) ? $data[$id] : 0); if (isset($group[$t['fieldname']])) { $input = preg_replace('/(<tr id=.*<td>)/Usi', '', $input); $input = str_replace(array('</td>', '</tr>'), '', $input); $mygroup[$t['fieldname']] = $input; } else { // 将栏目附加字段放在内容或者作者上面一行 if ($cat == TRUE && $mark == '' && in_array($t['fieldname'], array('content', 'hits'))) { $mark = 1; $myfield .= $mycat; } $myfield .= $input; } } } if ($cat == TRUE && $mark == '') { $myfield .= $mycat; } if ($mygroup) { foreach ($mygroup as $name => $t) { $myfield = str_replace('{' . $name . '}', $t, $myfield); } } return $myfield; }