/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/system/helpers/string_helper.php

  • Committer: galaxyAbstractor
  • Date: 2013-04-10 15:49:32 UTC
  • mto: (19.1.5 lenasys)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: galaxyabstractor@gmail.com-20130410154932-4vizlzk0ar5gykvi
* Added an simple admin panel to the codeviewer-cmssy stuff
* Redesigned a bit like the mockups - still stuff to come
* Implemented the codeviewer + admin panel again using the Framework CodeIgniter instead 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 */
 
 
b'\\ No newline at end of file'