Вход Регистрация
Файл: system/controllers/users/actions/keep_in_subscribers.php
Строк: 76
<?php

class actionUsersKeepInSubscribers extends cmsAction {

    public function 
run($friend_id){

        if (!
$this->cms_user->is_logged) { cmsCore::error404(); }

        if (!
$friend_id) { cmsCore::error404(); }

        if (!
$this->model->isFriendshipExists($this->cms_user->id$friend_id)){ return false; }

        
$friend $this->model->getUser($friend_id);
        if (!
$friend || $friend['is_locked']){ cmsCore::error404(); }

        
//
        // Запрос по ссылке из профиля
        //
        
if ($this->request->isStandard() || $this->request->isAjax()){

            if (
$this->request->has('submit')){

                
// подтвержение получено

                
$csrf_token $this->request->get('csrf_token''');

                if (!
cmsForm::validateCSRFToken($csrf_token)){ cmsCore::error404(); }

                
$this->model->keepInSubscribers($this->cms_user->id$friend_id);

                
cmsUser::addSessionMessage(sprintf(LANG_USERS_FRIENDS_DELETED$friend['nickname']));

                
$this->sendNoticeDeleted($friend);

                
$back_url $this->request->get('back''');

                if (
$back_url){
                    
$this->redirect($back_url);
                }

                
$this->redirectToAction($friend_id);

            } else {

                return 
$this->cms_template->renderAsset('ui/confirm', array(
                    
'confirm_title'  => sprintf(LANG_USERS_FRIENDS_SUBSCRIBE_CONFIRM$friend['nickname']),
                    
'confirm_action' => $this->cms_template->href_to('keep_in_subscribers'$friend['id'])
                ), 
$this->request);

            }

        }

        
//
        // Запрос из уведомления (внутренний)
        //
        
if ($this->request->isInternal()){

            
$this->model->keepInSubscribers($this->cms_user->id$friend_id);

            
$this->sendNoticeDeleted($friend);

            return 
true;

        }

    }

    private function 
sendNoticeDeleted($friend){

        
$messenger cmsCore::getController('messages');

        
$messenger->addRecipient($friend['id']);

        
$sender_link '<a href="'.href_to_profile($this->cms_user).'">'.$this->cms_user->nickname.'</a>';

        
$notice = array(
            
'content' => sprintf(LANG_USERS_KEEP_IN_SUBSCRIBERS_NOTICE$sender_link)
        );

        
$messenger->sendNoticePM($notice'users_friend_delete');

        return 
true;

    }

}
Онлайн: 0
Реклама