Private Message Box Limit application
Автор
Сообщение
51 сообщений
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
отредактировал(а) Kaan: 18-02-25 09:46 GMT

