%PDF- %PDF-
Direktori : /home/nailstv/public_html/include/ |
Current File : /home/nailstv/public_html/include/String.class.php |
<?php class String { public function random($length = 6) { $s = ''; $letters = 'qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM23456789'; for ($i=0; $i < $length; $i++) { $s .= $letters[rand(0,59)]; } return $s; } public function kisbetu($str) { return strtolower(strtr($str, "ÁÉÍÓÖŐÚÜŰ", "áéíóöőúüű")); } public function filename($str, $len = 20) { $s = explode('.', $str); $kit = count($s) > 1 ? end($s) : ''; array_pop($s); $s = implode('.', $s); $s = ($len) ? substr($s, 0, $len) : $s; $s = utf8_decode($s); $s = self::kisbetu($s); $s = strtr($s, utf8_decode(" áéíóöőúüű"), "_aeiooouuu"); if($kit) $s .= '.'.$kit; return $s; } public function fixLineBreaks($txt) { return str_replace("\r\n", "\\\n", $txt); } public function url($link) { if(!preg_match("/^(http)/", $link)) { $link = "http://".$link; } return $link; } public function datum($d) { if(!empty($d)) { $d = substr($d, 0, 10); $d = explode('-', $d); $ev = $d[0]; $ho = $d[1]; $nap = $d[2]; if($ev == '0000') return; } else { $ev = date("Y"); $ho = date("m"); $nap = date("j"); } $honapok = array('01' => 'január', '02' => 'február', '03' => 'március', '04' => 'április', '05' => 'május', '06' => 'június', '07' => 'július', '08' => 'augusztus', '09' => 'szeptember', '10' => 'október', '11' => 'november', '12' => 'december'); $datum = $ev.'. '.$honapok[$ho].' '.$nap.'.'; return $datum; } public function empty2null(&$s) { if(empty($s)) $s = NULL; } public function fancyurl($s) { $CHARMAP = array( 'ö' => 'o', 'Ö' => 'O', 'ó' => 'o', 'Ó' => 'O', 'ő' => 'o', 'Ő' => 'O', 'ú' => 'u', 'Ú' => 'U', 'ű' => 'u', 'Ű' => 'U', 'ü' => 'u', 'Ü' => 'U', 'á' => 'a', 'Á' => 'A', 'é' => 'e', 'É' => 'E', 'í' => 'i', 'Í' => 'I', ); $s = strtolower(strtr($s, $CHARMAP)); $s = preg_replace("/[.,;:!?]/", "", $s); $s = preg_replace('/[^a-zA-Z0-9]/', '-', $s); return $s; } public function parseUrl($url) { $url = explode('.', $url); $ext = empty($url[1]) ? '' : $url[1]; $url = explode('-', $url[0]); $end = end($url); if(is_numeric($end)) { $ret['page'] = $end; array_pop($url); } $ret['url'] = implode('-', $url); if(!empty($ext)) { $ret['url'] .= '.' . $ext; } return $ret; } public function makeClickAble($cikk_id, $text, $stepbystep = 3) { $db = Registry::get('db'); /*$sql = "SELECT c.szoveg, c.link FROM content_links c WHERE aktiv = 't' AND storno = 'f' ORDER BY sorrend"; */ //print $cikk_id; $bind = array($cikk_id); switch($stepbystep){ case 0: $sql = "SELECT c.szoveg, c.link FROM content_links c LEFT JOIN stepbystep s ON s.szoveg LIKE CONCAT('%', c.szoveg, '%') WHERE c.aktiv = 't' AND c.storno = 'f' AND s.id = ? GROUP BY c.id ORDER BY c.sorrend"; break; case 1: $sql = "SELECT c.szoveg, c.link FROM content_links c LEFT JOIN kep k ON k.cim LIKE CONCAT('%', c.szoveg, '%') WHERE c.aktiv = 't' AND c.storno = 'f' AND k.id = ? GROUP BY c.id ORDER BY c.sorrend"; break; case 2: $sql = "SELECT c.szoveg, c.link FROM content_links c LEFT JOIN termekleiras c2 ON c2.szoveg LIKE CONCAT('%', c.szoveg, '%') WHERE c.aktiv = 't' AND c.storno = 'f' AND c2.id = ? GROUP BY c.id ORDER BY c.sorrend"; break; default: $sql = "SELECT c.szoveg, c.link FROM content_links c LEFT JOIN hirek c2 ON c2.szoveg LIKE CONCAT('%', c.szoveg, '%') WHERE c.aktiv = 't' AND c.storno = 'f' AND c2.id = ? GROUP BY c.id ORDER BY c.sorrend"; break; } $r = $db->Execute($sql, $bind); $linkek = $r->GetArray(); //print_r($linkek); die; foreach($linkek as $key => $val) { //print_r($val); $p = "/(?!(?:[^<]+>|[^>]+<\/a>))\b(".$val['szoveg'].")\b/is"; //$chars = preg_split($p, $text, -1, PREG_SPLIT_OFFSET_CAPTURE); // print_r($chars); $text = preg_replace($p, '<a href="'.$val['link'].'" title="'.$val['szoveg'].'" target="_blank">'.$val['szoveg'].'</a>', $text, 1); //echo $text . '<br />'; } return $text; } function cryptPass($pass) { $salt = ''; for($i = 0; $i <= 32; $i++) { $d = rand(1, 30) % 2; $salt .= $d ? chr(rand(65,90)) : chr(rand(48,57)); } $hashed = md5($pass . $salt); $encrypted = $hashed . ':' . $salt; return $encrypted; } } ?>