Files
web-discuz/source/plugin/replyfloor/class/class_apihook.php
2025-06-27 21:04:18 +08:00

88 lines
2.3 KiB
PHP

<?php
/**
* This is NOT a freeware, use is subject to license terms
* 应用名称: 贴吧楼中楼回复 9.0
* 下载地址: https://addon.dismall.com/plugins/replyfloor.html
* 应用开发者: 乘凉
* 开发者QQ: 594433766
* 更新日期: 202505310549
* 授权域名: www.shitangsweet.com
* 授权码: 2025053105b89RrI3R9n
* 未经应用程序开发者/所有者的书面许可,不得进行反向工程、反向汇编、反向编译等,不得擅自复制、修改、链接、转载、汇编、发表、出版、发展与之有关的衍生产品、作品等
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class replyfloor_apihook {
public static function updateAPIHook($datas) {
$apihook = self::getAPIHook();
foreach ($datas as $data) {
foreach ($data as $key => $value) {
if (!$value['plugin']) {
continue;
}
list($module, $hookname) = explode('_', $key);
if ($value['include'] && $value['class'] && $value['method']) {
$v = $value;
unset($v['plugin']);
$v['allow'] = 1;
$apihook[$module][$hookname][$value['plugin']] = $v;
} else {
unset($apihook[$module][$hookname][$value['plugin']]);
}
}
}
$settings = array('mobileapihook' => serialize($apihook));
C::t('common_setting')->update_batch($settings);
updatecache('setting');
return $apihook;
}
public static function getAPIHook($getplugin = '') {
global $_G;
$data = unserialize($_G['setting']['mobileapihook']);
if (!$getplugin) {
return $data;
} else {
foreach ($data as $key => $hooknames) {
foreach ($hooknames as $hookname => $plugins) {
foreach ($plugins as $plugin => $value) {
if ($getplugin != $plugin) {
unset($data[$key][$hookname][$plugin]);
}
}
}
}
return $data;
}
}
public static function delAPIHook($getplugin) {
if (!$getplugin) {
return;
}
$getplugins = (array) $getplugin;
$apihook = self::getAPIHook();
foreach ($apihook as $key => $hooknames) {
foreach ($hooknames as $hookname => $plugins) {
foreach ($plugins as $plugin => $value) {
if (in_array($plugin, $getplugins)) {
unset($apihook[$key][$hookname][$plugin]);
}
}
}
}
$settings = array('mobileapihook' => serialize($apihook));
C::t('common_setting')->update_batch($settings);
updatecache('setting');
return $apihook;
}
}
?>