'.$result.'
'; } else { $result = '
'.$result.'
'; } } else { if (isset($param[0]['update']) && $param[0]['update'] == 'hidden') { } elseif (isset($param[1]) && !$param[1]) { $result = '
'.$result.'
'; } } } return $result; } /** * 地图 * * @return string */ public static function _map($param) { $url = Dever::url('map', 'manage'); $html = self::text($param); $id = $param['name'] . '_value'; $iframe_id = $id . '_map'; $html .= ''; $html .= ''; return $html; } /** * desc * * @return string */ public static function _modal($modal, $desc) { return '' . $modal . '
' . $desc . '
'; } /** * desc * * @return string */ public static function _desc($desc) { return ''; return $desc; } /** * hr 分割线 * * @return string */ public static function _hr($param) { if (layadmin()) { $col = ''; if (isset($param['right'])) { $col = '
'; } $html = '
'.$col.'
[' . $param['name'] . ']
'; return $html; } return '
' . $param['name'] . '
'; } /** * cue * * @return string */ public static function _cue($param) { $param['cue'] = isset($param['cue']) ? $param['cue'] : ''; if (strpos($param['name'], '-') !== false) { $temp = explode('-', $param['name']); $param['name'] = $temp[0]; $param['cue'] = $temp[1]; } elseif (strpos($param['name'], '(') !== false) { $temp = explode('(', $param['name']); $param['name'] = $temp[0]; $param['cue'] = str_replace(')', '', $temp[1]); } elseif (strpos($param['name'], '(') !== false) { $temp = explode('(', $param['name']); $param['name'] = $temp[0]; $param['cue'] = str_replace(')', '', $temp[1]); } return $param; } /** * pageLeft * * @return string */ public static function _pageLeft($param) { $param = self::cue($param); if ($param['cue']) { $param['cue'] = '[' . $param['cue'] . ']'; } $class = ''; $style = ''; if (layadmin()) { //$class = 'layui-form-label'; if (isset($param['update']) && is_array($param['update'])) { $style = ' style="margin:10px;"'; } } $html = '
'; return $html; } /** * textarea * * @return string */ public static function _textarea($param) { return ''; return ''; } private static function uploadHandle($param) { $html = $style = ''; $div = array('', ''); $type = 'button'; if (isset($param['upload']) && $param['upload'] == 'qiniu') { $upload = Dever::project('upload'); if ($upload && !strstr($upload['path'], 'http')) { $upload = Dever::load('upload/qiniu.token?result=1&key=' . $param['key']); } else { $upload = Dever::load('upload/qiniu.token?key=' . $param['key']); } if (isset($upload['domain'])) { $domain = $upload['domain']; $token = $upload['uptoken']; $host = $upload['host']; $cover = 1; if (isset($param['cover'])) { $cover = $param['cover']; } $date = explode('-', date("Y-m-d")); $path = $param['key'] . '/' . $date[0] . '/' . $date[1] . '/' . $date[2] . '/'; $html = ' m="qiniu" cover="'.$cover.'" domain="'.$domain.'" path="'.$path.'" host="'.$host.'" token="'.$token.'" '; } } if (isset($param['large']) && $param['large'] && isset($upload['domain'])) { $html .= ' l="1" '; $type = 'file'; $div = array('
', '本地上传
'); $style = 'position: absolute; font-size: 21px; right: 0; top: 0; opacity: 0;'; } return array($html, $type, $div, $style); } private function uploadParam($param) { if (isset($param['upload_key'])) { $param['key'] = $param['upload_key']; } if (isset($param['upload_place'])) { $param['place'] = $param['upload_place']; } if (!isset($param['upload_search'])) { $param['upload_search_value'] = $param['project'] . '-' . $param['table'] . '.' . $param['col']; $param['upload_search'] = $param['upload_search_value']; } else { if (!isset($param['upload_search_value'])) { $param['upload_search_value'] = $param['upload_search']; } } if (isset($param['place']) && $param['place']) { //$pic = 'src="http://placehold.it/' . $param['place'] . '"'; //$param['placeimg'] = ''; $place = $param['place']; $default = ''; if (strstr($param['place'], '?')) { $temp = explode('?', $param['place']); $param['place'] = $temp[0]; $default .= '&'; } else { $default .= '?'; } if (strstr($place, '*')) { $place = str_replace('*', 'x', $place); } elseif (strstr($place, 'X')) { $place = str_replace('X', 'x', $place); } else { $place = $param['place'] . 'x' . $param['place']; } $text = ''; //$text = "" . $place . "px \n 大小不能超过2M"; //$text = "图片尺寸".$place."px \n 也可以上传等比尺寸 \n 上传大小不能超过2M \n 支持JPG、PNG、 GIF格式"; //$default .= 'auto=yes&theme=social&text=' . $text; $default .= 'auto=yes&text=' . $text; $place .= $default; $param['placeimg'] = ''; } else { $param['place'] = ''; $param['placeimg'] = ''; } return $param; } /** * image * * @return string */ public static function _image($param) { $param = self::uploadParam($param); if (isset($param['value']) && $param['value']) { $pic = 'src="' . $param['value'] . '"'; if (strstr($param['value'], '.cr')) { $temp = explode('.cr', $param['value']); $pic .= ' data-src="' . $temp[0] . '"'; } } else { $pic = 'src="" style=display:none;'; } $class = 'width:100px;display:inline;'; if (layadmin()) { $class .= 'padding-left:0px;'; } $upload = self::uploadHandle($param); $button = $upload[2][0] . '' . $upload[2][1]; return $button .' 标识:'.$param['upload_search'].'
'.$param['placeimg'].'
'; } /** * images * * @return string */ public static function _images($param) { $param = self::uploadParam($param); $pic = $param['placeimg']; if (isset($param['value']) && $param['value']) { $temp = explode(',', $param['value']); foreach ($temp as $k => $v) { $data_src = ''; if (strstr($v, '.cr')) { $temp = explode('.cr', $v); $data_src = $temp[0]; } $pic .= '打开图片管理工具'; } } $class = 'width:100px;display:inline;'; if (layadmin()) { $class .= 'padding-left:0px;'; } $upload = self::uploadHandle($param); $button = $upload[2][0] . '' . $upload[2][1]; return $button . ' 标识:'.$param['upload_search'].'
' . $pic . '
'; } /** * upload * * @return string */ public static function _upload($param) { $param = self::uploadParam($param); $class = 'width:100px;display:inline;'; if (layadmin()) { $class .= 'padding-left:0px;'; } $upload = self::uploadHandle($param); $button = $upload[2][0] . '' . $upload[2][1]; return $button .' 标识:'.$param['upload_search'].'
'; //return ''; } /** * upload * * @return string */ public static function _uploads($param) { $param = self::uploadParam($param); $file = ''; if (isset($param['value']) && $param['value']) { $temp = explode(',', $param['value']); foreach ($temp as $k => $v) { $upload = Dever::load('upload/file-check', array('option_key' => md5($v))); $file .= '
  • ' . $upload['source_name'] . '  [删除]
  • '; } } $class = 'width:100px;display:inline;'; if (layadmin()) { $class .= 'padding-left:0px;'; } $upload = self::uploadHandle($param); $button = $upload[2][0] . '' . $upload[2][1]; return $button .' 标识:'.$param['upload_search'].'
      ' . $file . '
    '; //return ''; } /** * editor * * @return string */ public static function _editor($param) { $param = self::uploadParam($param); $width = '100%'; $html = ''; if (isset($param['editor'])) { $width = '70%'; if (layadmin()) { $left = '740px'; } else { $left = '766px'; } $html .= '
    '; foreach ($param['editor']['button'] as $k => $v) { if (isset($v['type'])) { if ($v['type'] == 'image') { $param['key'] = $v['key']; } elseif ($v['type'] == 'media') { $param['media'] = $v['key']; } $v['attr'] = 'editor_tool" tool="' . $v['type']; } else { $v['attr'] = 'upload_show_editor'; } if (isset($v['type']) && $v['type'] == 'update') { $v['attr'] = 'update_show_editor'; $v['key'] = Dever::url($v['key']); $html .= ''; } else { $html .= ''; } } $html .= '
    '; } $upload = self::uploadHandle($param); return $html . ''; } /** * markdown * * @return string */ public static function _markdown($param) { return ''; } /** * selector * * @return string */ public static function _selector($param, $type = '') { $html = ''; if (isset($param['key']) && strpos($param['key'], '.css') !== false) { $param['key'] = ''; } if (isset($param['option'])) { foreach ($param['option'] as $k => $v) { $check = ''; if ((isset($param['value']) && $param['value'] == $k) || (empty($param['value']) && isset($param['default']) && $param['default'] == $k)) { $check = 'checked'; } if (is_array($v)) { $value = $v['name']; } else { $value = $v; } $html .= '' . $value . '  '; } $html .= self::hidden($param); } return '
    ' . $html . '
    '; } /** * radio * * @return string */ public static function _radio($param, $type = '') { $html = ''; if (isset($param['option'])) { if (isset($param['option']['state']) && $param['option']['state'] >= 1) { if (isset($param['value'])) { $param['value'] = explode(',', $param['value']); } else { $param['value'] = array(); } # 处理比较复杂的多维数组 unset($param['option']['state']); $j = -1; foreach ($param['option'] as $k => $v) { $check = ''; if (isset($param['update_parent'])) { $input_type = $param['update_parent']; } else { $input_type = $param['update']; } //{check} $html .= ' -----【' . $v['name'] . '】-----  
    '; $span = array('', ''); if (isset($v['child']) && $v['child']) { //$i = 1; $html .= '
      '; foreach ($v['child'] as $ki => $vi) { if (!is_array($vi)) { $temp = $vi; $vi = array(); $vi['name'] = $temp; $vi['id'] = $ki; } if (isset($v['url'])) { $span = array('', ''); } $check = ''; $disabled = 'disabled="true"'; if (isset($param['value']) && in_array($ki, $param['value'])) { $check = 'checked'; $disabled = ''; $j++; } elseif (isset($param['default']) && is_array($param['default']) && (in_array($k . '_' . $ki, $param['default']))) { $check = 'checked'; $disabled = ''; $j++; } $input = $input_value = ''; if (isset($param['update_input'])) { if (isset($param['update_input_data']) && isset($param['update_input_data'][$j])) { $input_value = $param['update_input_data'][$j]; if ($disabled) { $input_value = ''; } } else { $input_value = isset($param['update_input_default']) ? $param['update_input_default'] : ''; } if ($param['update_input']) { $input = '[' . $param['update_input'] . ']'; } $input = $input . ': '; } $html .= '
    • ' . $span[0] . $vi['name'] . $span[1] . '  ' . $input . '
    • '; //++$i; } $html .= '
    '; } $html .= '
    '; } } else { $js = ''; if (isset($param['control']) && is_string($param['control'])) { //print_r($param);die; $js = ' show_id="' . $param['control'] . '" onclick="inputShow($(this), \'' . $param['control'] . '\', \'input\')"'; } elseif (isset($param['bind'])) { $param['bind'][2] = isset($param['bind'][2]) ? str_replace('"', '\'', json_encode($param['bind'][2], true)) : false; $js = $param['bind'][0] . '="' . $param['bind'][1] . '(\'' . $param['name'] . '\', $(this), ' . $param['bind'][2] . ')" '; $js .= ' onload="' . $param['bind'][1] . '(\'' . $param['name'] . '\', $(this), ' . $param['bind'][2] . ')" '; } $param['parent'] = isset($param['parent']) ? $param['parent'] : '0'; $param['parent'] .= '_' . $param['name']; if ($param['update'] == 'checkbox' && empty($param['checkall'])) { $html .= ' 全选   '; } foreach ($param['option'] as $k => $v) { $check = ''; if (is_array($v)) { $value = $v['name']; isset($v['id']) && $k = $v['id']; } else { $value = $v; } if (isset($param['bit'][$k])) { if (isset($param['value']) && ($param['value'] & $k) > 0) { $check = 'checked'; } } elseif (isset($param['value'])) { if (is_string($param['value']) && strpos(',' . $param['value'] . ',', ',' . $k . ',') !== false) { $check = 'checked'; } elseif (is_array($param['value']) && in_array($k, $param['value'])) { $check = 'checked'; } } elseif (isset($param['default'])) { if (is_string($param['default']) && strpos(',' . $param['default'], ',' . $k) !== false) { $check = 'checked'; } elseif (is_array($param['default']) && in_array($k, $param['default'])) { $check = 'checked'; } } $cjs = $js; if (isset($param['control']) && is_string($param['control']) && $param['control'] != $param['name']) { $cjs = str_replace('update_', '', str_replace($param['control'], $param['name'], $js)); } $html .= ' ' . $value . '   '; if (isset($param['bind'])) { //$html .= ''; } } } } return '
    ' . $html . '
    '; } /** * group * * @return string */ public static function _group($param, $class = '', $hidden = '', $change = '') { $html = $class ? '
    ' : ''; $html .= $hidden . ''; $html .= $class ? '
    ' : ''; return $html; } /** * linkage select 多级联动 * * @return string */ public static function _linkage($param, $class = '', $hidden = '', $change = '') { $div = 'div'; $w = 'widths:20%;'; if ($class == 'span') { $div = 'span'; $w = ''; } if (layadmin()) { $w = 'margin-top:0px;width:20%;'; } if (!isset($param['search_state'])) { $param['search_state'] = false; } # 当前级别 $level = 1; # 传入的参数 $level_param = ''; if (isset($param['linkage'])) { $level_param = $param['linkage']; } $id = 'dever-linkage-' . $param['name']; $html = '<' . $div . ' class="' . $class . '" id="' . $id . '" >'; # 默认值 if (isset($param['value']) && is_array($param['value'])) { $param['value'] = implode(',', $param['value']); } $html .= ''; $html .= ''; return $html; } /** * select * * @return string */ public static function _selects($param, $class = '', $hidden = '', $change = '') { return self::_select($param, $class, $hidden, $change); } /** * select * * @return string */ public static function _select($param, $class = '', $hidden = '', $change = '') { $html = $class ? '
    ' : ''; $child_class = ''; if (isset($param['child'])) { $child_param['name'] = 'update_' . $param['child_name']; isset($param['value']) && $param['value'] = $param['value']; isset($param['child_value']) && $child_param['value'] = $param['child_value']; $change = 'style="width:45%" id="' . $param['name'] . '" data-child="' . $child_param['name'] . '_child" '; $child_class = ' change'; //$param['name'] .= '_parent'; } if (isset($param['control']) && is_string($param['control'])) { //print_r($param);die; $change = ' show_id="' . $param['control'] . '" onchange="inputShow($(this), \'' . $param['control'] . '\')"'; } elseif (isset($param['bind'])) { $param['bind'][2] = isset($param['bind'][2]) ? str_replace('"', '\'', json_encode($param['bind'][2], true)) : false; $change = $param['bind'][0] . '="' . $param['bind'][1] . '($(this), ' . $param['bind'][2] . ')" '; $child_class .= ' change'; } $xm = ''; if ($change) { $xm = ''; } else { } if (!$change && isset($param['update'])) { $xm = 'xm-select="' . $param['name'] . '" xm-select-skin="normal" xm-select-search="" xm-select-search-type="dl"'; if ($param['update'] != 'selects') { $xm .= ' xm-select-radio=""'; } $search_value = ''; if (isset($param['value'])) { $search_value = $param['value']; } elseif (isset($param['default'])) { $search_value = $param['default']; } if (isset($param['update_search'])) { $xm = str_replace('xm-select-search=""', 'xm-select-search="'.Dever::url($param['update_search'] . '&yes='.$search_value.'&json=1').'"', $xm); } if (isset($param['update_create'])) { $xm .= ' xm-select-create=""'; } if ($param['match'] != 'option') { $xm .= ' lay-verify="' . $param['name'] . '"'; } } else { $xm .= ' xm-select-radio=""'; } if (isset($param['option']) && isset($param['update']) && $param['update'] == 'select') { $total = count($param['option']); if ($total <= 5) { $xm = ''; } } $html .= $hidden . ''; if (isset($param['child'])) { $child = $child_param['name']; $hidden = self::hidden(array('name' => $child, 'class' => $child . '_child_value')); foreach ($param['child'] as $k => $v) { $child_param['name'] = 'child-' . $k; $child_param['option'] = $v; $html .= self::select($child_param, $child . '_child ' . $child . '_child_' . $k . '" parent="' . $k . '" style="display:none;margin-top: -35px;margin-left: 47%;"', $hidden); } } $html .= $class ? '
    ' : ''; return $html; } /** * radio * * @return string */ public static function _checkbox($param) { return self::radio($param); } /** * text * * @return string */ public static function _text($param, $class = '') { if ($class) { return '
    ' . self::text($param, false) . '
    '; } else { $auto = $input = ''; $value = (isset($param['value']) ? $param['value'] : (isset($param['default']) ? $param['default'] : '')); if (isset($param['autocomplete'])) { if (empty($param['autocomplete'][1])) { $param['autocomplete'][1] = 'value'; } if ($param['autocomplete'][1] == 'id') { $input = self::hidden(array('name' => $param['name'], 'value' => $value)); $input = ''; if (isset($param['autocomplete'][2]) && $value) { # 重新定义value $value = Dever::load($param['autocomplete'][2], $value); if (is_array($value)) { $html = '
    '; foreach ($value as $k => $v) { $link = ''; $attr = ''; $pic = ''; if (isset($v['pic']) && $v['pic']) { $pic = '  '; } if (isset($v['link']) && $v['link']) { $link = $v['link']; $attr = ' target="_blank"'; } $html .= ''; } $html .= '
      '.$pic.''.$v['value'].'[删除]
    '; $input .= $html; $value = ''; } } $param['name'] = $param['name'] . '_temp'; } $auto = 'complete="' . Dever::url($param['autocomplete'][0]) . '" complete_callback="' . $param['autocomplete'][1] . '" '; if (isset($param['autocomplete'][3])) { $auto .= ' complete_cate="' . $param['autocomplete'][3] . '" '; } } elseif (isset($param['searchbox'])) { if (empty($param['searchbox'][1])) { $param['searchbox'][1] = 'value'; } if ($param['searchbox'][1] == 'id') { $input = self::hidden(array('name' => $param['name'], 'value' => $value)); $input = ''; if (isset($param['searchbox'][2]) && $value) { # 重新定义value $value = Dever::load($param['searchbox'][2], $value); if (is_array($value)) { $html = '
    '; foreach ($value as $k => $v) { $link = ''; $attr = ''; $pic = ''; if (isset($v['pic']) && $v['pic']) { $pic = '  '; } if (isset($v['link']) && $v['link']) { $link = $v['link']; $attr = ' target="_blank"'; } $html .= ''; } $html .= '
      '.$pic.''.$v['value'].'[删除]
    '; $input .= $html; $value = ''; } } $param['name'] = $param['name'] . '_temp'; } $auto = 'searchbox="' . Dever::url($param['searchbox'][0]) . '" searchbox_callback="' . $param['searchbox'][1] . '" '; if (isset($param['searchbox'][3])) { $auto .= ' searchbox_cate="' . $param['searchbox'][3] . '" '; } $search = ''; if (isset($param['searchbox'][4])) { $temp = explode(',', $param['searchbox'][3]); $link = explode(',', $param['searchbox'][4]); $p = array(); $p['option'] = array(); foreach ($temp as $k => $v) { $p['name'] = $v; $p['option'] = Dever::load($link[$k]); $search .= self::_select($p, '', '', ' style="width: 15%;display: inline;margin-left:5px;"'); } } $auto .= ' style="display: inline;"'; $input = $search . '' . $input; } if (isset($param['bind'])) { $param['bind'][2] = isset($param['bind'][2]) ? str_replace('"', '\'', json_encode($param['bind'][2], true)) : false; $auto .= $param['bind'][0] . '="' . $param['bind'][1] . '($(this), ' . $param['bind'][2] . ')" '; $auto .= ' onload="' . $param['bind'][1] . '($(this), ' . $param['bind'][2] . ')" '; } return '' . $input; } } /** * color * * @return string */ public static function _color($param) { $param['class'] = 'dever-color form-control'; $param['update'] = 'text'; $param['default'] = '#000000'; return self::text($param, ''); } /** * password * * @return string */ public static function _password($param) { $param['value'] = ''; return self::text($param); } /** * hidden * * @return string */ public static function _hidden($param) { $param['update'] = 'hidden'; return self::text($param, ''); } /** * time * * @return string */ public static function _time($param) { return ''; } /** * date * * @return string */ public static function _date($param) { return ''; } /** * div * * @return string */ public static function _node($param, $type = 'div') { $result = array('', ''); foreach ($param as $k => $v) { $result[0] .= '<' . $type . ' ' . $v . '>'; $result[1] .= ''; } return $result; } }