Модуль " Почта + Друзья " для JohnCMS 4.4.0

17K
.
Например у вас есть простое уведомление на стандартную почту(я взял то что попалось под руку):
mysql_query("INSERT INTO `privat`
VALUES(0,
'" . $to['name'] . "',
'У Вас новая заявка на дружбу от пользователя " . $login . ".',
'" . $realtime . "',
'Система','in','no',
'Заявка на дружбу',
'0','','','','');");

Как видим оно бросает пользователю с тем именем которому идет перевод!
Все знают что в почте от крайта записывается не логин а id!
Вот что вам нужно сделать:
вот первых создать некоторую переменную(я возьму $friens_u) которой еще нет и записать в нее следующие строки:
$friend_u = mysql_query("SELECT * FROM users WHERE name='".$to['name']."'");
Видите что я беру данные именно с name='".$to['name']."!
Потом вам надо как то выдрать id пользователя для того что бы записать его в другой запрос!
Для этого возьмем еще какую то переменную например $row_friend и запишем в нее следующее:
$row_friend = mysql_fetch_array($friend_u);
Почти все сделали! Осталось сделать всего 1 запрос который будет записывать данные на почту! Теперь id пользователя можно спокойно вывести так: $row_friend['id']
Вот полный запрос:
$text = 'У Вас новая заявка на дружбу от пользователя " . $login . "';
mysql_query("INSERT INTO `mail_msg` SET
`id_kont`='".$row_friend['id']."',
`tema`='Заявка на дружбу',
`msg`='$text',
`time`='$realtime',
`sys`='2'");
В итоге мы заменяем:
mysql_query("INSERT INTO `privat` 
VALUES(0,
'" . $to['name'] . "',
'У Вас новая заявка на дружбу от пользователя " . $login . ".',
'" . $realtime . "',
'Система','in','no',
'Заявка на дружбу',
'0','','','','');");

На это:
$friend_u = mysql_query("SELECT * FROM users WHERE name='".$to['name']."'");
$row_friend = mysql_fetch_array($friend_u);
$text = 'У Вас новая заявка на дружбу от пользователя " . $login . "';
mysql_query("INSERT INTO `mail_msg` SET
`id_kont`='".$row_friend['id']."',
`tema`='Заявка на дружбу',
`msg`='$text',
`time`='$realtime',
`sys`='2'");

Подготовил чисто для новичков!
еще 2 запросы
$friend_u = mysql_query("SELECT * FROM users WHERE name='".$to['name']."'");
$row_friend = mysql_fetch_array($friend_u);

можете заменить на 1:
$row_friend = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE name='".$to['name']."'"));
.
Вот тут немного ошибся! Цвета не убрал!
mysql_query("INSERT INTO `privat`  
VALUES(0, 
'" . $to['name'] . "', 
'У Вас новая заявка на дружбу от пользователя " . $login . ".', 
'" . $realtime . "', 
'Система','in','no', 
'Заявка на дружбу', 
'0','','','','');");

Вот так пишите если что!
mysql_query("INSERT INTO `privat`  
VALUES(0, 
'" .$to['name']. "', 
'У Вас новая заявка на дружбу от пользователя " . $login . ".', 
'" . $realtime . "', 
'Система','in','no', 
'Заявка на дружбу', 
'0','','','','');");

P.S. верните ссылки (изменить / удалить)
.
Че ты тут понаписал? Не вводи людей в заблуждение!
.
Krite (04.02.2012/12:52)
Че ты тут понаписал? Не вводи людей в заблуждение!
Что то не правильно? Это чисто что бы разобраться новичкам!
.
Krite
brendi (04.02.2012/12:54)
Что то не правильно? Это чисто что бы разобраться новичкам!
А ни че то что ты написал никак не относится к данному модулю и работать не будит.
Заявка на дружбу и так здесь приходит, без этого бреда.
.
Krite (04.02.2012/13:02)
А ни че то что ты написал никак не относится к данному модулю и работать не будит.
Заявка на дружбу и так здесь приходит, без этого бреда.
Я вообще то пример принес взяв того что попалось под руку!
.
Lestat (04.02.2012/12:55)
brendi, не путай народ. Всё что нужно, есть в файле регистрации. Просто нужно менять переменные, в зависимости от модулей и сам текст этих системных сообщений
Ты уверен а если в определенную таблицу записывается только логин то как вывести его id по твоему по другому?
.
Проблемка! Когда включены категории друзей, при добавлении друга указываешь в какую категорию его занести, к пользователю приходит два системных сообщения (скрин ниже), когда же категории выключены, одно.
Прикрепленные файлы:
.
Aleksei4, Так и должно быть
.
Color Is Life...
вообще при приходе дружбы юзер кликает на первое письмо, а второе пропускает, где там я указал что он мне лучший друг. Надо чтобы второе тоже выпадало отдельно, как непрочитанное
Всего: 758