if (!ifSqlHasZeroNums($result)) {
while ($content = sqlFetchArray($result)) {
- // Construct IFN
- $inc = sprintf("theme/%s/theme.php", $content['theme_path']);
-
- // Load theme in test mode
- loadInclude($inc);
-
- // Copy data from theme to content
- $content['theme_url'] = $GLOBALS['theme_data']['url'];
-
- // Is the loaded theme name != current theme name?
- $content['link'] = $content['theme_path'];
- if ($content['theme_path'] != getCurrentTheme()) {
- $content['link'] = '<a href="{%url=modules.php?module=admin&what=theme_edit&default_theme=' . $content['theme_path'] . '%}" title="{--ADMIN_SET_AS_DEFAULT_THEME--}">' . $content['theme_path'] . '</a>';
- } // END - if
-
- // Prepare data for the row template
- $content['email'] = '<a href="mailto:' . $GLOBALS['theme_data']['email'] . '?Subject=[Theme:] ' . $GLOBALS['theme_data']['name'] . ' (' . $content['theme_path'] . ')\>' . $GLOBALS['theme_data']['author'] . '</a>';
-
- // Load row template and switch color
- $OUT .= loadTemplate('admin_edit_theme_row', TRUE, $content);
+ // Is the theme readable?
+ if (isThemeReadable($content['theme_path'])) {
+ // Load theme in test mode
+ loadInclude(sprintf('theme/%s/theme.php', $content['theme_path']));
+
+ // Copy data from theme to content
+ $content['theme_url'] = $GLOBALS['theme_data']['url'];
+
+ // Is the loaded theme name != current theme name?
+ $content['link'] = $content['theme_path'];
+ if ($content['theme_path'] != getCurrentTheme()) {
+ $content['link'] = '<a href="{%url=modules.php?module=admin&what=theme_edit&default_theme=' . $content['theme_path'] . '%}" title="{--ADMIN_SET_AS_DEFAULT_THEME--}">' . $content['theme_path'] . '</a>';
+ } // END - if
+
+ // Prepare data for the row template
+ $content['email'] = '<a href="mailto:' . $GLOBALS['theme_data']['email'] . '?Subject=[Theme:] ' . $GLOBALS['theme_data']['name'] . ' (' . $content['theme_path'] . ')\>' . $GLOBALS['theme_data']['author'] . '</a>';
+
+ // Load row template and switch color
+ $OUT .= loadTemplate('admin_edit_theme_row', TRUE, $content);
+ } else {
+ // Not readable
+ $OUT .= loadTemplate('admin_edit_theme_row_404', TRUE, $content);
+ }
} // END - while
// Free memory