diff --git a/main/inc/lib/dashboard.lib.php b/main/inc/lib/dashboard.lib.php
index 39edb460ab..aa6b3df089 100755
--- a/main/inc/lib/dashboard.lib.php
+++ b/main/inc/lib/dashboard.lib.php
@@ -48,27 +48,29 @@ class DashboardManager
// We display all the possible enabled or disabled plugins
foreach ($possibleplugins as $testplugin) {
- $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info";
+ $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info";
$plugin_info = array();
- if (file_exists($plugin_info_file)) {
+ if (file_exists($plugin_info_file) && is_readable($plugin_info_file)) {
$plugin_info = parse_info_file($plugin_info_file);
- }
-
- // change index to lower case
- $plugin_info = array_change_key_case($plugin_info);
-
- echo '
';
- self::display_dashboard_plugin_checkboxes($testplugin);
- for ($i = 0 ; $i < count($table_cols); $i++) {
- if (isset($plugin_info[strtolower($table_cols[$i])])) {
- echo '| ';
- echo $plugin_info[$table_cols[$i]];
- echo ' | ';
- } else {
- echo ' | ';
- }
- }
- echo '
';
+
+ // change index to lower case
+ $plugin_info = array_change_key_case($plugin_info);
+
+ echo '';
+ self::display_dashboard_plugin_checkboxes($testplugin);
+ for ($i = 0 ; $i < count($table_cols); $i++) {
+ if (isset($plugin_info[strtolower($table_cols[$i])])) {
+ echo '| ';
+ echo $plugin_info[$table_cols[$i]];
+ echo ' | ';
+ } else {
+ echo ' | ';
+ }
+ }
+ echo '
';
+ } else {
+ echo Display::tag('tr', Display::tag('td', get_lang('CheckFilePermissions').' '.Security::remove_XSS($plugin_info_file) , array('colspan'=>'3')));
+ }
}
// display all disabled block data