コード例 #1
0
ファイル: system_helper.php プロジェクト: surgeon-xie/jxseo
/**
 * 字段输出表单
 *
 * @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));
}
コード例 #2
0
ファイル: D_Common.php プロジェクト: surgeon-xie/jxseo
 /**
  * 字段输出表单(兼容老版本)
  *
  * @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;
 }