帝国cms教程

帝国CMS插件开发制作教程-插件安装卸载

我的站长站 2024-09-21 人阅读

下面我的站长站分享一系列帝国cms插件开发制作教程,从安装到业务逻辑页面,今天先说帝国CMS插件安装卸载页面的开发制作。

前端页面示例:

<?php
error_reporting(E_ALL ^ E_NOTICE);
@set_time_limit(10000);
define('EmpireCMSAdmin','1');
require('../../../class/connect.php');
require('../../../class/db_sql.php');
require('../../../class/functions.php');
$link=db_connect();
$empire=new mysqlquery();
$editor=2;
if(file_exists("install.off"))
{
echo"安装程序已锁定。如果要重新安装或卸载,请删除插件目录下的<b>install.off</b>文件!";
exit();
}
if($_GET['ecms']=="install")
{
$phome_db_dbchar=file_exists('../../../config/config.php')?$ecms_config['db']['dbchar']:$phome_db_dbchar;
$doinstall=$_GET['doinstall'];
if($doinstall=='install')//安装操作
{
include('install.php');
$word='已安装完毕!</br>建议您立即删除install安装目录。';
}
elseif($doinstall=='uninstall')//卸载操作
{
include('uninstall.php');
$word='已卸载完毕!';
}
echo $ename.$word;
exit();
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><?=$ename?>插件安装/卸载程序</title>
<style>
/* Basic Grey */
body{font:12px '微软雅黑',"Times New Roman",Times,serif;color:#000;background:url(body-bg.jpg) repeat;}
div{margin:0}
.basic-grey{margin-left:auto;margin-right:auto;max-width:600px;background:#F7F7F7;padding:25px 0;text-shadow:1px 1px 1px #FFF;border:1px solid #E4E4E4; margin-top:10%;}
.basic-grey h1{font-size:25px;padding:0 10px 10px 40px;display:block;border-bottom:1px solid #E4E4E4;color:#333;}
.basic-grey h1>span{display:block;font-size:11px;margin-top:10px}
.basic-grey .row { margin-top:15px;padding-left: 40px;}
input[type=radio]{margin-top:10px}
.operation{height:50px;line-height:50px;padding-left:40px}
.basic-grey .msg{padding:20px 0px;height:80px;font-family:'宋体'; color:#666;}
.basic-grey .button{padding: 10px 30px 10px 30px;
background: #66C1E4;
border: none;
color: #FFF;
box-shadow: 1px 1px 1px #4C6E91;
-webkit-box-shadow: 1px 1px 1px #4C6E91;
-moz-box-shadow: 1px 1px 1px #4C6E91;
text-shadow: 1px 1px 1px #5079A3;cursor:pointer}
.basic-grey .button:hover{background:#3EB1DD}
.clear{margin:5px 0; border-bottom:1px solid #E4E4E4;}
</style>
<script>
function CheckUpdate(obj){
if(confirm('确认操作?'))
{
obj.updatebutton.disabled=true;
return true;
}
return false;
}
</script>
</head>
<body>
<div class="basic-grey">
  <form method="GET" action="index.php" name="formupdate" onSubmit="return CheckUpdate(document.formupdate);">
    <h1>
      <?=$ename?>
      <span>插件安装/卸载程序.</span>
    </h1>
    <div class="operation"> <span>选择操作:</span>
      <input name="doinstall" type="radio" value="install" checked>
      安装
      <input type="radio" name="doinstall" value="uninstall">
      卸载
    </div>
    <div class="clear"></div>
    <div class="row">
      <input type="submit" class="button" name="updatebutton" value="提交操作">
      <input name="ecms" type="hidden" id="ecms" value="install">
    </div>
  </form>
</div>
</body>
</html>

首先连接数据库,然后判断当前目录是否存在install.off文件,有就代表已经安装,没有就可以继续安装。

接着给个表单,判断提交的是安装还是卸载请求,跳转到对应的PHP页面,前端页面就完成了。

安装PHP示例:

接着就是安装处理页面,一般都是写入数据库的操作,示例代码如下:

<?php
if(!defined('InEmpireCMS'))
{
        exit();
}
if(file_exists("install.off"))
{
	echo"安装程序已锁定。如果要重新安装,请删除<b>install.off</b>文件!";
	exit();
}
$empire->query(SetCreateTable("CREATE TABLE `{$dbtbpre}wdzzz` (
	`id` int(6) auto_increment,
	`name` varchar(50) default ''
) TYPE=MyISAM;",$phome_db_dbchar));

$empire->query("insert into `{$dbtbpre}enewsmenuclass` values(NULL,'我的站长站插件','0','0','2','');");
$menuclassid=$empire->lastid();
$empire->query("insert into `{$dbtbpre}enewsmenu` values(NULL,'我的站长站插件1','../wdzzz/wdzzz1.php','1','$menuclassid',1);");
$empire->query("insert into `{$dbtbpre}enewsmenu` values(NULL,'我的站长站插件2','../wdzzz/wdzzz2.php','1','$menuclassid',2);");

$fp=@fopen("install.off","w");
@fclose($fp);

function generate_code($length=32) { 
$chars = ''; 
$password = '';
for ( $i = 0; $i < $length; $i++ ) 
{ 
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ]; 
}
return $password; 
}
?>

首先我们还是判断一下install.off文件,防止误操作。

接着我们创建了一个wdzzz表,然后创建了一个name的字段。

最后写入enewsmenuclass插件菜单数据表,这样打开后台的插件菜单,就自动显示刚刚安装的插件了。

这里要注意的是字段类型需要创建正确,可以参考下面的:

1. 整型(Integer):用于存储整数,如-2, 0, 1等,不包含小数部分。
2. 浮点型(Float):用于存储带有小数的数值,如3.14、-0.5等,精度比整型高。
3. 字符型(Character或String):用于存储文本数据,可以是单个字符或一串字符。
4. 布尔型(Boolean):用于存储逻辑值,通常只有两个状态,如True和False。
5. 日期/时间型(Date/Time):用于存储日期和时间信息,如"2022-01-01"或"12:00:00"。
6. 对象型(Object):在某些数据库系统中,用于存储复杂的数据结构,如数组、列表或字典。
7. 字节型(Byte):用于存储单个字节的数据,常用于处理二进制数据。
8. 数组或集合型(Array/Collection):用于存储一组有序的元素,可以是同类型的或者不同类型。
9. 指针型(Pointer):在编程语言中,用于存储内存地址,指向其他数据对象的位置。

卸载PHP示例:

卸载就是删除安装时写入的数据库内容,创建了哪些数据就删除哪些内容。示例代码:

<?php
if(!defined('InEmpireCMS'))
{
        exit();
}
if(file_exists("install.off"))
{
echo"安装程序已锁定。如果要卸载,请删除<b>install.off</b>文件!";
exit();
}
$empire->query("DROP TABLE IF EXISTS `{$dbtbpre}wdzzz`;");
$menuclassr=$empire->fetch1("select classid from {$dbtbpre}enewsmenuclass where classname='我的站长站插件' limit 1");
$empire->query("delete from {$dbtbpre}enewsmenuclass where classid='$menuclassr[classid]'");
$empire->query("delete from {$dbtbpre}enewsmenu where classid='$menuclassr[classid]'");
?>

首先我们还是判断一下install.off文件,防止误操作。

然后删除刚刚创建的wdzzz数据表。

最后删除enewsmenuclass插件菜单数据表内名称等于“我的站长站插件”的选项。

安装的数据就全部删除完了。

相关推荐
  • 帝国cms二次开发
  • 帝国cms制作
  • 帝国cms制作手机模版教程

    步骤1:网站数据库备份。步骤2:添加帝国CMS手机模板组。“模板”-“模板组管理”-“导入/导出模板组”-“默认模板组”-导出-将导

    帝国cms教程 363 10年前
  • 帝国CMS制作教程网站制作流程

    帝国CMS教程制作网站的流程。供帝国CMS新手参考!1、首先第一步,下载帝国CMS程序、安装帝国CMS程序。可以看帝国CMS教程之安装教程系列-安装程序 https://www.wdzzz.com/jiaocheng/ecms/2013-04-13/25.html、增加帝国CMS栏2、帝国CMS模板的制作。不会做...

    帝国cms教程 283 11年前
  • Phpcms模板制作教程-程序的安装教程

    在此教程开始之前,请购买好PHP环境服务器或在本地搭建好PHP环境。服务器的购买和本地环境的搭建,我们会在以后为大家详细讲解。如果您已经搭建好PHP环境了,那么就看下面的教程把。安装教程步骤1、首先第一步是去官网下载程序安装包:http://www.phpcms.cn...

    phpcms教程 135 5年前
最新更新