/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk
20.1.1 by galaxyAbstractor
* Added an simple admin panel to the codeviewer-cmssy stuff
1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 5.1.6 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008 - 2011, 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 String Helpers
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Helpers
23
 * @category	Helpers
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/helpers/string_helper.html
26
 */
27
28
// ------------------------------------------------------------------------
29
30
/**
31
 * Trim Slashes
32
 *
33
 * Removes any leading/trailing slashes from a string:
34
 *
35
 * /this/that/theother/
36
 *
37
 * becomes:
38
 *
39
 * this/that/theother
40
 *
41
 * @access	public
42
 * @param	string
43
 * @return	string
44
 */
45
if ( ! function_exists('trim_slashes'))
46
{
47
	function trim_slashes($str)
48
	{
49
		return trim($str, '/');
50
	}
51
}
52
53
// ------------------------------------------------------------------------
54
55
/**
56
 * Strip Slashes
57
 *
58
 * Removes slashes contained in a string or in an array
59
 *
60
 * @access	public
61
 * @param	mixed	string or array
62
 * @return	mixed	string or array
63
 */
64
if ( ! function_exists('strip_slashes'))
65
{
66
	function strip_slashes($str)
67
	{
68
		if (is_array($str))
69
		{
70
			foreach ($str as $key => $val)
71
			{
72
				$str[$key] = strip_slashes($val);
73
			}
74
		}
75
		else
76
		{
77
			$str = stripslashes($str);
78
		}
79
80
		return $str;
81
	}
82
}
83
84
// ------------------------------------------------------------------------
85
86
/**
87
 * Strip Quotes
88
 *
89
 * Removes single and double quotes from a string
90
 *
91
 * @access	public
92
 * @param	string
93
 * @return	string
94
 */
95
if ( ! function_exists('strip_quotes'))
96
{
97
	function strip_quotes($str)
98
	{
99
		return str_replace(array('"', "'"), '', $str);
100
	}
101
}
102
103
// ------------------------------------------------------------------------
104
105
/**
106
 * Quotes to Entities
107
 *
108
 * Converts single and double quotes to entities
109
 *
110
 * @access	public
111
 * @param	string
112
 * @return	string
113
 */
114
if ( ! function_exists('quotes_to_entities'))
115
{
116
	function quotes_to_entities($str)
117
	{
118
		return str_replace(array("\'","\"","'",'"'), array("&#39;","&quot;","&#39;","&quot;"), $str);
119
	}
120
}
121
122
// ------------------------------------------------------------------------
123
124
/**
125
 * Reduce Double Slashes
126
 *
127
 * Converts double slashes in a string to a single slash,
128
 * except those found in http://
129
 *
130
 * http://www.some-site.com//index.php
131
 *
132
 * becomes:
133
 *
134
 * http://www.some-site.com/index.php
135
 *
136
 * @access	public
137
 * @param	string
138
 * @return	string
139
 */
140
if ( ! function_exists('reduce_double_slashes'))
141
{
142
	function reduce_double_slashes($str)
143
	{
144
		return preg_replace("#(^|[^:])//+#", "\\1/", $str);
145
	}
146
}
147
148
// ------------------------------------------------------------------------
149
150
/**
151
 * Reduce Multiples
152
 *
153
 * Reduces multiple instances of a particular character.  Example:
154
 *
155
 * Fred, Bill,, Joe, Jimmy
156
 *
157
 * becomes:
158
 *
159
 * Fred, Bill, Joe, Jimmy
160
 *
161
 * @access	public
162
 * @param	string
163
 * @param	string	the character you wish to reduce
164
 * @param	bool	TRUE/FALSE - whether to trim the character from the beginning/end
165
 * @return	string
166
 */
167
if ( ! function_exists('reduce_multiples'))
168
{
169
	function reduce_multiples($str, $character = ',', $trim = FALSE)
170
	{
171
		$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);
172
173
		if ($trim === TRUE)
174
		{
175
			$str = trim($str, $character);
176
		}
177
178
		return $str;
179
	}
180
}
181
182
// ------------------------------------------------------------------------
183
184
/**
185
 * Create a Random String
186
 *
187
 * Useful for generating passwords or hashes.
188
 *
189
 * @access	public
190
 * @param	string	type of random string.  basic, alpha, alunum, numeric, nozero, unique, md5, encrypt and sha1
191
 * @param	integer	number of characters
192
 * @return	string
193
 */
194
if ( ! function_exists('random_string'))
195
{
196
	function random_string($type = 'alnum', $len = 8)
197
	{
198
		switch($type)
199
		{
200
			case 'basic'	: return mt_rand();
201
				break;
202
			case 'alnum'	:
203
			case 'numeric'	:
204
			case 'nozero'	:
205
			case 'alpha'	:
206
207
					switch ($type)
208
					{
209
						case 'alpha'	:	$pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
210
							break;
211
						case 'alnum'	:	$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
212
							break;
213
						case 'numeric'	:	$pool = '0123456789';
214
							break;
215
						case 'nozero'	:	$pool = '123456789';
216
							break;
217
					}
218
219
					$str = '';
220
					for ($i=0; $i < $len; $i++)
221
					{
222
						$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
223
					}
224
					return $str;
225
				break;
226
			case 'unique'	:
227
			case 'md5'		:
228
229
						return md5(uniqid(mt_rand()));
230
				break;
231
			case 'encrypt'	:
232
			case 'sha1'	:
233
234
						$CI =& get_instance();
235
						$CI->load->helper('security');
236
237
						return do_hash(uniqid(mt_rand(), TRUE), 'sha1');
238
				break;
239
		}
240
	}
241
}
242
243
// ------------------------------------------------------------------------
244
245
/**
246
 * Add's _1 to a string or increment the ending number to allow _2, _3, etc
247
 *
248
 * @param   string  $str  required
249
 * @param   string  $separator  What should the duplicate number be appended with
250
 * @param   string  $first  Which number should be used for the first dupe increment
251
 * @return  string
252
 */
253
function increment_string($str, $separator = '_', $first = 1)
254
{
255
	preg_match('/(.+)'.$separator.'([0-9]+)$/', $str, $match);
256
257
	return isset($match[2]) ? $match[1].$separator.($match[2] + 1) : $str.$separator.$first;
258
}
259
260
// ------------------------------------------------------------------------
261
262
/**
263
 * Alternator
264
 *
265
 * Allows strings to be alternated.  See docs...
266
 *
267
 * @access	public
268
 * @param	string (as many parameters as needed)
269
 * @return	string
270
 */
271
if ( ! function_exists('alternator'))
272
{
273
	function alternator()
274
	{
275
		static $i;
276
277
		if (func_num_args() == 0)
278
		{
279
			$i = 0;
280
			return '';
281
		}
282
		$args = func_get_args();
283
		return $args[($i++ % count($args))];
284
	}
285
}
286
287
// ------------------------------------------------------------------------
288
289
/**
290
 * Repeater function
291
 *
292
 * @access	public
293
 * @param	string
294
 * @param	integer	number of repeats
295
 * @return	string
296
 */
297
if ( ! function_exists('repeater'))
298
{
299
	function repeater($data, $num = 1)
300
	{
301
		return (($num > 0) ? str_repeat($data, $num) : '');
302
	}
303
}
304
305
306
/* End of file string_helper.php */
307
/* Location: ./system/helpers/string_helper.php */