[هاك]منع المراقبين والمشرفين من الرد على المواضيع المغلقه
5 مرفق
الاسم: تنبيه الإداريين بالمرفقات المراقبة - الإصدار: 3.8.100 الوصف: هذا المنتج يسمح بمراسلة الإداريين عند رفع مرفقات جديدة مراقبة. متوافق مع: جميع إصدارات المنتدى 3.6/3.7/3.8 بكافة فروعها. متطلبات المنتج:
كود:
function email_moderators($fields) أضف فوقها مباشرة الأكواد التالية: كود:
/** * Fetches the amount of moderated attachments associated with a posthash and user * * @param string Post hash * @param integer User ID associated with post hash (-1 means current user) * * @return integer Number of attachments */ function fetch_mod_attachment_count($postid, $userid = -1) { if ($userid == -1) { $userid = $this->fetch_field('userid', 'post'); } $userid = intval($userid); $attachcount = $this->dbobject->query_first(" SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "attachment WHERE postid = '$postid' AND userid = $userid AND visible != 1 "); return intval($attachcount['count']); } /** * Fetches the moderated attachments associated with a posthash and user * * @param string Post hash * @param integer User ID associated with post hash (-1 means current user) * * @return array Moderated attachments IDs */ function fetch_mod_attachment($postid, $userid = -1) { if ($userid == -1) { $userid = $this->fetch_field('userid', 'post'); } $userid = intval($userid); $attachs = $this->dbobject->query_read_slave(" SELECT attachmentid, filename FROM " . TABLE_PREFIX . "attachment WHERE postid = '$postid' AND userid = $userid AND visible != 1 "); $modattach = array(); while ($attach = $this->dbobject->fetch_array($attachs)) { $modattach[$attach['attachmentid']] = array('attachmentid' => $attach['attachmentid'], 'filename' => $attach['filename'], 'postid' => $attach['postid'], 'dateline' => $attach['dateline']); } return $modattach; } function attach_email_moderators($fields, $attachcount, $attachs) { if ($this->info['skip_moderator_email'] OR !$this->info['forum'] OR in_coventry($this->fetch_field('userid', 'post'), true)) { return; } $mod_emails = fetch_moderator_modattach_emails($fields, $this->info['forum']['parentlist'], $newpost_lang); if (!empty($mod_emails)) { $foruminfo = $this->info['forum']; $foruminfo['title_clean'] = unhtmlspecialchars($foruminfo['title_clean']); $threadinfo = fetch_threadinfo($this->fetch_field('threadid')); $email = ($this->info['user']['email'] ? $this->info['user']['email'] : $this->registry->userinfo['email']); $browsing_user = $this->registry->userinfo['username']; // ugly hack -- should be fixed in the future $this->registry->userinfo['username'] = unhtmlspecialchars($this->info['user']['username'] ? $this->info['user']['username'] : $this->registry->userinfo['username']); $post = array_merge($this->existing, $this->post); if (!$post['postid']) { $post['postid'] = $this->thread['firstpostid']; } require_once(DIR . '/includes/functions_misc.php'); foreach ($mod_emails AS $toemail) { if ($toemail != $email) { if ($threadinfo['prefixid']) { // need prefix in correct language $threadinfo['prefix_plain'] = fetch_phrase( "prefix_$threadinfo[prefixid]_title_plain", 'global', '', false, true, isset($newpost_lang["$toemail"]) ? $newpost_lang["$toemail"] : 0, false ) . ' '; } else { $threadinfo['prefix_plain'] = ''; } $attachdetails = ""; foreach ($attachs as $attach) { $attachdetails .= " * ID: " . $attach['attachmentid'] . ", Name: " . $attach['filename'] . "\n"; } eval(fetch_email_phrases('moderator_attach', iif(isset($newpost_lang["$toemail"]), $newpost_lang["$toemail"], 0))); vbmail($toemail, $subject, $message); } } // back to normal $this->registry->userinfo['username'] = htmlspecialchars_uni($browsing_user); } } ** قم بحفظ تعديلات الملف "includes/class_dm_threadpost.php" وإعادة رفعه لمكانه مجدداً مع السماح بإستبدال القديم. ** قم بفتح الملف "includes/functions_newpost.php" وابحث بداخله عن الأكواد التالية: كود:
/** * Fetches the email addresses of moderators to email when there is a new post * or new thread in a forum. * * @param string|array A string or array of dbfields to check for email addresses; also doubles as mod perm names * @param string|array A string (comma-delimited) or array of forum IDs to check * @param array (By reference) An array of languageids associated with specific email addresses returned * * @return array Array of emails to mail */ function fetch_moderator_newpost_emails($fields, $forums, &$language_info) كود:
/** * Fetches the email addresses of moderators to email when there is a new moderated attachments in a forum. * * @param string|array A string or array of dbfields to check for email addresses; also doubles as mod perm names * @param string|array A string (comma-delimited) or array of forum IDs to check * @param array (By reference) An array of languageids associated with specific email addresses returned * * @return array Array of emails to mail */ function fetch_moderator_modattach_emails($fields, $forums, &$language_info) { global $vbulletin; $language_info = array(); if (!is_array($fields)) { $fields = array($fields); } // figure out the fields to select and the permissions to check $field_names = ''; $mod_perms = array(); foreach ($fields AS $field) { if ($permfield = intval($vbulletin->bf_misc_modattachstaffnotify["$field"])) { $mod_perms[] = "(moderator.modattachstaffnotify & $permfield)"; } $field_names .= "$field, ' ',"; } if (sizeof($fields) > 1) { // kill trailing comma $field_names = 'CONCAT(' . substr($field_names, 0, -1) . ')'; } else { $field_names = reset($fields); } // figure out the forums worth checking if (is_array($forums)) { $forums = implode(',', $forums); } if (!$forums) { return array(); } $modattachemail = ''; $moderators = $vbulletin->db->query_read_slave(" SELECT $field_names AS modattachemail FROM " . TABLE_PREFIX . "forum WHERE forumid IN (" . $vbulletin->db->escape_string($forums) . ") "); while ($moderator = $vbulletin->db->fetch_array($moderators)) { $modattachemail .= ' ' . trim($moderator['modattachemail']); } if (empty($modattachemail) OR $vbulletin->options['modattachstaffnotify_emailto'] == 1) { // get a list of super mod groups $smod_groups = array(); foreach ($vbulletin->usergroupcache AS $ugid => $groupinfo) { if ($groupinfo['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['ismoderator']) { // super mod group $smod_groups[] = $ugid; } } } if ($mod_perms) { $mods = $vbulletin->db->query_read_slave(" SELECT DISTINCT user.email, user.languageid FROM " . TABLE_PREFIX . "moderator AS moderator LEFT JOIN " . TABLE_PREFIX . "user AS user USING(userid) WHERE ( (moderator.forumid IN (" . $vbulletin->db->escape_string($forums) . ") AND moderator.forumid <> -1) " . (!empty($smod_groups) ? "OR (user.usergroupid IN (" . implode(',', $smod_groups) . ") AND moderator.forumid = -1)" : '') . " ) AND (" . implode(' OR ', $mod_perms) . ") "); while ($mod = $vbulletin->db->fetch_array($mods)) { $language_info["$mod[email]"] = $mod['languageid']; $modattachemail .= ' ' . $mod['email']; } } $emails = preg_split('#\s+#', trim($modattachemail), -1, PREG_SPLIT_NO_EMPTY); $emails = array_unique($emails); return $emails; }
|
هاك مفيد و ضروري للمنتديات
شكرًا لنقله لنا |
كم من الابداع رونقه
ومن الاختيار جماله دام لنا عطائكم المميز والجميل |
اهنيك ع الذوق
إبداع في الطرح وروعة في الإنتقاء وجهداً ملحوظ تشكر عليه دمت بروعة طرحك أكاليل الزهر أنثرها في متصفحك |
موضوع في قمة الروعه
لطالما كانت مواضيعك متميزة لا عدمنا التميز و روعة الاختيار دمت لنا ودام تالقك الدائم |
نقل مميز ومفيد بوركت جهودك
|
راق لي جدا ماقرأته هنا
شكرا لكم على جمال طرحكم ننتظر جمالا كهذا الجمال وأكثر أطيب التحايا وارق المنى |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By
Almuhajir
HêĽм √ 3.1 BY: ! ωαнαм ! © 2010
new notificatio by 9adq_ala7sas