summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/functions.php4
-rw-r--r--mod.php15
2 files changed, 15 insertions, 4 deletions
diff --git a/inc/functions.php b/inc/functions.php
index 275c27d5..be3747d4 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -155,7 +155,7 @@
global $config, $_theme;
$_theme = $theme;
- $theme = loadThemeConfig($_theme, $action);
+ $theme = loadThemeConfig($_theme);
if(file_exists($config['dir']['themes'] . '/' . $_theme . '/theme.php')) {
require_once $config['dir']['themes'] . '/' . $_theme . '/theme.php';
@@ -169,7 +169,7 @@
// List themes
$query = query("SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL") or error(db_error());
while($theme = $query->fetch()) {
- rebuildTheme($theme['theme']);
+ rebuildTheme($theme['theme'], $action);
}
}
diff --git a/mod.php b/mod.php
index a2ebff26..4159ed84 100644
--- a/mod.php
+++ b/mod.php
@@ -360,13 +360,21 @@
$query->bindValue(':theme', $_theme);
$query->execute() or error(db_error($query));
+ $body = '';
+ if(isset($theme['install_callback'])) {
+ $ret = $theme['install_callback']($theme['config']);
+ if($ret && !empty($ret))
+ $body .= '<div style="border:1px dashed maroon;padding:20px;margin:auto;max-width:800px">' . $ret . '</div>';
+ }
+ $body .= '<p style="text-align:center">Successfully installed and built theme.</p>';
+
// Build themes
rebuildThemes('all');
echo Element('page.html', Array(
'config'=>$config,
'title'=>'Installed "' . htmlentities($theme['name']) . '"',
- 'body'=>'<p style="text-align:center">Successfully installed and built theme.</p>',
+ 'body'=>$body,
'mod'=>true
)
);
@@ -382,7 +390,10 @@
switch($c['type']) {
case 'text':
default:
- $body .= '<input type="text" name="' . $c['name'] . '" />';
+ $body .= '<input type="text" name="' . htmlentities($c['name']) . '" ' .
+ (isset($c['default']) ? 'value="' . htmlentities($c['default']) . '" ' :'') .
+ (isset($c['size']) ? 'size="' . (int)$c['size'] . '" ' :'') .
+ '/>';
}
if(isset($c['comment']))
$body .= ' <span class="unimportant">' . $c['comment'] . '</span>';