summaryrefslogtreecommitdiff
path: root/core/helpers
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-04-05 20:43:05 +0000
committerBharat Mediratta <bharat@menalto.com>2009-04-05 20:43:05 +0000
commitc936eebcf7c57cfca8c3ff2e7b97441351118640 (patch)
treed93f61cbcf2c4da4981dd0bc139c0bb18c762ffa /core/helpers
parenta2dd24d7cadfd8bcc1a89ea23d64bbe7713d038c (diff)
Don't do graphics detection in core_installer::install() because that
gets run at scaffolding::package() time, not on the target machine. Instead, create a core module variable to trigger running graphics::choose_default_toolkit() on the first admin login after install. Fixes ticket #206.
Diffstat (limited to 'core/helpers')
-rw-r--r--core/helpers/core_installer.php19
-rw-r--r--core/helpers/graphics.php23
2 files changed, 24 insertions, 18 deletions
diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php
index 7bdcd376..8775cafe 100644
--- a/core/helpers/core_installer.php
+++ b/core/helpers/core_installer.php
@@ -224,24 +224,6 @@ class core_installer {
array("width" => 640, "height" => 480, "master" => Image::AUTO),
100);
- // Detect a graphics toolkit
- $toolkits = graphics::detect_toolkits();
- foreach (array("imagemagick", "graphicsmagick", "gd") as $tk) {
- if ($toolkits[$tk]) {
- module::set_var("core", "graphics_toolkit", $tk);
- if ($tk != "gd") {
- module::set_var("core", "graphics_toolkit_path", $toolkits[$tk]);
- }
- break;
- }
- }
- if (!module::get_var("core", "graphics_toolkit")) {
- site_status::warning(
- t("Graphics toolkit missing! Please <a href=\"%url\">choose a toolkit</a>",
- array("url" => url::site("admin/graphics"))),
- "missing_graphics_toolkit");
- }
-
// Instantiate default themes (site and admin)
foreach (array("default", "admin_default") as $theme_name) {
$theme_info = new ArrayObject(parse_ini_file(THEMEPATH . $theme_name . "/theme.info"),
@@ -262,6 +244,7 @@ class core_installer {
module::set_version("core", 1);
module::set_var("core", "version", "3.0 pre-beta svn");
+ module::set_var("core", "choose_default_tookit", 1);
}
}
diff --git a/core/helpers/graphics.php b/core/helpers/graphics.php
index 290d2677..1caebc44 100644
--- a/core/helpers/graphics.php
+++ b/core/helpers/graphics.php
@@ -275,6 +275,29 @@ class graphics_Core {
}
/**
+ * This needs to be run once, after the initial install, to choose a graphics toolkit.
+ */
+ static function choose_default_toolkit() {
+ // Detect a graphics toolkit
+ $toolkits = graphics::detect_toolkits();
+ foreach (array("imagemagick", "graphicsmagick", "gd") as $tk) {
+ if ($toolkits[$tk]) {
+ module::set_var("core", "graphics_toolkit", $tk);
+ if ($tk != "gd") {
+ module::set_var("core", "graphics_toolkit_path", $toolkits[$tk]);
+ }
+ break;
+ }
+ }
+ if (!module::get_var("core", "graphics_toolkit")) {
+ site_status::warning(
+ t("Graphics toolkit missing! Please <a href=\"%url\">choose a toolkit</a>",
+ array("url" => url::site("admin/graphics"))),
+ "missing_graphics_toolkit");
+ }
+ }
+
+ /**
* Choose which driver the Kohana Image library uses.
*/
static function init_toolkit() {