社会专题
靓丽女人 黑白社会 硬件网络 天下军事 教育咨询 星新一代 汽车电子 幽默笑话 农村特色 有书有道 软件技术 玄幻奇幻 办公达人 便民服务 免费资源 代码效果 美文园地 寻医问药 健康保健 时尚酷玩 天文地理 科技科幻 美食天下 游山玩水 历史天空 制作教程
FLASH频道
女生游戏 益智游戏 有声艺术 有声故事 电脑运用 休闲游戏 MTV类 运动游戏
聚划算
商旅游玩 装潢装饰 家电家具 服装服饰 健康保健 二手特色 生活必备 数码产品
映讯频道
喜剧片 国内片 情感片 动作片 战争片 纪录之窗 欧美剧集 明星云集 动漫片 港澳台剧 大陆剧 科幻片 恐怖片 浓缩电影 教育教学 艺术无界 一技之长 邻国热剧
下载中心
音体美合 信息社政 英语外语 科学自然 常用软件 语文数学 手机软件 红绿软件
图片中心
制作美图 生活图片 美女欣赏 实物图片 艺术欣赏 风景欣赏
领券购
热销女装 热血男装 生活必须 电子电器 手机电脑 旅游出行 学习艺术 吃货优选
新闻中心
一语惊人 奇闻趣事 热点专栏 曝光台 消费警示 今日观察 IT业界 消费主张 动态备忘 专利之窗
关闭
当前位置:首页社会专题硬件网络
齐博v7:关于制作系统插件

以下是引用片段:

第一:先在整站hack目录下新建一个插件目录,这里举例为hack_folder:

第二:在 hack_folder 目录下建立相关的文件:  

data.sql就是写入到插件数据表的数据文件,同时也是系统自动识别和自动安装的钩子;

install.php来编写安装插件后相关的初始设置;

fix.php来编写插件的初始设置:(0=可选安装,1=默认安装,2=强制安装)

如果需要在前台导航菜单里自动显示,请用这样的代码来实现:

if(!$db->get_one("SELECT * FROM `{$pre}menu` WHERE linkurl='do/hack.php?hack=你的插件目录名'") )  //添加前台头部导航菜单

{

$db->query("

INSERT INTO `{$pre}menu` (

`id` ,

`fid` ,

`name` ,

`linkurl` ,

`color` ,

`target` ,

`moduleid` ,

`type` ,

`hide` ,

`list`

)

VALUES (

NULL , '0', '插件名称', 'do/hack.php?hack=你的插件目录名'', '', '0', '0', '0', '0', '0'

)

");

}

menu_cache();

function menu_cache(){

global $db,$pre;

$query = $db->query("SELECT * FROM {$pre}menu WHERE moduleid=0 AND AND hide=0 AND fid=0 ORDER BY list DESC");

while($rs = $db->fetch_array($query)){

$array[]="$rs[name]|$rs[linkurl]|$rs[target]|$rs[color]|$rs[id]";

$query2 = $db->query("SELECT * FROM {$pre}menu WHERE moduleid=0 AND AND hide=0 AND fid='$rs[id]' ORDER BY list DESC");

while($rs2 = $db->fetch_array($query2)){

$show.="\r\n\$MenuArray[$rs[id]][]='".addslashes("$rs2[name]|$rs2[linkurl]|$rs2[target]|$rs2[color]|$rs2[id]")."';";

}

}

$webdbs[guide_word]=implode("\r\n",$array);

write_config_cache($webdbs);   

}

admin.php来编写后台对这插件的管理操作;

member.php来编写会员中心对这插件的管理操作;

member_menu.php来编写会员中心对这插件管理连接;相关写法可如下:

return array(

'name'=>'插件名称',

'url'=>'hack.php?hack=hack_folder&job=list'

);

index.php来编写前台对这插件的显示;

文件夹template是存放插件需要的模板文件,这里又再分前台,后台和会员中心:

template/ 是存放后台管理需要的模板文件;

template/index 是存放前台需要的模板文件;

template/member 是存放会员中心需要的模板文件;

文件夹images是存放插件需要的图片文件,这里又再分前台,后台和会员中心:

images/ 是存放后台管理需要的图片文件;

images/index 是存放前台需要的图片文件;

images/member 是存放会员中心需要的图片文件;

有关插件模板名的定义,官方推荐用以下定义来编写:

list.htm (列表)

set.htm  (设置)

mod.htm  (修改)

add.htm  (添加)

menu.htm  (菜单)

在调用这些模板文件,可用模板识别函数:hack_admin_tpl(模板名):

示范:hack_admin_tpl('list');

图中我用黄色水印表示这插件的管理地址:index.php?lfj=hack_folder&job=list

开头的 index.php  是表示后台管理插件路径的统一方式;

后面的 lfj=hack_folder 就表示你当前插件目录名,这里已用下划蓝色做了区别;

最后的 job=list 就是当前对插件的管理操作,也就是后台点击插件管理时候的第一界面,其变量取决该插件的构造而定,一般默认都为list,这里已用下划红色做了区别;

而有关job变量的定义,官方推荐用以下定义来编写:

$job=="list"   (列表)  list一般都为插件管理路径的默认值,也有部分插件会是set,情况因插件不同构造而定,list就是表示查看完整的数据列表

$job=="set"   (设置)  一般在设置后都会跟上一个$action=="set"  前者是开始提取数据,后者是结束写入数据

$job=="mod"   (修改) 一般在修改后都会跟上一个$action=="mod"  前者是开始提取数据,后者是结束写入数据

$job=="add"   (添加)  一般在添加后都会跟上一个$action=="add"  前者是开始提取数据,后者是结束写入数据

还有一个变量就是删除,由于删除是属于结束写入数据的那种,所以直接定义为$action=="delete"

最后是插件操作的权限配置,也就是这里用黑色圈出的插件关键字,这也是插件唯一认证的地方,所以不同的插件都会用到不同的关键字,这是为了起到最大的安全效率;

插件操作也就是说在每次操作后都要加上这个关键字变量,也就是$Apower[hack_keywords]

举例:$job=="list"&&$Apower[hack_keywords]

$job=="set"&&$Apower[hack_keywords]

$action=="delete"&&$Apower[hack_keywords]

第三:把插件相关的应用连接写入到插件管理数据表中(data.sql),如:

#

# 转存表中的数据 `php168_hack

#

INSERT INTO `php168_hack` (

`keywords` ,

`name` ,

`isclose` ,

`author` ,

`config` ,

`htmlcode` ,

`hackfile` ,

`hacksqltable` ,

`adminurl` ,

`about` ,

`class1` ,

`class2` ,

`list` ,

`linkname` ,

`isbiz`

)

VALUES (

'hack_keywords',

'测试测试',

'0',

'lisheng51',

'', '', '', '',

'index.php?lfj=hack_folder&job=list',

'test for a hack',

'other',

'其它功能',

'0',

'',

'0'

);

第四:以上操作完毕,保存后新插件就会出现在自动安装界面下。

提示:输入修改代码都可运行!
2
酒精度
70
顶一下
相关阅读
内容加载中……