[beta] USERCALL NOTIFY with userlinks 1.0 by MQs |
Autor |
Wiadomość |
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 27-11-2012, 16:49 [beta] USERCALL NOTIFY with userlinks 1.0 by MQs
|
|
|
Miała być wersja finalna na mikołaja, ale będę zajęty i nie będę miał czasu na testy (i mniejsze dodatki), więc wrzucam teraz jako beta...
USERCALL NOTIFY with userlinks 1.0 by MQs
Kod: | #################################################################
# Nazwa: USERCALL NOTIFY with userlinks
# Autor: MQs
# ver. 1.0 (beta) 27/11/2012
# ------------------------------------------------------------------------------
#
# Opis: Nick użytkownika umieszczony pomiędzy gwiazdkami (np. *MQs*)
# zostanie wyświetlony w poście jako link do profilu. (userlink)
#
# Wysłanie postu zawierającego taki link powoduje jednoczesne
# wysłanie "nagłówka" prywatnej wiadomości z zawiadomieniem
# przywoływanego użytkownika w postaci linka do postu. (usercall)
#
# Poziom instalacji: N/A
# Czas instalacji: N/A
#
# UWAGA: Pliki sa pogrupowane. Po instalacji każdej KOLEJNEJ grupy
# modyfikacja będzie działać w ograniczonym zakresie.
# (można instalować etapami)
# NAJPIERW WYKONAJ ZAPYTANIA SQL!
#
# Pliki do edycji (22):
#
# [UESRLINK]
#
# includes/bbcode.php
# posting.php
# viewtopic.php
# images/jsscipts.js
# templates/*/bbcode.tpl
#
# [USERCALL]
#
# includes/functions_post.php
# includes/functions_add.php
# privmsg.php
# language/lang_polish/lang_main.php
# language/lang_english/lang_main.php
# templates/*/privmsgs_body.tpl
#
# [USER PREFS & BOARD CONFIG]
#
# admin/admin_board.php
# admin/admin_users.php
# includes/usercp_register.php
# includes/usercp_avatar.php
# language/lang_polish/lang_profile.php
# language/lang_polish/lang_admin_board.php
# language/lang_english/lang_profile.php
# language/lang_english/lang_admin_board.php
# templates/*/admin/board_config_body.tpl
# templates/*/profile_add_body.tpl
# templates/*/admin/user_edit_body.tpl
#
################################################################# |
Będę wdzięczny za testy i sugestie oraz wskazówki dalszej optymalizacji. W instrukcji też mogą być błędy (niechcący zmieniłem wszystko na małe litery w pewnym momencie )
Zasady działania:
Linki są widoczne dla zarejestrowanych użytkowników (goście/boty widzą pogrubiony tekst)
Zamiana na linki następuje po znalezieniu użytkownika w bazie danych.(*nieistniejący_nick* lub *...tekst...* pozostanie w niezmienionej formie)
Userlink w poście/bazie danych zapisany jest w postaci ukrytego tagu "user" z jego numerem id np:
Kod: | [user=125]nickname[/user] |
Wpisanie poprawnej składni ręcznie z niepoprawnym id zostanie zmienione na poprawny link
Wpisanie poprawnej składni z nieistniejącym użytkownikiem (np. nickname) zostanie zmienione na *nickname*
Nie wyśle powiadomienia użytkownikom w cytowanym tekście, mimo że wyświetli ich jako linki
Powiadamia też autora cytatu (instalacja automatycznego dodawania linka opcjonalna) jeśli chcemy taki link dodać ręcznie to zapiszemy tag "quote" w postaci:
Kod: | [quote="*nick*"] ... [/quote] |
Nie wyśle żadnego powiadomienia jeśli post zawiera więcej niż 5 różnych nicków (limit moda=20, admin/jradmin=50) - antyflood.
Nie wysyła powiadomień do postu, o którym powiadomienie znajduje się w skrzynce użytkownika (np. przy edycji postu)
Nie wysyła powiadomień od ignorowanych użytkowników
Jeśli użytkownik ma zablokowane wysyłanie PM to nie wysyła też powiadomień
Powiadomienie wyświetla jako nieprzeczytane jeśli nie przeczytany jest linkowany w nim post
Liczba powiadomień nie wlicza się do limitu pozostałych wiadomości (oddzielny limit)
Jeżeli powiadomienie powoduje przekroczenie limitu (domyślnie 10, 30 mod, 60 admin) najstarsze jest usuwane.
Nie wysyła powiadomień do tematów na forach, do których użytkownik nie ma dostępu
Update 1 (27/11/2012 17:53): Dodałem małą poprawkę - zmienione wyświetlanie userlinków w overlib tematu (includes/functions_add.php)
Update 2 (30/11/2012 0:38): Wyłączenie powiadomień do tematów z brakiem dostępu (includes/functions_add.php, includes/functions_post.php)
Do zrobienia:
- dodanie filtra wiadomości/powiadomień na liście
- optymalizacja wysyłania PW.
- kolorowanie nicków wg grup/rang w postach (?)
usercall1.jpg
|
![](files/thumbs/t_usercall1_298.jpg) |
Plik ściągnięto 81 raz(y) 19,87 KB |
usercall2.jpg
|
![](files/thumbs/t_usercall2_798.jpg) |
Plik ściągnięto 313 raz(y) 37,41 KB |
usercall3.jpg
|
![](files/thumbs/t_usercall3_153.jpg) |
Plik ściągnięto 160 raz(y) 28,67 KB |
usercall4.jpg
|
![](files/thumbs/t_usercall4_153.jpg) |
Plik ściągnięto 204 raz(y) 55,47 KB |
Usercall Notify.rar
|
Pobierz Plik ściągnięto 887 raz(y) 321,98 KB |
|
|
|
|
![](templates/subSilver/images/spacer.gif) |
Gadatliwa Kasia
|
|
|
|
namelanzu
Posty: 96
|
Wysłany: 15-01-2013, 12:15
|
|
|
Bardzo przydatne ! Jesteś wielki !;) |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Aciel
Pomógł: 1 raz Posty: 77
|
Wysłany: 22-02-2013, 17:32
|
|
|
Kod: | # viewtopic.php ################################################################
#
#---{ ZNAJDŹ }------------------------------------------------------------------
# [autor cytatu jako userlink]
javascript:em(\'[b]' . str_replace("'", "\'", $poster_username) . '[/b], \')
#
#---{ zamień na }---------------------------------------------------------------
#
javascript:em(\'*' . str_replace("'", "\'", $poster_username) . '*, \') |
Niestety w moim viewtopic.php , nie ma tej linijki. Da się jakoś rozwiązać mój problem? |
|
|
|
![](templates/subSilver/images/spacer.gif) |
czesio56560
![](images/avatars/25840423351822619bdfd8.png)
Pomógł: 210 razy Posty: 1131
|
Wysłany: 22-02-2013, 17:37
|
|
|
Daj swój viewtopic.php |
_________________ Nie wiem.
Nie znam się.
Zarobiony jestem.
Przyjdź Pan jutro. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Aciel
Pomógł: 1 raz Posty: 77
|
Wysłany: 22-02-2013, 18:40
|
|
|
Proszę.
viewtopic.zip
|
Pobierz Plik ściągnięto 794 raz(y) 24,21 KB |
|
|
|
|
![](templates/subSilver/images/spacer.gif) |
czesio56560
![](images/avatars/25840423351822619bdfd8.png)
Pomógł: 210 razy Posty: 1131
|
Wysłany: 22-02-2013, 19:13
|
|
|
Wpisz poprawny adres forum w profilu. |
_________________ Nie wiem.
Nie znam się.
Zarobiony jestem.
Przyjdź Pan jutro. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 22-02-2013, 20:39
|
|
|
Aciel, Wygląda na to, że masz usuniętą funkcję, gdzie kliknięcie na nick autora posta powoduje wpisanie go do szybkiej odpowiedzi (zamiast tego ink do profilu?), albo masz to rozwiązane inaczej
Możesz pominąć ten krok. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Czaston
![](images/avatars/16782990004d88eabdc0d20.jpg)
Pomógł: 22 razy Posty: 175
|
Wysłany: 23-03-2013, 10:29
|
|
|
A nie lepiej przywoływać użytkownika komendami @user lub "@user 2"? Takie właśnie jest zastosowanie w tym modzie do phpBB3. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 23-03-2013, 15:32
|
|
|
Nazwy userów mogą zawierać spacje oraz znak @ - ciężko wyłowić nicka bez unikalnych ograniczników (z dwóch stron). Oczywiście można to zrobić, ale skrypt będzie dużo bardziej męczył bazę o nieistniejące nicki (kolejne wyrazy lub części), czasem wykryje dwóch. np. (@Jan Kowalski i @Jan), a czasem nie wykryje istniejącego. Ewentualnie można wprowadzić to dla nowych forów i zastosować ograniczenia w zestawie znaków dostępnych w nazwie usera (najchętniej pozbył bym się spacji). Jeszcze inna możliwość to masowa zmiana spacji na podkreślenie. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Czaston
![](images/avatars/16782990004d88eabdc0d20.jpg)
Pomógł: 22 razy Posty: 175
|
Wysłany: 21-04-2013, 22:09
|
|
|
Tyle, że wpisywanie tagów [user=id][/user] z konkretnym ID może stać się męczące i cała ta czynność będzie prowadziła tylko do odstawienia modyfikacji ze względu na swoją niepraktyczność.
Na małych/średnich forach każdy user przeważnie przegląda wszystkie tematy, w których pojawiły się nowe wpisy i nawet bez specjalnych modyfikacji zauważy, że post/temat dotyczy się jego osoby.
Trzeba pomyśleć nad innym rozwiązaniem, który nie będzie obciążał bazy i jednocześnie będzie dobry w obsłudze. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 21-04-2013, 22:25
|
|
|
Czaston napisał/a: | Tyle, że wpisywanie tagów [user=id][/user] z konkretnym ID może stać się męczące... | Przecież właśnie dlatego ten tag to tylko mechanizm, którego użytkownik nie widzi (przeczytaj dokładniej opis). Jest jedynie zapisywany w bazie na potrzeby dekodowania linka. Pisząc wiadomość wpisujesz jedynie *nick* a skrypt zamieni to sobie na tag (i z powrotem na gwiazdki w przypadku edycji/overliba). |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Czaston
![](images/avatars/16782990004d88eabdc0d20.jpg)
Pomógł: 22 razy Posty: 175
|
Wysłany: 24-04-2013, 13:00
|
|
|
Przepraszam, mój błąd. Nie do końca zrozumiałem to tagowanie. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
Aciel
Pomógł: 1 raz Posty: 77
|
Wysłany: 31-05-2014, 12:36
|
|
|
Mam jakiś błąd.
Zapytania wykonane, wszystkie pliki edytowane.
Wyskakuje mi przy wejściu na forum:
Kod: | Could not obtain user information
DEBUG MODE
SQL Error : 1146 Table 'aniolowi_as.users_table' doesn't exist
SELECT user_id, username FROM users_table WHERE username IN ('')
Line : 958
File : bbcode.php
|
W załączniku wrzucam moje bbcode.php. Z góry dzięki za pomoc.
bbcode.rar
|
Pobierz Plik ściągnięto 729 raz(y) 9,94 KB |
|
|
|
|
![](templates/subSilver/images/spacer.gif) |
Woytec
![junior](templates/subSilver/images/ranks/rank_JA.gif)
Pomógł: 2596 razy Posty: 7676
|
Wysłany: 02-06-2014, 19:38
|
|
|
Sprawdź teraz
bbcode.rar
|
Pobierz Plik ściągnięto 620 raz(y) 9,98 KB |
|
|
|
|
![](templates/subSilver/images/spacer.gif) |
Gadatliwa Kasia
|
|
|
|
Aciel
Pomógł: 1 raz Posty: 77
|
Wysłany: 04-06-2014, 09:01
|
|
|
Niestety bez zmian. |
|
|
|
![](templates/subSilver/images/spacer.gif) |
|