Reason for edit
Reguli forum
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
-
- Utilizator înregistrat
- Mesaje: 34
- Membru din: 04-Oct-2006, 19:35:55
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Contact:
Reason for edit
Cum fac ca acest camp care apare in momentul in care un moderatorul editeaza un mesaj al unui utilizator, sa nu fie optional, ci OBLIGATORIU? Va rog frumos ca ma intereseaza in mod deosebit.
Multumesc frumos.
Multumesc frumos.
Valentin
Deschide message_parser.php din includes, si cauta:
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;
Dupa asta, adaugi:
if ((empty($_POST['edit_reason'])) && $auth->acl_get('m_'))
{
$this->warn_msg[] = 'Trebuie sa specificati motivul editarii!';
}
Daca tu esti administratorul principal, (cel creat odata cu instalarea forumului) trebuie sa iti dai remove din grupul global moderators, sau din alte parti de unde esti moderator, altfel iti va cere si tie sa completezi acel camp. M-am enervat si eu o jumatate de ora, ca nu imi dadeam seama ce nu am facut bine, si de ce imi cere si mie ca admin sa completez ala.. :-)
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;
Dupa asta, adaugi:
if ((empty($_POST['edit_reason'])) && $auth->acl_get('m_'))
{
$this->warn_msg[] = 'Trebuie sa specificati motivul editarii!';
}
Daca tu esti administratorul principal, (cel creat odata cu instalarea forumului) trebuie sa iti dai remove din grupul global moderators, sau din alte parti de unde esti moderator, altfel iti va cere si tie sa completezi acel camp. M-am enervat si eu o jumatate de ora, ca nu imi dadeam seama ce nu am facut bine, si de ce imi cere si mie ca admin sa completez ala.. :-)
-
- Utilizator înregistrat
- Mesaje: 34
- Membru din: 04-Oct-2006, 19:35:55
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Contact:
Din păcate revin cu o problemă. Se pare că nu totul merge perfect. Am făcut nişte teste de pe un cont de moderator şi tot nu îi cere să specifice motivul. Ar putea fi o problemă faptul că user-ul respectiv nu este în grupul Global Moderators, ci doar într-un grup creat de mine care are drepturi de moderare doar pe anumite forumuri?
Mulţumesc încă odată pentru ajutor.
Cu stimă,
Mulţumesc încă odată pentru ajutor.
Cu stimă,
Valentin
Scuze, nu am fost foarte atent atunci, si m-am cam grabit.
Am gasit si alte erori, pe care le-am rezolvat azi.
Am facut mai multe teste cu noul cod scris azi, si pana acum totul a fost bine. Campul va fi obligatoriu in cazul in care un moderator editeaza mesajul altcuiva. Daca moderatorul isi editeaza propriul mesaj, acesta nu va fi obligatoriu, deoarece este posibil sa il editeze la cateva secunde dupa ce l-a trimis, moment in care, dupa cum am vazut, campul respectiv nu apare pentru a fi completat, prin urmare nu putem sa ii cerem sa il completeze.
Scoaterea din grupul de moderatori a adminului iarasi nu merge, pt. ca atunci adminul nu mai poate modera forumul. Nu este ca la phpbb2 unde chiar daca nu ti-ai setat permisiuni de moderator, tot poti sa moderezi forumul daca ai permisiuni de administrator.
Inainte sa modifici, fa un backup la message_parser.php, pt. orice eventualitate.
Tot ce e mai jos, va incepe de sub:
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;
inlocuind vechiul cod.
Aici am mai facut o interogare sql, deoarece nu am vazut alta metoda de a verifica cine este cel care editeaza mesajul, mai exact daca e vorba de acelasi utilizator care l-a postat.
Nu uita sa faci backup. Pana acum la mine totul a mers ok. Daca mai apar alte erori, revin-o cu problema, si voi incerca sa gasesc solutia.
Succes.
Am gasit si alte erori, pe care le-am rezolvat azi.
Am facut mai multe teste cu noul cod scris azi, si pana acum totul a fost bine. Campul va fi obligatoriu in cazul in care un moderator editeaza mesajul altcuiva. Daca moderatorul isi editeaza propriul mesaj, acesta nu va fi obligatoriu, deoarece este posibil sa il editeze la cateva secunde dupa ce l-a trimis, moment in care, dupa cum am vazut, campul respectiv nu apare pentru a fi completat, prin urmare nu putem sa ii cerem sa il completeze.
Scoaterea din grupul de moderatori a adminului iarasi nu merge, pt. ca atunci adminul nu mai poate modera forumul. Nu este ca la phpbb2 unde chiar daca nu ti-ai setat permisiuni de moderator, tot poti sa moderezi forumul daca ai permisiuni de administrator.
Inainte sa modifici, fa un backup la message_parser.php, pt. orice eventualitate.
Tot ce e mai jos, va incepe de sub:
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;
inlocuind vechiul cod.
Cod: Selectaţi tot
$cerereSQL = 'SELECT `poster_id`
FROM ' . POSTS_TABLE . ' WHERE `post_id`="'.$_GET['p'].'"';
$result = $db->sql_query($cerereSQL);
$rezultat = $db->sql_fetchrow($result);
if ((empty($_POST['edit_reason'])) && $auth->acl_getf('m_') && ($_GET['mode'] == 'edit') && ($user->data['user_id'] != $rezultat['poster_id']) || $auth->acl_get('m_'))
{
if($auth->acl_get('a_')) {
echo '';
} else {
$this->warn_msg[] = 'Trebuie sa specificati motivul editarii!'; }
}
Nu uita sa faci backup. Pana acum la mine totul a mers ok. Daca mai apar alte erori, revin-o cu problema, si voi incerca sa gasesc solutia.
Succes.
What I'm s'pose to write here ?
-
- Utilizator înregistrat
- Mesaje: 34
- Membru din: 04-Oct-2006, 19:35:55
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Contact:
Si o alta problema... Merge bine la grupul creat de moderatori, si administratori, in sensul ca la moderatorii (din grupul separat) le cere sa specifice motivul, iar la administratori NU. Problema este acum la grupul Global moderators, care nu mai poate adauga nici un mesaj pe forum. Si la topicuri noi si la replay-uri le cere sa specifice motivul editarii, cu toate ca aceasta rubrica nu mai exista.
Cu stima,
Cu stima,
Valentin
Am mai adaugat o regula conditiei, care sa corecteze eroarea.
Vechiul cod incepand de la if ((empty... si pana la prima acolada {
poate fi inlocuit cu acesta. Singura modificare e cea de la urma cu !$auth->acl_getf_global('m_')
Cod: Selectaţi tot
if ((empty($_POST['edit_reason'])) && $auth->acl_getf('m_') && ($_GET['mode'] == 'edit') && ($user->data['user_id'] != $rezultat['poster_id']) || $auth->acl_get('m_') && !$auth->acl_getf_global('m_'))
poate fi inlocuit cu acesta. Singura modificare e cea de la urma cu !$auth->acl_getf_global('m_')
What I'm s'pose to write here ?
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator