Improve the graphics toolkit detection code so that properly

identifies situations where its restricted by open_basedir.

We now track more informatoin about the toolkit including the version
and any errors we encountered while doing the detection so that we can
provide more info downstream.  This makes graphics::detect_toolkits()
a little heavier, but that's ok because it should not be called very
often.

In the process, refactor the controller and view hierarchy so that
it's a little more straightforward in the code.

Fixes ticket #616.
This commit is contained in:
Bharat Mediratta
2009-08-08 20:31:16 -07:00
parent e4fb6959af
commit c9f5000e65
7 changed files with 127 additions and 57 deletions

View File

@@ -9,8 +9,8 @@
};
$("#gAdminGraphics div.gAvailable .gBlock").click(select_toolkit);
});
</script>
<div id="gAdminGraphics">
<h1> <?= t("Graphics Settings") ?> </h1>
<p>
@@ -18,11 +18,19 @@
</p>
<h2> <?= t("Active Toolkit") ?> </h2>
<?= $active ?>
<? if ($active == "none"): ?>
<?= new View("admin_graphics_none.html") ?>
<? else: ?>
<?= new View("admin_graphics_$active.html", array("tk" => $tk->$active, "is_active" => true)) ?>
<? endif ?>
<div class="gAvailable">
<h2> <?= t("Available Toolkits") ?> </h2>
<?= $available ?>
<? foreach (array_keys((array)$tk) as $id): ?>
<? if ($id != $active): ?>
<?= new View("admin_graphics_$id.html", array("tk" => $tk->$id, "is_active" => false)) ?>
<? endif ?>
<? endforeach ?>
</div>
</div>