Huge rewrite of default parameters, ext-network continued:
[mailer.git] / inc / modules / admin / what-theme_check.php
index b3368dd7796a757a90c988f463e71e1b32db2293..082e8fdc1835ae8d0f04cf87fee594764453c71a 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Erweiterungen-Management                         *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
-}
-// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
+} // END - if
 
-global $cacheInstance, $cacheArray, $cacheMode;
+// Add description as navigation point
+addMenuDescription('admin', __FILE__);
 
 // Normally we want the overview of all registered theme_check
-$mode = "overview";
-$SEL = 0;
+$mode = 'overview';
+$SEL = '0';
 
 // Get response from our server
-$response = GET_URL("check-themes.php");
+$response = sendGetRequest('check-themes.php');
 
 // Are theme_check found?
-if (($response[sizeof($response) - 1] == "[EOF]") && ($response[0] != "[EOF]"))
-{
+if (($response[count($response) - 1] == "[EOF]") && ($response[0] != "[EOF]")) {
        // Ok, mark found and create the array
-       $THEMES = array(
+       $themes = array(
                'fname'  => array(), // File names
                'fsize'  => array(), // File size
                'fctime' => array(), // File creation timestamp
@@ -63,97 +64,96 @@ if (($response[sizeof($response) - 1] == "[EOF]") && ($response[0] != "[EOF]"))
        );
 
        // Get count of theme_check for validation
-       $count = trim($response[sizeof($response) - 2]);
-       foreach ($response as $idx => $value)
-       {
-               $value = str_replace("\n", "", $value); $ver = "";
+       $count = trim($response[count($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"))
-               {
+               if ((substr($value, 0, 6) == "theme-") && (substr($value, -4) == ".zip")) {
+                       // Extract name and version
                        $name = substr($value, 6, -4);
-                       $file = sprintf("%sthemes/%s/theme.php", PATH, $name);
-                       $ver = trim(substr($response[$idx + 3], 4));
+                       $ver  = trim(substr($response[$idx + 3], 4));
 
                        // Load version
-                       $result = SQL_QUERY_ESC("SELECT theme_ver FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' LIMIT 1",
-                        array($name), __FILE__, __LINE__);
-                       list($cver) = SQL_FETCHROW($result);
-                       if (empty($cver)) $cver = "-.-";
+                       $cver = getThemeVersion($name);
 
-                       // Is the extension already installed or not?
-                       if (((SQL_NUMROWS($result) == 0) && (!FILE_READABLE($file))) || ($ver != $cver)) {
+                       // Is the theme already installed or not?
+                       if (($ver != $cver) && ($cver != '?') && ($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;
+                               $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;
+                               // Extract language strings from reponse
+                               $langDummy = explode('[nl]', $response[$idx + 4]);
+                               $languages = array();
+                               $themeInfo = getMessage('ADMIN_EXT_NO_INFO_FOUND');
 
                                // Trim every data line
-                               foreach ($LANG_DUMMY as $k => $v) {
+                               foreach ($langDummy as $k => $v) {
                                        $v = trim($v);
-                                       if (substr($v, 3) == "") $v = "---";
-                                       $LANG_DUMMY[$k] = $v;
-                                       if ($v == "xx:xx") break;
-                                       $LANG[] = $v;
+                                       if (substr($v, 3) == '') $v = '---';
+                                       $langDummy[$k] = $v;
+                                       if ($v == 'xx:xx') break;
+                                       $languages[] = $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; }
+                               foreach($languages as $search) {
+                                       if (substr($search, 0, 3) == (getLanguage().':')) { $themeInfo = substr($search, 3); break; }
                                } // END - foreach
 
                                // Add informations to array
-                               $THEMES['infos'][] = $INFO;
+                               $themes['infos'][] = $themeInfo;
                        } // END - if
                } // END - if
        } // END - foreach
 
        // Ok, themes are on our server but maybe you have already installed them?
-       if (sizeof($THEMES['fname']) > 0) {
+       if (count($themes['fname']) > 0) {
                // Sort array (I missed ver and cver here)
-               array_pk_sort($THEMES, array("cver", "fname"), 0, 1);
+               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 .= "<TR>
-  <TD align=\"center\" class=\"switch_sw".$SW." bottom2 right2\">".($idx + 1).".</TD>
-  <TD align=\"center\" class=\"switch_sw".$SW." bottom2 right2\"><A href=\"".$LINK."\">".$name."</A></TD>
-  <TD align=\"center\" class=\"switch_sw".$SW." bottom2 right2\">".MAKE_DATETIME($THEMES['fctime'][$idx], "2")."</TD>
-  <TD align=\"center\" class=\"switch_sw".$SW." bottom2 right2\">".TRANSLATE_COMMA(round($THEMES['fsize'][$idx] / 1.024) / 1000)." ".KBYTES."</TD>
-  <TD align=\"center\" class=\"switch_sw".$SW." bottom2\">".$THEMES['ver'][$idx]." (".$THEMES['cver'][$idx].")</TD>
-</TR>
-<TR>
-  <TD class=\"switch_sw".$SW." bottom2\">&nbsp;</TD>
-  <TD colspan=\"4\" class=\"switch_sw".$SW." bottom2\">
-    <FONT class=\"tiny\">".$THEMES['infos'][$idx]."</FONT>
-  </TD>
-</TR>\n";
-                       $TSIZE += $THEMES['fsize'][$idx];
+               $OUT = ''; $SW = 2; $totalSize = '0';
+               foreach ($themes['fname'] as $idx => $name) {
+                       // Prepare data
+                       $content = array(
+                               'sw'      => $SW,
+                               'index'   => ($idx + 1),
+                               'name'    => $name,
+                               'created' => generateDateTime($themes['fctime'][$idx], 2),
+                               'size'    => translateComma(round($themes['fsize'][$idx] / 1.024) / 1000),
+                               'version' => $themes['ver'][$idx],
+                               'current' => $themes['cver'][$idx],
+                               'infos'   => $themes['infos'][$idx],
+                       );
+
+                       // Load row template
+                       $OUT .= loadTemplate('admin_list_theme_row', true, $content);
+
+                       // Add total size
+                       $totalSize += $themes['fsize'][$idx];
+
+                       // Switch color
                        $SW = 3 - $SW;
                }
-               define('__THEMES_ROWS', $OUT);
-               define('__TKBYTES_VALUE', TRANSLATE_COMMA(round($TSIZE / 1.024) / 1000));
-               define('__TTHEME_VALUE', sizeof($THEMES['fname']));
+               $content['rows']   = $OUT;
+               $content['total']  = count($themes['fname']);
+               $content['kbytes'] = translateComma(round($totalSize / 1.024) / 1000);
 
                // Load template
-               LOAD_TEMPLATE("admin_theme_list");
+               loadTemplate('admin_list_theme', false, $content);
        } else {
                // All Themes are downloaded and installed
-               LOAD_TEMPLATE("admin_theme_installed", false, $count);
+               loadTemplate('admin_theme_installed', false, $count);
        }
 } else {
        // No theme where found
-       LOAD_TEMPLATE("admin_theme_404");
+       loadTemplate('admin_settings_saved', false, getMessage('ADMIN_THEME_NOTHING_FOUND'));
 }
 
-//
+// [EOF]
 ?>