# venom (08.01.2016 / 15:20)Вот код func.php, подобно этому и во всех других файлах
FanLoko, Стикеры берутся с функции смайлов ?
Стикеры (+/-)
function smileys($str, $adm = 0) {
////////////////////////////////////////////////////////////
// Обработка смайлов //
////////////////////////////////////////////////////////////
// $adm=1 покажет и обычные и Админские смайлы //
// $adm=2 пересоздаст кэш смайлов //
////////////////////////////////////////////////////////////
global $rootpath;
// Записываем КЭШ смайлов
if ($adm == 2) {
// Обрабатываем простые смайлы
$array1 = array ();
$path = $rootpath . 'smileys/simply/';
$dir = opendir($path);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array1[':' . $name[0]] = '<img src="' . $path . $file . '" alt="" />';
++$count;
}
}
closedir($dir);
// Обрабатываем Админские смайлы
$array2 = array ();
$array3 = array ();
$path = $rootpath . 'smileys/admin/';
$dir = opendir($path);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array2['.' . trans($name[0]) . '.'] = '<img src="' . $path . $file . '" alt="" />';
$array3['.' . $name[0] . '.'] = '<img src="' . $path . $file . '" alt="" />';
++$count;
}
}
// Обрабатываем смайлы в каталогах
$array4 = array ();
$array5 = array ();
$cat = glob($rootpath . 'smileys/user/*', GLOB_ONLYDIR);
$total = count($cat);
for ($i = 0; $i < $total; $i++) {
$dir = opendir($cat[$i]);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array4['.' . trans($name[0]) . '.'] = '<img src="' . $cat[$i] . '/' . $file . '" alt="" />';
$array5['.' . $name[0] . '.'] = '<img src="' . $cat[$i] . '/' . $file . '" alt="" />';
++$count;
}
}
closedir($dir);
}
$smileys = serialize(array_merge($array1, $array4, $array5));
$smileys_adm = serialize(array_merge($array2, $array3));
// Записываем в файл Кэша
if ($fp = fopen($rootpath . 'cache/smileys_cache.dat', 'w')) {
fputs($fp, $smileys . "\r\n" . $smileys_adm);
fclose($fp);
return $count;
} else {
return false;
}
} else {
// Выдаем кэшированные смайлы
if (file_exists($rootpath . 'cache/smileys_cache.dat')) {
$file = file($rootpath . 'cache/smileys_cache.dat');
$smileys = unserialize($file[0]);
if ($adm)
$smileys = array_merge($smileys, unserialize($file[1]));
return strtr($str, $smileys);
} else {
return $str;
}
}
}
function stiker($str, $adm = 0) {
////////////////////////////////////////////////////////////
// Обработка стикеров //
////////////////////////////////////////////////////////////
// $adm=1 покажет и обычные и Админские стикеры //
// $adm=2 пересоздаст кэш стикеров //
////////////////////////////////////////////////////////////
global $rootpath;
// Записываем КЭШ стикеров
if ($adm == 2) {
// Обрабатываем простые стикеры
$array1 = array ();
$path = $rootpath . 'stiker/simply/';
$dir = opendir($path);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array1[':' . $name[0]] = '<img src="' . $path . $file . '" alt="" />';
++$count;
}
}
closedir($dir);
// Обрабатываем Админские стикеры
$array2 = array ();
$array3 = array ();
$path = $rootpath . 'stiker/admin/';
$dir = opendir($path);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array2['.' . trans($name[0]) . '.'] = '<img src="' . $path . $file . '" alt="" />';
$array3['.' . $name[0] . '.'] = '<img src="' . $path . $file . '" alt="" />';
++$count;
}
}
// Обрабатываем стикееы в каталогах
$array4 = array ();
$array5 = array ();
$cat = glob($rootpath . 'stiker/user/*', GLOB_ONLYDIR);
$total = count($cat);
for ($i = 0; $i < $total; $i++) {
$dir = opendir($cat[$i]);
while ($file = readdir($dir)) {
$name = explode(".", $file);
if ($name[1] == 'gif' || $name[1] == 'jpg' || $name[1] == 'png') {
$array4['.' . trans($name[0]) . '.'] = '<img src="' . $cat[$i] . '/' . $file . '" alt="" />';
$array5['.' . $name[0] . '.'] = '<img src="' . $cat[$i] . '/' . $file . '" alt="" />';
++$count;
}
}
closedir($dir);
}
$stiker = serialize(array_merge($array1, $array4, $array5));
$stiker_adm = serialize(array_merge($array2, $array3));
// Записываем в файл Кэша
if ($fp = fopen($rootpath . 'cache/stiker_cache.dat', 'w')) {
fputs($fp, $stiker . "\r\n" . $stiker_adm);
fclose($fp);
return $count;
} else {
return false;
}
} else {
// Выдаем кэшированные стикеры
if (file_exists($rootpath . 'cache/stiker_cache.dat')) {
$file = file($rootpath . 'cache/stiker_cache.dat');
$stiker = unserialize($file[0]);
if ($adm)
$stiker = array_merge($stiker, unserialize($file[1]));
return strtr($str, $stiker);
} else {
return $str;
}
}
}