2 /********************************************************************
6 Copyright 2008-2009 Radosław Pietruszewski
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 version 2 as published by the Free Software Foundation.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 ********************************************************************/
27 * void setH1(string $value)
29 * ustawia nagłówek (nazwę) danej podstrony.
31 * string $value - nazwa podstrony
34 function setH1($value)
36 define('WTRMLN_H1',$value);
38 return '<h1>' . $value . '</h1>';
42 * object arrayToObject(array $array)
44 * Zamienia tablicę na obiekt
46 * array $array - tablica do zamiany na obiekt
49 function arrayToObject(array $array)
51 foreach($array as $key => $var)
55 $object->$key = arrayToObject($var);
67 * array objectToArray(object $object)
69 * Zamienia obiekt na tablicę
71 * object $object - obiekt do zamiany na tablicę
74 function objectToArray($object)
76 foreach($object as $key => $var)
80 $array[$key] = objectToArray($var);
92 * string arrayToHTMLArguments(array $array)
93 * string objectToHTMLArguments(object $object)
95 * Zamiana tablicy lub obiektu na listę argumentów
98 * array('foo1' => 'bar1', 'foo2' => 'bar2')
100 * zostanie zamienione na:
102 * 'foo1="bar1" foo2="bar2"'
105 function arrayToHTMLArguments($array)
109 foreach($array as $key => $var)
111 $arguments .= ' ' . $key . '="' . $var . '"';
114 $arguments = substr($arguments, 1);
119 function objectToHTMLArguments($object)
121 return arrayToHTMLArguments($object);
124 /*********************************************/
126 /* zwraca element tablicy $_POST
127 ********************************/
135 /**********************************************/
138 * string site_url(string $url)
140 * Tworzy URL do danej podstrony
142 * string $url - podstrona, np.: 'blog/foo/bar/', albo '' - pusty
143 * string, zwróci URL do strony głównej
146 function site_url($url)
148 return WTRMLN_SITEURL
. $url;
152 * void redirect(string $url)
154 * Przekierowuje na stronę o URL=$url
157 function redirect($url)
159 header('Location: ' . $url);
166 * zwraca IP odwiedzającego.
168 * funkcja pochodzi oryginalnie z: http://php.org.pl/artykuly/3/22
175 if(!empty($_SERVER['HTTP_CLIENT_IP']))
177 $ip = $_SERVER['HTTP_CLIENT_IP'];
180 if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
182 $ipList = explode(', ', $_SERVER['HTTP_X_FORWARDED_FOR']);
186 array_unshift($ipList, $ip);
190 foreach($ipList as $v)
192 if(!ereg('^(192\.168|172\.16|10|224|240|127|0)\.', $v))
198 return $ip ?
$ip : $_SERVER['REMOTE_ADDR'];
202 * string strHash(string $string[, string/int $algo])
204 * tworzy hash z $string
206 * jeśli $algo nie zostało podane:
208 * tworzy hash według domyślnego algorytmu haszującego
210 * jeśli $algo jest stringiem
212 * tworzy hash według nazwy $algo
214 * jeśli $algo jest intem
216 * tworzy hash na podstawie numeru algrorytmu haszującego
218 * string $string - tekst do zahaszowania
219 * string/int $algo - nazwa lub numer algorytmu haszującego
222 function strHash($string, $algo = NULL)
226 $algo = Config
::$hashAlgo;
227 $algo = $algo[Config
::$defaultHashAlgo];
229 elseif(is_int($algo))
232 $algo = Config
::$hashAlgo;
233 $algo = $algo[$algo_id];
236 $algoType = $algo[0];
238 $algo = substr($algo, 1);
240 // jeśli pierwszy znak to "x", używamy do haszowania funkcji hash. Jeśli
241 // inny - używamy standardowej funkcji (obecnie są chyba tylko trzy,
242 // może w PHP6 będzie więcej)
246 return hash($algo, $string);
250 return $algo($string);