Есть где фикс вывода друзей

305
.
У меня версия 4.4.0, там стоит дренвяя почта от Крайта, когда она была еще неофицально в движок внедренна, суть мыслю похожая бо ничо такого не вижу друго тут.
Где то когда то читал что где то кто то делал фикс с удалением пользователя, дык вот сейчас только обнаружил что с друзей такие удаленные пользователи не удаляются, то есть запрос есть с двух таблиц но походу в удалении пользователя такого небыло..хз..
Терь не пойму кого удалять с таблицы вообще cms_contact
Где полазить на предметт этот, в какой версии дайте ссылку чоли
.
Собна косяк этот виден только в друзьях у меня лично, у кого то тоже может такое быть кто ставил сайт раньше..
Пользователя нет, а в друзьях висит пустое место без ИД, то есть вычислить и удалить невозможно..Не обходить же всех пользователей с вопросом а под каким ИД был Ваш друг с которым Вы подружились лет 5 назад ?

Короч мыслей нет
.
Может я ошибаюсь, но вот смотрю сейчас на гитхабе шестерку и думаю...
Таблица цмс-контакт создается, туда пишутся друзья !

DROP TABLE IF EXISTS `cms_ban_users`;
CREATE TABLE `cms_ban_users` (

https://github.com/john-cms/jo ... l.sql

----
А вот удаление пользователя..
Там наскока я понял будет точно такая же проблемма как у меня сейчас после удаления пользователя !
Потому что таблицацмс_контакт так до сих пор и не чистится...в конечном то движке...
https://github.com/john-cms/jo ... l.php
.
Я так мыслю выход один: написать фикс, и не удалять пока вообще никого, то есть не чистить базу.. Чую кто удалял пользователей ДО фикса когда его сделают, ну чтож.. пусть будут мертвые души чоуш джелать то... А я мыслю что я прав..
.
Пирипутал..вот в инстале создается таблица которая при удалении вообще никак не затрагивается..

И получается висяк пользователя неопознанного

DROP TABLE IF EXISTS `cms_contact`;
CREATE TABLE IF NOT EXISTS `cms_contact` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`from_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`time` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1',
`friends` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`ban` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`man` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id_user` (`user_id`, `from_id`),
KEY `time` (`time`),
KEY `ban` (`ban`)
)
ENGINE = MyISAM
DEFAULT CHARSET = utf8mb4;
.
Fublin
Вот удаление пользователя кому лень ходить смотреть..ГДЕ тут чистится таблица цмс_контакт ?..Я не вижу..

<?php
/**
 * @package     JohnCMS
 * @link        http://johncms.com
 * @copyright   Copyright (C) 2008-2011 JohnCMS Community
 * @license     LICENSE.txt (see attached file)
 * @version     VERSION.txt (see attached file)
 * @author      http://johncms.com/about
 */
defined('_IN_JOHNADM') or die('Error: restricted access');
// Проверяем права доступа
if ($rights < 9) {
    header('Location: http://johncms.com/?err&#039;);
    exit;
}
$user = false;
$error = false;
if ($id && $id != $user_id) {
    // Получаем данные юзера
    $req = mysql_query("SELECT * FROM `users` WHERE `id` = '$id'");
    if (mysql_num_rows($req)) {
        $user = mysql_fetch_assoc($req);
        if ($user['rights'] > $datauser['rights'])
            $error = $lng['error_usrdel_rights'];
    } else {
        $error = $lng['error_user_not_exist'];
    }
} else {
    $error = $lng['error_wrong_data'];
}
if (!$error) {
    // Считаем комментарии в галерее
    $comm_gal = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery` WHERE `avtor` = '" . $user['name'] . "' AND `type` = 'km'"), 0);
    // Считаем комментарии в библиотеке
    $comm_lib = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_library_comments` WHERE `user_id` = '" . $user['id'] . "'"), 0);
    // Считаем комментарии к загрузкам
    $comm_dl = mysql_result(mysql_query("SELECT COUNT(*) FROM `download` WHERE `avtor` = '" . $user['name'] . "' AND `type` = 'komm'"), 0);
    // Считаем посты в личных гостевых
    $comm_gb = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_users_guestbook` WHERE `user_id` = '" . $user['id'] . "'"), 0);
    // Считаем комментарии в личных альбомах
    $comm_al = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_album_comments` WHERE `user_id` = '" . $user['id'] . "'"), 0);
    $comm_count = $comm_gal + $comm_lib + $comm_dl + $comm_gb + $comm_al;
    // Считаем посты в Гостевой
    $guest_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `guest` WHERE `user_id` = '" . $user['id'] . "'"), 0);
    // Считаем созданные темы на Форуме
    $forumt_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `user_id` = '" . $user['id'] . "' AND `type` = 't' AND `close` != '1'"), 0);
    // Считаем посты на Форуме
    $forump_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `user_id` = '" . $user['id'] . "' AND `type` = 'm'  AND `close` != '1'"), 0);
    echo '<div class="phdr"><a href="index.php"><b>' . $lng['admin_panel'] . '</b></a> | ' . $lng['user_del'] . '</div>';
    // Выводим краткие данные
    echo '<div class="user"><p>' . functions::display_user($user, array(
            'lastvisit' => 1,
            'iphist'    => 1
        )) . '</p></div>';
    switch ($mod) {
        case 'del':
            /*
            -----------------------------------------------------------------
            Удаляем личные данные
            -----------------------------------------------------------------
            */
            $del = new CleanUser;
            $del->removeAlbum($user['id']);         // Удаляем личные Фотоальбомы
            $del->removeGuestbook($user['id']);     // Удаляем личную Гостевую
            $del->removeMail($user['id']);          // Удаляем почту
            $del->removeKarma($user['id']);         // Удаляем карму
            if (isset($_POST['comments'])) {
                $del->cleanComments($user['id']);   // Удаляем комментарии
            }
            if (isset($_POST['forum'])) {
                $del->cleanForum($user['id']);      // Чистим Форум
            }
            $del->removeUser($user['id']);          // Удаляем пользователя
            // Оптимизируем таблицы
            mysql_query("
                OPTIMIZE TABLE
                `cms_users_iphistory`,
                `cms_ban_users`,
                `guest`,
                `cms_album_comments`,
                `cms_users_guestbook`,
                `karma_users`,
                `cms_album_votes`,
                `cms_album_views`,
                `cms_album_downloads`,
                `cms_album_cat`,
                `cms_album_files`,
                `cms_forum_rdm`
            ");
            echo '<div class="rmenu"><p><h3>' . $lng['user_deleted'] . '</h3></p></div>';
            break;
        default:
            ////////////////////////////////////////////////////////////
            // Форма параметров удаления                              //
            ////////////////////////////////////////////////////////////
            echo '<form action="index.php?act=usr_del&amp;mod=del&amp;id=' . $user['id'] . '" method="post"><div class="menu"><p><h3>' . $lng['user_del_activity'] . '</h3>';
            if ($comm_count)
                echo '<div><input type="checkbox" value="1" name="comments" checked="checked" />&#160;' . $lng['comments'] . ' <span class="red">(' . $comm_count . ')</span></div>';
            if ($forumt_count || $forump_count) {
                echo '<div><input type="checkbox" value="1" name="forum" checked="checked" />&#160;' . $lng['forum'] . ' <span class="red">(' . $forumt_count . '&nbsp;/&nbsp;' . $forump_count . ')</span></div>';
                echo '<small><span class="gray">' . $lng['user_del_forumnote'] . '</span></small>';
            }
            echo '</p></div><div class="rmenu"><p>' . $lng['user_del_confirm'];
            echo '</p><p><input type="submit" value="' . $lng['delete'] . '" name="submit" />';
            echo '</p></div></form>';
            echo '<div class="phdr"><a href="../users/profile.php?user=' . $user['id'] . '">' . $lng['to_form'] . '</a></div>';
    }
} else {
    echo functions::display_error($error);
}
echo '<p><a href="index.php?act=users">' . $lng['users_list'] . '</a><br /><a href="index.php">' . $lng['admin_panel'] . '</a></p>';
.
Fublin, знаю про баг когда пишеш комуто ,то он добавляется автоматически в друзья.


тебе нужно копать в системных файлах (incfiles)
в четвёрке я давно некопался
.
# Serghei (05.03.2017 / 15:48)
Fublin, знаю про баг когда пишеш комуто ,то он добавляется автоматически в друзья.


тебе нужно копать в системных файлах (incfiles)
в четвёрке я давно некопался
это вот как раз не баг, так и должно быть потому что ты сам же говоришь что уже пишешь кому то, то есть человек добавляется в контакты если ты ему писал.. По сути можно убрать кнопку контакты и назвать всё это дело перепиской, тогда вопросы отпадут
.
Serghei
# Fublin (05.03.2017 / 16:06)
это вот как раз не баг, так и должно быть потому что ты сам же говоришь что уже пишешь кому то, то есть человек добавляется в контакты если ты ему писал.. По сути можно убрать кнопку контакты и назват
когда пишеш комуто
,то он добавляется автоматически в друзья.

в 4.4.0 смотри users/pradd.php,вроде там
.
Fublin
# Serghei (05.03.2017 / 17:44)
когда пишеш комуто
,то он добавляется автоматически в друзья.
в 4.4.0 смотри users/pradd.php,вроде там
у меня такого нет точно, когда ту почту написали то там много было фиксов в теме.
А та проблемма что я тут пишу осталась до сих пор даже в последней версии шестерки.
Но походу всем плевать, хотя это полседняя версия типа доработанная и такой косяк.
Всего: 12