';
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 = '';
if (layadmin()) {
//$class = 'layui-form-label';
}
$html = '
';
return $html;
}
/**
* textarea
*
* @return string
*/
public static function _textarea($param)
{
return '
';
return '
';
}
private function uploadHandle($param)
{
$html = $style = '';
$div = array('', '');
$type = 'button';
if (isset($param['upload']) && $param['upload'] == 'qiniu') {
$upload = Dever::load('upload/qiniu.token?key=' . $param['key']);
if (isset($upload['domain'])) {
$domain = $upload['domain'];
$token = $upload['uptoken'];
$host = $upload['host'];
$date = explode('-', date("Y-m-d"));
$path = $param['key'] . '/' . $date[0] . '/' . $date[1] . '/' . $date[2] . '/';
$html = ' m="qiniu" 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);
}
/**
* image
*
* @return string
*/
public static function _image($param)
{
if (isset($param['value']) && $param['value']) {
$pic = 'src="' . $param['value'] . '"';
} elseif (isset($param['places'])) {
$pic = 'src="http://placehold.it/' . $param['place'] . '"';
} 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 .'
';
}
/**
* images
*
* @return string
*/
public static function _images($param)
{
$pic = '';
if (isset($param['value']) && $param['value']) {
$temp = explode(',', $param['value']);
foreach ($temp as $k => $v) {
$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 . '
' . $pic . '
';
}
/**
* upload
*
* @return string
*/
public static function _upload($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 .'
';
//return '
';
}
/**
* upload
*
* @return string
*/
public static function _uploads($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 .'
';
//return '
';
}
/**
* editor
*
* @return string
*/
public static function _editor($param)
{
$width = '100%';
$html = '';
if (isset($param['editor'])) {
$width = '70%';
$html .= '
';
}
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 .= '
';
}
$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 = 'width:20%;';
if ($class == 'span') {
$div = 'span';
$w = '';
}
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 .= '' . $div . '>';
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 = '
';
$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 = '
';
$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] .= '' . $type . '>';
}
return $result;
}
}