comments.dwweb.rucomments.dwweb.ru
ГЛАВНАЯ | Документация | Версии | Новости | О ПРОЕКТЕ | Спасибо

Документация по системе комментирования Comments+ ( 4 версии )

Если кнопка скачать на pro.dwweb.ru пункт №1 Скрипт № 1.3 отсутствует, то значит, пока скачать нельзя! Мы в процессе шлифовки.
История "Comments+" теперь на отдельной странице
Протестировать и оставить высокоинтеллектуальные сообщения можно на тестовой странице.
Вопросы, советы, предложения и д.р. только по системе => здесь, любые бессмысленные сообщения, на данной странице будут удалены!
Навигация по странице
1. Что будет нового!?
2. Общая информация
2.1. Подключение системы
2.2. Подключение системы к поддомену
2.2.1. Дополнительно...
2.3. Тестовая страница
3. Обязательные условия

4. Папка comments+1_4(основная папка со скриптом)
4.1. Вход, выход, настройки "__admin"
4.1.А. Пароль и авторизация в системе.
4.1.B. Изменить логин и пароль.
4.1.C. Интеграция в свою админку
4.1.D. Аватар админа
4.1.E. Вход со страницы.
4.1.F. Безопасность
4.1.G. Цена за безопасность
4.2.1. Основной файл настроек(__data.dat)
4.2.1.1. DEMO
4.2.1.2. Дополнительные возможности админа
4.2.1.2.1 Удалить сообщение пользователя.
4.2.1.2.2 Скрыть сообщение пользователя.
4.2.1.2.3 Опубликовать сообщение пользователя.
4.2.1.2.4 Закрепить сообщение.
4.2.1.2.5 Открепить сообщение.
4.2.1.2.6 Показать последнее сообщение.
4.2.1.2.7 Запись послених сообщений для главного сайта и поддоменов
4.2.1.2.8 Показать последнее сообщение с помощью javascript .



5.3. "__form_for_comments.php"
5.3.A. Аватар, обработка + сессия пользователя.
5.3.B Загрузка своего аватара
5.4. Файл javascript "__js.js"

15. BBcode
15.1. Как это работает!?
15.2. Смайлы

1. Что будет нового!? 1.1. Сделаем подробное описание всех страниц, которые так или иначе участвуют в процессе создания комментария!
1.2. Будет отдельная тестовая страница, и здесь она тоже будет подключена! Протестировать систему можно на тестовой странице.
Здесь любые сообщения с бессмысленным текстом будут удаляться!
1.4. Будет точно: откажемся от использования jquery - будем использовать чистый javascript, для нашего скрипта эта библиотека вообще не нужна! Вернее не нужна в таком объеме...
Для тех, кто впервые сталкивается с нашей системой, то, в самом начале, надо сказать об основных принципах работы :
2. Общая информация 2.1. Система комментирования Comments+ (1.4) на файлах.
+Для каждой страницы будет формироваться своя страница с комментариями построчно..
На один комментарий 1 строка.
Записываться новая строка будет в конец файла с переносом.
Для выдачи будет применена функция array_reverse.
Чтобы нижняя строка выдавлась сверху, т.к. новое сообщение сверху.
Далее в цикле будет обрабатываться каждая тсрока...
2.1 Как подключить систему к сайту!? Папку с системой нужно располагать в корневой папке.
В самом верху страницы вставляем данный код:
<? $dir_from_root = '/comments+1_4/'; @include($_SERVER['DOCUMENT_ROOT'].$dir_from_root.'__head.php'); ?>
В месте, где требуется вывести форму и результат комментирования:
<? @include($script_dir.'/__form_for_comments.php'); ?>
Далее
2.2. Как подключить систему к поддомену сайта!? Мы ранее немного распространялись в комментах на эту тему.
В самом верху страницы вставляем данный код:
<? $dir_from_root = '/comments+1_4/'; include(str_replace(basename($_SERVER['DOCUMENT_ROOT']) , '' , $_SERVER['DOCUMENT_ROOT']).$dir_from_root.'__head.php'); ?>
В месте. где требуется вывести форму и результат комментирования:
<? @include($script_dir.'/__form_for_comments.php'); ?>
2.2.1. Пояснение! Если вы обратили внимание на подключение, к сайту и к поддомену сайта. То они немного отличаются!
Для поддомена верхняя строка будет работать только при единственном условии!
Если:
echo basename($_SERVER['DOCUMENT_ROOT']);
эта строка будет выводить папку поддомена.
Другими словами! В нашем случае, если поддомен имеет адрес http://pro.dwweb.ru/, то строка
echo basename($_SERVER['DOCUMENT_ROOT']); выводит pro
2.3. Тестовая страница! При условии, что вы закинули папку со скриптом в корневую папку и адрес тестовой страницы у вас должно получиться таким:
http://ваш_сайт/comments+1_4/test_page_comments+1_4.html
Или в нашем случае:
По умолчанию, страница test_page_comments+1_4.html, должна выглядеть из коробки вот так - если вы ничего не увидели, то убираем собаку "@" перед "include" строка №1 и №40.
Возможно вы увидите ошибку... а может и нет... wall
3. Обязательные условия: 3.1. Наличие Php.
3.2. Наличие Javascript.
3.3. Папка со скриптом должна быть доступна по адресу http://ВАШ_САЙТ/comments+1.4/


Папка comments+1_4 4. Папки:
4.1. "__admin" - вход выход админу
4.2. "blocks" - все, что наименее активно будет лежать в этой папке... ,
Показать файлыСкрыть файлы
1. - _FORM.php
2. - __all.php
3. - __data.dat
4. - __is_it_time_for_send.dat
5. - __is_new_coment.dat
6. - __result_buttom.php
7. - __smiles.php
8. - Папка со смайлами _smaile
9. - Папка со смайлами _smaile_girl
10. - admin.png
11. - autosize.min.js
12. - email.png
13. - hand_no_foto.png
14. - logo.png
15. - right-arrow.png
16. - smilie.gif
17. - style_1_4.css
18. - terminator_cyr_semi-expanded_bold.ttf
19. - translit_1_4.php
20. - user.png
21. - youtube.gif
4.3. "store" - папка с сообщениями.
4.4. "ava" - папка загруженных аватаров.

5. Файлы:
5.1. "__config.php"
5.2. "__head.php"
5.3. "__form_for_comments.php"
5.4. "__js.js"
5.5. "test_page_comments+1_4.html"

4.1. "__admin" Адрес для входа в админку должен быть такой:

Внимание! Если вы нажали по верхней ссылке, то вы должны увидеть вот такое:
Это сделано просто для того, чтобы разные дятлы(и их творения) не приходили и не долбились в данную форму. Здесь мы освещали тему безопасности., но у вас есть возможность не пользоваться этой функцией!


4.1.А. Пароль и авторизация в системе.
1. Вводим желаем имя и пароль.
2. Если все прошло удачно, то вы должны увидеть соответствующее сообщение и далее с теми данными, который были отправлены, вы можете войти в систему:
3. Если теперь вы откроете тестовую страницу , либо страницу с коментами, вы должны увидеть требование системы...
Какие данные обязательны!? Нажмите отправить в само низу страницы и система сама скажет, без каких данных она не сможет функционировать!
4. Форма входа должна закрыться от посторонних автоматически! Открыть, закрыть - это кнопка no_form. Протестировать нужно на другом браузере, где не запущена сессия админа.



4.1.B. Изменить логин и пароль. 1. Ищем в админке, слово выйти.
2. Идем в папку __admin – удаляем файл lp.dat
3. Перезагружаем страницу со входом.
4. Проделываем все операции заново.


4.1.C. Интеграция в свою админку Если у вас уже есть админка и запуск сессии админа, то наши коменты можно интегрировать с любой сессией админа, на любом сайте!
1. Первое, что нужно проверить, а может и ничего делать не нужно!
Заходим на свой сайт «админом» и идем на страницу авторизации коментов…
и если вы видите такую страницу, то вам действительно ничего делать не нужно!
Это скорее исключение, но название вашей сессии админа такая же, как и у нас…
2. Если вы пролетели в пункте 1, то ничего страшного!
Спокойно! Я с Вами!
Вам нужно узнать где запускается сессия админа на вашем сайте.
Обычно она запускается в скрипте, который обрабатывает вход в админку.
Это должно выглядеть примерно так:
$_SESSION[название вашей сессии админа] = ‘какие-то данные админа’;
3. Вам нужно впереди запуска вашей сессии поставить нашу сессию админа… строка должна выглядеть так:
$_SESSION['admin'] = $_SESSION[название вашей сессии админа] = ‘какие-то данные админа’;

Ещё.


4.1.D. Аватар админа В любом из выше перечисленных пунктов, если запустилась сессия админа(наших коментов) - $_SESSION['admin'], то зайдя на тестовую страницу.
Адрес которой должен быть, при расположении папки в корневой папке…
Вы должны увидеть аватар админа:
Для изменения аватара - поступаем аналогично

4.1.E. Вход со страницы. Наводим мышку на горизонтальную линию, после главной формы… - это вход в админку.
Если вы авторизованы, то вас вернёт на страницу, откуда вы пришли!

4.1.F. Безопасность Безопасность - это, наверное самое сложное!
Со всех щелей лезут гаденыши!
Давно я хотел себе сделать такую вещь, но никак руки не доходили, а тут я конкретно за морочился!
Пользуйтесь! Дарю!
Как это работает!? 1. Вы входите на сайт в форме авторизации! И если вы выбираете запомнить, то создается кука на год!
2. После того, как данные приняты, в наш файл с данными записывается переменная «write_cookie =1»…
3. Если переменная write_cookie существует, то всем желающим увидеть форму никак не получится..., а будет показываться все тот же скрин:
4. Естественно, что мы в процессе! И в том числе потому. что самим нужна эта система.
И ! ! ! После того, как вы авторизуетесь, выше показанного скрина вы не увидите, потому, что там будет настройки комментирования, см. ДЕМО

5. Пока вы самолично не нажмете кнопку выйти, никто и никогда – форму входа не увидит…

4.1.G. Цена за безопасность Если вдруг, пропали куки, и нет сессии, то вам придется войти и обновить и куки и сессию!
Но к сожалению!
За все приходится платить!
Я имею ввиду предыдущий пункт – безопасность!

Запись в файле дат существует, а куки нет.
От кук запускается сессия.
А от «дат» не избавится без сессии … замкнутый круг !

Поэтому!

1. Для решения этой проблемы, нам придется обратиться к файлу «__config.php» идем в строку .
2. Впереди переменной $all_data['write_cookie'] убираем восклицательный знак.
3. Загружаем на сервер,
4. Идем на страницу авторизации!
5. Авторизуется.
6. Возвращаемся в файл «__config.php», возвращаем все на место.
7. Загружаем на сервер,

P.S. Вчера написал вариант, но он был настолько опасный, поэтому, решил подумать вариант попроще и безопаснее!
К сожалению, повторюсь, этот замкнутый круг, никак не обойти! Можно, конечно, но тогда придется городить еще больший огород! wall
Файл настроек, с возможностью редактирования - "__data.dat" Если вы встречаете, слова:
(порядковый номер) + ЧТО ТАКОЕ это касается файла __data.dat - куда записаны основные настройки + которые можно изменить!
Попасть на страницу настроек, можно по адресу :
Естественно, что вы увидите вот это.
4.2. "__data.dat"
Как это будеи выглядеть : DEMO
1. Что такое "is_ip" //Число
1 = Да
"" = нет.
Если да? то проверяем есть ли у пользователя ip.
Значение сейчас
2. Что такое "is_cookie" //Число
1 = Да
"" = нет.
Если да? то проверяем есть ли у пользователя куки.
Значение сейчас
3. Что такое "is_session" //Число
1 = Да
"" = нет.
Если да? то проверяем есть ли у пользователя сессия.
Значение сейчас
Без номера. О трех выше идущих пунктах Эти три пункта 1,2,3, - нужны для проверки одноименного состояния браузера.
При включенном состоянии этих пунктов, при отсутствии какого-то из параметров(например отсутствует ip), форма не будет выводиться!
Каждому состоянию будет соответствовать своя строчка вывода.
Их можно найти в файле __form_for_comments.php


4. Что такое "is_url" //Число
1 = Да
"" = нет.
Если да - то проверяем текст на ссылку.
В случае, если ссылка обнаружена, то комментарий будет скрыт до проверки админом.
Исключения будут для ссылок на страницы вашего сайта.
Значение сейчас 1 Результат для пользователя:
Результат для админа:

4.1. Что такое "is_bad_word" //Число
1 = Да(проверяем на мат)
"" = нет.
Проверка на мат - файл /comments+1_4/__admin/bad_word.dat - каждое слово с новой строки
Сообщение не будет записываться.
При каждом употреблении такого слова - сессия $_SESSION['BAD_WORD'] + 1 ...
Значение сейчас 1
4.2. Что такое "count_bads" //Число от 0 до бесконечности
При любом срабатывании пункта №4 и 4.1. к сессии будет прибавляться один...

$_SESSION['BAD_WORD'] + 1
Как только значение $_SESSION['BAD_WORD'] >= $all_data[count_bads] форма будет недоступна
Значение сейчас 5


5. Что такое "no_form" Показать скрыть форму отправки сообщения
//Число + текст
1. '' = Форма будет показываться,
2. '1'= Форма не будет показываться
3. 'Здесь текст' = Да, форма не будет показываться + текст который надо показать при закрытии формы.
Значение сейчас Для данного input-a, требуется дополнительное описание.
6. Что такое "write_cookie" //Число
1 = Да
"" = нет.
Да - форму входа никто не увидит, форма будет доступна всем.
Подробнее цена безопасности
Значение сейчас 1
7. Что такое "time_interval_to_send" //Число от 0 до бесконечности
//время (3600 = 1час) интервал отправки письма на почту о новом сообщении
Значение сейчас
1. Если установлен 0, то время не будет записываться. И данного интервала не будет существовать.
2. Если time_interval_to_send > 0, то это будут секунды. Т.е интервал между отправкой сообщений вам на почту о новых сообщениях на сайте.

Зачем!? Когда вы столкнетесь, то вы поймете, что эта за замечательная штука!
Если у вас посещаемый сайт, то рано или поздно, вы придете к тому, что как-то надо избавляться от огромного количества писем в ящике, оповещений о новых сообщениях на сайте! Которые вы и просматривать может не собираетесь…
В общем… устанавливаем например 3600 – это 1 час.
Если письмо вам отправлено, то после, в течении этого времени(3600) письма не будут отправляться, а будут складываться в админку – демо настроек.. и здесь же будет и ссылка на эту страницу…
8. Что такое "show_about_new_coment" //Число
1 = Да
"" = нет.
Показать - скрыть оповещение о новых сообщениях в промежутке времени из пункта №6
Значение сейчас 1 1.Будет оповещение в виде колокольчика на странице с настройками(DEMO):
2.Напротив слов оставить комментарий.
9. Что такое "time_or_change_or_delite" //Число
В зависимости от выбранных параметров, для пользователя, оставившего сообщение доступно редактирование и удаление сообщения в течении ниже приведенного времени.
Значение "time_or_change_or_delite" может принимать 5 параметров:

1. Всегда
2. Никогда
3. 1 минута
4. 1 час
5. 1 сутки
Значение сейчас Всегда В теме редактирование сообщений, данный параметр, будет выглядеть так. как показано в пункте №2
10. Что такое "time_or_change_or_delite" //Число
//Сколько сообщений может отставить пользователь
Значение сейчас 10
11. Что такое "max_email" //Число
//максимальная длина email
Значение сейчас 30
12. Что такое "min_name" //Число
//минимальная длина имени
Значение сейчас 4
13. Что такое "max_name" //Число
//максимальная длина имени
Значение сейчас 30
14. Что такое "min_comments" //Число
//максимальная длина сообщения
Значение сейчас 5
15. Что такое "max_comments" //Число
//максимальная длина сообщения
Значение сейчас 2000
16. Что такое "interval_between_comment" //Число
//время 60 = 1 минута интервал между сообщениями
"0" - интервала нет...
Значение сейчас 60
17. Что такое "comments_only_for_admin" //Текст
//Адрес(а) ссылки, через запятую. Количество - неограниченно
Приоритет 2.

Значение сейчас
http://comments.dwweb.ru/comments+1.4/documentation.html
http://comments.dwweb.ru/page/history_comments+.html
http://comments.dwweb.ru/page/blog.html
http://comments.dwweb.ru/page/thanks.html

1. Если поле пустое, то - ничего не будет происходить.
2. Иначе, на всех адресах, которые будут записаны, будет выводиться текст, который приведен выше "comments_only_text".
21. Что такое "page_only_for_admin" //Текст
//Адрес ссылки (например: "http://dwweb.ru/page/news/005_kto_ya.html"),
Если вам требуется полностью скрыть страницу от всех, кроме вас.
Чтобы никто не смог ничего на ней посмотреть.
Вывод информации для всех кроме вас в номере строки :

Строка №802 в файле __head.php.
В поле ввода нужно ввести адрес, который вы хотите закрыть

Состояние сейчас:
https://dwweb.ru/page/__test/o_vseh_izmeneniyah.html
22. Что такое "rezult_over" Либо да либо нет.
Если да(1), то всплавающее окно сверху.
Если нет(поле пустое), то всплывающее окно снизу.(код слишком большой получился, поэтому на отдельной тсранице __result_buttom.php)
Состояние сейчас:
23. Что такое "is_rss" Либо да либо нет.
Если да(1), то подписаться на новые комментарии можно.
Если нет(поле пустое), то подписаться на новые комментарии нельзя.
Состояние сейчас:
1
24. Что такое "integration_in_your_system" Нашу систему можно интегрировать в ваш сайт:
Изначальные условия при которых система должна работать исправно
Внимание! Для пункта 1.1. и 2.1. - эти интеграционные элементы должны располагаться выше строки - с подключением: 2.1 КАК ПОДКЛЮЧИТЬ СИСТЕМУ К САЙТУ!?
Если же, активация сессии админа и пользователя произойдет ниже, то должна произойти перезагрузка страницы, и только после этого, будут доступны соответствующие функции!
1. Для админа: 1.1. Уже было сказано ранее об интеграции с админкой…
Вам нужно знать и/или просто найти, где запускается сессия админа, эта строка должна иметь какой-то такой вид:

$_SESSION[название вашей сессии админа] = ‘какие-то данные админа’; В начало этой строки нуно поставить :
$_SESSION['admin'] = И строка должна иметь такой вид:
$_SESSION['admin'] = $_SESSION[название вашей сессии админа] = ‘какие-то данные админа’;

1.2. Аватар админа: is_my_avatar
1.3. Имя админа(обязательный параметр): name_admin
1.4. Емайл админа(обязательный параметр): email_admin
1.5. Имя в форме от кого(обязательный параметр): name_for_form
2. Для пользователя: 2.1. Установка сессии для пользователя (обязательный параметр) :

Для интеграции пользователя – вам нужно знать, в каком месте запускается сессия пользователя, она должна иметь вид:
$_SESSION[название_вашей_сессии_пользователя] = 'какие-то данные пользователя' Вам всего-то нужно добавить перед этой строкой запуск сессии - $_SESSION['dw_user'] и знак равно "=" итого строка должна иметь вид:

$_SESSION['dw_user'] = $_SESSION[название_вашей_сессии_пользователя] = 'какие-то данные пользователя'

2.2. Аватар пользователя:
Если мы интегрируем в вашу ситему, то по умолчанию у пользователя должен быть свой аватар...
//Нужно_заполнить_$IMG_USER Строка № 109 в файле __config.php
Путь к нему нужно прописать:
$IMG_ADMIN = $imgAva ='Здесь путь до аватара пользователя';

Если нет, то по умолчанию будет выводиться аватар по умолчанию пункт 1

2.3. Емайл пользователя(обязательный параметр):
//Нужно заполнить $EMAIL_USER Строка № 110 в файле __config.php
$EMAIL_USER = 'Здесь емайл пользователя';

2.4. Профиль пользователя:(обязательный параметр)
//Нужно заполнить $USER_PROFILE Строка № 114 в файле __config.php
$USER_PROFILE = 'Здесь ссылка на профиль пользователя';

2.5. Имя пользователя(обязательный параметр):
//Нужно заполнить $USER_NAME Строка № 117 в файле __config.php
$USER_NAME= $name=$name_comments = 'Здесь имя пользователя'; //Нужно заполнить John Doe

2.6. Куки пользователя - отсуствуют за ненадобностью, в системе эту функция должна быть.

3. Для всех отсальных будет выводиться : комментарии доступны только зарегистрированным
Состояние сейчас:
25. Что такое "is_my_page" //Текст
//Адрес ссылки (например: "http://dwweb.ru/page/news/005_kto_ya.html"),
Для тех, кто в танке... ссылка должна быть в поле textarea без кавычек!
Который будет прикреплен к вашему имени, в комментариях.
И будет иметь вид, как в моем случае:
И в коде:
<a href="http://dwweb.ru/page/news/005_kto_ya.html" target="_blank">Марат</a>
Значение сейчас
http://dwweb.ru/page/news/005_kto_ya.html
Если поле пустое, то - имя будет выводиться без ссылки.

26. Что такое "is_my_avatar" //Адрес на ваш аватар.
Возможно, что вы не хотите загружать свой аватар в папку с коментами, или возможно он уже есть у вас в системе!
Достаточно в поле ввода ввести адрес на ваш аватар и ваш аватар будет записан.. полным адресом.

1. Можно выбрать любую картинку для аватара например:
https://yt3.ggpht.com/a-/AAuE7mCeZSMYauZ-RKadde9H00USCv_821THw6Ldbw=s88-c-k-c0x00ffffff-no-rj-mo Она будет выглядеть так:

Документация по системе комментариев Comments+ (1.4), инструкция установки
Для этого... выше приведенный адрес нужно поместить в поле ввода.

2. Если нет, то по умолчанию будет выводится адрес картинки, которая будет загружена админом:
По умолчанию это адрес :
https://ВАШ_САЙТ/comments+1_4/blocks/admin.png

Документация по системе комментариев Comments+ (1.4), инструкция установки
3. Состояние сейчас:


27. Что такое "name_admin" //Отвечает за вывод имени админа в настройках и в поле ввода для отправки сообщения.
1. Если поле пустое, то имя админа будет = admin
2. Если в поле будет имя, то имя админа будет = содержимому полю.
3. Состояние сейчас:
Марат

28. Что такое "email_admin" //Отвечает за отправку сообщения админу.
1. Поле не может быть пустым...
2. Состояние сейчас:
Скрыто - будет выводиться : $all_data[email_admin]

30. Что такое "is_show_all_comment" Либо да, либо нет
1. Чекбокс «ДА» активен - «все сообщения будут доступны всем.
2. Чекбокс «НЕТ» активен - «все сообщения» будут доспны только админу.




4.2.1.2. Дополнительные возможности админа Дополнительные возможности админа, которые не вошли в файл - "__data.dat"
1. Удалить сообщение пользователя. У админа есть возможность удалить сообщение пользователя, прямо со страницы с комментом.
Наводим мышку на сообщение.
Справа появится три точки, наводим мышку на них.
И видим строку удалить.
2. Скрыть сообщение пользователя. У админа есть возможность скрыть сообщение пользователя, прямо со страницы с комментом.
Наводим мышку на сообщение.
Справа появится три точки, наводим мышку на них.
И видим строку скрыть.
Если вы скрыли комментарий, то будет соответствующая запись около коммента.
3. Опубликовать сообщение пользователя. У админа есть возможность опубликовать сообщение пользователя, прямо со страницы с комментом.
Наводим мышку на сообщение.
Справа появится три точки, наводим мышку на них.
И видим строку опубликовать.
4. Закрепить сообщение Любой комментарий можно закрепить!
Наводим мышку на сообщение.
Справа появится три точки, наводим мышку на них.
И видим строку закрепить.
После того, как вы нажмете по строке закрепить, будет индикация. что строка закреплена.
5. Открепить сообщение Комментарий который закреплен, можно открепить!
Наводим мышку на сообщение.
Справа появится три точки, наводим мышку на них.
И видим строку открепить.
6. Показать последнее сообщение //Число
Два значения:
1. Есть, любое число, кроме "0", если поставить 5 - то будут выводиться 5 последних сообщений
Кнопка с единственной целью включить запись последних сообщений.
2. Нет - пустота или "0" (ничего не будет происходить)
3. В том месте, где хотим, чтобы выводились последние сообщения вставляем код:
<? include($_SERVER['DOCUMENT_ROOT'].'/comments+1_4/__last_comments/__last_comments.php'); ?>
Например на сайте будет выглядеть так :
4. Сообщения подчиняются всем правилам, что применяются к сообщениям на странице.
7. Запись последних сообщений для главного сайта и поддоменов Два значения:
1. Да.
Если да, то для каждого из поддоменов будет создаваться, автоматически, свой файл последних комментов и будет выглядеть, например для поддомена
http://pro.dwweb.ru : pro_dwweb_ru.dat А для главной
http://dwweb.ru : dwweb_ru.dat
2. Нет.
Все сообщения будут складываться в один файл : __last_comments.dat 8. Показать последнее сообщение с помощью javascript. Не то, чтобы это какая-то супер фишка, просто давно хотел сделать себе вывод последних комментариев с помощью javascript.
По крайней мере код будет немного чище.
Как это работает!?
1. Размещаем в том месте, где требуется вывести последние комментарии с помощью javascript вот этот код…
http://ваш_домен/comments+1_4/__last_comments/__last_comments.js.php
Например вот так в коде, и результат вы видите на этой странице в правом столбце.
Будем рассказывать относительного данного поддомена... search_domen
2. В строке № 5
$name_site - пишем домен, или поддомен как в нашем пример...
$name_site = 'comments.dwweb.ru';
3. В строке № 7
$domen - приписываем домен, или поддомен. как в нашем случе...
$domen = 'http://comments.dwweb.ru';
Всё!
Как я уже сказал, справа вы видите результат...
Если вам требуется кроме одного домена вывести еще где-то...на другом поддомене то:

Для каждого нового поддомена Если файл последних комментов разный, например : сейчас, для домена файл комментов - это - dwweb_ru.dat, а для поддомена comments_dwweb_ru.dat
Придется все пункты начиная с 1 пройти по новой...
Разберем, на примере нового поддомена http://pro.dwweb.ru
1.A Создаем файл с любым названием... например
http://ваш_домен/comments+1_4/__last_comments/любое_название_файла.php
- туда копируем все содержимое из файла __last_comments.js.php естественно, что код вставки на страницу, будет отличаться от пункта 1 это будет:
<script src="http://dwweb.ru/comments+1_4/__last_comments/любое_название_файла.php"></script>
2.A В строке $name_site - для нашего второго примера это поддомен pro ...
$name_site = 'pro.dwweb.ru';
3.A В строке $domen - также здесь меняем comments на pro...
$domen = 'http://pro.dwweb.ru';
Почему с javascript не работает все автоматически, как в php!? Дело в том, что функции include в полном понимании этого слова у javascript не существует. Если лишь эрзацы.
Что это значит!?
Это значит, что в файл php сперва должен выполниться на главном домене, а уж потом его заберет javascript и как раз поэтому, ему нужно скормить две строчки, которые меняли.
Я не утверждаю. Что эту задачку нельзя решить… просто уже файл php был написан - __last_comments.php – его нужно было немного модифицировать и подсогнать под нужды javascript
З.Ы. И если треббуется убыстрить загрузку ... и чтобы страница не задумывалась из строки № 104
стили в файле "__last_comments.js.php" -нужно их переместить в ваш главный файл стилей.
5.3 __form_for_comments.php" 5.3.A. Аватар, обработка + сессия пользователя. Подойдя к теме аватара… пришло понимание, что каждую строчку описывать невозможно!
Поэтому, только логика, и если уж никак без объяснения…, то будут подробности!

Начало скрипта строка Конец скрипта
1. Аватар будет зависеть от емайла, (кроме админа - заранее известный путь).
Для пользователя - в любом случае в сессию пользователя запишем емайл пропущенный через md5 - строка № 709 2. Если свой аватар не был загружен, то аватар будет по умолчанию

Документация по системе комментариев Comments+ (1.4), инструкция установки
3. Если аватар был уже ранее загружен, то его помещаем в переменную $imgAva - для отображения в форме.
$img_hidden - для записи в файл,$face_user_file - для сохранения в папке.
3.1. Аватар в коментах, для каждой отдельной строки будет проверять на существование создавая путь из md5_email (если существует, а если нет, то по умолчанию)
4. Для аватара(например) будет доступен такой адрес...
http://ВАШ_САЙТ/comments+1_4/ava/73/734c845f260e89987d3125bba2d08ff3.png

Документация по системе комментариев Comments+ (1.4), инструкция установки
5. Дополнительная папка "73" -создалась автоматически...из первых двух символов md5_email(это сделано для того, чтобы не загружать аватрки в одну папку...)
6. Количество возможный вариаций папок = 38 * 38 = 1444 - вопрос на засыпку... откуда цифры...

5.3.B. Загрузка аватара 1.
Аватар можно загрузить свой, стандартный выбор фото, max высота, ширина 100px, и не более 30 кб.
При нажатии на аватар рядом с формой ввода сообщения.
Для того, чтобы скрыть форму - надо опять нажать по аватару.


2.
Если вы ввели тот же самый емайл, при повторном сообщении, то аватар установится автоматически, тот, который загрузили в пункте №5.3.B.1..
3.
Если вы хотите использоваться другой аватар, то при следующем комментарии, нужно выбрать другой аватар.
Главный файл javascript - "__js.js"
5.4 "__js.js"

1 //Функция Q
Функция Q для короткого написания "document.querySelector(elem)" строка 29

2 //Все переменные
Все переменные, которые так или иначе, придется декларировать(кроме особых случаев) строка 31

3 //для вывода результата вверху страницы
При перезагрузке страницы и выполнения каких-то запросов(и javascript тоже...).
Если "<rezult></rezult> = display:block;" при php загрузке + перезагрузке, то информация покажется на 4 секунды строка 39

4 //Функция Q применим к "time_div" с "
Для получения и оправки и получения из блоку "time_div"(для будем использовать несколько раз...) строка 42

5 //Переменная colors
Таблица цветов для BBCode строка 47

6 //var htmlToBBCode
Функция BBCODE - номер строки 190
Функция Нужна для преобразования кодов Bbcode до открытия окна редактирования сообщения

7 //var htmlToBBCode
Функция BBCODE - номер строки 275
Функция Нужна для преобразования кодов Bbcode до открытия окна редактирования сообщения



9.Сессия пользователя. 9.1.
Если запись совершена, то запустится сессия $_SESSION['dw_user'] , которая будет равна емайлу пропущенного через md5


Редактирование сообщений Три варианта поведения строки комментариев:
При наведении мышки на строку командирования, справа появляются точки, при наведении на которые, открывается новое окно.

1. Для админа доступно три варианта, редактировать, закрепить, удалить.


2. Для юзера, который только что отправил сообщение… доступно: редактировать, удалить.
Возможность такая существует, пока существует сессия – как правило – до закрытия браузера, если браузер на закрыт, то зависит от настроек сервера.(Время может колебаться… в большом диапазоне.)


3. Для всех стальных доступно лишь пожаловаться.


15. BBcode Мы не будем углубляться в понятие BBcode, но одно могу сказать, что это классная вещь!
И пока не попробуешь, то никогда не поймешь!
Используем для оживления текста сообщения.
Как это работает!?. При нажатии на кнопку BBcode – она находится в правом верхнем углу от поля ввода текста.
Там вы сможете увидеть – имитацию заголовка буква L в квадратных скобках [L]
(Слева -как пишется. Справа результат. Пробелы слева, вокруг букв - чтобы bbCode не срабатывал)
[ L ]Имитация_заголовка[ /L ] =
Имитация_заголовка [ b ]жирный_текст[ /b ] = жирный_текст
[ i ]наклонный_текст[ /i ] = наклонный_текст
[ s ]Перечеркнутый[ /s ] = Перечеркнутый
[ u ]Подчеркнутый[ /u ] = Подчеркнутый
[ sup ]Степень[ /sup ] = Степень
[ sub ]индекс[ /sub ] = индекс
[ COLOR="yellow" ]Здесь_текст[ /COLOR ] = Здесь_текст
[ ur l=здесь_ссылка]текст_ссылки[ /url ] = текст_ссылки
[ img ]http://dwweb.ru/__a-data/FOTO/About_me/about_me_1.png[ /img ] =
Картинки отключены ... до выяснения...


Смайлы. Как это будет выглядеть!?
Например:
[ wall ] = wall
1. И естественно, что при любом программировании возникают те или иные проблемы.
Не очень мне нравилось, как это выводилось в коде – просто огромный кусок кода, а полстраницы, как черная дыра - обработанная таблица со смайлами.
А без этого никак… потому, что, надо с помощью php отсканировать две папки со смайлами и советующее обработать. А уже после обработки отдать Яваскрипту и соответственно передать можно только с помощью echo, поэтому все эти смайлы были в коде.
2. Чтобы от этого избавиться, php обработку смайлов поместили на отдельную страницу. И с помощью javascript будем их помещать в переменную smiles
Для справки: эта страница инклудится в «__config.php»
3. И конечно же, если вдруг, возникают проблемы со смайлами, (в выводе смайлов после вывода Bbcode панели)

Блокировки:
1. Определить существует ли ip, заблокировать пользователя по ip
2. Ограничить количество отправляемых писем на сайте



Что такое приоритет!? Чем выше число, тем выше приоритет!
При равных условиях, условие с более высоким приоритетом будет выполняться.
Более низкий приоритет будет забиваться.



Почему админ не может подписаться Админ не может подписываться на странице, т.к. он может получать оповещения о каждом сообщении.
Если вы не изменили настройки получения писем.
+ в любом случае, для админа доступна опция проверки поступивших сообщений.

Комментирование доступно только админу
ava
2019/07/18 - 12:45 | Марат
Решил изменить название нашей системы комментариев с Pro-DW Comments на Comments+, а то… как-то длинно это все выглядит.
А так и компактнее, и симпатичнее… как мне кажется!
+ Хотел добавить в админку смену аватара, но потом подумал, что в комментах есть, и смысл еще один кусок кода писать, который возможно один раз, ну два будет использоваться и передумал!
В любом случае… вам придется протестировать систему, когда вы её поставите!
Почему в этот момент и не протестировать загрузку аватара – в данном случае свой…?
ava
2019/07/18 - 0:04 | Марат
Проделана колоссальная работа! Полностью переписан файл javascript!
Почему!?
В самом начале допустил ошибку… разделил верхнюю форму от цикла вывода сообщений!
И поэтому пришлось писать… два варианта одного и того же…
И практически, когда подходило все к окончанию, то количество кода возросло…
Естественно два раза!(Кто бы мог подумать…wall)
И естественно, что разбираться в коде стало просто не выносимо!
И исправление ошибок – приносило мучительную боль!
И когда крышка вскипела…
То, просто весь код убрал в сторонку и подумав пару дней…
Пришел к тому, что надо сделать обработку всего, как будто –и верхняя форма имеет строку цикла…
И как-то само собой все встало на свои места!
В процессе… были внесены изменения! И код сократился, не только в два раза, но и процентов на 20 в конечном размере.
В общем получилась, как мне кажется красота!
И!
Собственно были добавлены BBcode к каждой строке…
Осталось только протестировать…
И... еще пару моментов надо обмозговать... и... в принципе - готово!
ava
2019/07/12 - 16:34 | Марат
Сегодня дописал скрипт - ”последние комментарии”, и разместил его не только на родительском сайте, но и на поддомене !
Но в чем была проблема!?
В том, что на всех моих сайтах были разные варианты версии 1.3.!
Не буду повторяться о том, что уже было сказано лишь дополню, что был и четвертый вариант версии 1.3. , который раздавался и использовался только на тестовой странице. транице!
И на стыке версий 1.3 -1.3.1 – мне подумалось, что это все меня, как-то притомило! В смысле того, что уходило много времени на решение самых простых задач и на исправление возникающих ошибок…
И что нужно сделать одну систему!
Идеальную… для всех моих сайтов! И её же и раздавать!
Ииии?
И как раз первая строка и ссылка подтверждает сказанное! Что центр и система один, из которого можно управлять всеми комментами и на поддомене в том числе!
Ляпота!
ava
2019/07/12 - 11:00 | Марат
Неоднократно было сказано! И повторяю еще! Мы полностью переделываем систему комментариев!
Вернее мы её уже переделали! bravo
Но доводим до ума!
И в том числе!
Что замечательно!?
ТО, что все основные функции скрипта комментариев можно отключить из админ панели, которая у нас уже есть, о демо мы говорили!
И вот опять! Пару дней тому назад, я подумал, что нужно сделать последние комментарии!
Вы видите их справа!
Подробное описание, как это работает - будет в отдельном описании!
+Отдельный файл для родительского сайта и поддоменов.
ava
2019/07/09 - 15:02 | Марат
Как-то увидел на одном сервисе, кнопку закрепить строку, вернее у многих есть такая функция!
И как мне кажется довольно интересная!
Сказано! Сделано!
На удивление написал буквально за час!
+ В эту же тему... как открепить...
ava
2019/07/07 - 20:16 | Марат
Пару дней надо отдохнуть от нашей системы...
А то, что-то, как-то... мой энтузиазм пришел в упадок... или просто устал...
Да..
Сегодня дописал по трем параметрам ip,session и cookie
Надо еще написать проверку на количество bbcode - ограничить количество используемых в одном комментарии!
Вроде бы, когда начинаешь писать о том, что сделал... все умещается в три строчки, а потратил целый день!
Так и ваш босс говорит... че целый день делал!?
ava
В чем собственно проблема!?
Почему , вроде бы такие простые операции занимают столько времени!?
Кроме того, чтобы написать скрипт, его нужно проверить, на поведение в трех режимах... админ, пользователь и пользователь с сессией.
Потом написать пояснение к проделанной работе и сделать ссылку в файле dat - если надо.
ava
2019/07/07 - 14:18 | Марат
Нас просто не сдержать! be
Сегодня столько наделали и переделали...
И описание сделали и скрипты написали... ляпота!

4.2.1.2. Дополнительные возможности админа
4.2.1.2.1 Удалить сообщение пользователя.
4.2.1.2.2 Скрыть сообщение пользователя.
4.2.1.2.3 Опубликовать сообщение пользователя.

Дописали пункты 1-3 в навигации и пункт 2 полностью переписали.
ava
2019/07/07 - 9:30 | Марат
Когда я установил систему комментирования на родительский сайт! И… проделал все те манипуляции, о которых писал здесь, то у меня было реальное чувство какого-то нового шага в программировании! Нового шага в моей системе комментирования!
В общем!
Это действительно круто!
Вы просто не представляете, какое-это прикольное и классное чувство!
wall
ava
2019/07/05 - 14:29 | Марат
Что интересного!? scratch_one-s_head
Перенесли папку со скриптом, из корневой папки поддомена 'pro.dwweb.ru' в корневую папку dwweb.ru

Зачем!?

1. У меня есть несколько поддоменов и ранее приходилось на каждый поддомен закидывать экземпляр скрипта! Это утомляло!
И на некоторых поддоменах, комментирование просто отсутствовало... ну нет и нет... слишком возни много...
2. Теперь! Этого не нужно! Просто нужно в первой строчке включения скрипта, написать другую строчку.
3. Более подробно опишу выше в настройках!

P.S.

И в свое время… было несколько версий одновременно, и на сайте, и на поддомене и третья версия это 1.3, у меня просто в голове все перепуталось!
И с этим нужно было, что-то делать!
И вот… у нас одновременно идет чистка на родительском сайте http://dwweb.ru/ , и в том числе… старую систему комментирования , просто на свалку… она меня там так притомила, что даже реставрировать не стал!
И вы даже не представляете, какой это кайф!
ava
2019/06/30 - 12:44 | Марат
Вчера полностью закончил с административной частью, начиная с пункта 4.1. .. до пункта 4.1.G.
ava
2019/06/28 - 2:17 | Марат
Теперь можно заменить аватар админа при добавлении сообщения...
Если требуется изменить аватар на другой, то придется отправить еще раз сообщение...
ava
2019/06/28 - 0:17 | Марат
Добавлено…
К примеру, вам нужно, на определенной странице, не показывать форму с коментами, или оставить форму комментирования доступной только админу!
В процессе додумывания...
Эти две функции мне реально не хватало…
Например на этой комментирование доступны только админу.
ava
2019/06/27 - 22:04 | Марат
По многочисленным просьбам...
Решили проблему повторной отправки сообщения!
Вроде проблема так себе, но пришлось пошевелить мозгами...
Именно проблема была в том, что никак я не мог врубиться в механизм... работы...
А на самом деле все очень просто!
ava
2019/06/27 - 21:26 | Марат
Добавим имитацию заголовка...
Имитация_заголовка
Сомневаюсь нужны вообще заголовки...
Сделаем имитацию... для начала, а там посмотрим...
ava
2019/06/27 - 14:40 | Марат
Таксссс... сегодня добили...
жирный текст
наклонный текст
Перечеркнутый
Подчеркнутый
ТекстСтепень
ТекстИндекс
Здесь_текст
ССЫЛКА

bravo
ava
2019/06/27 - 12:54 | Марат
Как у нас идут дела!?
Добил ...
Наконец-то вроде работает цвет... Bbcode
Например вот какой-то покрашенный текст...
+ Уже работают смайлы...bravo
ava
2019/06/16 - 14:08 | Марат
Как бы странно это не выглядело… но сегодня что-то меня приперло и я целый день, ну, конечно не весь день, но довольно много времени потратил на создание
каркаса, начал скрипты и надо сказать, что … относительно предыдущей версии – пока идет все как по маслу и причем с такой скоростью, как я сам не ожидал…
Пока… на данный момент сообщения будут закрыты, но я уже могу комментировать!
1. Нарисовали форму
2. Сейчас уже в процессе рисования формы ответа