From: Michael M Slusarz Date: Tue, 25 May 2010 04:59:29 +0000 (-0600) Subject: H4 updates for icon browsing X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=a978a35c3e95e784253508fd4333d2fbb64830b6;p=horde.git H4 updates for icon browsing --- diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php b/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php index c0634bbfe..06f843456 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php @@ -122,9 +122,10 @@ class Horde_SessionHandler_Builtin extends Horde_SessionHandler_Driver return $sessions; } - foreach ($di as $key => $val) { + foreach ($di as $val) { /* Make sure we're dealing with files that start with sess_. */ - if ($val->isFile() && (strpos($key, 'sess_') === 0)) { + if ($val->isFile() && + (strpos($val->getFilename(), 'sess_') === 0)) { $sessions[] = substr($entry, strlen('sess_')); } } diff --git a/horde/util/icon_browser.php b/horde/util/icon_browser.php index a61425861..e8ca6dfd2 100644 --- a/horde/util/icon_browser.php +++ b/horde/util/icon_browser.php @@ -1,5 +1,7 @@ 'none')); $apps = $registry->listApps(array('notoolbar', 'active', 'admin', 'inactive', 'hidden'), true); ksort($apps); -if (($app = basename(Horde_Util::getFormData('app'))) && isset($apps[$app])) { +$url = new Horde_Url('icon_browser.php'); +$vars = Horde_Variables::getDefaultVariables(); + +if (($app = basename($vars->app)) && isset($apps[$app])) { // Provide a non-white background for eyeballing transparency. echo ''; @@ -29,7 +34,7 @@ if (($app = basename(Horde_Util::getFormData('app'))) && isset($apps[$app])) { exit(sprintf(_("Base graphics directory \"%s\" not found."), $dir)); } - if (($subdir = basename(Horde_Util::getFormData('subdir')))) { + if (($subdir = basename($vars->subdir))) { $dir .= DIRECTORY_SEPARATOR . $subdir; if (!is_dir($dir)) { exit(sprintf(_("Subdirectory \"%s\" not found."), $dir)); @@ -37,33 +42,42 @@ if (($app = basename(Horde_Util::getFormData('app'))) && isset($apps[$app])) { } // Breadcrumbs. - echo Horde::link('icon_browser.php') . _("Application List") . '
'; + echo Horde::link($url) . _("Application List") . '
'; if (!empty($subdir)) { - echo Horde::link('icon_browser.php?app=' . $app) . $registry->get('name', $app) . '
'; + echo Horde::link($url->copy()->add('app', $app)) . $registry->get('name', $app) . '
'; } + echo '
'; // Show icons for app. echo '

' . sprintf(_("Icons for %s"), $registry->get('name', $app)) . (!empty($subdir) ? '/' . $subdir : '') . '

'; - // List subdirectories. - $subdirs = glob($dir . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR); - if ($subdirs && count($subdirs)) { - foreach ($subdirs as $subdir) { - if (basename($subdir) == 'CVS') { - continue; + $dirs = $imgs = array(); + try { + $di = new DirectoryIterator($dir); + foreach ($di as $val) { + if ($val->isDir() && !$val->isDot()) { + $dirs[] = Horde::link($url->copy()->add(array( + 'subdir' => basename($val->getFilename()), + 'app' => $app + ))) . basename($val->getFilename()) . ''; + } elseif ($val->isFile() && + (substr($val->getFilename(), -4) == '.png')) { + $imgs[] = $val->getPathname(); } - echo Horde::link(Horde_Util::addParameter('icon_browser.php', array('subdir' => basename($subdir), - 'app' => $app))) . basename($subdir) . '
'; } - echo '
'; + } catch (UnexpectedValueException $e) {} + + foreach ($dirs as $val) { + echo $val . '
'; } - $images = glob($dir . DIRECTORY_SEPARATOR . '*.png'); - if ($images && count($images)) { - foreach ($images as $png) { - echo Horde::img(Horde_Themes::img(str_replace($basedir . DIRECTORY_SEPARATOR, '', $png) $app), $png, array('hspace' => 10, 'vspace' => 10)); + echo '
'; + + if (count($imgs)) { + foreach ($imgs as $png) { + echo Horde::img(Horde_Themes::img(str_replace($basedir . DIRECTORY_SEPARATOR, '', $png), $app), $png, array('hspace' => 10, 'vspace' => 10)); } } else { echo _("No icons found."); @@ -73,6 +87,6 @@ if (($app = basename(Horde_Util::getFormData('app'))) && isset($apps[$app])) { } else { // List apps. foreach ($apps as $app) { - echo Horde::link(Horde_Util::addParameter('icon_browser.php', 'app', $app)) . $registry->get('name', $app) . '
'; + echo Horde::link($url->add('app', $app)) . $registry->get('name', $app) . '
'; } }