array(), // File names 'fsize' => array(), // File size 'fctime' => array(), // File creation timestamp 'infos' => array(), // File informations (maybe loaded!) 'ver' => array(), // Version number 'cver' => array(), // Current version number ); // Get count of theme_check for validation $count = trim($response[sizeof($response) - 2]); foreach ($response as $idx => $value) { $value = str_replace("\n", "", $value); $ver = ""; // Leave loop when data is invalid or EOF? if ((substr($value, 0, 6) == "theme-") && (substr($value, -4) == ".zip")) { $name = substr($value, 6, -4); $file = sprintf("%sthemes/%s/theme.php", PATH, $name); $ver = trim(substr($response[$idx + 3], 4)); // Load version $cver = THEME_GET_VERSION($name); // Is the extension already installed or not? if (((SQL_NUMROWS($result) == 0) && (!FILE_READABLE($file))) || ($ver != $cver)) { // No, it isn't. So let's add this one! $THEMES['fname'][] = $name; $THEMES['fsize'][] = $response[$idx + 1]; $THEMES['fctime'][] = $response[$idx + 2]; $THEMES['ver'][] = $ver; $THEMES['cver'][] = $cver; $LANG_DUMMY = explode("[nl]", $response[$idx + 4]); $LANG = array(); $INFO = ADMIN_EXT_NO_INFO_FOUND; // Trim every data line foreach ($LANG_DUMMY as $k => $v) { $v = trim($v); if (substr($v, 3) == "") $v = "---"; $LANG_DUMMY[$k] = $v; if ($v == "xx:xx") break; $LANG[] = $v; } // END - foreach // If language is found stop searching on matching line foreach($LANG as $search) { if (substr($search, 0, 3) == (GET_LANGUAGE().":")) { $INFO = substr($search, 3); break; } } // END - foreach // Add informations to array $THEMES['infos'][] = $INFO; } // END - if } // END - if } // END - foreach // Ok, themes are on our server but maybe you have already installed them? if (sizeof($THEMES['fname']) > 0) { // Sort array (I missed ver and cver here) array_pk_sort($THEMES, array("cver", "fname"), 0, 1); // Extensions where found which are not downloaded and installed $SW = 2; $OUT = ""; $TSIZE = 0; foreach ($THEMES['fname'] as $idx => $name) { // Generate download link $LINK = SERVER_URL."/themes/theme-".$name.".zip"; $OUT .= " ".($idx + 1).". ".$name." ".MAKE_DATETIME($THEMES['fctime'][$idx], "2")." ".TRANSLATE_COMMA(round($THEMES['fsize'][$idx] / 1.024) / 1000)." ".KBYTES." ".$THEMES['ver'][$idx]." (".$THEMES['cver'][$idx].")   ".$THEMES['infos'][$idx]." \n"; $TSIZE += $THEMES['fsize'][$idx]; $SW = 3 - $SW; } define('__THEMES_ROWS', $OUT); define('__TKBYTES_VALUE', TRANSLATE_COMMA(round($TSIZE / 1.024) / 1000)); define('__TTHEME_VALUE', sizeof($THEMES['fname'])); // Load template LOAD_TEMPLATE("admin_theme_list"); } else { // All Themes are downloaded and installed LOAD_TEMPLATE("admin_theme_installed", false, $count); } } else { // No theme where found LOAD_TEMPLATE("admin_theme_404"); } // ?>