module['mid']) ? \Phpcmf\Service::C()->module['mid'] : (defined('MOD_DIR') ? MOD_DIR : ''); $url = IS_ADMIN ? \Phpcmf\Service::L('router')->url(APP_DIR.'/'.$_GET['c'].'/index', ['catid' => $catid]) : dr_url_prefix(dr_cat_value($mid, $catid, 'url'), $mid).'" target="_blank'; $value = dr_cat_value($mid, $catid, 'name'); if (!$value) { $value = ''; } return ''.$value.''; } // 用于列表显示副栏目 public function catids($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } $rt = []; $arr = dr_string2array($value); $mid = isset(\Phpcmf\Service::C()->module['mid']) ? \Phpcmf\Service::C()->module['mid'] : (defined('MOD_DIR') ? MOD_DIR : ''); if ($arr) { foreach ($arr as $catid) { $url = IS_ADMIN ? \Phpcmf\Service::L('router')->url(APP_DIR.'/'.$_GET['c'].'/index', ['catid' => $catid]) : dr_url_prefix(dr_cat_value($mid, $catid, 'url'), $mid).'" target="_blank'; $value = dr_cat_value($mid, $catid, 'name'); if (!$value) { $value = ''; } $rt[] = ''.$value.''; } } return $rt ? implode(' ', $rt) : ''; } // 用于列表显示内容 public function comment($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return $this->content($value, $param, $data); } // 用于列表显示内容 public function content($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } $mid = defined('MOD_DIR') ? MOD_DIR : ''; $value = htmlspecialchars(dr_clearhtml($value)); $title = dr_keyword_highlight($value, $param['keyword']); !$title && $title = '...'; return isset($data['url']) && $data['url'] ? ''.$title.'' : $title; } // 用于列表显示联动菜单值 public function linkage_address($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return dr_linkagepos('address', $value, '-'); } // 用于列表显示状态 public function status($value, $param = [], $data = [], $field = []) { if (!$value) { $html = ''.dr_lang('待审核'); } elseif ($value == 1) { $html = ''.dr_lang('已通过'); } else { $html = ''.dr_lang('未通过') ; } return ''; } // 用于列表显示标题 public function title($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } $mid = defined('MOD_DIR') ? MOD_DIR : ''; $value = htmlspecialchars(dr_clearhtml($value)); $title = ($data['thumb'] ? ' ' : '').dr_keyword_highlight($value, $param['keyword']); !$title && $title = '...'; return isset($data['url']) && $data['url'] ? (''.$title.''.($data['link_id'] > 0 ? ' ' : '')) : $title; } // 用于列表显示时间日期格式 public function datetime($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return dr_date($value, null, 'red'); } // 用于列表显示日期格式 public function date($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return dr_date($value, 'Y-m-d', 'red'); } // 用于列表显示作者 public function author($value, $param = [], $data = [], $field = []) { if ($value == 'guest') { return dr_lang('游客'); } elseif ((isset($data['username']) || isset($data['author'])) && $data['uid']) { // 模块需要重新查询名字 $member = $this->uid_data[$data['uid']] = isset($this->uid_data[$data['uid']]) && $this->uid_data[$data['uid']] ? $this->uid_data[$data['uid']] : \Phpcmf\Service::M('member')->username($data['uid']); if (!$value) { $value = $member; } } else { $member = $value; } return $value ? ''.dr_htmlspecialchars($value).'' : dr_lang('游客'); } // 用于列表显示作者 public function uid($uid, $param = [], $data = [], $field = []) { // 查询username if (!$uid || strlen($uid) > 12) { return dr_lang('游客'); } $this->uid_data[$uid] = isset($this->uid_data[$uid]) && $this->uid_data[$uid] ? $this->uid_data[$uid] : \Phpcmf\Service::M('member')->username($uid); return $this->uid_data[$uid] ? ''.dr_htmlspecialchars($this->uid_data[$uid]).'' : dr_lang('游客'); } // 头像 public function avatar_uid($value, $param = [], $data = [], $field = []) { $uid = isset($data['uid']) ? $data['uid'] : 0; return ''; } // 头像 public function avatar($value, $param = [], $data = [], $field = []) { return ''; } // 用于列表关联主题 public function ctitle($cid, $param = [], $data = [], $field = []) { // 查询username if (!$cid) { return dr_lang('未关联'); } $mid = defined('MOD_DIR') ? MOD_DIR : ''; $this->cid_data[$cid] = isset($this->cid_data[$cid]) && $this->cid_data[$cid] ? $this->cid_data[$cid] : \Phpcmf\Service::M()->table_site($mid)->get($cid); return $this->cid_data[$cid] ? $this->title($this->cid_data[$cid]['title'], $param, $this->cid_data[$cid]) : dr_lang('关联主题不存在'); } // 用于列表显示ip地址 public function ip($value, $param = [], $data = [], $field = []) { if ($value) { list($value) = explode('-', $value); return ''.\Phpcmf\Service::L('ip')->address($value).''; } return dr_lang( '无'); } // url链接输出 public function url($value, $param = [], $data = [], $field = []) { return ''.$value.''; } // 用于列表显示单个图片 public function img($value, $param = [], $data = []) { if ($value) { $file = \Phpcmf\Service::C()->get_attachment($value); if ($file) { $value = $file['url']; } $url = 'javascript:dr_preview_image(\''.dr_file($value).'\');'; return ''; } return dr_lang('无'); } // 用于列表显示图片专用 public function image($value, $param = [], $data = []) { if ($value) { $rt = []; $arr = dr_get_files($value); foreach ($arr as $t) { $file = \Phpcmf\Service::C()->get_attachment($t); if ($file) { $value = $file['url']; } else { $value = $t; } $url = 'javascript:dr_preview_image(\''.$value.'\');'; $rt[] = ''; } return implode('', $rt); } return dr_lang('无'); } // 用于列表显示多文件 public function files($value, $param = [], $data = [], $field = []) { if ($value) { $rt = []; $arr = dr_get_files($value); foreach ($arr as $t) { $file = \Phpcmf\Service::C()->get_attachment($t['file']); if ($file) { $value = $file['url']; } else { $value = (string)$t['file']; } $ext = trim(strtolower(strrchr($value, '.')), '.'); if (dr_is_image($ext)) { $url = 'javascript:dr_preview_image(\''.dr_file($value).'\');'; $rt[] = ''; } elseif (is_file(ROOTPATH.'static/assets/images/ext/'.$ext.'.png')) { $file = ROOT_THEME_PATH.'assets/images/ext/'.$ext.'.png'; $url = 'javascript:dr_preview_url(\''.dr_file($value).'\');'; $rt[] = ''; } elseif (strpos($value, 'http://') === 0) { $file = ROOT_THEME_PATH.'assets/images/ext/url.png'; $url = 'javascript:dr_preview_url(\''.$value.'\');'; $rt[] = ''; } else { $rt[] = $value; } } return implode('', $rt); } return dr_lang('无'); } // 用于列表显示单文件 public function file($value, $param = [], $data = [], $field = []) { if ($value) { $file = \Phpcmf\Service::C()->get_attachment($value); if ($file) { $value = $file['url']; } else { $value = (string)$value; } $ext = trim(strtolower(strrchr($value, '.')), '.'); if (dr_is_image($ext)) { $url = 'javascript:dr_preview_image(\''.dr_file($value).'\');'; return ''; } elseif (is_file(ROOTPATH.'static/assets/images/ext/'.$ext.'.png')) { $file = ROOT_THEME_PATH.'assets/images/ext/'.$ext.'.png'; $url = 'javascript:dr_preview_url(\''.dr_file($value).'\');'; return ''; } elseif (strpos($value, 'http://') === 0) { $file = ROOT_THEME_PATH.'assets/images/ext/url.png'; $url = 'javascript:dr_preview_url(\''.$value.'\');'; return ''; } else { return $value; } } return dr_lang('无'); } // 用于列表显示用户组 public function group($value, $param = [], $data = [], $field = []) { $user = dr_member_info($data['id']); if ($user && $user['group']) { $i = 0; $rt = ''; $color = ['blue', 'red', 'green', 'dark', 'yellow']; foreach ($user['group'] as $t) { $cs = isset($color[$i]) && $color[$i] ? $color[$i] : 'default'; $rt.= ''; $i++; } return $rt; } return dr_lang('无'); } // 用于列表显示价格 public function price($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } return '¥'.number_format(floatval($value), 2).''; } // 用于列表显示价格 public function money($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } if (dr_is_app('pay') && \Phpcmf\Service::C()->_is_admin_auth('pay/paylog/index')) { return ''.number_format($value, 2).''; } return ''.number_format(floatval($value), 2).''; } // 用于列表显示积分 public function score($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } if (dr_is_app('scorelog') && \Phpcmf\Service::C()->_is_admin_auth('scorelog/home/index')) { return '' .intval($value).''; } return ''.intval($value).''; } // 用于列表显示价格、库存 public function price_quantity($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } return '¥'.number_format($value, 2).' / '.$data['price_quantity']; } // 用于指定插件调用 public function fstatus($value, $param = [], $data = [], $field = []) { if (!dr_is_app('fstatus')) { return '[模块内容开关]插件未安装'; } if (IS_ADMIN && $field && $field['setting']['show_admin'] && !dr_in_array(1, \Phpcmf\Service::C()->admin['roleid']) && dr_array_intersect(\Phpcmf\Service::C()->admin['roleid'], $field['setting']['show_admin'])) { // 后台时 判断管理员权限 return ''; } else { return ''; } } // 单选字段name public function radio_name($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } if ($field) { $options = dr_format_option_array($field['setting']['option']['options']); if ($options && isset($options[$value])) { return $options[$value]; } } return $value; } // 下拉字段name值 public function select_name($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } if ($field) { $options = dr_format_option_array($field['setting']['option']['options']); if ($options && isset($options[$value])) { return $options[$value]; } } return $value; } // checkbox字段name值 public function checkbox_name($value, $param = [], $data = [], $field = []) { if (dr_is_empty($value)) { return ''; } $arr = dr_string2array($value); if ($field && is_array($arr)) { $options = dr_format_option_array($field['setting']['option']['options']); if ($options) { $rt = []; foreach ($options as $i => $v) { if (dr_in_array($i, $arr)) { $rt[] = $v; } } return implode('、', $rt); } } return $value; } // 联动字段name值 public function linkage_name($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } if ($field && $field['setting']['option']['linkage']) { return dr_linkagepos($field['setting']['option']['linkage'], $value, '-'); } return $value; } // 联动多项字段name值 public function linkages_name($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } if ($field && $field['setting']['option']['linkage']) { $rt = []; $values = dr_string2array($value); foreach ($values as $value) { $rt[] = dr_linkagepos($field['setting']['option']['linkage'], $value, '-'); } return implode('、', $rt); } return $value; } // 实时存储时间值 public function save_time_value($value, $param = [], $data = [], $field = []) { $uri = \Phpcmf\Service::L('router')->uri('save_value_edit'); $url = (IS_MEMBER ? dr_member_url($uri) : dr_url($uri)).'&id='.$data['id'].'&after='; //after是回调函数 $html = ''; \Phpcmf\Service::C()->session()->set('function_list_save_text_value', \Phpcmf\Service::C()->uid); return $html; } // 实时存储文本值 public function save_text_value($value, $param = [], $data = [], $field = []) { if (IS_ADMIN && $field && $field['setting']['show_admin'] && !dr_in_array(1, \Phpcmf\Service::C()->admin['roleid']) && dr_array_intersect(\Phpcmf\Service::C()->admin['roleid'], $field['setting']['show_admin'])) { // 后台时 判断管理员权限 $html = ''; } else { $uri = \Phpcmf\Service::L('router')->uri('save_value_edit'); $url = (IS_MEMBER ? dr_member_url($uri) : dr_url($uri)).'&id='.$data['id'].'&after='; //after是回调函数 $html = ''; \Phpcmf\Service::C()->session()->set('function_list_save_text_value', \Phpcmf\Service::C()->uid); } return $html; } // 实时存储选择值 public function save_select_value($value, $param = [], $data = [], $field = []) { $uri = \Phpcmf\Service::L('router')->uri('save_value_edit'); $url = (IS_MEMBER ? dr_member_url($uri) : dr_url($uri)).'&name='.$field['fieldname'].'&id='.$data['id'].'&after='; //after是回调函数 if (IS_ADMIN && $field && $field['setting']['show_admin'] && !dr_in_array(1, \Phpcmf\Service::C()->admin['roleid']) && dr_array_intersect(\Phpcmf\Service::C()->admin['roleid'], $field['setting']['show_admin'])) { // 后台时 判断管理员权限 $html = ''; } else { $html = ''; if (!$this->select_js) { $html.= ' '; $this->select_js = 1; } \Phpcmf\Service::C()->session()->set('function_list_save_text_value', \Phpcmf\Service::C()->uid); } return $html; } // text public function text($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return dr_clearhtml($value); } // 编码 public function code($value, $param = [], $data = [], $field = []) { if (!$value) { return ''; } return htmlspecialchars($value); } // 原样输出 public function get_value($value, $param = [], $data = [], $field = []) { return $value; } }