Страниц (20): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Найдено сообщений: 292 |
Guyver |
Отправлено: 21 июля 2016 — 10:43 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
Эх... Я, конечно, пробую своими силами сделать мини-админку для чата, но уж больно знания мои подкачали ;о) Даже с элементарным синтаксисом разбираюсь днями. Чуть ли не каждая строчка вопросы новые вызывает ;о)
И если с выводом сообщений ещё куда ни шло, то вот с сохранением - беда. Ещё не научился нормально это делать.
В общем, сложная админка-то и не нужна. Прошерстить файл - вывести textarea с уникальным именем к каждому сообщению. И можно хотя бы просто их удалять.
А потом просто опросить все textarea по id и собрать из них информацию в одну переменную.
Добавить к ней в начале
CODE:<?die;?>a:ЧИСЛО ВСЕХ TEXTAREA минус ЧИСЛО ПУСТЫХ TEXTAREA:
И в конце
И просто сохранить всё это в файл. Как вариант, запретить редактирование, а разрешить лишь удаление сообщений.
Кое-как у меня это работает в режиме просмотра, но сохранять я ещё не умею. Не получается провести опрос всех текстовых полей и засунуть всю информацию в одну переменную... Сложный это ваш php... |
Guyver |
Отправлено: 21 июля 2016 — 06:52 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
Для исключения подобной ситуации можно придумать имя по-сложнее для этого файла. И делов-то ;о) А сам файл закрыть от поисковых роботов.
Можно, конечно, написать правильно, но я не знаю как. А кто знает - только советует, увы и ах  |
Guyver |
Отправлено: 20 июля 2016 — 13:31 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
Добавил в админку функцию очистки чата.
1. В корень форума кинул файл del13messages.php с содержанием:
CODE:<?php if (unlink('modules/chat/data/messages.php')) { echo "Чат очищен! Перенаправление произойдёт через несколько секунд."; } else { echo "Ошибка при удалении файла чата!"; }
header( 'Refresh: 5; url=http://адрес_вашего_сайта/forum/setmodule.php?module=chat' ); ?>
2. Прописываем ссылку в панели администратора:
Заходим в modules/chat/admintemplates/index.tpl
Ищем конструкцию
CODE:<th class="thHead">{$fm->LANG['VariableValue']}</th>
</tr>
<tr class="gen">
<td class="row1">
И после неё вставляем
CODE:Очистить чат (удалить все сообщения)</td>
<td class="row2"><a href='del13messages.php?hello=true'>Очистить чат</a></td>
</tr>
<tr class="gen">
<td class="row1">
Вот и всё. Конечно, негоже писать сразу в файле без подключения language, но мне было лень это делать... Теперь в админке появится новый пункт и можно будет очистить чат, удалив файл messages.php. |
Guyver |
Отправлено: 20 июля 2016 — 12:47 • Тема: Дополнение : "Желтые карточки" на форуме • Форум: Модификации и дополнения |
Ответов: 22 Просмотров: 16410
 |
Опять я по поводу мода.
Схлопотал юзер карточек - теперь его звание поменялось на:
Персональное звание / Забанен
Но на самом деле
Статус пользователя / пользователь.
Персональное звание потом поменяется обратно, как срок бана пройдёт? Или как?
В админке:
CODE:Кол-во дней бана при трех штрафах
При наличи у пользователя трех штрафов, он не сможет, в течении этого времени, создавать новые темы или отвечать на сообщения других пользователей
CODE:Кол-во дней бана при четырех штрафах
То же самое, только при наличи у пользователя четырех штрафов
Как юзер может заработать 4-ую карточку? Он же лишён возможности писать в конференцию? Или после выхода из бана три карточки сохранятся и можно будет поставить четвёртую?
А как закончится срок за четвёртую - карточки обнулятся?
Где про это почитать? Ничего не понятно, как что работает...
П.С. Есть ли возможность при срабатывании мода банить пользователя целиком именно в этом моде? Например, по 4-ой карточке? |
Guyver |
Отправлено: 19 июля 2016 — 15:01 • Тема: Объявление на форуме для гостей (или для пользователей с другими правами) с админкой • Форум: Модификации и дополнения |
Ответов: 1 Просмотров: 2183
 |
Переношу тему из обсуждения.
Объявление для гостей (его видят только гости сайта). Тип пользователей можно изменить по своему усмотрению. Само объявление можно разместить в любом месте форума, а редактировать его (и сразу же видеть как оно отображается) можно будет из панели администратора на главной странице. Объявление поддерживает html код. Т.о. это объявление можно превратить во что угодно, и видеть его будет тот, кому вы это пропишите!
Установка:
1. Создаём в папке admin файл news.tpl со следующим содержимым:
CODE:<?php
error_reporting(0);
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd>$data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
include "news.txt";
?>
На всякий случай сам файл можно найти в приложении.
2. Создаём файл news.txt и кидаем его в корень форума. В нём можно написать обычный html код. Файл не должен быть пустым, иначе возникнет ошибка! Если хотите чтобы объявление было пустым, напишите в этом файле к примеру
3. Прописываем вывод формы редактирования объявления в панели администратора.
В файле admincenter.php в корне сайта находим строку
CODE:include('./admin/index_body.tpl');
И после неё вставляем:
CODE:include('./admin/news.tpl');
4. Выводим новость на самом форуме. Сперва выставим того, кто будет видеть это объявление. К примеру, гости:
Открываем файл templates/InvisionExBB/board_body.tpl
И в нём после
вставляем
CODE:if (($fm->user['status'] == 'gu'))
{
$banner = '<table style="width:100%;"><tr><td>';
$banner .= file_get_contents('news.txt');
}
else
{
$banner = '';
}
Где 'gu' - это гости. Можно написать любых других пользователей.
'ad' - администратор
'sm' - супермодератор
'me' - пользователь
'banned' - забаненный
Теперь нужно вывести само объявление на форуме. К примеру, на главной странице форума под шапкой. В том же файле ищем свободное место и вставляем туда код:
Я вставил это объявление перед
между одной из таблиц.
Вот и всё! По-своему усмотрению можно превратить этот мод во что угодно, раздав нужные права доступа.
P.S. Пример html кода, который находится в объявлении у меня на форуме:
CODE:<p style="background-color:#D40000; color:#FFFFFF"><B><br> ОБЪЯВЛЕНИЕ: Мы наконец-то переехали на новый форум! При этом были перенесены все пользователи и часть сообщений. Чтобы войти на форум под своим логином, сделайте следующее:<br><br></p><p style="background-color:#E4EAF2; color:#cc0000"></B> 1. Узнайте, есть ли вы в списках пользователей <a href="http://ххххх/forum/tools.php?action=members" target="_blank">на странице зарегистрированных пользователей.</a> Если ваш логин был на русском языке, теперь он будет писаться транслитом.
<br></br>
2. Воспользуйтесь <a href="http://ххххх/forum/profile.php?action=lostpassword" target="_blank">формой восстановления пароля</a>, где вы должны ввести свой логин, найденный в списке зарегистрированных пользователей.</p>Если вы не получили письмо с инструкцией по восстановлению пароля, просмотрите папку со спамом. Многие зарубежные почтовые сервисы (например gmail) направляют подобные письма туда. После успешной авторизации просмотрите раздел <a href="http://ххххх/forum/announcements.php" target="_blank">"Объявления"</a>. Не забудьте настроить свой профиль: загрузить аватар, подпись и т.д. |
Guyver |
Отправлено: 19 июля 2016 — 13:41 • Тема: Мод Postimage • Форум: Модификации и дополнения |
Ответов: 5 Просмотров: 4852
 |
Поставил себе на форум данный мод, так как возникла необходимость размещать множество картинок на форуме (дабы не перегружать папку uploads). Картинок у меня на форуме хватает, все они промежуточные - перерисовка графики из игр и скрины рабочие, которые нужны только в процессе работы, а потом необходимость в них отпадает. Поэтому потеря таких картинок не страшна в будущем.
postimage.org - это известный сервис для размещения картинок. Недавно он обновился, став облачным и улучшив интерфейс.
Сам сервис при использовании на форумах даёт вам ссылки-превью, на которые нужно потом кликнуть, чтобы увидеть их в первоначальном размере, т.е. совершить переход на сам сервис. Это если использовать дефолтные скрипты самого сервиса.
Данный мод устраняет этот недостаток и картинки будут показаны на форуме в истинном размере и без ссылки на сторонний ресурс.
Итак, установка.
1. В корень форума нужно положить файл addform.html
В этом файле будет происходить замена кода, который предоставляет нам сервис, дабы вычистить из него ссылки-превью картинок и показывать загруженные картинки в исходном размере. Сам файл можно скачать в приложении. В последнее время сервис обновился, так что этот файл немного подправлен в отличие от ранее существующего решения, которое теперь работает с ошибкой. Вот что находится внутри файла addform.html
CODE:<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript">
<!--
function add_code()
{
var text = unescape(document.location.search.substring(1));
var area_ignore_name = /username_list|search/i;
var area_e=opener.document.getElementsByTagName('TEXTAREA');
for(var i=0;i<area_e.length;i++)
{
if(!area_e[i].name.match(area_ignore_name))
{
var area=area_e[i];
break;
}
}
text = text.replace(/\[url=https:\/\/postim?g?\.org\/image\/[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');
area.value = area.value + text;
opener.focus();
window.close();
}
add_code();
//-->
</script>
</body>
</html>
2. Теперь добавляем новую кнопку в файл templates/InvisionExBB/form_code.tpl
2.1. Прописываем описание кнопки в окне помощи, ищем:
CODE:underline: {0:'[u]',1:'[/u]',2:'{$fm->LANG['HelpUnderLine']}'},
И после вставляем:
CODE:postimage: {0:'[s]',1:'[/s]',2:'{$fm->LANG['HelpPostimageOut']}'},
2.2. Пропысываем саму новую кнопку. Я поставил её после кнопки Img, ищем:
CODE:<input type="button" class="button" name="image" value="Img" style="width: 40px" onClick="bbcode(this)" onMouseOver="help(this)" />
После этого добавляем:
CODE:<input type="button"
class="button" name="postimage" value="Postimage"
style="width: 80px" <a href="javascript:void(0);" onMouseOver="help(this)" onclick="window.open('http://www.postimage.org/index.php?mode=phpbb&lang=russian&code=hotlink&content=family&forumurl=' + escape(document.location.href), 'ExBB_imagehost', 'resizable=yes,width=500,height=400');return false;">
3. Теперь вносим добавления в файл language/russian/lang_front_formcode.php, ищем
CODE:['HelpStrikeOut'] = 'Зачёркнутый текст: [s]текст[/s]';
Добавляем после этого
CODE:$this->LANG['HelpPostimageOut'] = 'Вставить/отобразить картинку с postimage.org - поддерживается мультизагрузка!';
Вроде всё! Мультизагрузка действительно поддерживается.
При выборе нескольких картинок в вашу текстовую форму отправки сообщений ссылки на картинки вставятся в следующем виде:
[img=https://s32.postimg.org/z628pdicl/image.jpg]Название картинки[/img]
P.S. Кстати, использую сервис довольно давно уже. И даже после того, как он обновился и у его картинок стали другие адреса, старые картинки всё ещё доступны, что радует. |
Guyver |
Отправлено: 3 июля 2016 — 00:39 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
1. Перед function start_chat() добавил функцию определения браузера:
CODE:function get_name_browser(){
var ua = navigator.userAgent;
if (ua.search(/Chrome/) > 0) return '1';
if (ua.search(/Firefox/) > 0) return '2';
if (ua.search(/Opera/) > 0) return '3';
if (ua.search(/Safari/) > 0) return '4';
if (ua.search(/MSIE/) > 0) return '5';
return '6';}
Где 6 - это все остальные браузеры...
2. CODE:var audio = new Audio();
audio.preload = 'auto';
audio.src = 'modules/chat/javascript/chat.wav';
Заменил на:
CODE:if(get_name_browser()==1) {var audio = new Audio();
audio.preload = 'auto';audio.src = 'modules/chat/javascript/chat.wav';}
if(get_name_browser()==2) {var audio = new Audio();
audio.preload = 'auto';audio.src = 'modules/chat/javascript/chat.wav';}
if(get_name_browser()==3) {var audio = new Audio();
audio.preload = 'auto';audio.src = 'modules/chat/javascript/chat.wav';}
if(get_name_browser()==4) {}
if(get_name_browser()==5) {var audio = new Audio();
audio.preload = 'auto';audio.src = 'modules/chat/javascript/chat.mp3';}
if(get_name_browser()==6) {}
3.
Заменил на:
CODE:if(get_name_browser()==4) {}
if(get_name_browser()==6) {}
if(get_name_browser()==1) {audio.play();}
if(get_name_browser()==2) {audio.play();}
if(get_name_browser()==3) {audio.play();}
if(get_name_browser()==5) {audio.play();}
Теперь заработала сафари без звука (так она вообще не работала), в IE появился звук, в опере, мозилле и фаерфоксе звук тоже присутствует. |
Guyver |
Отправлено: 2 июля 2016 — 15:46 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
П.П.С. Для Сафари надо бы тоже исключение сделать, а то он прекращает загружать сообщения чата сразу после того, как вставить что-то про аудио в js... |
Guyver |
Отправлено: 2 июля 2016 — 15:03 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 224940
 |
Решил поиграться с модом и добавить звук к приходящим сообщениям в чате.
1. Идём в modules/chat/iavascript и кидаем в папку звук сообщения chat.wav
2. Открываем в той же папке файл chat_yura3d.js
Ищем CODE:var end = height - messages.scrollTop;
И прямо перед этим вставляем
CODE:var audio = new Audio();
audio.preload = 'auto';
audio.src = 'modules/chat/javascript/chat.wav';
3. В этом же файле ищем
CODE:case 'msg':
for (var j = 0; j < smiles.length; j++)
span[i].innerHTML = span[i].innerHTML.replace(smiles[j][0], '<img src="im/emoticons/' + smiles[j][1] + '">');
break;
И вставляем прямо перед вызов звука
Всё. Теперь каждое новое сообщение сопровождает звук. В Опере, Огнелисе и Хроме пашет. В IE не должно работать, но мне нечем проверить. В Сафари чат у меня вообще не работает...
Такой вопрос, как добавить исключение для IE и в качестве ресурса использовать файл chat.mp3? Подскажите, а то я плохо с синтаксисом дружу...
П.С. Добавил ещё в админку для этого модуля кнопку автоочищения чата, которая просто удаляет файл с сообщениями. На этом мои познания закончились. Сделать редактирование сообщений для меня будет сложновато  |
Guyver |
Отправлено: 2 июля 2016 — 08:06 • Тема: Дополнение : "Желтые карточки" на форуме • Форум: Модификации и дополнения |
Ответов: 22 Просмотров: 16410
 |
Не подскажете, когда пользователь забаненный выходит из бана (прошёл срок бана) - его нарушения обнуляются или карточки старые остаются (написано за что его штрафовали), но не учитываются под его аватарой? Как это реализовано? |
Guyver |
Отправлено: 2 июля 2016 — 07:46 • Тема: Не показывать таблицу на одной из страниц • Форум: Решение проблем |
Ответов: 2 Просмотров: 2096
 |
Подскажите, пожалуйста. У меня в footer.tpl выше стандартных копирайтов есть таблица:
CODE:<div style="width: 99%; height: 90px....................</div>
И у меня эта таблица показывается на любой странице форума, как и копирайты.
Как сделать так, чтобы на странице чата forum/tools.php?action=chat эта таблица не показывалась? Помогите, пожалуйста.
Надо сделать так, чтобы footer.tpl проверял на какой он странице, или как-то иначе? |
Guyver |
Отправлено: 25 июня 2016 — 12:45 • Тема: Вопрос по функции text.replace • Форум: HTML |
Ответов: 0 Просмотров: 1838
 |
Всем привет! Я на своём форуме сделал кнопку postimage. И с помощью этого сервиса загружал картинки в сообщения. Сам сервис не давал прямых ссылок на изображения, а давал линки на ссылку на изображение. И с помощью функции text.replace я извлекал прямую ссылку из всего кода, который даёт сервис.
Недавно этот сервис обновился до облачного, и немного сменил код. Теперь не знаю как его верно подключить.
Когда вставляешь картинку этим сервисом на форум (ссылку), то она имеет вид:
CODE:[url=https://postimg.org/image/4yvevw0z5/][img]https://s32.postimg.org/uuf5f32t1/image.jpg[/img]
Это уже после преобразования вида:
CODE:text = text.replace(/\[url=http:\/\/postima?ge?\.org[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');
area.value = area.value + text;
Помогите мне ещё раз преобразовать текст так, чтобы избавиться от вот этой части:
CODE:[url=https://postimg.org/image/4yvevw0z5/]
Чтобы в итоге у меня осталось только:
CODE:[img]https://s32.postimg.org/uuf5f32t1/image.jpg[/img]
Ну или научите как верно поправить код замены, чтобы в итоге только картинка оставалась... |
Guyver |
Отправлено: 19 июня 2016 — 13:31 • Тема: Мод : Мобильная версия • Форум: Модификации и дополнения |
Ответов: 81 Просмотров: 46123
 |
Видел уже что вы на форуме своём это убрали. Зря. Ведь ваш автовыбор глючит, и остаётся возможность его неверного срабатывания. Плюс ещё одна штука. Допустим, юзер зашёл с телефона. Браузер определился как мобильный и в профиле юзера это запомнилось. А дома он зашёл с компа, но его браузер у вас ошибочно не считается немобильным. Всё. Приплыли. Обратно вид форума он не получит по-умолчанию и будет сидеть на мобильном вечно. Такая ситуация у меня уже была...
Убирать возможность выбора - это костыль. Слабо исправить ошибки? ;о) А-я-яй! |
|
Страниц (20): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
|