ZBlogPHP判断插件是否安装或启用的几种方法总结

超级版主 toyean 3月前 456

以UEditor插件为例

[推荐] 方法一:判断插件是否安装 (无论是否启用):

//判断是否安装“UEditor”插件
$ueUrl = $zbp->host .'zb_users/plugin/AppCentre/main.php?id=228';
if($zbp->LoadApp('plugin', 'UEditor')->isloaded){
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.config.php"></script>';
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.all.min.js"></script>';
}else{
    $zbp->ShowHint('bad', '请安装 (<a href="'. $ueUrl .'">UEditor编辑器</a>) 插件!');
}


方法二:判断插件是否安装并且启用:

//判断是否安装并且启用“UEditor”插件
$dependplugin = array('UEditor'=>'UEditor编辑器');
foreach ($dependplugin as $key=>$pluginname) {
    if (!$zbp->CheckPlugin($key)) {
        $zbp->ShowHint('bad', '请安装并启用 ' . $pluginname . ' (' . $key . ') 插件!');
    }
}


方法三:通过判断文件是否存在 (无论是否启用):

//判断是否安装“UEditor”插件
$ueConfig = $zbp->path .'zb_users/plugin/UEditor/ueditor.config.php';
$ueAll = $zbp->path .'zb_users/plugin/UEditor/ueditor.all.min.js';
$ueUrl = $zbp->host .'zb_users/plugin/AppCentre/main.php?id=228';
if(file_exists($ueConfig) && file_exists($ueAll)){
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.config.php"></script>';
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.all.min.js"></script>';
}else{
    $zbp->ShowHint('bad', '请安装 (<a href="'. $ueUrl .'">UEditor编辑器</a>) 插件!');
}


方法四:也是通过判断文件是否存在 (无论是否启用):

//判断是否安装“UEditor”插件
$path = realpath(dirname(__FILE__).'/../');
$ueConfig = $path .'zb_users/plugin/UEditor/ueditor.config.php';
$ueAll = $path .'zb_users/plugin/UEditor/ueditor.all.min.js';
$ueUrl = $zbp->host .'zb_users/plugin/AppCentre/main.php?id=228';
if(file_exists($ueConfig) && file_exists($ueAll)){
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.config.php"></script>';
    echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/UEditor/ueditor.all.min.js"></script>';
}else{
    $zbp->ShowHint('bad', '请安装 (<a href="'. $ueUrl .'">UEditor编辑器</a>) 插件!');
}


拓源主题 - 您身边的原创网站定制专家 丨 应用交流和开发工具可 点此加入ZBlog中国群

最新回复 (2)
全部楼主
  • 超级版主 尔今 3月前 0
    引用 2
    这个值得收藏,最常用的就是$zbp->CheckPlugin了

    本人 作品 咨询和问题在具体 应用页面 点击QQ沟通能更快解决。 Z-BlogPHP常见问题教程

  • 超级版主 沉冰浮水 3月前 0
    引用 3

    【关于应用配置中图片的上传】【来自水水的Diss】

    主题Logo,favicon,二维码等允许用户自行上传的图片,目前大部分都是调用UE的上传组件并且进了附件文件夹。。如果更换主题或者更换二维码内容时旧图片会形成冗余。。虽然也可以复用地址,但是找到旧图片也会很麻烦。【我觉得某些喜欢用360的会很介意吧/doge】所以你们连个move_uploaded_file都不会自己写么,自己写么,写么,么。

    mzERK - Z-Blog 应用中心

    https://app.zblogcn.com/?id=2120

    $act = GetVars("act", "GET");
    if ($act === "save") {
      CheckIsRefererValid();
      foreach ($_POST as $key => $value) {
        $zbp->Config("mzERK")->$key = $value;
      }
      $extList = "png|jpg|jpeg|ico"; // 上传相关开始
      foreach ($_FILES as $key => $value) {
        if ($_FILES[$key]['error'] === 0) {
          $ext = GetFileExt($_FILES[$key]['name']);
          $file = mzERK_Path("u-{$key}"); // 根据字段返回实际文件路径,参考mzERK主题
          if (!HasNameInString($extList, $ext) || !is_file($file)) {
            continue;
          }
          if (is_uploaded_file($_FILES[$key]['tmp_name'])) {
            move_uploaded_file($_FILES[$key]['tmp_name'], $file);
          }
        }
      } // 上传结束
      $zbp->SaveConfig("mzERK");
      $zbp->SetHint('good');
      Redirect('./main.php');
    }

    沉冰浮水.tk我的咸鱼心 ←_←我大概率能够解决你所实际面临的问题(收费),然而”你提出的问题“却往往是另一个问题。

    • ZBlogger技术交流中心
      4
          
返回