Author: ilsilent
Date: 2010-05-11 18:50:01 +0200 (Tue, 11 May 2010)
New Revision: 29412
Modified:
plugins/sfOrmBreadcrumbsPlugin/README
plugins/sfOrmBreadcrumbsPlugin/config/breadcrumbs.yml.sample
plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbs.class.php
plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsDoctrine.class.php
plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsPropel.class.php
Log:
case and global _default_case options added for breadcrumb name manipulation.
Modified: plugins/sfOrmBreadcrumbsPlugin/README
===================================================================
--- plugins/sfOrmBreadcrumbsPlugin/README 2010-05-11 08:39:00 UTC (rev
29411)
+++ plugins/sfOrmBreadcrumbsPlugin/README 2010-05-11 16:50:01 UTC (rev
29412)
@@ -11,7 +11,7 @@
* Install the plugin
- symfony plugin:install sfOrmBreadcrumbsPlugin-1.0.4.tgz
+ symfony plugin:install sfOrmBreadcrumbsPlugin-1.0.5.tgz
* Activate the plugin in the `config/ProjectConfiguration.class.php`
@@ -183,3 +183,10 @@
sf_orm_breadcrumbs:
_lost: 'somewhere...'
+
+ * Default case manipulation for breadcrumb name. You can set a php function
name to manipulate the breadcrumbs name with.
+ You can choose among `ucfirst`, `lcfirst`, `strotolower`, `strtoupper`,
`ucwords`.
+ You can even override this default setting by providing `case` option for a
breadcrumb item, in the configuration file.
+
+ sf_orm_breadcrumbs:
+ _default_case: ucfirst
Modified: plugins/sfOrmBreadcrumbsPlugin/config/breadcrumbs.yml.sample
===================================================================
--- plugins/sfOrmBreadcrumbsPlugin/config/breadcrumbs.yml.sample
2010-05-11 08:39:00 UTC (rev 29411)
+++ plugins/sfOrmBreadcrumbsPlugin/config/breadcrumbs.yml.sample
2010-05-11 16:50:01 UTC (rev 29412)
@@ -4,6 +4,7 @@
# _root: { name: Homepage }
# _separator: '>'
# _lost: 'somewhere...'
+# _default_case: 'ucfirst'
#
# main:
# index: [{ name: Home, route: homepage }]
@@ -13,5 +14,5 @@
# - { name: Blog, route: blog }
# - { name: %title%, route: post_show, model: true }
# permalink:
-# - { name: 'Archive' }
+# - { name: 'Archive', case: ucwords }
# - { name: %Post%, route: post_show, model: true, subobject: Post }
\ No newline at end of file
Modified: plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbs.class.php
===================================================================
--- plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbs.class.php
2010-05-11 08:39:00 UTC (rev 29411)
+++ plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbs.class.php
2010-05-11 16:50:01 UTC (rev 29412)
@@ -80,5 +80,46 @@
}
}
+ protected function getCaseForItem($item)
+ {
+ $case = isset($item['case']) ? $item['case'] : null;
+
+ if($case == null)
+ {
+ $config = $this->getConfig();
+ $case = isset($config['_default_case']) ? $config['_default_case'] :
null;
+ }
+
+ return $case;
+ }
+
+ protected function switchCase($name, $case)
+ {
+ switch($case)
+ {
+ case 'ucfirst':
+ $name = ucfirst(mb_strtolower($name,'UTF-8'));
+ break;
+
+ case 'lcfirst':
+ $name = lcfirst(mb_strtolower($name,'UTF-8'));
+ break;
+
+ case 'strtolower':
+ $name = mb_strtolower($name,'UTF-8');
+ break;
+
+ case 'strtoupper':
+ $name = mb_strtoupper($name,'UTF-8');
+ break;
+
+ case 'ucwords':
+ $name = ucwords(mb_strtolower($name,'UTF-8'));
+ break;
+ }
+
+ return $name;
+ }
+
}
?>
\ No newline at end of file
Modified: plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsDoctrine.class.php
===================================================================
--- plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsDoctrine.class.php
2010-05-11 08:39:00 UTC (rev 29411)
+++ plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsDoctrine.class.php
2010-05-11 16:50:01 UTC (rev 29412)
@@ -35,6 +35,9 @@
$url = isset($item['route']) ? $routing->generate($item['route']) : null;
$breadcrumb = array('name' => $item['name'], 'url' => $url);
}
+
+ $case = $this->getCaseForItem($item);
+ $breadcrumb['name'] = $this->switchCase($breadcrumb['name'], $case);
return $breadcrumb;
}
Modified: plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsPropel.class.php
===================================================================
--- plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsPropel.class.php
2010-05-11 08:39:00 UTC (rev 29411)
+++ plugins/sfOrmBreadcrumbsPlugin/lib/sfOrmBreadcrumbsPropel.class.php
2010-05-11 16:50:01 UTC (rev 29412)
@@ -35,8 +35,11 @@
$url = isset($item['route']) ? $routing->generate($item['route']) : null;
$breadcrumb = array('name' => $item['name'], 'url' => $url);
}
+
+ $case = $this->getCaseForItem($item);
+ $breadcrumb['name'] = $this->switchCase($breadcrumb['name'], $case);
return $breadcrumb;
}
}
-?>
\ No newline at end of file
+?>
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.