Пример #1
0
function admin_send_post_approval_notification($fid)
{
    if (!($db = db::get())) {
        return false;
    }
    if (!is_numeric($fid)) {
        return false;
    }
    if (!($table_prefix = get_table_prefix())) {
        return false;
    }
    if (!($forum_fid = get_forum_fid())) {
        return false;
    }
    $user_perm_folder_moderate = USER_PERM_FOLDER_MODERATE;
    $notification_success = true;
    $sql = "SELECT DISTINCT GROUP_USERS.UID, BIT_OR(GROUP_PERMS.PERM) AS PERM ";
    $sql .= "FROM GROUP_USERS INNER JOIN GROUPS ON (GROUPS.GID = GROUP_USERS.GID) ";
    $sql .= "INNER JOIN GROUP_PERMS ON (GROUP_PERMS.GID = GROUPS.GID) ";
    $sql .= "INNER JOIN USER ON (USER.UID = GROUP_USERS.UID) ";
    $sql .= "WHERE GROUP_PERMS.FORUM IN (0, {$forum_fid}) AND GROUP_PERMS.FID IN (0, {$fid}) ";
    $sql .= "GROUP BY GROUP_USERS.UID HAVING PERM & {$user_perm_folder_moderate} > 0";
    if (!($result = $db->query($sql))) {
        return false;
    }
    while (list($admin_uid) = $result->fetch_row()) {
        if (!email_send_post_approval_notification($admin_uid)) {
            $notification_success = false;
        }
    }
    return $notification_success;
}
Пример #2
0
function admin_send_post_approval_notification($fid)
{
    if (!($db = db::get())) {
        return false;
    }
    if (!is_numeric($fid)) {
        return false;
    }
    if (!($table_prefix = get_table_prefix())) {
        return false;
    }
    if (!($forum_fid = get_forum_fid())) {
        return false;
    }
    $user_perm_folder_moderate = USER_PERM_FOLDER_MODERATE;
    $notification_success = false;
    $sql = "(SELECT DISTINCT GROUP_USERS.UID, BIT_OR(GROUP_PERMS.PERM) AS PERM ";
    $sql .= "FROM GROUPS INNER JOIN GROUP_PERMS ON (GROUP_PERMS.GID = GROUPS.GID) ";
    $sql .= "INNER JOIN GROUP_USERS ON (GROUP_USERS.GID = GROUPS.GID) ";
    $sql .= "INNER JOIN USER ON (USER.UID = GROUP_USERS.UID) ";
    $sql .= "WHERE GROUPS.FORUM = {$forum_fid} AND GROUP_PERMS.FID = {$fid} ";
    $sql .= "GROUP BY GROUP_USERS.UID HAVING PERM & {$user_perm_folder_moderate} > 0) ";
    $sql .= "UNION (SELECT DISTINCT USER_PERM.UID, BIT_OR(USER_PERM.PERM) AS PERM ";
    $sql .= "FROM USER INNER JOIN USER_PERM ON (USER_PERM.UID = USER.UID) ";
    $sql .= "WHERE USER_PERM.FORUM IN (0, {$forum_fid}) AND USER_PERM.FID = {$fid} ";
    $sql .= "GROUP BY USER.UID HAVING PERM & {$user_perm_folder_moderate} > 0)";
    if (!($result = $db->query($sql))) {
        return false;
    }
    while (($admin_data = $result->fetch_assoc()) !== null) {
        if (email_send_post_approval_notification($admin_data['UID'])) {
            $notification_success = true;
        }
    }
    return $notification_success;
}