Private Message Box Limit application
Author
Message

50 posts
seditio.com.tr
Private Message Box Limit application
You can set a separate private message quota for all Groups.
functions.php'yi açın alttakini bulun.
$cfg['res_dir'] = 'datas/resized/';
Altına ekleyin.
$cfg['group_pm_limits'] = [ 4 => 250, // Normal kullanıcılar için maksimum 250 mesaj 5 => 1000, // Yöneticiler için maksimum 1000 mesaj 6 => 500, // Modaratörler için maksimum 500 mesaj ];
pm.inc.php'yi açın alttakini bulun.
$out['subtitle'] = $L['Private_Messages'];
Üstüne ekleyin.
// Kullanıcının ana grubunu al $sqlx = sed_sql_query("SELECT user_maingrp FROM $db_users WHERE user_id='" . $usr['id'] . "'"); // Sorgu sonucunu çek $row = sed_sql_fetchassoc($sqlx); // Kullanıcı grubuna göre PM limiti belirle $user_group_id = $row['user_maingrp']; // Kullanıcının bulunduğu grup ID'sini al $user_pm_limit = isset($cfg['group_pm_limits'][$user_group_id]) ? $cfg['group_pm_limits'][$user_group_id] : 250; // Eğer grup limiti yoksa, varsayılan olarak 250 mesaj belirle // Kullanıcının mevcut mesaj sayısını al $sqls = sed_sql_query("SELECT COUNT(*) AS pm_count FROM $db_pm WHERE pm_fromuserid='" . $usr['id'] . "' OR pm_touserid='" . $usr['id'] . "'"); // Kullanıcının toplam mesaj sayısını çek $row_pm = sed_sql_fetchassoc($sqls); $user_pm_count = $row_pm['pm_count']; // Kullanıcının mesaj sayısını ve limitini kontrol et if ($user_pm_count >= $user_pm_limit) { $mesajuyari = "<span class= \"form-control btn btn-danger\">Mesaj limitini aştınız. Lütfen bazı mesajları silin.</span>"; } $kalan = $user_pm_limit-$totalinbox-$totalsentbox-$totalarchives; $topla = "Mesaj Kotanız: ".$user_pm_limit." / Kalan: ".$kalan;
Alttakini bul
"PM_PAGETITLE" => $title,
Altına ekle
"PM_TOPLAM_MESAJ_LIMITI" => $topla, "PM_TOPLAM_MESAJ_UYARI" => $mesajuyari,
pm.tpl'yi aç alttakini bul
<div class="centered"> {PM_INBOX} {PM_ARCHIVES} {PM_SENTBOX} {PM_SENDNEWPM} </div>
Alttaki ile değiştir.
<div class="centered"> {PM_INBOX} {PM_ARCHIVES} {PM_SENTBOX} {PM_SENDNEWPM} {PM_TOPLAM_MESAJ_LIMITI}<br>{PM_TOPLAM_MESAJ_UYARI} </div>
pm.send.inc.php'yi aç alttakini bul
$sql = sed_sql_query("SELECT COUNT(*) FROM $db_pm WHERE pm_touserid='".$usr['id']."' AND pm_state<2"); $totalinbox = sed_sql_result($sql, 0, "COUNT(*)");
Altına ekle
// Kullanıcının ana grubunu al $sqlx = sed_sql_query("SELECT user_maingrp FROM $db_users WHERE user_id='" . $usr['id'] . "'"); // Sorgu sonucunu çek $row = sed_sql_fetchassoc($sqlx); // Kullanıcı grubuna göre PM limiti belirle $user_group_id = $row['user_maingrp']; // Kullanıcının bulunduğu grup ID'sini al $user_pm_limit = isset($cfg['group_pm_limits'][$user_group_id]) ? $cfg['group_pm_limits'][$user_group_id] : 250; // Eğer grup limiti yoksa, varsayılan olarak 250 mesaj belirle // Kullanıcının mevcut mesaj sayısını al $sqls = sed_sql_query("SELECT COUNT(*) AS pm_count FROM $db_pm WHERE pm_fromuserid='" . $usr['id'] . "' OR pm_touserid='" . $usr['id'] . "'"); // Kullanıcının toplam mesaj sayısını çek $row_pm = sed_sql_fetchassoc($sqls); $user_pm_count = $row_pm['pm_count'];
Alttakini bul
$error_string .= ($totalrecipients > 1) ? sprintf($L['pm_toomanyrecipients'], 1)."<br />" : '';
Altına ekle
if ($user_pm_count < $user_pm_limit) {
Alttakini bul
sed_stat_inc('totalmailpmnot');
Altına ekle
}
Alttakini bul
if (!empty($error_string)) { $t->assign("PMSEND_ERROR_BODY", sed_alert($error_string, 'e')); $t->parse("MAIN.PMSEND_ERROR"); }
Altına ekle
$limitasimi = ($user_pm_count > $user_pm_limit) ? "<span class= \"form-control btn btn-danger\">Mesaj limitini aştınız. Lütfen bazı mesajları silin.</span> <br />" : ''; $kalan = $user_pm_limit-$totalinbox-$totalsentbox-$totalarchives; $topla = '<span class="form-control btn btn-primary">Mesaj Kotanız: '.$user_pm_limit.' / Kalan: '.$kalan.'</span>';
Alttakini bul
"PMSEND_SHORTTITLE" => $L['pmsend_title'],
Altına ekle
"PMSEND_LIMITASIMI" => $limitasimi, "PM_TOPLAM_MESAJ_LIMITI" => $topla,
pm.send.tpl'yi aç alttakini bul
<!-- BEGIN: PMSEND_ERROR --> {PMSEND_ERROR_BODY} <!-- END: PMSEND_ERROR -->
Altına ekle
{PMSEND_LIMITASIMI} {PM_TOPLAM_MESAJ_LIMITI}
The transaction is complete.
https://seditio.com.tr/dokumanlar/seditio-ozel-mesaj-kutusu-gruplara-gore-mesaj-kotasi-belirleme
This post was edited by Kaan (18-02-25 09:46 GMT, 29 days ago)