Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2005 Aurelien 1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 4.3.2 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
10
 * @license		http://codeigniter.com/user_guide/license.html
11
 * @link		http://codeigniter.com
12
 * @since		Version 1.0
13
 * @filesource
14
 */
15
16
// ------------------------------------------------------------------------
17
18
/**
19
 * CodeIgniter Inflector Helpers
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Helpers
23
 * @category	Helpers
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/helpers/directory_helper.html
26
 */
27
28
29
// --------------------------------------------------------------------
30
31
/**
32
 * Singular
33
 *
34
 * Takes a plural word and makes it singular
35
 *
36
 * @access	public
37
 * @param	string
38
 * @return	str
39
 */
40
if ( ! function_exists('singular'))
41
{
42
	function singular($str)
43
	{
44
		$str = strtolower(trim($str));
45
		$end = substr($str, -3);
46
47
		if ($end == 'ies')
48
		{
49
			$str = substr($str, 0, strlen($str)-3).'y';
50
		}
51
		elseif ($end == 'ses')
52
		{
53
			$str = substr($str, 0, strlen($str)-2);
54
		}
55
		else
56
		{
57
			$end = substr($str, -1);
58
59
			if ($end == 's')
60
			{
61
				$str = substr($str, 0, strlen($str)-1);
62
			}
63
		}
64
65
		return $str;
66
	}
67
}
68
69
// --------------------------------------------------------------------
70
71
/**
72
 * Plural
73
 *
74
 * Takes a singular word and makes it plural
75
 *
76
 * @access	public
77
 * @param	string
78
 * @param	bool
79
 * @return	str
80
 */
81
if ( ! function_exists('plural'))
82
{
83
	function plural($str, $force = FALSE)
84
	{
85
		$str = strtolower(trim($str));
86
		$end = substr($str, -1);
87
88
		if ($end == 'y')
89
		{
90
			$str = substr($str, 0, strlen($str)-1).'ies';
91
		}
92
		elseif ($end == 's')
93
		{
94
			if ($force == TRUE)
95
			{
96
				$str .= 'es';
97
			}
98
		}
99
		else
100
		{
101
			$str .= 's';
102
		}
103
104
		return $str;
105
	}
106
}
107
108
// --------------------------------------------------------------------
109
110
/**
111
 * Camelize
112
 *
113
 * Takes multiple words separated by spaces or underscores and camelizes them
114
 *
115
 * @access	public
116
 * @param	string
117
 * @return	str
118
 */
119
if ( ! function_exists('camelize'))
120
{
121
	function camelize($str)
122
	{
123
		$str = 'x'.strtolower(trim($str));
124
		$str = ucwords(preg_replace('/[\s_]+/', ' ', $str));
125
		return substr(str_replace(' ', '', $str), 1);
126
	}
127
}
128
129
// --------------------------------------------------------------------
130
131
/**
132
 * Underscore
133
 *
134
 * Takes multiple words separated by spaces and underscores them
135
 *
136
 * @access	public
137
 * @param	string
138
 * @return	str
139
 */
140
if ( ! function_exists('underscore'))
141
{
142
	function underscore($str)
143
	{
144
		return preg_replace('/[\s]+/', '_', strtolower(trim($str)));
145
	}
146
}
147
148
// --------------------------------------------------------------------
149
150
/**
151
 * Humanize
152
 *
153
 * Takes multiple words separated by underscores and changes them to spaces
154
 *
155
 * @access	public
156
 * @param	string
157
 * @return	str
158
 */
159
if ( ! function_exists('humanize'))
160
{
161
	function humanize($str)
162
	{
163
		return ucwords(preg_replace('/[_]+/', ' ', strtolower(trim($str))));
164
	}
165
}
166
167
168
/* End of file inflector_helper.php */
169
/* Location: ./system/helpers/inflector_helper.php */