SMF 2.0.12 düzenleme yapılabilecek maksimum süre sorunu?

Started by gevv, November 10, 2016, 01:02:32 PM

Previous topic - Next topic

gevv

merhaba,

"İleti gönderildikten sonra düzenleme yapılabilecek maksimum süre"  2000 dakika olarak ayarlı sistem çalışıyor fakat global moderatörlerde bı sınırlamadan etkileniyor normalde bu sınırlamanın global modlarda etkili olmaması lazım değil mi?


global moderatörlere "Herhangi bir iletiyi:"  düzenleme yetkisi verince süre sınırlamasından etkilenmiyormuş bunun bir çözümü varmıdır

global moderatör  sadece kendi iletisi düzenleyebilsin ve düzenleme süre sınırına takılmasın mümkünmüdür?
ElkArte is a modern, powerful community building forum software. https://www.elkarte.net/

Antes

Şimdi koda bi göz attım

'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board')) && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['id_member'] == $user_info['id'] && (empty($modSettings['edit_disable_time']) || !$message['approved'] || $message['poster_time'] + $modSettings['edit_disable_time'] * 60 > time()))),

Burada (!$context['is_locked'] || allowedTo('moderate_board')) kısmına dışarıda bırakmak istediğiniz kullanıcı grubunu yazmanız yeterli olacaktır. Şu anda elimde kod yok doğrudan yazamıyorum.

gevv

teşekkür ederim @antes hocam   bahsettiğiniz kod Sources/Display.php  dosyasında bulunuyor   

allowedTo('moderate_board'))   bölümüne kod içinemi grup bilgisi yazılacak  birde bu nasıl olmalı ID, isim

örneğin;  allowedTo('group=2'))    yoksa   örneğin;  allowedTo('2'))    şeklinde mi?
ElkArte is a modern, powerful community building forum software. https://www.elkarte.net/

Antes

allowedTo(...) arkasında || $user.... diye eklemeniz lazım ama SMF içinde G.Modları doğrudan tanımlayan bi durum yok. O yüzden sorgulamak lazım.

gevv

@antes hocam  aşağıda ki kodu ekledim  düzenleme ikonu ve bağlantısı göründü  (|| $context['user']['is_globalmoderator'] )

      'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board'))  || $context['user']['is_globalmoderator'] && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['id_member'] == $user_info['id'] && (empty($modSettings['edit_disable_time']) || !$message['approved'] || $message['poster_time'] + $modSettings['edit_disable_time'] * 60 > time()))),

fakat düzenleme yapılamıyor


QuoteBir Hata Meydana Geldi!
İleti'nin değiştirilmesi için ayarlanmış maksimum süre geçtiği için, ileti'de düzenlemeye gidemezsiniz.


sanırım  ./Sources/Post.php dosyasında da değişiklik gerekiyor   burada ki http://www.simplemachines.org/community/index.php?topic=245735.0;wap   açıklamaya göre  3 bölüm var  ama hangisine || $context['user']['is_globalmoderator'] kodunu ekleyeceğimi çözemedim


/Sources/Post.php  satır 645

// Give an extra five minutes over the disable time threshold, so they can type - assuming the post is public.
if ($row['approved'] && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
fatal_lang_error('modify_post_time_passed', false);
elseif ($row['id_member_poster'] == $user_info['id'] && !allowedTo('modify_own'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_own');
}
elseif ($row['id_member_poster'] == $user_info['id'] && !allowedTo('modify_any'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_any');


/Sources/Post.php  satır 750

// Give an extra five minutes over the disable time threshold, so they can type - assuming the post is public.
if ($row['approved'] && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
fatal_lang_error('modify_post_time_passed', false);
elseif ($row['id_member_poster'] == $user_info['id'] && !allowedTo('modify_own'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_own');
}
elseif ($row['id_member_poster'] == $user_info['id'] && !allowedTo('modify_any'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_any');




/Sources/Post.php  satır 1447


    // Change the sticky status of this topic?
if (isset($_POST['sticky']) && (!allowedTo('make_sticky') || $_POST['sticky'] == $topic_info['is_sticky']))
unset($_POST['sticky']);

if ($row['id_member'] == $user_info['id'] && !allowedTo('modify_any'))
{
if ((!$modSettings['postmod_active'] || $row['approved']) && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
fatal_lang_error('modify_post_time_passed', false);
elseif ($topic_info['id_member_started'] == $user_info['id'] && !allowedTo('modify_own'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_own');
}
elseif ($topic_info['id_member_started'] == $user_info['id'] && !allowedTo('modify_any'))
{
isAllowedTo('modify_replies');

// If you're modifying a reply, I say it better be logged...
$moderationAction = true;
}
else
{
isAllowedTo('modify_any');

// Log it, assuming you're not modifying your own post.
if ($row['id_member'] != $user_info['id'])
$moderationAction = true;
}




/Sources/Post.php  satır 2691




// Change either body or subject requires permissions to modify messages.
if (isset($_POST['message']) || isset($_POST['subject']) || isset($_REQUEST['icon']))
{
if (!empty($row['locked']))
isAllowedTo('moderate_board');

if ($row['id_member'] == $user_info['id'] && !allowedTo('modify_any'))
{
if ((!$modSettings['postmod_active'] || $row['approved']) && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
fatal_lang_error('modify_post_time_passed', false);
elseif ($row['id_member_started'] == $user_info['id'] && !allowedTo('modify_own'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_own');
}
// Otherwise, they're locked out; someone who can modify the replies is needed.
elseif ($row['id_member_started'] == $user_info['id'] && !allowedTo('modify_any'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_any');

// Only log this action if it wasn't your message.
$moderationAction = $row['id_member'] != $user_info['id'];
}
ElkArte is a modern, powerful community building forum software. https://www.elkarte.net/

Antes

$context['user']['is_admin'] ve $context['user']['is_mod'] özel kodlar. is_gmod / is_globalmod tarzı bi kod yok.

gevv

Display.php dosyasında $context['user']['is_mod']  olarak denedim yine aynı hocam   düzenleme yazısı ve ikon görünüyor düzenleme yapılamıyor
ElkArte is a modern, powerful community building forum software. https://www.elkarte.net/

Antes


Snrj

sources/display.php de bul
'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board')) && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['id_member'] == $user_info['id'] && (empty($modSettings['edit_disable_time']) || !$message['approved'] || $message['poster_time'] + $modSettings['edit_disable_time'] * 60 > time()))),
değiştir
'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board')) && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['id_member'] == $user_info['id'] && (empty($modSettings['edit_disable_time']) ||$message['id_member']['group']==2|| !$message['approved'] || $message['poster_time'] + $modSettings['edit_disable_time'] * 60 > time()))),

global mod izinleri ben böle yapıp denedim

umarım istediğin gibi olmuştur iyi forumlar
benim sitede cevapladım burda görünce burayada yazayım dedim

Snrj

üstteki display.php deki değişikliklerden sonra bu kısımlarıda yapın eksik olmuş
sources/post.php
644 satır bul
if ($row['approved'] && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
değiştir
if ($row['approved'] && !empty($modSettings['edit_disable_time'])&&$context['groups']['id']==2 && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
747 satır bul
if ($row['approved'] && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
değiştir
if ($row['approved'] && !empty($modSettings['edit_disable_time'])&&$context['groups']['id']==2 && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
1443 satır bul
if ((!$modSettings['postmod_active'] || $row['approved']) && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
değiştir
if ((!$modSettings['postmod_active'] || $row['approved'])&&$context['groups']['id']==2 && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
2639 satır bul
if ((!$modSettings['postmod_active'] || $row['approved']) && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
değiştir
if ((!$modSettings['postmod_active'] || $row['approved'])&&$context['groups']['id']==2 && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())

gevv

teşekkür ederim @snrj hocam  post.php değişiklikleri sonrasında düzenleme yapılabiliyor  fakat düzenle linki ve hızlı düzenle ikonu görünmüyor
ElkArte is a modern, powerful community building forum software. https://www.elkarte.net/

Advertisement: