*//Мини хак написания смайлов для JohnCMS 3.x.x от LeoNSа, после его установки смайлы нужно писать просто с двух сторон точками, а не двоеточием, т.е к примеру .лол. вместо :лол: //*
*//Официальный сайт: http://leonsefan.ru (Просьба зарегестрироваться) //*
*//Установака:
_________________________________________________________________
1. Заменить файл str/smile.php на тот что в архиве.
_________________________________________________________________
2. В файле incfiles/func.php ищем строку (функцию):
//////////////////////////////////////////////////////////
// Обработка смайлов //
///////////////////////////////////////////////////////////
_________________________________________________________________
после того как нашли,
до самого конца обработки смайлов заменяем код на данный:
_________________________________________________________________
//////////////////////////////////////////////////////////
// Обработка смайлов //
////////////////////////////////////////////////////////////
// $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]] = '';
++$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]) . '.'] = '';
$array3['.' . $name[0] . '.'] = '';
++$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]) . '.'] = '';
$array5['.' . $name[0] . '.'] = '';
++$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 display_error($error = false, $link = '') {
_________________________________________________________________
3. Зайдите в админку на сайте и обновите кэш смайлов
_________________________________________________________________
4. Готово, можна пользоваться!