options->index); $keywords = htmlspecialchars($this->request->keywords ?? ""); $group = htmlspecialchars($this->request->group ?? ""); $page = htmlspecialchars($this->request->page ?? ""); define('TYPEHO_ADMIN_PATH',__TYPECHO_ROOT_DIR__.__TYPECHO_ADMIN_DIR__); //异步加载插件列表 if ($this->request->is('action=loadlist')) { $this->security->protect(); $pluginData = $this->getPluginData(); if ($pluginData) { $name = ''; $pluginDatas = array(); //筛选关键词 foreach ($pluginData as $plugin) { if (!$keywords || false!==stripos($plugin['pluginName'],$keywords) || false!==stripos($plugin['desc'],$keywords) || false!==stripos(htmlspecialchars_decode(strip_tags($plugin['authorHtml'])),$keywords)) { $pluginDatas[] = $plugin; } } $installed = $this->getLocalPlugins(); $infos = array(); $pluginIns = array(); //检测已安装 foreach ($pluginDatas as $key=>$plugin) { if ($infos = $this->getLocalInfos($plugin['pluginName'])) { if ($infos[0]==htmlspecialchars_decode(strip_tags($plugin['authorHtml']))) { $pluginIns[] = $plugin; unset($pluginDatas[$key]); } } } $pluginDatas = $group || $group=='installed' ? $pluginIns : $pluginDatas; //处理分页 $pluginData = array_chunk($pluginDatas,20); $page = $page && isset($pluginData[$page-1]) ? $page-1 : 0; $nav = new Typecho_Widget_Helper_PageNavigator_Box(count($pluginDatas),$page+1,20, $storeUrl.'market?'.($keywords ? 'keywords='.$keywords.'&' : '').($group ? 'group='.$group.'&' : '').'page={page}'); //准备加速用API数据 if ($this->settings->proxy) { $this->ZIP_CDN(); } } ?>
| >
|
getLocalInfos($name); //已安装判断升级 $update = $infos && $infos[1]<$version; $version = stripos($version,'v')===0 ? substr($version,1) : $version; if ($update && $infos[0]==$author) : ?> ⇠ | $val) : $authors[$key] = trim($val); endforeach; ?> | ||
| options->adminUrl .'options-plugin.php?config=TeStore">',''); ?> | ||||