예제 #1
0
 public static function initKsPartnerUser($ksString, $requestedPartnerId = null, $requestedPuserId = null)
 {
     if (!$ksString) {
         kCurrentContext::$ks = null;
         kCurrentContext::$ks_partner_id = null;
         kCurrentContext::$ks_uid = null;
         kCurrentContext::$master_partner_id = null;
         kCurrentContext::$partner_id = $requestedPartnerId;
         kCurrentContext::$uid = $requestedPuserId;
         kCurrentContext::$is_admin_session = false;
     } else {
         try {
             $ksObj = kSessionUtils::crackKs($ksString);
         } catch (Exception $ex) {
             if (strpos($ex->getMessage(), "INVALID_STR") !== null) {
                 //TODO: throw different type of error
                 throw new KalturaAPIException(APIErrors::INVALID_KS, $ksString, ks::INVALID_STR, ks::getErrorStr(ks::INVALID_STR));
             } else {
                 throw $ex;
             }
         }
         kCurrentContext::$ks = $ksString;
         kCurrentContext::$ks_object = $ksObj;
         kCurrentContext::$ks_partner_id = $ksObj->partner_id;
         kCurrentContext::$ks_uid = $ksObj->user;
         kCurrentContext::$master_partner_id = $ksObj->master_partner_id ? $ksObj->master_partner_id : kCurrentContext::$ks_partner_id;
         kCurrentContext::$is_admin_session = $ksObj->isAdmin();
         kCurrentContext::$partner_id = $requestedPartnerId;
         kCurrentContext::$uid = $requestedPuserId;
     }
     // set partner ID for logger
     if (kCurrentContext::$partner_id) {
         $GLOBALS["partnerId"] = kCurrentContext::$partner_id;
     } else {
         if (kCurrentContext::$ks_partner_id) {
             $GLOBALS["partnerId"] = kCurrentContext::$ks_partner_id;
         }
     }
     self::$ksPartnerUserInitialized = true;
 }
 public static function initKsPartnerUser($ksString, $requestedPartnerId = null, $requestedPuserId = null)
 {
     if (!$ksString) {
         kCurrentContext::$ks = null;
         kCurrentContext::$ks_object = null;
         kCurrentContext::$ks_hash = null;
         kCurrentContext::$ks_partner_id = null;
         kCurrentContext::$ks_uid = null;
         kCurrentContext::$ks_kuser_id = 0;
         kCurrentContext::$master_partner_id = null;
         kCurrentContext::$partner_id = $requestedPartnerId;
         kCurrentContext::$uid = $requestedPuserId;
         kCurrentContext::$is_admin_session = false;
         kCurrentContext::$kuser_id = null;
     } else {
         try {
             $ksObj = kSessionUtils::crackKs($ksString);
         } catch (Exception $ex) {
             if (strpos($ex->getMessage(), "INVALID_STR") !== null) {
                 throw new kCoreException($ex->getMessage(), kCoreException::INVALID_KS, $ksString);
             } else {
                 throw $ex;
             }
         }
         kCurrentContext::$ks = $ksString;
         kCurrentContext::$ks_object = $ksObj;
         kCurrentContext::$ks_hash = $ksObj->getHash();
         kCurrentContext::$ks_partner_id = $ksObj->partner_id;
         kCurrentContext::$ks_uid = $ksObj->user;
         kCurrentContext::$ks_kuser_id = 0;
         kCurrentContext::$master_partner_id = $ksObj->master_partner_id ? $ksObj->master_partner_id : kCurrentContext::$ks_partner_id;
         kCurrentContext::$is_admin_session = $ksObj->isAdmin();
         kCurrentContext::$partner_id = $requestedPartnerId;
         kCurrentContext::$uid = $requestedPuserId;
         kCurrentContext::$kuser_id = null;
         $ksKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, kCurrentContext::$ks_uid, true);
         if ($ksKuser) {
             kCurrentContext::$ks_kuser_id = $ksKuser->getId();
         }
     }
     // set partner ID for logger
     if (kCurrentContext::$partner_id) {
         $GLOBALS["partnerId"] = kCurrentContext::$partner_id;
     } else {
         if (kCurrentContext::$ks_partner_id) {
             $GLOBALS["partnerId"] = kCurrentContext::$ks_partner_id;
         }
     }
     self::$ksPartnerUserInitialized = true;
 }