Ograniczenie kontaktów pomiędzy użytkownikami
|
cornholio |
Dodany dnia 23.09.2008 15:37:26
|
Przedszkolak
Postów: 13 Ostrzeżeń: 1
Data rejestracji: 22.06.2007 15:06
|
Witam serdecznie wszystkich użytkowników. Pierwszy raz piszę tutaj u Was na forum więc proszę o wyrozumiałość.
Zainstalowałem PHP-Fusion v7 PL. Jak zrobić aby ograniczyć kontakty między użytkownikami na stronie?
Chodzi o to żeby użytkownik się tylko zalogował, poczytał co jest na stronie i
Trzeba chyba będzie wyrzucić listę użytkowników aby zwykły użytkownik tego nie widział, lecz widział to tylko auper admin i co jeszcze? jak to zrobić?
PW od moderatora:
- Przeniesienie tematu - Pieka 23.09 - 15:37
Edytowane przez Pieka dnia 23.09.2008 16:19:30
|
|
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 00:55:16
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Grief |
Dodany dnia 23.09.2008 15:55:59
|
Przedszkolak
Postów: 15 Pomógł: 1
Data rejestracji: 22.08.2005 09:54
|
Panelu admina -> Zarządzanie stroną -> Panele -> edytujesz panel "Użytkownicy Online" i ustawiasz dostępność tylko dla administratorów. |
|
|
|
Pieka |
Dodany dnia 23.09.2008 16:04:02
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Grief napisał/a:
Panelu admina -> Zarządzanie stroną -> Panele -> edytujesz panel "Użytkownicy Online" i ustawiasz dostępność tylko dla administratorów.
To jest bez sensu, poniewaz w ten sposob bedzie widzial tylko administratorow.
Jestem jaki jestem
|
|
|
|
cornholio |
Dodany dnia 23.09.2008 16:35:42
|
Przedszkolak
Postów: 13 Ostrzeżeń: 1
Data rejestracji: 22.06.2007 15:06
|
Z jednej strony to nawet dobre jest. Wyłączenie tego panelu ogranicza widoczność innych użytkowników oraz użytkowników on-line. Ale jest jeszcze jeden problem. Zwykły użytkownik po rejestracji ma swój panel, który się składa z 4 elemntów:
· Edytuj profil
· Prywatne wiadomości
· Lista kont
· Wyloguj
Z tego panelu musiałoby zniknąć "Lista kont" oraz "Prywatne wiadomości", oczywiście ten zabiego musiałby dotyczyć tylko użytkowników oprócz super administratora. Jak to zrobić? |
|
|
|
Grief |
Dodany dnia 23.09.2008 16:36:02
|
Przedszkolak
Postów: 15 Pomógł: 1
Data rejestracji: 22.08.2005 09:54
|
Pieka napisał/a:
Grief napisał/a:
Panelu admina -> Zarządzanie stroną -> Panele -> edytujesz panel "Użytkownicy Online" i ustawiasz dostępność tylko dla administratorów.
To jest bez sensu, poniewaz w ten sposob bedzie widzial tylko administratorow.
Hmm... Nie wiem jeszcze dokładnie jak ten panel działa ale założyłem, że po jego ukryciu w powyższy sposób administratorzy będą widzieć użytkowników online ale inni użytkownicy nie będą widzieć tego panelu.
Edytowane przez Grief dnia 23.09.2008 16:37:15
|
|
|
|
cornholio |
Dodany dnia 23.09.2008 16:38:23
|
Przedszkolak
Postów: 13 Ostrzeżeń: 1
Data rejestracji: 22.06.2007 15:06
|
Grief - to jest dobre rozwiązanie, ale częściowo. jak zrobić to co opisałem wcześniej |
|
|
|
Pieka |
Dodany dnia 23.09.2008 16:44:39
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
cornholio napisał/a:
..Z tego panelu musiałoby zniknąć "Lista kont" oraz "Prywatne wiadomości", oczywiście ten zabiego musiałby dotyczyć tylko użytkowników oprócz super administratora. Jak to zrobić?
Edytowac user_info_panel.php i dac warunki na liste oraz PW:
if (iADMIN) {
echo "Tu wstawiasz link, ktory ma byc widoczny tylko dla admina";
}
Korzystajac z powyzszego sposobu zabezpieczasz rowniez cale pliki messages.php oraz members.php.
Grief napisał/a:
..Nie wiem jeszcze dokładnie jak ten panel działa ale założyłem, że po jego ukryciu w powyższy sposób administratorzy będą widzieć użytkowników online ale inni użytkownicy nie będą widzieć tego panelu.
Zadaj sobie pytanie, co zlicza odwiedzajacych online? Panel. W zwiazku z tym musi byc widoczny dla wszystkich.
Edytowane przez Pieka dnia 25.08.2009 01:39:42
Jestem jaki jestem
|
|
|
|
jupit3 |
Dodany dnia 18.08.2009 19:58:14
|
Przedszkolak
Postów: 3
Data rejestracji: 18.08.2009 18:53
|
Pieka napisał/a:
cornholio napisał/a:
..Z tego panelu musiałoby zniknąć "Lista kont" oraz "Prywatne wiadomości", oczywiście ten zabiego musiałby dotyczyć tylko użytkowników oprócz super administratora. Jak to zrobić?
Edytowac user_info_panel.php i dac warunki na liste oraz PW:
if (iMEMBER) {
echo "Tu wstawiasz link, ktory ma byc widoczny tylko dla admina";
}
Korzystajac z powyzszego sposobu zabezpieczasz rowniez cale pliki messages.php oraz members.php.
Jak te warunki powinny wyglądać ? - chodzi mi aby tylko administrator główny mógł to widzieć :) |
|
|
|
nergal |
Dodany dnia 18.08.2009 20:50:18
|
Przedszkolak
Postów: 48 Pomógł: 1 Ostrzeżeń: 1
Data rejestracji: 06.08.2009 19:59
|
Jeśli chodzi o ograniczenie messages.php i members.php to:
user_info_panel.php powinien wyglądać tak:
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_info_panel.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
if (iMEMBER) {
openside($userdata['user_name']);
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
echo THEME_BULLET." <a href='".BASEDIR."edit_profile.php' class='side'>".$locale['global_120']."</a><br />\n";
if(iSUPERADMIN){
echo THEME_BULLET." <a href='".BASEDIR."messages.php' class='side'>".$locale['global_121']."</a><br />\n";
echo THEME_BULLET." <a href='".BASEDIR."members.php' class='side'>".$locale['global_122']."</a><br />\n";
}
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) {
echo THEME_BULLET." <a href='".ADMIN."index.php".$aidlink."' class='side'>".$locale['global_123']."</a><br />\n";
}
echo THEME_BULLET." <a href='".BASEDIR."setuser.php?logout=yes' class='side'>".$locale['global_124']."</a>\n";
if ($msg_count) { echo "<br /><br /><div style='text-align:center'><strong><a href='".BASEDIR."messages.php' class='side'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a></strong></div>\n"; }
} else {
openside($locale['global_100']);
echo "<div style='text-align:center'>\n";
echo "<form name='loginform' method='post' action='".FUSION_SELF."'>\n";
echo $locale['global_101']."<br />\n<input type='text' name='user_name' class='textbox' style='width:100px' /><br />\n";
echo $locale['global_102']."<br />\n<input type='password' name='user_pass' class='textbox' style='width:100px' /><br />\n";
echo "<input type='checkbox' name='remember_me' value='y' title='".$locale['global_103']."' style='vertical-align:middle;' />\n";
echo "<input type='submit' name='login' value='".$locale['global_104']."' class='button' /><br />\n";
echo "</form>\n<br />\n";
if ($settings['enable_registration']) {
echo "".$locale['global_105']."<br /><br />\n";
}
echo $locale['global_106']."\n</div>\n";
}
closeside();
?>
W pliku messages.php na początku znajdź
if (!iMEMBER) { redirect("index.php"); }
i zmień na
if (!iSUPERADMIN) { redirect("index.php"); }
Natomiast w pliku members.php zaraz po
include LOCALE.LOCALESET."members.php";
dodaj
if (!iSUPERADMIN) { redirect("index.php"); }
|
|
|
|
jupit3 |
Dodany dnia 18.08.2009 21:11:41
|
Przedszkolak
Postów: 3
Data rejestracji: 18.08.2009 18:53
|
nergal napisał/a:
Jeśli chodzi o ograniczenie messages.php i members.php to:
user_info_panel.php powinien wyglądać tak:
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_info_panel.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
if (iMEMBER) {
openside($userdata['user_name']);
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
echo THEME_BULLET." <a href='".BASEDIR."edit_profile.php' class='side'>".$locale['global_120']."</a><br />\n";
if(iSUPERADMIN){
echo THEME_BULLET." <a href='".BASEDIR."messages.php' class='side'>".$locale['global_121']."</a><br />\n";
echo THEME_BULLET." <a href='".BASEDIR."members.php' class='side'>".$locale['global_122']."</a><br />\n";
}
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) {
echo THEME_BULLET." <a href='".ADMIN."index.php".$aidlink."' class='side'>".$locale['global_123']."</a><br />\n";
}
echo THEME_BULLET." <a href='".BASEDIR."setuser.php?logout=yes' class='side'>".$locale['global_124']."</a>\n";
if ($msg_count) { echo "<br /><br /><div style='text-align:center'><strong><a href='".BASEDIR."messages.php' class='side'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a></strong></div>\n"; }
} else {
openside($locale['global_100']);
echo "<div style='text-align:center'>\n";
echo "<form name='loginform' method='post' action='".FUSION_SELF."'>\n";
echo $locale['global_101']."<br />\n<input type='text' name='user_name' class='textbox' style='width:100px' /><br />\n";
echo $locale['global_102']."<br />\n<input type='password' name='user_pass' class='textbox' style='width:100px' /><br />\n";
echo "<input type='checkbox' name='remember_me' value='y' title='".$locale['global_103']."' style='vertical-align:middle;' />\n";
echo "<input type='submit' name='login' value='".$locale['global_104']."' class='button' /><br />\n";
echo "</form>\n<br />\n";
if ($settings['enable_registration']) {
echo "".$locale['global_105']."<br /><br />\n";
}
echo $locale['global_106']."\n</div>\n";
}
closeside();
?>
W pliku messages.php na początku znajdź
if (!iMEMBER) { redirect("index.php"); }
i zmień na
if (!iSUPERADMIN) { redirect("index.php"); }
Natomiast w pliku members.php zaraz po
include LOCALE.LOCALESET."members.php";
dodaj
if (!iSUPERADMIN) { redirect("index.php"); }
Dzięki wielkie ! |
|
|