Автор
Сообщение

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} &nbsp; &nbsp; {PM_ARCHIVES} &nbsp; &nbsp; {PM_SENTBOX} &nbsp; &nbsp; {PM_SENDNEWPM}
</div>

Alttaki ile değiştir.

<div class="centered">
{PM_INBOX} &nbsp; &nbsp; {PM_ARCHIVES} &nbsp; &nbsp; {PM_SENTBOX} &nbsp; &nbsp; {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