了解server.php 方法储存模块基本结构乐众主机

【开发者帮助】5、了解server.php 方法储存模块基本结构

该文件主要用于开通、管理、续费等功

每个方法前缀必须改成插件目录名称_方法名称 如插件目录是 xingwai 则:检测通讯的方法名称为 xingwai_status_vhost

下面请看示例代码:

/**
* 检测接口通讯
*/
function xingwai_status_vhost($plugin) {
$status = array(‘status’ => true, ‘msg’ => “渠道通信成功”, ‘data’ => array());
// 如果要返回失败 则把status值改为 false msg值改成失败的原因 具体是成功还是失败,请根据请求接口后的数据判断
return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 启动资产
*/
function lzsys_server_start_vhost($plugin) {
$asset_data = $plugin->asset_data(); // 请求过来的数据 里面包含了 用户请求的数据信息 可通过打印数组查看全部
$api_config = $plugin->api_config(); // 渠道数据 里面包含了渠道相关的数据 在 remark数组下面 可自行输出数组查看
$status = array(‘status’ => true, ‘msg’ => “启动成功”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 暂停资产
*/
function lzsys_server_stop_vhost($plugin) {
$asset_data = $plugin->asset_data(); // 请求过来的数据 里面包含了 用户请求的数据信息 可通过打印数组查看全部
$api_config = $plugin->api_config(); // 渠道数据 里面包含了渠道相关的数据 在 remark数组下面 可自行输出数组查看
$status = array(‘status’ => true, ‘msg’ => “暂停成功”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 续费资产
*/
function lzsys_server_renew_vhost($plugin) {
$asset_data = $plugin->asset_data(); // 请求过来的数据 里面包含了 用户请求的数据信息 可通过打印数组查看全部
$api_config = $plugin->api_config(); // 渠道数据 里面包含了渠道相关的数据 在 remark数组下面 可自行输出数组查看
$status = array(‘status’ => true,
‘msg’ => ‘续费资产’,
‘data’ => array(

),

);

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status)); // 将开通结果写入系统通知

}
/**
* 资产改密
*/
function xingwai_pass_vhost($plugin) {
$api_config = $plugin->api_config();
$asset_data = $plugin->asset_data();
$post = $asset_data[‘post’];
if (!$post[‘newpass’]) {
$post[‘newpass’] = $plugin->ide->php->post(“newpass”);
}
$asset_data[‘remark’][‘secret’] = $post[‘newpass’];

if (strtotime($asset_data[‘remark’][‘begin_time’])) {
$asset_data[‘remark’][‘begin_time’] = strtotime($asset_data[‘remark’][‘begin_time’]);
}
if (strtotime($asset_data[‘remark’][‘end_time’])) {
$asset_data[‘remark’][‘end_time’] = strtotime($asset_data[‘remark’][‘end_time’]);
}

if (!preg_match(‘/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,20}/’, $post[‘newpass’])) {
exit(“密码至少8位数且包含大写、小写、数字”);
}

unset($asset_data[‘post’]);
$updata = $plugin->ide->lzsys_system->json($asset_data[‘remark’]);
$plugin->ide->mysql->up_db(“secret='” . $post[‘newpass’] . “‘,remark='” . $updata . “‘”, “user_asset”, “app_id='” . $plugin->ide->lzsys_system->app_id() . “‘ and user_asset_id='” . $asset_data[‘user_asset_id’] . “‘”);

$status = array(‘status’ => true, ‘msg’ => “操作成功”, ‘data’ => array());

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 同步资产数据 该方法可忽略
*/
function xingwai_get_vhost($plugin) {
$status = array(‘status’ => false, ‘msg’ => “渠道不支持同步”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 批量创建资产 该方法可忽略
*/
function xingwai_creates_vhost($plugin) {
$status = array(‘status’ => false, ‘msg’ => “渠道不支持批量添加”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 单个创建资产
*/
function xingwai_create_vhost($plugin) {
$asset_data = $plugin->asset_data(); // 请求过来的数据 里面包含了 用户请求的数据信息 可通过打印数组查看全部 $asset_data[‘shop_product’]数组中包含了商品数据
$api_config = $plugin->api_config(); // 渠道数据 里面包含了渠道相关的数据 在 remark数组下面 可自行输出数组查看
$get_data = “ok”; // 假设这是请求接口后返回的数据

if ($get_data == “ok”) {
$status = array(‘status’ => true,
‘msg’ => ‘创建资产成功’,
‘data’ => array(// 这里可以根据插件返回需要的参数,会自动保存,然后其他地方可调用
‘vhost_describe’ => “无”, // 资产描述信息
),

);
} else {

$status = array(‘status’ => false,
‘msg’ => ‘创建资产失败,错误数据:’ . get_data ,
‘data’ => $plugin->ide->lzsys_system->json($get_data ),

);
}

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status)); // 将开通结果写入系统通知
}
/**
* 编辑资产
*/
function xingwai_edit_vhost($plugin) {
$api_config = $plugin->api_config();
$asset_data = $plugin->asset_data();

$get_status[‘status’] = true;
if ($get_status[‘status’] == true) {
$status = array(‘status’ => true, ‘msg’ => “编辑成功”, ‘data’ => array());
} else {
$status = array(‘status’ => false, ‘msg’ => $get_status[‘msg’], ‘data’ => array());
}
return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}

/**
* 同步删除资产(由于平台是删除到回收站,所以这里只暂停站点,不删除)
*/
function xingwai_dell_vhost($plugin) {
$asset_data = $plugin->asset_data();
foreach ($asset_data as $id) {
if ($id) {
$stop[‘status’] = false; // 这里是直接返回失败
if ($stop[‘status’] == true) {
$data = $data . ” 操作成功:” . $id[‘remark’][‘account’] . “”;
} else {
$data = $data . ” 操作失败:” . $id[‘remark’][‘account’] . ” 该资产不支持同步删除”;
}
}
}

$status = array(‘status’ => true, ‘msg’ => “暂停成功”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}

/**
* 同步删除资产(由于平台是回收站删除资产,所以这里也进行删除操作)
*/
function xingwai_dells_vhost($plugin) {
$asset_data = $plugin->asset_data();
foreach ($asset_data as $id) {
if ($id) {
$stop[‘status’] = false; // 这里是直接返回失败
if ($stop[‘status’] == true) {
$data = $data . ” 操作成功:” . $id[‘remark’][‘account’] . “”;
} else {
$data = $data . ” 操作失败:” . $id[‘remark’][‘account’] . ” 该资产不支持同步删除”;
}
}
}

$status = array(‘status’ => true, ‘msg’ => “删除站点成功”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 同步恢复资产(由于平台是从回收站恢复资产,这里对暂停的资产进行启动)
*/
function xingwai_redu_vhost($plugin) {
$asset_data = $plugin->asset_data();
foreach ($asset_data as $id) {
if ($id) {
$stop[‘status’] = false; // 这里是直接返回失败
if ($stop[‘status’] == true) {
$data = $data . ” 操作成功:” . $id[‘remark’][‘account’] . “”;
} else {
$data = $data . ” 操作失败:” . $id[‘remark’][‘account’] . ” 该资产不支持同步恢复”;
}
}
}

$status = array(‘status’ => true, ‘msg’ => “启动站点成功”, ‘data’ => array(“msg” => $data));

return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}

/**
* 一键登录渠道管理 相对于是登录到接口方的网站,而不是控制面板,比如 乐众同系统插件支持一键登录到上级的网站用户中心,登录代码写在这里
*/
function xingwai_login_vhost($plugin) {
$api_config = $plugin->api_config();

$status = array(‘status’ => false, ‘msg’ => “该渠道不支持一键登录”, ‘data’ => array());
return $plugin->system(“status”, $plugin->ide->lzsys_system->json($status));
}
/**
* 资产管理 客户购买产品后,点击管理面板 将调用此处的方法
*/
function xingwai_admin_vhost($plugin) {
$asset_data = $plugin->asset_data();
$api_config = $plugin->api_config();
$addons_config = $plugin->addons_config();
$get = $plugin->ide->php->get();
if ($get[‘view_file’] == “”) {
$get[‘view_file’] = “index.html”;
}

if (!file_exists($plugin->ide->views->template_dir[0] . $get[‘view_file’])) {
$plugin->views->display(“notice.html”);
exit;
}

$modular = “modular/” . str_replace(“.html”, “.php”, $get[‘view_file’]);;

require($modular);

$plugin->ide->views->assign(“plugins_config”, $plugins_config, true); // 应用配置文件
$plugin->ide->views->assign(“addons_config”, $addons_config, true); // 应用信息 api_type
$plugin->ide->views->assign(“api_config”, $api_config, true); // 渠道信息 api
$plugin->ide->views->assign(“asset_data”, $asset_data, true); // 资产信息 user_asset
$plugin->views->display($get[‘view_file’]);
exit;
}
/**
* 渠道管理 管理员后台点击管理渠道时 将调用此处方法
*/
function xingwai_admin_panel($plugin) {
$asset_data = $plugin->asset_data();
$api_config = $plugin->api_config();
$addons_config = $plugin->addons_config();
$get = $plugin->ide->php->get();
if ($get[‘view_file’] == “”) {
$url = “?view_file=index.html”;
header(“location: $url”);
$get[‘view_file’] = “index.html”;
}

if (!file_exists($plugin->ide->views->template_dir[0] . $get[‘view_file’])) {
$plugin->views->display(“notice.html”);
exit;
}

$modular = “modular_admin/” . str_replace(“.html”, “.php”, $get[‘view_file’]);

require($modular);
$plugin->ide->views->assign(“plugins_config”, $plugins_config, true); // 应用配置文件
$plugin->ide->views->assign(“addons_config”, $addons_config, true); // 应用信息 api_type
$plugin->ide->views->assign(“api_config”, $api_config, true); // 渠道信息 api
$plugin->ide->views->assign(“asset_data”, $asset_data, true); // 资产信息 user_asset
$plugin->views->display($get[‘view_file’]);
exit;
}

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。