/** * @param string $ks * @param PropelPDO $con the connection to use * @return bool */ public static function isInvalid($ks, PropelPDO $con = null) { $criteria = new Criteria(); $criteria->add(invalidSessionPeer::KS, base64_decode($ks)); $cnt = invalidSessionPeer::doSelectOne($criteria, $con); return $cnt > 0; }
/** * @param ks $ks * @return invalidSession */ public static function invalidateKs(ks $ks, PropelPDO $con = null) { $criteria = new Criteria(); $criteria->add(invalidSessionPeer::KS, $ks->getHash()); $invalidSession = invalidSessionPeer::doSelectOne($criteria, $con); if (!$invalidSession) { $invalidSession = new invalidSession(); $invalidSession->setKs($ks->getHash()); $invalidSession->setKsValidUntil($ks->valid_until); } $invalidSession->setActionsLimit(null); $invalidSession->save(); return $invalidSession; }
public static function invalidateByKey($key, $type, $validUntil, PropelPDO $con = null) { $criteria = new Criteria(); $criteria->add(invalidSessionPeer::KS, $key); $criteria->add(invalidSessionPeer::TYPE, $type); $invalidSession = invalidSessionPeer::doSelectOne($criteria, $con); if (!$invalidSession) { $invalidSession = new invalidSession(); $invalidSession->setKs($key); $invalidSession->setType($type); $invalidSession->setKsValidUntil($validUntil); } $invalidSession->setActionsLimit(null); $invalidSession->save(); return $invalidSession; }
public function isValid($partner_id, $puser_id, $type = false) { if (!$this->valid_string) { return self::INVALID_STR; } if (!$this->matchPartner($partner_id)) { return self::INVALID_PARTNER; } if (!$this->matchUser($puser_id)) { return self::INVALID_USER; } if ($type !== false) { // do not check ks type if (!$this->type == $type) { return self::INVALID_TYPE; } } if ($this->expired()) { return self::EXPIRED; } if (!$this->isUserIPAllowed()) { return self::EXCEEDED_RESTRICTED_IP; } if ($this->original_str && $partner_id != Partner::BATCH_PARTNER_ID && !$this->isWidgetSession() && $this->isKSInvalidated() !== false) { $criteria = new Criteria(); $ksCriterion = $criteria->getNewCriterion(invalidSessionPeer::TYPE, invalidSession::INVALID_SESSION_TYPE_KS); $ksCriterion->addAnd($criteria->getNewCriterion(invalidSessionPeer::KS, $this->getHash())); $sessionId = $this->getSessionIdHash(); if ($sessionId) { $invalidSession = $criteria->getNewCriterion(invalidSessionPeer::KS, $sessionId); $invalidSession->addAnd($criteria->getNewCriterion(invalidSessionPeer::TYPE, invalidSession::INVALID_SESSION_TYPE_SESSION_ID)); $ksCriterion->addOr($invalidSession); } $criteria->add($ksCriterion); $dbKs = invalidSessionPeer::doSelectOne($criteria); if ($dbKs) { $currentActionLimit = $dbKs->getActionsLimit(); if (is_null($currentActionLimit)) { return self::LOGOUT; } elseif ($currentActionLimit <= 0) { return self::EXCEEDED_ACTIONS_LIMIT; } $dbKs->setActionsLimit($currentActionLimit - 1); $dbKs->save(); } else { $limit = $this->isSetLimitAction(); if ($limit) { invalidSessionPeer::actionsLimitKs($this, $limit - 1); } } } // creates the kuser if ($partner_id != Partner::BATCH_PARTNER_ID && PermissionPeer::isValidForPartner(PermissionName::FEATURE_END_USER_REPORTS, $partner_id)) { $this->kuser = kuserPeer::createKuserForPartner($partner_id, $puser_id); if (!$puser_id && $this->kuser->getScreenName() != 'Unknown') { $this->kuser->setScreenName('Unknown'); $this->kuser->save(); } } return self::OK; }
public function isValid($partner_id, $puser_id, $type = false) { if (!$this->valid_string) { return self::INVALID_STR; } if (!$this->matchPartner($partner_id)) { return self::INVALID_PARTNER; } if (!$this->matchUser($puser_id)) { return self::INVALID_USER; } if ($type !== false) { // do not check ks type if (!$this->type == $type) { return self::INVALID_TYPE; } } if ($this->expired()) { return self::EXPIRED; } $allowedIPRestriction = $this->isSetIPRestriction(); if ($allowedIPRestriction && $allowedIPRestriction != kCurrentContext::$user_ip) { KalturaLog::err("ipRestriction: EXCEEDED_RESTRICTED_IP"); return self::EXCEEDED_RESTRICTED_IP; } if ($this->original_str && $partner_id != Partner::BATCH_PARTNER_ID && !$this->isWidgetSession() && $this->isKSInvalidated() !== false) { $criteria = new Criteria(); $criteria->add(invalidSessionPeer::KS, $this->getHash()); $dbKs = invalidSessionPeer::doSelectOne($criteria); if ($dbKs) { $currentActionLimit = $dbKs->getActionsLimit(); if (is_null($currentActionLimit)) { return self::LOGOUT; } elseif ($currentActionLimit <= 0) { return self::EXCEEDED_ACTIONS_LIMIT; } $dbKs->setActionsLimit($currentActionLimit - 1); $dbKs->save(); } else { $limit = $this->isSetLimitAction(); if ($limit) { invalidSessionPeer::actionsLimitKs($this, $limit - 1); } } } // creates the kuser if (PermissionPeer::isValidForPartner(PermissionName::FEATURE_END_USER_REPORTS, $partner_id)) { $kuser = kuserPeer::createKuserForPartner($partner_id, $puser_id); if (!$puser_id) { $kuser->setScreenName('Unknown'); $kuser->save(); } } return self::OK; }