-$THEME_MODE = "test";
-
-// Generate output lines for the template
-$OUT = ""; $SW = 2;
-$result = SQL_QUERY("SELECT id, theme_path, theme_active, theme_ver, theme_name FROM `{!_MYSQL_PREFIX!}_themes` ORDER BY theme_path", __FILE__, __LINE__);
-if (SQL_NUMROWS($result) > 0) {
- while (list($id, $unix, $active, $ver, $name) = SQL_FETCHROW($result)) {
- // Construct IFN
- $INC = sprintf("theme/%s/theme.php",
- $unix
- );
-
- // Load theme in test mode
- LOAD_INC($INC);
-
- // Is the loaded theme name != current theme name?
- $LINK = $unix;
- if ($unix != GET_CURR_THEME()) $LINK = "<a href=\"{!URL!}/modules.php?module=admin&what=theme_edit&default_theme=".$unix."\" title=\"{--ADMIN_SET_AS_NEW_THEME--}\">".$unix."</a>";
-
- // Prepare data for the row template
- $content = array(
- 'sw' => $SW,
- 'id' => $id,
- 'active' => $active,
- 'link' => $LINK,
- 'name' => $name,
- 'is_act' => TRANSLATE_YESNO($active),
- 'email' => "<a href=\"mailto:".$THEME_EMAIL."?Subject=[Theme:] ".$THEME_NAME." (".$unix.")"."\">".$THEME_AUTHOR."</a>",
- 'url_link' => DEREFERER($THEME_URL),
- 'url_title' => $THEME_URL,
- 'ver' => $ver,
- );
-
- // Load row template and switch color
- $OUT .= LOAD_TEMPLATE("admin_theme_edit_row", true, $content);
- $SW = 3 - $SW;
- }
+$GLOBALS['theme_mode'] = 'test';
+
+$result = sqlQuery("SELECT
+ `id`,
+ `theme_path`,
+ `theme_active`,
+ `theme_ver` AS `theme_version`,
+ `theme_name`
+FROM
+ `{?_MYSQL_PREFIX?}_themes`
+ORDER BY
+ `theme_path` ASC", __FILE__, __LINE__);
+
+if (!ifSqlHasZeroNumRows($result)) {
+ while ($content = sqlFetchArray($result)) {
+ // 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