Как насильно зафрендить пользователей?

Предположим, есть два пользователя — test1 и test2. Я хочу их насильно зафрендить:
$user1 = $this->oEngine->User_GetUserByLogin('test1');                                                                        
        $user2 = $this->oEngine->User_GetUserByLogin('test2');                                                                        
        $oFriend=$this->oEngine->User_GetFriend($user1->getId(),$user2->getId());
                                                     
                 $oFriendNew=Engine::GetEntity('User_Friend');                                                                        
                 $oFriendNew->setUserTo($user1->getId());                                                                             
                 $oFriendNew->setUserFrom($user2->getId());                                                                           
                 $oFriendNew->setStatusFrom(ModuleUser::USER_FRIEND_ACCEPT);                                                          
                 $oFriendNew->setStatusTo(ModuleUser::USER_FRIEND_ACCEPT);                                                            
                 $this->oEngine->User_AddFriend($oFriend);                                                                            
                 $oFriendNew->setUserTo($user2->getId());                                                                             
                 $oFriendNew->setUserFrom($user1->getId());                                                                           
                 $this->oEngine->User_AddFriend($oFriend);                                                                            
                 $this->oEngine->User_UpdateFriend($oFriend);

Но ничего не получается — они не друзья

ТЗ на доработку сайта на движке LS 0.4.1

Техническое задание.

Добавить новые поля в страницу регистрация example.com/registration/

1. Имя — не обязателен, на усмотрение пользователя.
2. Фамилия — не обязателен, на усмотрение пользователя.
3. Город — обязателен, без него регистрация невозможна. Пример startuppoint.ru/registration. БЕЗ возможности добавления собственного варианта.
4. Пол — обязателен, без него регистрация невозможна.
В настройках профиля example.com/settings/profile/ соответственно необходимо убрать пункт «не скажу».
5. Добавить согласие с правилами сайта. Пример

Без установки галочки кнопка ЗАРЕГИСТРИРОВАТЬСЯ не видима и не доступна.

Реализовать проверку на занятость и правильность логина и email. Пример city4life.ru/registration/

Добавить кнопку «Предпросмотр» во внутренней почте.

Создать новый вид топика «Новостной». Пример визуального расположения.

адрес — example.com/news/
Блок календарь
Представление новостей на главной (example.com/news/) ввиде анонсов.
адрес новости «Победил спортивный дух» по теме например «Спорт» — example.com/news/sport/pobedil-sportivniy-duh.htm
ЧПУ
Новости могут добавлять администратор и модератор. Новостной топик должен иметь возможность оцениваться, как и обычный топик и выводится на главную в вперемежку с персональными, коллективными. Но при этом в строке информации НЕ должен фигурировать ник-логин добавившего новость, как сейчас происходит при создании обычного топика и то что новость хорошая или плохая НЕ должно ни коем образом отражаться на рейтинге и силе добавившего новость.

Бюджет — 5000 руб. + 1000 руб. (опционально в виде бонуса, при условии внесении своих идей принятых и реализованных и за продуманное отношение к деталям и нюансам)
Связь через внутреннюю почту LS. Бываю почти каждый день, в основном в вечерне-ночное время.