4require_once 
'Services/JSON/classes/class.ilJsonUtil.php';
 
    5require_once 
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemException.php';
 
   54                $this->ctrl = 
$DIC[
'ilCtrl'];
 
   55                $this->
user = $DIC[
'ilUser'];
 
   56                $this->lng  = 
$DIC[
'lng'];
 
   58                require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddyList.php';
 
   59                require_once 
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemRelationStateFactory.php';
 
   63                $this->lng->loadLanguageModule(
'buddysystem');
 
   73                if(!self::$frontend_initialized)
 
   75                        $DIC->language()->loadLanguageModule(
'buddysystem');
 
   77                        require_once 
'Services/JSON/classes/class.ilJsonUtil.php';
 
   79                        $DIC[
'tpl']->addJavascript(
'./Services/Contact/BuddySystem/js/buddy_system.js');
 
   82                        $config->http_post_url        = 
$DIC->ctrl()->getFormActionByClass(array(
'ilUIPluginRouterGUI', 
'ilBuddySystemGUI'), 
'', 
'', 
true, 
false);
 
   83                        $config->transition_state_cmd = 
'transitionAsync';
 
   86                        $btn_config = 
new stdClass();
 
   87                        $btn_config->bnt_class = 
'ilBuddySystemLinkWidget';
 
   90                        $DIC[
'tpl']->addOnLoadCode(
"il.BuddySystemButton.init();");
 
   92                        self::$frontend_initialized = 
true;
 
  101                if($this->
user->isAnonymous())
 
  103                        throw new RuntimeException(
'This controller only accepts requests of logged in users');
 
  106                $next_class = $this->ctrl->getNextClass($this);
 
  107                $cmd        = $this->ctrl->getCmd();
 
  133                                return isset(
$_GET[$key]) && strlen(
$_GET[$key]);
 
  146                                throw new ilException(
"The requested user does not want to get contact requests");
 
  177                        $this->ctrl->returnToParent($this);
 
  182                        require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddyList.php';
 
  185                        if(
null !== $onBeforeExecute)
 
  187                                $onBeforeExecute($relation);
 
  207                $this->ctrl->returnToParent($this);
 
  215                if(!$this->ctrl->isAsynch())
 
  217                        throw new RuntimeException(
'This action only supports AJAX http requests');
 
  220                if(!isset(
$_POST[
'usr_id']) || !is_numeric(
$_POST[
'usr_id']))
 
  222                        throw new RuntimeException(
'Missing "usr_id" parameter');
 
  225                if(!isset(
$_POST[
'action']) || !strlen(
$_POST[
'action']))
 
  227                        throw new RuntimeException(
'Missing "action" parameter');
 
  230                $response = 
new stdClass();
 
  231                $response->success = 
false;
 
  235                        $usr_id = (int)
$_POST[
'usr_id'];
 
  248                        $relation = $this->buddylist->getRelationByUserId($usr_id);
 
  253                                throw new ilException(
"The requested user does not want to get contact requests");
 
  258                                $this->buddylist->{$action}($relation);
 
  259                                $response->success = 
true;
 
  271                                $response->message = $this->lng->txt(
'buddy_bs_action_not_possible');
 
  274                        $response->state      = get_class($relation->getState());
 
  275                        $response->state_html = $this->statefactory->getRendererByOwnerAndRelation($this->buddylist->getOwnerId(), $relation)->getHtml();
 
  279                        $response->message = $this->lng->txt(
'buddy_bs_action_not_possible');
 
  282                echo json_encode($response);
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static getInstanceByGlobalUser()
transitionCommand($cmd, $positive_feedback_lng_id, callable $onBeforeExecute=null)
const BS_REQUEST_HTTP_GET
static $frontend_initialized
static initializeFrontend()
transitionAsyncCommand()
Performs a state transition based on the request action.
isRequestParameterGiven($key, $type)
const BS_REQUEST_HTTP_POST
Class ilBuddySystemRelation.
Base class for ILIAS Exception handling.
static encode($mixed, $suppress_native=false)
static _lookupPref($a_usr_id, $a_keyword)
static _lookupLogin($a_user_id)
lookup login
static _isAnonymous($usr_id)
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static yn2tf($a_yn)
convert "y"/"n" to true/false
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.