01-12-2022 10:34
03-12-2022 11:43
14-08-2024 09:52
11-06-2024 17:58
Daha önce Hazırlamış olduğumuz Özel mesaj kotası uygulası tüm Gruplar ve üyeler için geçerliydi.
Şimdiki hazırladığımız Özel Mesaj Kutusu Limiti uygulaması, Tüm Gruplar için ayrı özel mesaj kotası belirleyebilirsiniz.
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(*)");
// 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'];
$error_string .= ($totalrecipients > 1) ? sprintf($L['pm_toomanyrecipients'], 1)."<br />" : '';
if ($user_pm_count < $user_pm_limit) {
sed_stat_inc('totalmailpmnot');
}
if (!empty($error_string)) { $t->assign("PMSEND_ERROR_BODY", sed_alert($error_string, 'e')); $t->parse("MAIN.PMSEND_ERROR"); }
$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>';
"PMSEND_SHORTTITLE" => $L['pmsend_title'],
"PMSEND_LIMITASIMI" => $limitasimi, "PM_TOPLAM_MESAJ_LIMITI" => $topla,
pm.send.tpl'yi aç alttakini bul
<!-- BEGIN: PMSEND_ERROR --> {PMSEND_ERROR_BODY} <!-- END: PMSEND_ERROR -->
{PMSEND_LIMITASIMI} {PM_TOPLAM_MESAJ_LIMITI}
İşlem tamamdır.
Kendi özelleştirilmiş stilini belirle
Uygulamanız için mükemmel renk modunu seçin.
Dil yönünüzü değiştirin
Tam ekran modu aç/kapat
Web sitesi için uygun bir menü sistemi seçin