"Скрытые" друзья

#16 28 апреля 2012 в 18:34

пожалуйста))))) но вам нужно не оповещение копать а сам код добавление в друзья

Олег
frontend.php, в "add friends"?! Я так понимаю?
#17 28 апреля 2012 в 18:43
могу ошибаться но сама функция добавления в друзья на ходится в файле model.php компонента user

public function isNewFriends($user_id, $from_id=0){

if (!$from_id){
$sql = "SELECT 1 FROM cms_user_friends WHERE to_id = '$user_id' AND is_accepted = 0";
} else {
$sql = "SELECT 1 FROM cms_user_friends WHERE to_id = '$user_id' AND from_id = '$from_id' AND is_accepted = 0";
}

$result = $this->inDB->query($sql);

return (bool)$this->inDB->num_rows($result);

}
она делает изменения в базе даных при добавлении в друзья
#18 28 апреля 2012 в 18:45


могу ошибаться но сама функция добавления в друзья на ходится в файле model.php компонента user

public function isNewFriends($user_id, $from_id=0){

if (!$from_id){
$sql = "SELECT 1 FROM cms_user_friends WHERE to_id = '$user_id' AND is_accepted = 0";
} else {
$sql = "SELECT 1 FROM cms_user_friends WHERE to_id = '$user_id' AND from_id = '$from_id' AND is_accepted = 0";
}

$result = $this->inDB->query($sql);

return (bool)$this->inDB->num_rows($result);

}
она делает изменения в базе даных при добавлении в друзья

Олег
Говорила мама, учи MySQL. smile
Спасибо, буду ковырять.
#19 28 апреля 2012 в 18:49
пожалуйста))) но на этом мои знания заканчиваются
я только изучаю структуру и работу компонентов
но думаю нужно изменить тот запрос что выше написал
но как незнаю)))
#20 28 апреля 2012 в 18:50

пожалуйста))) но на этом мои знания заканчиваются я только изучаю структуру и работу компонентов но думаю нужно изменить тот запрос что выше написал но как незнаю)))

Олег
Иногда мои кривые руки и метод тыка творят чудеса.
Что же, будем пробовать. smile
#21 28 апреля 2012 в 18:51

она делает изменения в базе даных при добавлении в друзья

Олег
не делает изменений, запросы "SELECT " служат только для выборки значений из базы, но не для их изменения.
#22 28 апреля 2012 в 18:53

не делает изменений, запросы "SELECT " служат только для выборки значений из базы, но не для их изменения.

SJen
а что имено делает изменения?
#23 28 апреля 2012 в 19:09
INSERT делает изменения?
#24 28 апреля 2012 в 19:10
Олег, insert — вставляет новую строку
update — изменяет какие-то данные в существующих строках
#25 28 апреля 2012 в 19:38
SJen, а для добавления в друзья какая функция работает и где её найти
если я вас правильно понял должна быть updateNewFriends но в файле model.php компонента user её нет
там только та что писал выше и getNewFriends (которая тоже выводит информацию из базы) или я неправильно мыслю?
обьясните пожалуйста)))
хотя в getNewFriends есть подключение шаблона
$smarty->display('com_users_newfriends.tpl');
это ведь добавление в друзья?
#26 28 апреля 2012 в 20:47
Олег, добавление в друзья прописано прямо в файле frontend.php
вот что у себя нашел
  1.  
  2. if(!usrIsFriends($id, $inUser->id, false)){
  3.  
  4. $sql = "INSERT INTO cms_user_friends (to_id, from_id, logdate, is_accepted)
  5. VALUES ('$to_id', '$from_id', NOW(), '0')";
  6. $inDB->query($sql);
  7.  
  8. cmsUser::sendMessage(USER_UPDATER, $to_id, '<b>'.$_LANG['RECEIVED_F_O'].'</b>. '.$_LANG['YOU_CAN_SEE'].' <a href="'.cmsUser::getProfileURL($usr['login']).'">'.$_LANG['INPROFILE'].'</a>.');
  9. cmsCore::addSessionMessage($_LANG['ADD_TO_FRIEND_SEND'], 'info');
  10.  
  11. } else {
находится это все в блоке
  1. if ($do=='addfriend'){
#27 29 апреля 2012 в 16:04
SJen, я так понял этот запрос к базе добавляет строку в друзья пользователя
обьясните пожалуйста в этом запросе добавляется строка для одного пользователя(который добавил в друзья другого пользователя) или для двух пользователей кто добавил и кого добавили(тоесть второму пользователю добавляется в друзья первый) или же есть ещё запрос в базу?
#28 29 апреля 2012 в 16:43
  1. INSERT INTO cms_user_friends (to_id, from_id, logdate, is_accepted)
  2. VALUES ('$to_id', '$from_id', NOW(), '0')
это запрос на добавление в друзья, '0' — значит, что он еще не принят тем, кому отправляется. Когда получатель запроса согласится на дружбу, 0 сменится на 1 и эти двое станут друзьями. На этом этапе других запросов к базе нет — еще запрос будет когда получатель нажмет "принять" предложение о дружбе.
#29 29 апреля 2012 в 17:02
SJen, Спасибо)))теперь понятно как работает )))
а чтоб было односторонее добавление в друзья (чтоб второй пользователь незнал что его добавили) это наверное сложно?
#30 29 апреля 2012 в 17:15

а чтоб было односторонее добавление в друзья (чтоб второй пользователь незнал что его добавили) это наверное сложно?

Вообще, я думаю для той цели, что написал SpideR-KOSS придется много чего переписать… Да и он хотел по сути не друзей, а "избранное" — что совсем другое и с "друзьями" не связанное.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.