+//-----------------------------------------------------------------------------
+// Template call-back functions
+//-----------------------------------------------------------------------------
+
+// ----------------- Extensions -----------------
+
+// Generates (and returns) a table from all extensions
+function generateInstallerExtensionTable () {
+ // Generate extension list
+ $extensions = loadAllExtensionsByTemplate();
+
+ // "Walk" through all
+ $OUT = '';
+ foreach ($extensions as $extension) {
+ // Remove prefix + suffix
+ $ext_name = substr(basename($extension), 4, -4);
+
+ // Is the extension not in development and not admintheme* ?
+ if ((loadExtension($ext_name, 'test', '0.0.0', TRUE)) && (isExtensionProductive($ext_name)) && (substr($ext_name, 0, 10) != 'admintheme')) {
+ // Default is not disabled
+ $disabled = '';
+ if ($ext_name == 'sql_patches') {
+ // Always keep this enabled
+ $disabled = ' disabled="disabled"';
+ } // END - if
+
+ // Initialize content array
+ $content = array(
+ 'ext_name' => $ext_name,
+ 'ext_version' => getExtensionVersion($ext_name),
+ 'checked' => getExtensionSelectedFromSession($ext_name, 'extensions'),
+ 'disabled' => $disabled,
+ 'description' => loadTemplate('ext_' . $ext_name, TRUE),
+ );
+
+ // Load row template
+ $OUT .= loadTemplate('install_list_extensions_row', TRUE, $content);
+ } // END - if
+ } // END - foreach
+
+ // Load main template
+ return loadTemplate('install_list_extensions', TRUE, $OUT);
+}
+