1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| class Methods
{
protected function get_time($ptime)
{
$estimate_time = time() - $ptime;
if ($estimate_time < 1) {
return "1 seconde";
}
$condition = array(
12 * 30 * 24 * 60 * 60 => 'an',
30 * 24 * 60 * 60 => 'moi',
24 * 60 * 60 => 'jour',
60 * 60 => 'heure',
60 => 'minute',
1 => 'seconde'
);
foreach ($condition as $secs => $str) {
$d = $estimate_time / $secs;
if ($d >= 1) {
$r = round($d);
return $r . ' ' . $str . ($r > 1 ? 's' : '');
}
}
}
protected function url($string)
{
if (!preg_match("/\s*[a-zA-Z\/\/:\.]*youtu(be.com\/watch\?v=|.be\/)([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", $string)) {
return preg_replace("/(?i)\b((?:https?:(?:\/{1,3}|[a-z0-9%])|[a-z0-9.\-]+[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|Ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\/)(?:[^\s()<>{}\[\]]+|\([^\s()]*?\([^\s()]+\)[^\s()]*?\)|\([^\s]+?\))+(?:\([^\s()]*?\([^\s()]+\)[^\s()]*?\)|\([^\s]+?\)|[^\s`!()\[\]{};:'\".,<>?«»])|(?:(?<!@)[a-z0-9]+(?:[.\-][a-z0-9]+)*[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|Ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\b\/?(?!@)))/", "<a href='$1' class='lien' target='_blank'>$1</a>", $string);
} else {
return preg_replace("/\s*[a-zA-Z\/\/:\.]*youtu(be.com\/watch\?v=|.be\/)([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i",
"<div class='embed-responsive embed-responsive-16by9'><iframe class='youtube' id='youtube' class='embed-responsive-item' src='//www.youtube.com/embed/$2' allowfullscreen></iframe></div>",$string);
}
}
protected function emojis($text)
{
$smilies = array(
':smiling:' => '<img class="im" src="assets/images/emojis/1.png" alt=""/>',
':relieved:' => '<img class="im" src="assets/images/emojis/2.png" alt=""/>',
':grinning:' => '<img class="im" src="assets/images/emojis/3.png" alt=""/>',
':clin-doeil:' => '<img class="im" src="assets/images/emojis/4.png" alt=""/>',
':tongue:' => '<img class="im" src="assets/images/emojis/5.png" alt=""/>',
':rol-laughing:' => '<img class="im" src="assets/images/emojis/6.png" alt=""/>',
':frowning:' => '<img class="im" src="assets/images/emojis/7.png" alt=""/>',
':sleepy:' => '<img class="im" src="assets/images/emojis/8.png" alt=""/>',
':expressionless:' => '<img class="im" src="assets/images/emojis/9.png" alt=""/>',
':open-mouth:' => '<img class="im" src="assets/images/emojis/10.png" alt=""/>',
':neutral:' => '<img class="im" src="assets/images/emojis/11.png" alt=""/>',
':heart-eyes:' => '<img class="im" src="assets/images/emojis/12.png" alt=""/>',
':satisfied:' => '<img class="im" src="assets/images/emojis/13.png" alt=""/>',
':grimacing:' => '<img class="im" src="assets/images/emojis/14.png" alt=""/>',
':sunglasses:' => '<img class="im" src="assets/images/emojis/15.png" alt=""/>',
':dolar:' => '<img class="im" src="assets/images/emojis/16.png" alt=""/>',
':nerd:' => '<img class="im" src="assets/images/emojis/17.png" alt=""/>',
':star:' => '<img class="im" src="assets/images/emojis/18.png" alt=""/>',
':zany:' => '<img class="im" src="assets/images/emojis/19.png" alt=""/>',
':sweat:' => '<img class="im" src="assets/images/emojis/20.png" alt=""/>',
':zipper-mouth:' => '<img class="im" src="assets/images/emojis/21.png" alt=""/>',
':beaming:' => '<img class="im" src="assets/images/emojis/22.png" alt=""/>',
':big-eyes:' => '<img class="im" src="assets/images/emojis/23.png" alt=""/>',
':confused:' => '<img class="im" src="assets/images/emojis/24.png" alt=""/>',
':drooling:' => '<img class="im" src="assets/images/emojis/25.png" alt=""/>',
':joy:' => '<img class="im" src="assets/images/emojis/26.png" alt=""/>',
':winking:' => '<img class="im" src="assets/images/emojis/27.png" alt=""/>',
':hungry:' => '<img class="im" src="assets/images/emojis/28.png" alt=""/>',
':tongue-out:' => '<img class="im" src="assets/images/emojis/29.png" alt=""/>',
':megafrown:' => '<img class="im" src="assets/images/emojis/30.png" alt=""/>',
':unamused:' => '<img class="im" src="assets/images/emojis/31.png" alt=""/>',
':happy:' => '<img class="im" src="assets/images/emojis/32.png" alt=""/>',
':angry:' => '<img class="im" src="assets/images/emojis/33.png" alt=""/>',
':heart:' => '<img class="im" src="assets/images/emojis/34.png" alt=""/>',
':heart-broken:' => '<img class="im" src="assets/images/emojis/35.png" alt=""/>');
return str_replace(array_keys($smilies), array_values($smilies), $text);
}
protected function sanitizeNumber($digit)
{
return str_replace(array('+', '-'), '', filter_var($digit, FILTER_SANITIZE_NUMBER_FLOAT));
}
} |
Partager