ckplayer整合进thinkphp整合ueditor中失败

thinkphp整合ckeditor的方法和利用ckfinder上传图片的功能
最近用thinkphp做一个项目,用到了富文本编辑器,一个文本编辑器没有图片上传功能等同没有一样。在网站找到了很多相关的方法但是没有一个合适的,在自己不断努力想将网站的方法整理了一样实现了自己想要的功能。好了废话不多说了将代码展示给大家。
1.下载ckeditor编辑器
这是ckeditor文件夹的基本结构。
2.将其解压到PUBLIC文件夹下
在文件中引用ckeditor.js
3.创建一个文本域
&!--&&textarea
name="myEditor" id="myEditor"
&&/textarea&--&
在文本域下面写如下代码
CKEDITOR.replace( 'myEditor',
filebrowserBrowseUrl : '__PUBLIC__/ckfinder/ckfinder.html',
filebrowserImageBrowseUrl :
'__PUBLIC__/ckfinder/ckfinder.html?Type=Images',
filebrowserFlashBrowseUrl :
'__PUBLIC__/ckfinder/ckfinder.html?Type=Flash',
filebrowserUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
filebrowserImageUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
标红部分是在后台用来接收文本域的值用的。
4.此时的编辑器没有上传图片的功能,接下来我们配置文本编辑器的上传图片的功能
在文件的头部引用ckfinder.js
引用完以后我们只差一步了。接下来我们配置一下
ckfinder/config.php
找到“$baseUrl”是上传图片的路径。此路径是相对与根目录的。
$baseUrl = '/ziji/public/upload/';
查找CheckAuthentication将false更改为true&
//开启上传图片的功能。
function CheckAuthentication()
此时的文本编辑器已经有上传的功能了。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。thinkphp+discuz整合方法
本文来自thinkphp官方论坛......
以下是Discuz6的整合方法,discuz5请按照里面的说明进行相应的修改,也可以使用了。
1.在项目的action目录下信件PublicAction.class.php。这样写:
class PublicAction extends Action
& & function
&&&$this-&display();
if(!isset($_SESSIONC('USER_AUTH_KEY'))||$_SESSIONC('USER_AUTH_KEY')==0)
&$this-&display();
&& &return
&redirect(__APP__);
function index()
&&//如果通过认证跳转到首页
&&redirect(__APP__);
& & function
checkLogin()
这里使用用户名、密码和状态的方式进行认证。这里是discuz6.1,discuz5的加密方式不一样。用discuz5的话你需要修改下面这一句。
//注意!!!这里直接把$_POST['name']和$_POST['password']放到查询语句中是不安全的。请先进行处理!我是自己处理的,这里没有贴。我在找ThinkPHP中的处理函数,还没有找到。
&&$authInfo =
RBAC::authenticate("`username`='".$_POST['name']."' AND `password`
= md5(concat(md5('".$_POST['password']."'),`salt`))");
&&if(false === $authInfo)
'登录失败,请检查用户名和密码是否有误!';
& &// 设置认证识别号
&session_register(C('USER_AUTH_KEY'));
&session_register('loginid');
&$_SESSION[C('USER_AUTH_KEY')] = $authInfo["uid"];
// 这里用户表的id字段
& &$_SESSION["loginid"] =
$authInfo["username"];// 这里用户表的用户名字段
& &//获取并保存用户访问权限列表
&RBAC::saveAccessList();
&dump($_SESSION);
strtoupper(APP_NAME)." ".strtoupper(MODULE_NAME)."
".strtoupper(ACTION_NAME);
2.然后在模板中新增登陆模板,路径为Tpl/default/Public/Login.html这里把官方教程中的模板贴出来,省的再去找了:
&form method=post name="login" id="form1"
action="__URL__/checkLogin"&
&div class="tcenter
&table id="checklist" class="login shadow"
cellpadding=0 cellspacing=0 &
&tr&&td height="5"
colspan="2" class="toptd"
&&/td&&/tr&
&tr class="row"
&&th colspan="2" class="tcenter
space"&&&系统管理登录&&&/th&&/tr&
&tr&&td height="5"
colspan="2" class="toptd"
&&/td&&/tr&
&tr class="row"
&&td colspan="2"
class="tcenter"&&div id="result"
class="result
none"&&/div&&/td&&/tr&
&tr class="row"
&&td class="tright"
width="25%"&帐
号:&/td&&td&&input
type="text" class="medium bleftrequire" check="require"
warning="请输入帐号"
name="name"&&/td&&/tr&
&tr class="row"
&&td class="tright"&密
码:&/td&&td&&input
type="password" class="medium bleftrequire" check="require"
warning="请输入密码"
name="password"&&/td&&/tr&
&tr class="row"
&&td class="tcenter" align="justify"
colspan="2"&
&input type="button" value="刷 新"
onclick="fleshverify()" class="submit
small"&&input type="submit" value="登
录" class="submit small hmargin"&
&input type="reset" value="重 置" class="submit
&/td&&/tr&
&tr&&td height="5"
colspan="2" class="bottomtd"
&&/td&&/tr&
3.在Model目录中新增一个UserModel.class.php
代码如下:
class UserModel extends Model
protected $trueTableName =
'uc_members';//这里是ucenter的用户表的表名。如果你在uc中修改了前缀,就把表名的uc部分修改成自己的。
4.可以了进行登录了。就这些。昨天看ThinkPHP的文档看了一整天。TP不是一般的强大啊。个人感觉比FLEAPHP强很多。
如果你使用的是discuz5版本,由于没有ucenter,需要修改两个部分。
PublicAction.class.php中的
$authInfo =
RBAC::authenticate("`username`='".$_POST['name']."' AND `password`
md5(concat(md5('".$_POST['password']."'),`salt`))");
二是 UserModel.class.php
中的'uc_members'改成相应数据表。
5. 下载RBAC。
在使用中除了上面的还不够。还要进行RBAC赋权的操作。这里你需要下载一个官方的RBAC示例,推荐放在和你的程序平级的目录。
6.修改RBAC
Model下的UserModel.class.php内容是下面的代码。这个和前面的UserModel.class.php一致。可以直接复制过来
class UserModel extends Model
var $trueTableName='uc_members';
还要修改GroupAction.class.php中的function
代码如下:
& & function
&&&//读取系统的用户列表
&&//以下三句请根据实际情况进行修改
&&&$userDao&
&D("User");
&&&$list&&=
$userDao-&findAll('','uid,username');//我们修改了这里
&&&$userList =
$userDao-&getCols($list,'uid,username');//还有这里,其他的不要动了。
&&$groupDao&
&D("Group");
&=&&$groupDao-&findAll('','id,name');
&&&$groupList =
$groupDao-&getCols($list,'id,name');
&&$this-&assign("groupList",$groupList);
&&&//获取当前用户组信息
&&&$groupId
=&&isset($_GET['id'])?$_GET['id']:'';
&&$groupUserList =
&&if(!empty($groupId))
&$this-&assign("selectGroupId",$groupId);
& &//获取当前组的用户列表
&& &$list =
$groupDao-&getGroupUserList($groupId);
&$groupUserList =
$groupDao-&getCols($list,'id,id');
&&&//$userList =
array_diff_key($userList,$groupUserList);
&&$this-&assign('groupUserList',$groupUserList);
&&&$this-&assign('userList',$userList);
&&&$this-&display();
7.现在可以进行分组操作了。
1.没有实现同步登陆,因为我不知道在discuz本身中密码的加密方式。大家可以另想办法。
2.你需要自己修改RBAC才能用于正式站点:(1),给RBAC弄一个登陆,现在没有权限设置,这个事关安全,是必须的。(2)查看用户列表的时候是全部列出来。弄个简单的搜索和分页吧。等我修改完毕我会把我的发上来。
3.在第一段处理登陆的代码中,有个不安全的地方。请按照说明添一段代码
4.没有实现用户组和Discuz的用户组整合。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。ucenter与thinkphp整合问题
[问题点数:40分,无满意结帖,结帖人YiXian_Qing]
ucenter与thinkphp整合问题
[问题点数:40分,无满意结帖,结帖人YiXian_Qing]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。DEDECMS整合CKplayer超简单实例
DEDECMS整合CKplayer超简单实例。希望更好的帮助到大家!
您可以使用你喜欢的任意模型:推荐软件和文章
1、首先把下载的ckplayer放在根目录下
2、修改ckplayer/ckplayer.js里各按钮的路径前加上(为了不出错。强烈建议使用绝对路径)
第一步:首先进入DEDECMS后台:核心→频道模型→内容模型管理→更改→字段管理→添加新字段
表单提示文字:影片地址 (可以自定义)
字段名称:shipingdizhi (可以自定义)
字段类型:默认
前台参数:使字段可以在列表的底层模板中获得
内容是否需要分页符:否
数据类型:单行文本(varchar)&&
然后点击确定
以上是设定部分
下边是模板部分:用网页编辑软件打开您所使用栏目的内容模板。添加以下代码:(如果找不到地方插入。就插入{dede:field.body/}这个代码下边或上边)
&div id="a1"
style="width:600"&正在加载播放器...&/div&
&script type="text/javascript"
src="ckplayer/ckplayer.js"
charset="utf-8"&&/script&
type="text/javascript"&
&& &var s1=new
swfupload();
s1.ckplayer_url='ckplayer/ckplayer.swf';//播放器文件名
s1.ckplayer_flv='http://movie./flv/-1.flv';//视频地址
s1.ckplayer_loadimg='/images/loadimg2.jpg';//初始图片地址
s1.ckplayer_pauseflash='';//暂停时播放的广告,只支持flash和图片
s1.ckplayer_pauseurl='';//暂停时播放图片时需要加一个链接
s1.ckplayer_loadadv='';//视频开始前播放的广告,可以是flash,也可是视频格式
s1.ckplayer_loadurl='';//视频开始前广告的链接地址,主要针对视频广告,如果是flash可以不填写
s1.ckplayer_loadtime=5;//视频开始前广告播放的秒数,只针对flash有效
s1.ckplayer_endstatus=1;//视频结束后的动作,0停止播放并发送js,1是不发送js且重新循环播放,2停止播放
s1.ckplayer_volume=30;//视频默认音量0-100之间
s1.ckplayer_play=1;//视频默认播放还是暂停,0是暂停,1是播放
s1.ckplayer_width=600;//播放器宽度,默认600
s1.ckplayer_height=400;//播放器高度,默认400
s1.ckplayer_bgcolor='#000000';//播放器背景颜色
s1.ckplayer_allowFullScreen=//是否支持全屏,true支持,false不支持,默认支持
s1.swfwrite('a1');//div的id
&&/script&
以上有两处ckplayer/ckplayer.swf
ckplayer/ckplayer.js
我强烈建议使用绝对路径。还有ckplayer.js里边的地址使用绝对路径。
下一步:修改一下代码
s1.ckplayer_flv='http://movie./flv/-1.flv';//视频地址
把这句改成s1.ckplayer_flv='{dede:field.shipingdizhi/}';//视频地址
{dede:field.shipingdizhi/}里边的shipingdizhi要和您的字段名称一样。
现在进入后台。添加内容试试吧 在视频地址里边写上您的视频连接!(如果使用软件模型可以直接上传哦)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 thinkphp add 失败 的文章

 

随机推荐