Example #1
0
 /**
  * logs in host
  *
  * @param string $login
  * @param string $password
  * @param bool $isMasterAccount
  * @param $remoteAddress
  * @return Model\Session
  */
 public function loginHost($login, $password, $isMasterAccount, $remoteAddress)
 {
     $session = $this->recoverSession($login, $isMasterAccount, $remoteAddress);
     if ($session) {
         $this->keepAlive($session->getSid());
         return $session;
     }
     $session = new Model\Session();
     $ses_id = '';
     $sid = '';
     $uid = 0;
     $returnValue = 0;
     $flags = $isMasterAccount ? 1 : 0;
     $this->oracle->plsql("P_HOST_SENDERTOOL_LOGIN_V8")->inString($login)->inString($password)->inString($remoteAddress)->inString('')->outInt($ses_id)->outString($sid, 40)->inInt($flags)->outInt($uid)->outInt($returnValue)->call();
     $session->setLogin($login);
     $session->setFlags($flags);
     if ($returnValue >= 0) {
         $session->setUid($uid);
         $session->setSid($sid);
     } else {
         $session->setErrorNumber($returnValue);
     }
     return $session;
 }