Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Moderatorskie notatki w profilu użyszkodnika oraz zarządzanie emotkami w ACP


wiesniak

Rekomendowane odpowiedzi

Od pewnego czasu borykam się z problemem kontroli użytkowników na dość dużym forum (IP Board 2.3.6). Wiadomo, w jednym dziale ktoś coś przeskrobie, moderator tego działu go upomni, w innym ten sam user coś zamiesza, znów inny moderator go upomni i tak to upominanie trwa, a user powinien już dawno zebrać np. ostrzeżenie.

Prostym sposobem jest zrobienie tematu dedykowanego użytkownikom na cenzurowanym. Sęk w tym, że jest to niewygodne, bo trzeba przejść do tematu, wyszukać czy dana osoba ma coś na sumieniu i dopiero można działać. Podobnie z wypełnianiem.

Po dłuższym szukaniu okazało się, że istnieje modyfikacja User Notes (link).

Modyfikacja ładnie działa, tylko okazało się, że użytkownicy widzą dodane notatki.

Tu rodzi się pytanie: czy istnieje jakaś inna modyfikacja spełniająca rolę moderatorskich notatek (lub jej częścią jest taka funkcjonalność)?

Jeśli takie coś nie istnieje, to czy byłby ktoś chętny zmodyfikować User Notes, by w ACP była opcja "wybierz grupy, które mogą widzieć notatki"? Sam nie posiadam możliwości rozdłubania i wytestowania kodu, bo nie mam dostępu do śródeł IP Board.

Druga sprawa to zarządzanie emotkami. Czy jest jakaś modyfikacja, która zwiększa możliwości domyślnego menadżera emotikon? Mogę dodawać je w ACP pojedynczo, albo poprzez ładowanie paczek xml, ale nie mam możliwości np. usuwania. Mogę wcisnąć "delete" dostępne w katalogu "default", ale ten button tylko przenosi emotki do "unasigned", natomiast nie ma opcji definitywnego kasowania pojedynczej emoty. Od razu dodam, że nie mam dostępu przez FTP (lub SSH) do serwera, więc ta (jakże wygodna) opcja odpada. Przekopałem się przez invisionmodding oraz invisionize.com (mody dla 2.3.x) i niestety nic mi nie wpadło w oko, co by realizowało pożądaną przeze mnie funkcjonalność.

Będę wdzięczny za każdą poradę :-)

Odnośnik do komentarza
Udostępnij na innych stronach

Co do modyfikowania modyfikacji (masło maślane :D). To możesz spróbować poprosić autora danej modyfikacji o jej przerobienie i dostosowanie do Twoich potrzeb.

A w sprawie emotek to ja nic nie poradzę. Poczekamy aż Nasz ekspert pojawi się na forum :D.

Edytowane przez Bartek

...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Witaj,

na wstępie powiem, że w 99% przypadkach nie można wprowadzać zmian bez dostępu do kodu źródłowego forum.

Jednak:

Jeśli takie coś nie istnieje, to czy byłby ktoś chętny zmodyfikować User Notes, by w ACP była opcja "wybierz grupy, które mogą widzieć notatki"? Sam nie posiadam możliwości rozdłubania i wytestowania kodu, bo nie mam dostępu do śródeł IP Board.

Można by ograniczyć kod w bicie skina pod warunkiem, że jest coś dodawane do skina. Nie mam tej modyfikacji. Jak tam wyglądała instalacja? Były jakieś edycje skina?

Druga sprawa to zarządzanie emotkami. Czy jest jakaś modyfikacja, która zwiększa możliwości domyślnego menadżera emotikon? Mogę dodawać je w ACP pojedynczo, albo poprzez ładowanie paczek xml, ale nie mam możliwości np. usuwania. Mogę wcisnąć "delete" dostępne w katalogu "default", ale ten button tylko przenosi emotki do "unasigned", natomiast nie ma opcji definitywnego kasowania pojedynczej emoty. Od razu dodam, że nie mam dostępu przez FTP (lub SSH) do serwera, więc ta (jakże wygodna) opcja odpada. Przekopałem się przez invisionmodding oraz invisionize.com (mody dla 2.3.x) i niestety nic mi nie wpadło w oko, co by realizowało pożądaną przeze mnie funkcjonalność.

Nawet jakbyś znalazł modyfikację to potrzebny byłby dostęp do FTP. Nie można wprowadzać zmian w kodzie bez dostępu do niego. :D

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

na wstępie powiem, że w 99% przypadkach nie można wprowadzać zmian bez dostępu do kodu źródłowego forum.

Jeśli chcesz mnie zweryfikować, powiedz wprost - skontaktuję Cię z właścicielem licencji forum, na którym "operuję".

Nawet jakbyś znalazł modyfikację to potrzebny byłby dostęp do FTP. Nie można wprowadzać zmian w kodzie bez dostępu do niego. :D

Serio? Wow... Bądźmy poważnymi ludźmi, jestem świadom, że pliki się przez FTP wrzuca (choć na upartego znajdzie się inny sposó:D.

Nie ja będę wprowadzał modyfikacje, tylko właściciel forum. Moim zadaniem tutaj jest znalezienie pomocy w sprawie modyfikacji, zdobycie potrzebnych informacji.

Skoro wymieniliśmy uprzejmości, przejdźmy do konkretów.

Można by ograniczyć kod w bicie skina pod warunkiem, że jest coś dodawane do skina. Nie mam tej modyfikacji. Jak tam wyglądała instalacja? Były jakieś edycje skina?

Instalacja wyglądała na 99,9% tak, jak jest to opisane w pliku z modyfikacją - nie sądzę, by były poczynione jakieś odstępstwa. W razie potrzeby dopytam osobę wprowadzającą modyfikację.

Sądząc po treści moda, skin był modyfikowany w jednym miejscu - dodanie jednego radiobuttona do stronki, na której wystawia się ostrzeżenia (mod wprowadza nowy poziom ostrzeżenia, który nic nie zmienia w liczniku ostrzeżeń - czyli właśnie robi jako notatka).

Edit skin: Moderator Function / warnheader
After:
											<td class="pformright">
													<input type="radio" name="level" id="add" class="radiobutton" value="add" {$type['add']} /><label for="add" class="warnbad"><b>{$this->ipsclass->lang['w_add']}</b></label>

Add:

															<br />
													<input type="radio" name="level" id="zero" class="radiobutton" value="zero" {$type['note']} /><label for="zero" class="warnnote"><b>{$this->ipsclass->lang['w_note']}</b></label>

Zastanawiam się, jak wygląda sprawa umieszczania pełnej modyfikacji dostępnej na invisionize.com tutaj - nie doszukałem się żadnego "możesz swobodnie rozpowszechniać" ani też "zakaz wklejania treści w innych miejscach bez zgody autora". Jeśli nie jest to nielegalne, to po prostu wrzucę pełną treść modyfikacji tutaj - całe 3,5KB :-)

Edytowane przez wiesniak
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
Jeśli chcesz mnie zweryfikować, powiedz wprost - skontaktuję Cię z właścicielem licencji forum, na którym "operuję".

Uderz w stół.... Nie miałem zamiaru Cię w żaden sposób weryfikować. To nie moja działka, nie pracuję w IPSie. Niech się oni martwią.

Serio? Wow... Bądźmy poważnymi ludźmi, jestem świadom, że pliki się przez FTP wrzuca (choć na upartego znajdzie się inny sposó:D.

Nie ja będę wprowadzał modyfikacje, tylko właściciel forum. Moim zadaniem tutaj jest znalezienie pomocy w sprawie modyfikacji, zdobycie potrzebnych informacji.

Jestem jak najbardziej poważny. Odpisałbym Ci na pół strony, ale niech wystarczy Ci tyle, że rozważam każdą ewentualność, każdy poziom wiedzy użytkownika na tym forum, już nie takie kwiatki się pojawiały. W myśl zasady 'przezorny zawsze...'.

Instalacja wyglądała na 99,9% tak, jak jest to opisane w pliku z modyfikacją - nie sądzę, by były poczynione jakieś odstępstwa. W razie potrzeby dopytam osobę wprowadzającą modyfikację.

Sądząc po treści moda, skin był modyfikowany w jednym miejscu - dodanie jednego radiobuttona do stronki, na której wystawia się ostrzeżenia (mod wprowadza nowy poziom ostrzeżenia, który nic nie zmienia w liczniku ostrzeżeń - czyli właśnie robi jako notatka).

Domyślam się, że tak wyglądała, bądźmy poważnymi ludźmi. Nie będę pobierać tego pliku i go analizować, to Twoje zadanie by dostarczyć mi informacje bym mógł Ci pomóc.

Zastanawiam się, jak wygląda sprawa umieszczania pełnej modyfikacji dostępnej na invisionize.com tutaj - nie doszukałem się żadnego "możesz swobodnie rozpowszechniać" ani też "zakaz wklejania treści w innych miejscach bez zgody autora". Jeśli nie jest to nielegalne, to po prostu wrzucę pełną treść modyfikacji tutaj - całe 3,5KB :-)

Hm, nie można umieszczać całych plików, fragmenty owszem.

I tak, jak mówiłem, skoro tylko jedna edycja skina ta, co opisałeś to resztę ( limit na grupy ) należy zrobić w plikach.

Jeśli nic nie wymyślisz to spróbuję to zrobić i napisać Ci co zrobić - jutro.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli nic nie wymyślisz to spróbuję to zrobić i napisać Ci co zrobić - jutro.

Daj mi troszkę czasu. Mam koncepcję, chciałbym ją przemyśleć i przedstawić, ale chwilowo nie dam rady. Myślę, że do późnych godzin nocnych powinienem dać radę :-)

Odnośnik do komentarza
Udostępnij na innych stronach

Ciężko zaproponować coś bardziej konkretnego, bez możliwości testowania i przy nikłym doświadczeniu, ale powiedzmy, że spróbuję przedstawić moją wizję.

Kod w znacznej mierze jest zaczerpnięty z modyfkacji (Adriano) User CP - Block Forums from 'View New Posts' 1.2.

Pierwsza część to dodatek do ACP pozwalający wybrać grupy, które mogą widzieć notatki. Ta część jest w XML:

<mod_data>
 <mod_info>
	<title>Notatki moderatorskie</title> 
	<version>0.1</version> 
	<author>wiesniak</author> 
	<website></website> 
	<ipbver>2.3</ipbver> 
 </mod_info>
 <sections_group>
	<section>
		<conf_title_title>Notatki moderatorskie</conf_title_title> 
		<conf_title_desc>Ustawienia modyfikacji notatki moderatorskie</conf_title_desc> 
		<conf_title_noshow>0</conf_title_noshow> 
		<conf_title_keyword>user_notes</conf_title_keyword> 
	</section>
 </sections_group>
<sections_group>
	<setting>
		<conf_title>Grupy</conf_title> 
		<conf_description>Wybierz grupy uprawnione do oglądania notatek</conf_description> 
		<conf_group>0</conf_group> 
		<conf_type>multi</conf_type> 
		<conf_key>user_notes_groups</conf_key> 
		<conf_default /> 
		<conf_extra>#show_groups#</conf_extra> 
		<conf_evalphp>
			<![CDATA[ 
if ( $save == 1)
{
if ( is_array($_POST['user_notes_groups']) )
{
	$_POST['user_notes_groups'] = implode(",",$_POST['user_notes_groups']);
}
else
{
	$_POST['user_notes_groups'] = "";
}

$key = 'user_notes_groups';
}
if ( $show == 1 )
{
$key = 'user_notes_groups[]';
}
			]]> 
		</conf_evalphp>
		<conf_position>1</conf_position> 
		<conf_start_group /> 
		<conf_end_group /> 
		<conf_help_key /> 
	</setting>
 </settings_group>
</mod_data>

Wydaje mi się, że taki lub podobny kawałek kodu powinien po załadowaniu generować listę grup i dać możliwość oznaczenia, które grupy mają widzieć notatki. W XMLu były jeszcze inne sekcje typu modyfikacja template'u czy elementy językowe, ale wydaje mi się to zbędne na chwilę obecną.

Pozostaje część druga, realizująca weryfikację tych ustawień.

if (in_array( $this->ipsclass->member['mgroup'], explode( ',', $this->ipsclass->vars['user_notes_groups'] ) ) )
	{
			/* tu powinien się znaleźć kawałek kodu odpowiedzialny za generowanie pojedynczej notatki / ostrzeżenia - jeśli user przeglądający zalicza się do grupy zezwolonej, kod się wykona, notatka zostanie wyświetlona.
			 trzeba jeszcze dodać do if warunek sprawdzający, czy dana "rzecz" do wyświetlenia to notatka - jeśli nie to trzeba ją wyświetlić niezależnie od przydziału do grupy.
			if(!notatka || notatka&& grupaJestOk) wyswietl;
			niestety tego już nie wymyślę - ani jak poprawnie napisać warunek, ani w jakim pliku modyfikować.
			*/
	}

Gdybym miał zacząć kombinować z tworzeniem modyfikacji (czy raczej dodatku do modyfikacji user notes), to tak właśnie bym zaczął. Ewentualnie dodałbym jeszcze radiobuttony "mod włączony / wyłączony" (w XML-u), ale nie jest to obecnie aż tak istotne.

Wszelkie sugestie mile widziane :-)

Edytowane przez wiesniak
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

No niby racja, ale może ja zaprezentuję co właśnie wywnioskowałem z opisu instalacji tej modyfikacji ( z linku z pierwszego postu ) plus to, co wiem z kodowania w IP.Board.

Otwórz plik: sources/action_public/misc/warn.php

Znajdź:

$this->output .= $this->ipsclass->compiled_templates['skin_mod']->warn_view_note_row($date, $content, $puni_name);

Zamień na:

					if ( in_array( $this->ipsclass->member['mgroup'], array(4,5) ) )
				{
				$this->output .= $this->ipsclass->compiled_templates['skin_mod']->warn_view_note_row($date, $content, $puni_name);
				}

Zapisz i wyślij.

Oczywiście nie testowane, ale powinno działać. Jak widać użyłem tablicy na sztywno z ID grup, ale nic nie stoi na przeszkodzie by użyć tych z Twojego pliku .xml wcześnie je explodując ( lub bezpośrednio w funkcji in_array() ).

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję, Twoja odpowiedź w zasadzie rozwiązuje problem. Spróbuję przeforsować testy "wersji rozszerzonej" - jeśli się powiodą, postaram się podzielić rozwiązaniem końcowym. Jeśli się nie uda, to zastosuję Twoje rozwiązanie z wpisywaniem ID grup na sztywno.

W sprawie emotek: czy przychodzi Ci jakaś gotowa modyfikacja na myśl? Jeśli nie, to radzisz kontunyować wątek, czy raczej powinienem się zgłosić do działu dot. produkcji modyfikacji?

W zasadzie potrzebuję jednego buttona do każdej emotki, w każdym katalogu, który będzie realizował kasowanie (z tego co zauważyłem, przy ładowaniu emotek, są one automatycznie powielane do katalogu default.

Brakuje mi jeszcze jednej funkcjonalności. Istnieje możliwość zdefiniowania podstawowego zestawu emotek dla wybranego stylu wskazując katalog emotek. Sęk w tym, że nie ma możliwości zdefiniowania tekstu, który będzie zamieniany na emotkę w postach (czyli np :D) - jest to ustalane automatycznie na podstawie nazwy pliku.

Tu nie jestem w stanie nic zaproponować od siebie, bo zbytnio nie mam się na czym oprzeć :D

Przy okazji właśnie odkryłem coś, co niekoniecznie mi się podoba, a mianowicie nie ma weryfikacji tych tekstów - jeśli dwóm emotkom nadam taki sam tekst, to tak zostanie zapisane, przy czym na forum wyświetla się ta emotka, którą przedefiniowałem. Żeby było zabawnie, nie ma opcji powrotu do poprzedniego tekstu. Usunięcie jednej z emotek usuwa obie (wrzuca je do "unasigned") i resetuje im teksty. Wspominam o tym, choć de facto nie wiem, czy ma to znaczenie w obliczu nadchodzącej wersji 3.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Pozwolę sobie odnieść się do fragmentów wypowiedzi..

Dziękuję, Twoja odpowiedź w zasadzie rozwiązuje problem. Spróbuję przeforsować testy "wersji rozszerzonej" - jeśli się powiodą, postaram się podzielić rozwiązaniem końcowym. Jeśli się nie uda, to zastosuję Twoje rozwiązanie z wpisywaniem ID grup na sztywno.

Nie może się nie udać. Różnica jest tylko w 'wyeksplodowaniu' id z ustawień do tablicy i umieszczenie jej w kodzie zamiast tych ID wpisanych na sztywno.

W sprawie emotek: czy przychodzi Ci jakaś gotowa modyfikacja na myśl? Jeśli nie, to radzisz kontunyować wątek, czy raczej powinienem się zgłosić do działu dot. produkcji modyfikacji?

Niestety nic mi nie przychodzi. Polecam lekturę tego tematu i stron tam wypisanych, być może znajdziesz taką modyfikację, link: http://forum.invisionize.pl/index.php?showtopic=19.

Dział modyfikacje w produkcji nie jest przeznaczony dla modyfikacji dla konkretnej osoby. Choć oczywiście możesz tam śmiało pisać do woli, umieszczać swoje prośby. Jeśli jakaś przypadnie mi do gustu i uznam, że może się przydać większej ilości osób to napiszę taką modyfikację z chęcią.

Brakuje mi jeszcze jednej funkcjonalności. Istnieje możliwość zdefiniowania podstawowego zestawu emotek dla wybranego stylu wskazując katalog emotek. Sęk w tym, że nie ma możliwości zdefiniowania tekstu, który będzie zamieniany na emotkę w postach (czyli np :D) - jest to ustalane automatycznie na podstawie nazwy pliku.

Tu nie jestem w stanie nic zaproponować od siebie, bo zbytnio nie mam się na czym oprzeć :D

Wystarczy nazwy zmienić przed wysłaniem na FTP. Emotek nie zmienia się często więc jednorazowo można to zrobić.

Przy okazji właśnie odkryłem coś, co niekoniecznie mi się podoba, a mianowicie nie ma weryfikacji tych tekstów - jeśli dwóm emotkom nadam taki sam tekst, to tak zostanie zapisane, przy czym na forum wyświetla się ta emotka, którą przedefiniowałem. Żeby było zabawnie, nie ma opcji powrotu do poprzedniego tekstu. Usunięcie jednej z emotek usuwa obie (wrzuca je do "unasigned") i resetuje im teksty.

Wg mnie podobna uwaga jak wyżej - emoty nie zmienia się codziennie i o takie detale można zadbać przy uploadzie plików.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie może się nie udać. Różnica jest tylko w 'wyeksplodowaniu' id z ustawień do tablicy i umieszczenie jej w kodzie zamiast tych ID wpisanych na sztywno.

Akurat o ten kawałek kodu się nie martwię. Mam na myśli głównie XML. Niedawno skrobnąłem prosty programik do pakowania emotek w paczki XML-owe i na chwilę obecną skrypt nie lubi się z moimi XML-ami, choć wyglądają identycznie. Zauważyłem, że parser preferuje LF zamiast CRLF, ale to nic nie zmieniło. Jutro liczę na trochę czasu, to będę porównywał heksadecymalnie jakiś działający wzorzec i mój plik :-) Stąd też moje obawy co do XML-a, ale nie ma co biadolić, po prostu trzeba najpierw przetestować :-)

Niestety nic mi nie przychodzi. Polecam lekturę tego tematu i stron tam wypisanych, być może znajdziesz taką modyfikację, link: http://forum.invisionize.pl/index.php?showtopic=19.

Dzięki. Część stron znam, część przeszukam w wolnym czasie.

Wystarczy nazwy zmienić przed wysłaniem na FTP. Emotek nie zmienia się często więc jednorazowo można to zrobić.

Wg mnie podobna uwaga jak wyżej - emoty nie zmienia się codziennie i o takie detale można zadbać przy uploadzie plików.

To budzi sprzeciw mojego dążenia do perfekcji :D Poza tym staram się zapewnić sobie maksymalną operatywność bez dostępu do FTP. Niemniej masz rację i chyba przygotuję sobie większą reorganizację, a później poproszę o porządki i wszystko wprowadzę po nowemu, tym razem lepiej...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
ale nie ma co biadolić, po prostu trzeba najpierw przetestować :-)

Uwielbiam takie podejście. :D

To budzi sprzeciw mojego dążenia do perfekcji :) Poza tym staram się zapewnić sobie maksymalną operatywność bez dostępu do FTP. Niemniej masz rację i chyba przygotuję sobie większą reorganizację, a później poproszę o porządki i wszystko wprowadzę po nowemu, tym razem lepiej...

Myślimy podobnie tylko ja jeszcze dokładam do tego aspekt ekonomiczny - czy to się opłaca. :D

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.