首先,一级评论只能由文章作者发表,因为使用了前面“ajax提交评论”中的函数,并且该函数接收评论,所以可以直接在ajax评论中拦截功能
$user = Typecho_Widget::widget('Widget_User');//获取用户组件
$parentId = $archive->request->filter('int')->get('parent');//获取评论父级,为0则为一级评论
$shenfen=0;//定义个身份变量
if($user->uid>0){if($user->uid == $archive->authorId){$shenfen=1;}}//如果当前用户为文章作者则身份变量改为1
if($archive->template=='say.php'){//如果是说说模板启用以下判断
if($shenfen==0&&$parentId==0){//如果身份不是文章作者同时评论又是一级评论,返回提示信息
$archive->response->throwJson(array('status'=>0,'msg'=>_t('非管理员无法发布说说!')));
}
}
上传图片
我在评论框下方添加了一个图片上传按钮,连接对应的文章附件系统,接口也参考后台文章附件上传源码
WidgetSecurity::alloc()->to($security);
$url = $security->index('/action/upload?cid=' . $this->cid);//上传接口地址
使用post请求,文件参数为file
附件清单
附件列表的输出详情请参考《Typecho根据文章的cid输出所有附件并反转》。 插入附件的功能比较简单,就是这样在图片地址上添加一个字符串! 【图片标题】(图片地址)插入评论框。 是的,删除图片附件界面如下
WidgetSecurity::alloc()->to($security);
$url = $security->index('/action/contents-attachment-edit');//删除附件的接口地址
使用post请求,参数为do=delete,cid=附件的cid
谈谈前台管理
删除前台谈话
WidgetSecurity::alloc()->to($security);
$url = $security->index('/action/comments-edit?do=delete&coid=当前评论coid');
请求这个地址即可删除评论也就是说说,使用ajax请求体验最佳。
前台编辑说
这个比较复杂,建议参考后台manage-comments.php文件
成就
前台可上传/插入/删除图片
发表的都说可以在前台编辑两次
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容