/** * 编辑器字段 表单组合处理 * @param type $field 字段名 * @param type $value 字段内容 * @param type $fieldinfo 字段配置 * @return type */ function editor($field, $value, $fieldinfo) { $setting = unserialize($fieldinfo['setting']); //是否禁用分页和子标题 基本没用。。。 $disabled_page = isset($disabled_page) ? $disabled_page : 0; //编辑器高度 $height = $setting['height']; if (empty($setting['height'])) { $height = 300; } if (defined('IN_ADMIN') && IN_ADMIN) { //是否允许上传 $allowupload = 1; //编辑器类型,简洁型还是标准型 $toolbar = $setting['toolbar']; } else { $Member_group = F("Member_group"); //获取当前登陆会员组id $groupid = SiteCookie('groupid'); //是否允许上传 $allowupload = $Member_group[$groupid]['allowattachment'] ? 1 : 0; //编辑器类型,简洁型还是标准型 $toolbar = $setting['mbtoolbar'] ? $setting['mbtoolbar'] : "basic"; } //内容 if (empty($value)) { $value = $setting['defaultvalue'] ? $setting['defaultvalue'] : '<p></p>'; } if ($setting['minlength'] || $fieldinfo['pattern']) { $allow_empty = ''; } //模块 $module = in_array(GROUP_NAME, array("Contents", "contents")) ? 'Contents' : GROUP_NAME; $form = Form::editor($field, $toolbar, $module, $this->catid, $allowupload, $allowupload, '', 10, $height, $disabled_page); //javascript $this->formJavascript .= "\n //编辑器\n //editor{$field} = new baidu.editor.ui.Editor(editor_config_{$field});\n //editor{$field}.render( '{$field}' );\n //增加编辑器验证规则\n jQuery.validator.addMethod('editor{$field}',function(){\n try{editor{$field}.sync();}catch(err){};\n return " . ($fieldinfo['minlength'] ? "editor{$field}.hasContents();" : "true") . "\n });\n "; //错误提示 $errortips = $this->fields[$field]['errortips']; //20130428 由于没有设置必须输入时,ajax提交会造成获取不到编辑器的值。所以这里强制进行验证,使其触发编辑器的sync()方法 // if ($minlength){ //验证规则 $this->formValidateRules['info[' . $field . ']'] = array("editor{$field}" => "true"); //验证不通过提示 $this->formValidateMessages['info[' . $field . ']'] = array("editor{$field}" => $errortips ? $errortips : $fieldinfo['name'] . "不能为空!"); // } return "<div id='{$field}_tip'></div>" . '<script type="text/plain" id="' . $field . '" name="info[' . $field . ']">' . $value . '</script>' . $form; }
function editor($field, $value, $fieldinfo) { $setting = unserialize($fieldinfo['setting']); extract($setting); extract($fieldinfo); $disabled_page = isset($disabled_page) ? $disabled_page : 0; //编辑器高度 if (!$height) { $height = 300; } //是否允许上传 if (defined('IN_ADMIN') && IN_ADMIN) { $allowupload = 1; } else { $Member_group = F("Member_group"); $groupid = SiteCookie('groupid'); $allowupload = $Member_group[$groupid]['allowattachment'] ? 1 : 0; $toolbar = $mbtoolbar ? $mbtoolbar : "basic"; } //内容 if (!$value) { $value = $defaultvalue; } if ($minlength || $pattern) { $allow_empty = ''; } $form = Form::editor($field, $toolbar, 'Contents', $this->catid, $allowupload, 1, '', 10, $height, $disabled_page); //javascript $this->formJavascript .= "\r\n //编辑器\r\n editor{$field} = new baidu.editor.ui.Editor(editor_config_{$field});\r\n editor{$field}.render( '{$field}' );\r\n try{editor{$field}.sync();}catch(err){};\r\n //增加编辑器验证规则\r\n jQuery.validator.addMethod('editor{$field}',function(){\r\n try{editor{$field}.sync();}catch(err){};\r\n return editor{$field}.hasContents();\r\n });\r\n "; //错误提示 $errortips = $this->fields[$field]['errortips']; if ($minlength) { //验证规则 $this->formValidateRules['info[' . $field . ']'] = array("editor{$field}" => "true"); //验证不通过提示 $this->formValidateMessages['info[' . $field . ']'] = array("editor{$field}" => $errortips ? $errortips : $name . "不能为空!"); } return "<div id='{$field}_tip'></div>" . '<textarea id="' . $field . '" name="info[' . $field . ']">' . $value . '</textarea>' . $form; }
/** * 获取cookie中记录的用户ID * @return type 成功返回用户ID,失败返回false */ public function getCookieUid() { static $cookie_userid = null; if (isset($cookie_userid) && $cookie_userid) { return $cookie_userid; } $cookie = SiteCookie("shuipfuser"); if (empty($cookie)) { return false; } $cookie = explode('@', $cookie); $cookie_userid = $cookie[0] !== 'shuipfcms' ? false : $cookie[1]; return $cookie_userid; }
/** * 栏目选择 * @param string $file 栏目缓存文件名 * @param intval/array $catid 别选中的ID,多选是可以是数组 * @param string $str 属性 * @param string $default_option 默认选项 * @param intval $modelid 按所属模型筛选 * @param intval $type 栏目类型 * @param intval $onlysub 只可选择子栏目 * @param intval $is_push 加载权限表模型 ,获取会员组ID值,以备下面投入判断用 */ public static function select_category($catid = 0, $str = '', $default_option = '', $modelid = 0, $type = -1, $onlysub = 0, $is_push = 0) { import('Tree'); $tree = new Tree(); $result = F("Category"); $string = '<select ' . $str . '>'; if ($default_option) { $string .= "<option value='0'>{$default_option}</option>"; } //加载权限表模型 ,获取会员组ID值,以备下面投入判断用 if ($is_push) { $priv = M("Category_priv"); //用户组 if (defined("IN_ADMIN") && IN_ADMIN) { //后台 $user_groupid = session("roleid"); } else { $user_groupid = SiteCookie('groupid') ? SiteCookie('groupid') : 8; } } if (is_array($result)) { foreach ($result as $r) { //检查当前会员组,在该栏目处是否允许投稿? if ($is_push == '1' and $r['child'] == '0') { $where = array('catid' => $r['catid'], 'roleid' => $user_groupid, 'action' => 'add'); if (defined("IN_ADMIN") && IN_ADMIN) { $where['is_admin'] = 1; } else { $where['is_admin'] = 0; } $array = $priv->where($where)->find(); if (!$array) { continue; } } $r['selected'] = ''; if (is_array($catid)) { $r['selected'] = in_array($r['catid'], $catid) ? 'selected' : ''; } elseif (is_numeric($catid)) { $r['selected'] = $catid == $r['catid'] ? 'selected' : ''; } $r['html_disabled'] = "0"; if (!empty($onlysub) && $r['child'] != 0) { $r['html_disabled'] = "1"; } $categorys[$r['catid']] = $r; if ($modelid && $r['modelid'] != $modelid) { unset($categorys[$r['catid']]); } } } $str = "<option value='\$catid' \$selected>\$spacer \$catname</option>;"; $str2 = "<optgroup label='\$spacer \$catname'></optgroup>"; $tree->init($categorys); $string .= $tree->get_tree_category(0, $str, $str2); $string .= '</select>'; return $string; }
/** * 获取cookie中记录的用户ID * @return type 成功返回用户ID,失败返回false */ public function getCookieUid() { //用户ID $mid = SiteCookie("mid"); $username = SiteCookie("username"); $auth = SiteCookie("auth"); if (!$username || !$mid) { return false; } $info = M("Member")->where(array("userid" => $mid, 'username' => $username))->find(); if ($info['password'] == $auth) { return $info; } return false; }
/** * Cookie 设置、获取、删除 */ public static final function cookie($name, $value = '', $option = null) { return SiteCookie($name, $value, $option); }