diff --git a/upload/source/admincp/admincp_plugins.php b/upload/source/admincp/admincp_plugins.php index a776f86fc8fc5991e7d1fc077747074544e16cbf..286e217293a2f3f7675a9aad0d1e0f9e5e6a7774 100644 --- a/upload/source/admincp/admincp_plugins.php +++ b/upload/source/admincp/admincp_plugins.php @@ -1373,7 +1373,14 @@ if(!$operation) { $importtxt = @implode('', file($importfile)); $pluginarray = getimportdata('Discuz! Plugin'); } - + if(!empty($pluginarray['checkfile']) && preg_match('/^[\w\.]+$/', $pluginarray['checkfile'])) { + $filename = DISCUZ_ROOT.'./source/plugin/'.$plugin['identifier'].'/'.$pluginarray['checkfile']; + if(file_exists($filename)) { + loadcache('pluginlanguage_install'); + $installlang = $_G['cache']['pluginlanguage_install'][$plugin['identifier']]; + @include $filename; + } + } $identifier = $plugin['identifier']; C::t('common_plugin')->delete($pluginid); C::t('common_pluginvar')->delete_by_pluginid($pluginid);