public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser) { $user_id = $this->getPM("user_id"); $new_user_id = $this->getPM("new_user_id"); $target_puser_kuser = PuserKuserPeer::retrieveByPartnerAndUid($partner_id, null, $user_id, true); if (!$target_puser_kuser) { $this->addError(APIErrors::INVALID_USER_ID, $user_id); return; } $new_puser_kuser = PuserKuserPeer::retrieveByPartnerAndUid($partner_id, null, $new_user_id, true); $kuser = kuserPeer::getKuserByPartnerAndUid($partner_id, $new_user_id); if ($new_puser_kuser || $kuser) { $this->addError(APIErrors::DUPLICATE_USER_BY_ID, $new_user_id); return; } $target_puser_kuser->setPuserId($new_user_id); $target_puser_kuser->save(); PuserKuserPeer::removeFromCache($target_puser_kuser); $kuser = $target_puser_kuser->getKuser(); $kuser->setPuserId($target_puser_kuser->getPuserId()); $kuser->save(); $wrapper = objectWrapperBase::getWrapperClass($target_puser_kuser, objectWrapperBase::DETAIL_LEVEL_DETAILED); $wrapper->removeFromCache("PuserKuser", $target_puser_kuser->getId()); $this->addMsg("user", $wrapper); }
/** * @param CuePointFilter $cuePointFilter * @param array $propsToSkip * @return CuePointFilter */ public function toObject($cuePointFilter = null, $propsToSkip = array()) { if (!$cuePointFilter) { $cuePointFilter = new CuePointFilter(); } if (isset($this->userIdEqual)) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $this->userIdEqual); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $this->userIdEqual = $dbKuser->getId(); } if (isset($this->userIdIn)) { $userIds = explode(",", $this->userIdIn); foreach ($userIds as $userId) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $userId); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $kuserIds = $dbKuser->getId() . ","; } $this->userIdIn = $kuserIds; } return parent::toObject($cuePointFilter, $propsToSkip); }
public static function setDefaultCriteriaFilter() { if (self::$s_criteria_filter == null) { self::$s_criteria_filter = new criteriaFilter(); } $c = KalturaCriteria::create(CuePointPeer::OM_CLASS); $c->addAnd(CuePointPeer::STATUS, CuePointStatus::DELETED, Criteria::NOT_EQUAL); if (self::$userContentOnly) { $puserId = kCurrentContext::$ks_uid; $partnerId = kCurrentContext::$ks_partner_id; if ($puserId && $partnerId) { $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $puserId); if (!$kuser) { $kuser = kuserPeer::createKuserForPartner($partnerId, $puserId); } // Temporarily change user filter to (user==kuser OR cuepoint of type THUMB/CODE). Long term fix will be accomplished // by adding a public property on the cuepoint object and checking (user==kuser OR is public) //$c->addAnd(CuePointPeer::KUSER_ID, $kuser->getId()); $criterionUserOrPublic = $c->getNewCriterion(CuePointPeer::KUSER_ID, $kuser->getId()); $criterionUserOrPublic->addOr($c->getNewCriterion(self::IS_PUBLIC, true, Criteria::EQUAL)); $criterionUserOrPublic->addTag(KalturaCriterion::TAG_USER_SESSION); $criterionUserOrPublic->addOr($c->getNewCriterion(CuePointPeer::TYPE, array(ThumbCuePointPlugin::getCuePointTypeCoreValue(ThumbCuePointType::THUMB), CodeCuePointPlugin::getCuePointTypeCoreValue(CodeCuePointType::CODE), AdCuePointPlugin::getCuePointTypeCoreValue(AdCuePointType::AD)), Criteria::IN)); $c->addAnd($criterionUserOrPublic); } } self::$s_criteria_filter->setFilter($c); }
public function toFilter($partnerId) { $object = new ShortLinkFilter(); if (!is_null($this->userIdEqual)) { $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $this->userIdEqual); if ($kuser) { $this->userIdEqual = $kuser->getId(); } else { $this->userIdEqual = -1; } // no result will be returned when the user is missing } if (!is_null($this->userIdIn)) { $puserIds = explode(',', $this->userIdIn); $kusers = kuserPeer::getKuserByPartnerAndUids($partnerId, $puserIds); if (count($kusers)) { $kuserIds = array(); foreach ($kusers as $kuser) { $kuserIds[] = $kuser->getId(); } $this->userIdIn = implode(',', $kuserIds); } else { $this->userIdIn = -1; // no result will be returned when the user is missing } } return parent::toObject($object); }
protected function translateUserIds() { if ($this->userIdCurrent == KalturaNullableBoolean::TRUE_VALUE) { if (kCurrentContext::$ks_kuser_id) { $this->userIdEqual = kCurrentContext::$ks_kuser_id; } else { $this->isPublicEqual = KalturaNullableBoolean::TRUE_VALUE; } $this->userIdCurrent = null; } if (isset($this->userIdEqual)) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $this->userIdEqual); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $this->userIdEqual = $dbKuser->getId(); } if (isset($this->userIdIn)) { $userIds = explode(",", $this->userIdIn); foreach ($userIds as $userId) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $userId); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $kuserIds = $dbKuser->getId() . ","; } $this->userIdIn = $kuserIds; } }
/** * delete by userId and groupId * * @action delete * @param string $userId * @param string $groupId */ function deleteAction($userId, $groupId) { $partnerId = $this->getPartnerId(); //verify kuser exists $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $userId); if (!$kuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID, $userId); } //verify group exists $kgroup = kuserPeer::getKuserByPartnerAndUid($partnerId, $groupId); if (!$kgroup) { //if the delete worker was triggered due to group deletion if (kCurrentContext::$master_partner_id != Partner::BATCH_PARTNER_ID) { throw new KalturaAPIException(KalturaErrors::GROUP_NOT_FOUND, $groupId); } kuserPeer::setUseCriteriaFilter(false); $kgroup = kuserPeer::getKuserByPartnerAndUid($partnerId, $groupId); kuserPeer::setUseCriteriaFilter(true); if (!$kgroup) { throw new KalturaAPIException(KalturaErrors::GROUP_NOT_FOUND, $groupId); } } $dbKuserKgroup = KuserKgroupPeer::retrieveByKuserIdAndKgroupId($kuser->getId(), $kgroup->getId()); if (!$dbKuserKgroup) { throw new KalturaAPIException(KalturaErrors::GROUP_USER_DOES_NOT_EXIST, $userId, $groupId); } $dbKuserKgroup->setStatus(KuserKgroupStatus::DELETED); $dbKuserKgroup->save(); $groupUser = new KalturaGroupUser(); $groupUser->fromObject($dbKuserKgroup); }
protected function getFieldValue(kScope $scope = null) { if (!$scope) { $scope = new kScope(); } $kuser = kuserPeer::getKuserByPartnerAndUid($scope->getKs()->partner_id, $scope->getKs()->user); return $kuser->getEmail(); }
public function setPuserId($v) { $kuser = kuserPeer::getKuserByPartnerAndUid($this->getPartnerId(), $v); if (!$kuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } return $this->setKuserId($kuser->getId()); }
/** Returns newly created puser - after creating it's corresponding kuser. If the puser_kuser already exists && $verify_not_exists==true , don't create a new one and return the existing one */ public static function createPuserKuser($partner_id, $subp_id, $puser_id, $kuser_name, $puser_name, $create_kuser = false, $kuser = null) { $puser_kuser = self::retrieveByPartnerAndUid($partner_id, $subp_id, $puser_id, true); if (!$kuser) { $kuser = kuserPeer::getKuserByPartnerAndUid($partner_id, $puser_id, true); // don't create an existing kuser! } if ($puser_kuser) { if (!$create_kuser) { // if the puser_kuser already exists - don't re-create it $puser_kuser->exists = true; return $puser_kuser; } else { // puser_kuser exists but it's OK // this might be the case where we don't mind creating a new one each time } } else { $puser_kuser = new PuserKuser(); } $c = new Criteria(); $c->add(self::PARTNER_ID, $partner_id); $c->add(self::PUSER_ID, $puser_id); $partner_puser_kuser = self::doSelectOne($c); if ($kuser !== null) { $kuser_id = $kuser->getId(); } else { if ($partner_puser_kuser) { $kuser_id = $partner_puser_kuser->getKuserId(); $kuser = kuserPeer::retrieveByPK($kuser_id); } else { // create kuser for this puser $kuser = new kuser(); $kuser->setScreenName($kuser_name); list($firstName, $lastName) = kString::nameSplit($kuser_name); $kuser->setFirstName($firstName); $kuser->setLastName($lastName); $kuser->setPartnerId($partner_id); // set puserId for forward compatibility with PS3 $kuser->setPuserId($puser_id); $kuser->setStatus(KuserStatus::ACTIVE); // so he won't appear in the search $kuser->save(); $kuser_id = $kuser->getId(); } } $puser_kuser->setPartnerId($partner_id); $puser_kuser->setSubpId($subp_id); $puser_kuser->setPuserId($puser_id); $puser_kuser->setKuserId($kuser_id); $puser_kuser->setPuserName($puser_name); $puser_kuser->save(); $puser_kuser->setkuser($kuser); return $puser_kuser; }
/** * @param string $v puser id * @param bool $isAdmin * @return CuePoint */ public function setPuserId($puserId) { if (!$this->getPartnerId()) { throw new Exception("Partner id must be set in order to load puser [{$puserId}]"); } $kuser = kuserPeer::getKuserByPartnerAndUid($this->getPartnerId(), $puserId, true); if (!$kuser) { $kuser = kuserPeer::createKuserForPartner($this->getPartnerId(), $puserId); } $this->setKuserId($kuser->getId()); }
/** * Set the puser id and the kuser id * If the kuser doesn't exist it will be created * @param string $puserId */ public function setPuserId($puserId) { if (!$this->getPartnerId()) { throw new Exception("Partner id must be set in order to load puser [{$puserId}]"); } $this->puserId = $puserId; $kuser = kuserPeer::getKuserByPartnerAndUid($this->getPartnerId(), $puserId, true); if (!$kuser) { $isAdmin = kCurrentContext::$is_admin_session; $kuser = kuserPeer::createKuserForPartner($this->getPartnerId(), $puserId, $isAdmin); } $this->setKuserId($kuser->getId()); }
public function setPgroupId($pgroupId) { if (self::getPgroupId() == $pgroupId) { // same value - don't set for nothing return; } parent::setPgroupId($pgroupId); $partnerId = kCurrentContext::getCurrentPartnerId(); $kgroup = kuserPeer::getKuserByPartnerAndUid($partnerId, $pgroupId, false, KuserType::GROUP); if (!$kgroup) { throw new kCoreException("Invalid group Id [{$pgroupId}]", kCoreException::INVALID_USER_ID); } parent::setKgroupId($kgroup->getId()); }
public function toObject($object_to_fill = null, $props_to_skip = array()) { //No need to add objectId to result with status ERROR if ($this->status != KalturaBulkUploadResultStatus::ERROR) { $kuser = kuserPeer::getKuserByPartnerAndUid($this->partnerId, $this->userId); if (!$kuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $categoryKuser = categoryKuserPeer::retrieveByCategoryIdAndKuserId($this->categoryId, $kuser->getId()); if ($categoryKuser) { $this->objectId = $categoryKuser->getId(); } } return parent::toObject($object_to_fill, $props_to_skip); }
public function setPuserId($puserId) { if (self::getPuserId() == $puserId) { // same value - don't set for nothing return; } parent::setPuserId($puserId); $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id; $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $puserId); if (!$kuser) { throw new kCoreException("Invalid user Id [{$puserId}]", kCoreException::INVALID_USER_ID); } parent::setKuserId($kuser->getId()); parent::setScreenName($kuser->getScreenName()); }
/** * The user_id is infact a puser_id and the kuser_id should be retrieved */ protected function fixFilterUserId() { if ($this->userIdEqual !== null) { $kuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::getCurrentPartnerId(), $this->userIdEqual); if ($kuser) { $this->userIdEqual = $kuser->getId(); } else { $this->userIdEqual = -1; } // no result will be returned when the user is missing } if (!empty($this->userIdIn)) { $this->userIdIn = $this->preparePusersToKusersFilter($this->userIdIn); } }
public static function setDefaultCriteriaFilterByKuser() { if (self::$s_criteria_filter == null) { self::$s_criteria_filter = new criteriaFilter(); } $c = new Criteria(); $puserId = kCurrentContext::$ks_uid; $partnerId = kCurrentContext::$ks_partner_id; if ($puserId && $partnerId) { $kuserId = kuserPeer::getKuserByPartnerAndUid($partnerId, $puserId); if (!$kuserId) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $c->addAnd(AnnotationPeer::KUSER_ID, $kuserId->getId()); } self::$s_criteria_filter->setFilter($c); }
/** * @param AuditTrailFilter $auditTrailFilter * @param array $propsToSkip * @return AuditTrailFilter */ public function toObject($auditTrailFilter = null, $propsToSkip = array()) { if (isset($this->userIdEqual)) { $kuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $this->userIdEqual, true); if ($kuser) { $this->userIdEqual = $kuser->getId(); } } if (isset($this->userIdIn)) { $kusers = kuserPeer::getKuserByPartnerAndUids(kCurrentContext::$ks_partner_id, $this->userIdIn); $kuserIds = array(); foreach ($kusers as $kuser) { $kuserIds[] = $kuser->getId(); } $this->userIdIn = implode(',', $kuserIds); } return parent::toObject($auditTrailFilter, $propsToSkip); }
/** * @param AnnotationFilter $annotationFilter * @param array $propsToSkip * @return AnnotationFilter */ public function toObject($annotationFilter = null, $propsToSkip = array()) { if (!$annotationFilter) { $annotationFilter = new AnnotationFilter(); } if (isset($this->userIdEqual)) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $this->userIdEqual); $this->userIdEqual = $dbKuser->getId(); } if (isset($this->userIdIn)) { $userIds = explode(",", $this->userIdIn); foreach ($userIds as $userId) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $userId); $kuserIds = $dbKuser->getId() . ","; } $this->userIdIn = $kuserIds; } return parent::toObject($annotationFilter, $propsToSkip); }
public function toObject($obj = null, $props_to_skip = array()) { if (!$obj) { $obj = new kCategoryKuserAdvancedFilter(); } if (!$this->memberIdEq && !$this->memberIdIn) { throw new KalturaAPIException(KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL, 'memberIdEq,memberIdIn'); } if (!$this->memberPermissionsMatchOr && !$this->memberPermissionsMatchAnd) { throw new KalturaAPIException(KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL, 'memberIdEq,memberIdIn'); } if ($this->memberIdEq) { $kuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::getCurrentPartnerId(), $this->memberIdEq); if (!$kuser) { throw new KalturaAPIException(KalturaErrors::USER_NOT_FOUND); } $kuserIds = array($kuser->getId()); // retrieve categories that the user is a member by a group. $kgroupIds = KuserKgroupPeer::retrieveKgroupIdsByKuserId($kuser->getId()); if (!is_null($kgroupIds) && is_array($kgroupIds)) { $kuserIds = array_merge($kgroupIds, $kuserIds); } $obj->setMemberIdIn($kuserIds); } if ($this->memberIdIn) { $kusers = kuserPeer::getKuserByPartnerAndUids(kCurrentContext::getCurrentPartnerId(), explode(',', $this->memberIdIn)); $kuserIds = array(); if (!$kusers || !count($kusers)) { throw new KalturaAPIException(KalturaErrors::USER_NOT_FOUND); } foreach ($kusers as $kuser) { $kuserIds[] = $kuser->getId(); } // retrieve categories that the users are members by a group. $kgroupIds = KuserKgroupPeer::retrieveKgroupIdsByKuserIds($kuserIds); if (!is_null($kgroupIds) && is_array($kgroupIds)) { $kuserIds = array_merge($kgroupIds, $kuserIds); } $obj->setMemberIdIn($kuserIds); } return parent::toObject($obj, $props_to_skip); }
public function toObject($object_to_fill = null, $props_to_skip = array()) { if ($this->metadataObjectTypeEqual == KalturaMetadataObjectType::USER) { if ($this->objectIdEqual) { $kuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::getCurrentPartnerId(), $this->objectIdEqual); if ($kuser) { $this->objectIdEqual = $kuser->getId(); } } if ($this->objectIdIn) { $kusers = kuserPeer::getKuserByPartnerAndUids(kCurrentContext::getCurrentPartnerId(), explode(',', $this->objectIdIn)); $kusersIds = array(); foreach ($kusers as $kuser) { $kusersIds[] = $kuser->getId(); } $this->objectIdIn = implode(',', $kusersIds); } } return parent::toObject($object_to_fill, $props_to_skip); }
public static function setDefaultCriteriaFilterByKuser() { if (self::$s_criteria_filter == null) { self::$s_criteria_filter = new criteriaFilter(); } $c = self::$s_criteria_filter->getFilter(); if (!$c) { $c = new Criteria(); } $puserId = kCurrentContext::$ks_uid; $partnerId = kCurrentContext::$ks_partner_id; if ($puserId && $partnerId) { $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $puserId); if (!$kuser) { $kuser = kuserPeer::createKuserForPartner($partnerId, $puserId); } $c->addAnd(CuePointPeer::KUSER_ID, $kuser->getId()); } self::$s_criteria_filter->setFilter($c); }
protected function translateUserIds() { if (isset($this->userIdEqual)) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $this->userIdEqual); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $this->userIdEqual = $dbKuser->getId(); } if (isset($this->userIdIn)) { $userIds = explode(",", $this->userIdIn); foreach ($userIds as $userId) { $dbKuser = kuserPeer::getKuserByPartnerAndUid(kCurrentContext::$ks_partner_id, $userId); if (!$dbKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $kuserIds = $dbKuser->getId() . ","; } $this->userIdIn = $kuserIds; } }
protected static function getKuserFromPuserAndPartner($puserId, $partnerId, $shouldCreate = false) { $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $puserId, true); return $kuser; }
/** * reject CategoryUser * * @action deactivate * @param int $categoryId * @param string $userId * @return KalturaCategoryUser */ function deactivateAction($categoryId, $userId) { $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id; $kuser = kuserPeer::getKuserByPartnerAndUid($partnerId, $userId); if (!$kuser) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID, $userId); } $dbCategoryKuser = categoryKuserPeer::retrieveByCategoryIdAndKuserId($categoryId, $kuser->getId()); if (!$dbCategoryKuser) { throw new KalturaAPIException(KalturaErrors::INVALID_CATEGORY_USER_ID, $categoryId, $userId); } $currentKuserCategoryKuser = categoryKuserPeer::retrievePermittedKuserInCategory($dbCategoryKuser->getCategoryId(), kCurrentContext::getCurrentKsKuserId()); if (kEntitlementUtils::getEntitlementEnforcement() && (!$currentKuserCategoryKuser || $currentKuserCategoryKuser->getPermissionLevel() != CategoryKuserPermissionLevel::MANAGER && kCurrentContext::$ks_uid != $userId)) { throw new KalturaAPIException(KalturaErrors::CANNOT_UPDATE_CATEGORY_USER); } $dbCategoryKuser->setStatus(CategoryKuserStatus::NOT_ACTIVE); $dbCategoryKuser->save(); $categoryUser = new KalturaCategoryUser(); $categoryUser->fromObject($dbCategoryKuser, $this->getResponseProfile()); return $categoryUser; }
public static function sendNewUserMail(kuser $user, $existingUser) { // setup parameters $partnerId = $user->getPartnerId(); $userName = $user->getFullName(); if (!$userName) { $userName = $user->getPuserId(); } $creatorUserName = '******'; if (!is_null(kCurrentContext::$ks_uid)) { $creatorUser = kuserPeer::getKuserByPartnerAndUid($partnerId, kCurrentContext::$ks_uid); if ($creatorUser) { $creatorUserName = $creatorUser->getFullName(); } } $publisherName = PartnerPeer::retrieveByPK($partnerId)->getName(); $loginEmail = $user->getEmail(); $roleName = $user->getUserRoleNames(); $puserId = $user->getPuserId(); if (!$existingUser) { $resetPasswordLink = UserLoginDataPeer::getPassResetLink($user->getLoginData()->getPasswordHashKey()); } $kmcLink = trim(kConf::get('apphome_url'), '/') . '/kmc'; $adminConsoleLink = trim(kConf::get('admin_console_url')); $contactLink = kConf::get('contact_url'); $beginnersGuideLink = kConf::get('beginners_tutorial_url'); $quickStartGuideLink = kConf::get('quick_start_guide_url'); // setup mail $mailType = null; $bodyParams = array(); if ($partnerId == Partner::ADMIN_CONSOLE_PARTNER_ID) { if ($existingUser) { $mailType = self::KALTURA_NEW_EXISTING_USER_ADMIN_CONSOLE_EMAIL; $bodyParams = array($userName, $creatorUserName, $loginEmail, $roleName); } else { $mailType = self::KALTURA_NEW_USER_ADMIN_CONSOLE_EMAIL; $bodyParams = array($userName, $creatorUserName, $loginEmail, $resetPasswordLink, $roleName, $adminConsoleLink); } } else { if ($existingUser) { $mailType = self::KALTURA_NEW_EXISTING_USER_EMAIL; $bodyParams = array($userName, $creatorUserName, $publisherName, $loginEmail, $partnerId, $publisherName, $publisherName, $roleName, $publisherName, $puserId, $kmcLink, $contactLink, $beginnersGuideLink, $quickStartGuideLink); } else { $mailType = self::KALTURA_NEW_USER_EMAIL; $bodyParams = array($userName, $creatorUserName, $publisherName, $loginEmail, $resetPasswordLink, $partnerId, $publisherName, $publisherName, $roleName, $publisherName, $puserId, $kmcLink, $contactLink, $beginnersGuideLink, $quickStartGuideLink); } } // add mail job kJobsManager::addMailJob(null, 0, $partnerId, $mailType, kMailJobData::MAIL_PRIORITY_NORMAL, kConf::get("partner_registration_confirmation_email"), kConf::get("partner_registration_confirmation_name"), $loginEmail, $bodyParams); }
public function execute() { // Disable layout $this->setLayout(false); $this->success = false; $this->type = $this->getRequestParameter('type'); if (!$this->type) { KExternalErrors::dieError(KExternalErrors::MISSING_PARAMETER, 'type'); } $validTypes = array('name', 'email', 'password'); if (!in_array($this->type, $validTypes)) { KExternalErrors::dieError(KExternalErrors::INVALID_SETTING_TYPE); } $ks = $this->getP("kmcks"); if (!$ks) { KExternalErrors::dieError(KExternalErrors::MISSING_PARAMETER, 'ks'); } // Get partner & user info from KS $ksObj = kSessionUtils::crackKs($ks); $partnerId = $ksObj->partner_id; $userId = $ksObj->user; $partner = PartnerPeer::retrieveByPK($partnerId); if (!$partner) { KExternalErrors::dieError(KExternalErrors::PARTNER_NOT_FOUND); } if (!$partner->validateApiAccessControl()) { KExternalErrors::dieError(KExternalErrors::SERVICE_ACCESS_CONTROL_RESTRICTED); } $this->forceKMCHttps = PermissionPeer::isValidForPartner(PermissionName::FEATURE_KMC_ENFORCE_HTTPS, $partnerId); if ($this->forceKMCHttps) { // Prevent the page fron being embeded in an iframe header('X-Frame-Options: SAMEORIGIN'); } if ($this->forceKMCHttps && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on')) { die; } // Load the current user $dbUser = kuserPeer::getKuserByPartnerAndUid($partnerId, $userId); if (!$dbUser) { KExternalErrors::dieError('INVALID_USER_ID', $userId); } $this->email = $dbUser->getEmail(); $this->fname = $dbUser->getFirstName(); $this->lname = $dbUser->getLastName(); $this->parent_url = $this->clean($_GET['parent']); // Set page title switch ($this->type) { case 'password': $this->pageTitle = 'Change Password'; break; case 'email': $this->pageTitle = 'Change Email Address'; break; case 'name': $this->pageTitle = 'Change Username'; break; } // select which action to do if (isset($_POST['do'])) { switch ($_POST['do']) { case "password": $this->changePassword(); break; case "email": $this->changeEmail(); break; case "name": $this->changeName(); break; } } sfView::SUCCESS; }
/** return array('status' => $status, 'message' => $message, 'objects' => $objects); objects - array of 'thumb' 'title' 'description' 'id' - unique id to be passed to getMediaInfo */ public function searchMedia($media_type, $searchText, $page, $pageSize, $authData = null, $extraData = null) { $page_size = $pageSize > 20 ? 20 : $pageSize; $page--; if ($page < 0) { $page = 0; } $status = "ok"; $message = ''; $objects = array(); $should_serach = true; if (defined("KALTURA_API_V3")) { $kuser = kuserPeer::getKuserByPartnerAndUid(self::$partner_id, self::$puser_id); $should_serach = true; $kuser_id = $kuser->getId(); } else { $puser_kuser = PuserKuserPeer::retrieveByPartnerAndUid(self::$partner_id, self::$subp_id, self::$puser_id, true); if (!$puser_kuser) { // very bad - does not exist in system $should_serach = false; } else { $kuser = $puser_kuser->getKuser(); if (!$kuser) { $should_serach = false; } else { $kuser_id = $kuser->getId(); } } } // echo "[" . self::$partner_id . "],[". self::$subp_id . "],[" . self::$puser_id . "],[$kuser_id]"; if ($should_serach) { $c = KalturaCriteria::create(entryPeer::OM_CLASS); $c->add(entryPeer::KUSER_ID, $kuser_id); $c->add(entryPeer::MEDIA_TYPE, $media_type); $c->add(entryPeer::TYPE, entryType::MEDIA_CLIP); // $keywords_array = mySearchUtils::getKeywordsFromStr ( $searchText ); $filter = new entryFilter(); $filter->setPartnerSearchScope(self::$partner_id); $filter->addSearchMatchToCriteria($c, $searchText, entry::getSearchableColumnName()); $c->setLimit($pageSize); $c->setOffset($page * $pageSize); $entry_results = entryPeer::doSelect($c); //JoinAll( $c ); $number_of_results = $c->getRecordsCount(); $number_of_pages = (int) ($number_of_results / $pageSize); if ($number_of_results % $pageSize != 0) { $number_of_pages += 1; } // if there are some left-overs - there must be a nother page // add thumbs when not image or video $should_add_thumbs = $media_type != entry::ENTRY_MEDIA_TYPE_AUDIO; foreach ($entry_results as $entry) { // send the id as the url $object = array("id" => $entry->getId(), "url" => $entry->getDataUrl(), "tags" => $entry->getTags(), "title" => $entry->getName(), "description" => $entry->getDescription()); if ($should_add_thumbs) { $object["thumb"] = $entry->getThumbnailUrl(); } $objects[] = $object; } } return array('status' => $status, 'message' => $message, 'objects' => $objects, "needMediaInfo" => self::$NEED_MEDIA_INFO); }
public static function handleBulkDownloadFinished(BatchJob $dbBatchJob, kBulkDownloadJobData $data, BatchJob $twinJob = null) { if ($dbBatchJob->getAbort()) { return $dbBatchJob; } $partner = PartnerPeer::retrieveByPK($dbBatchJob->getPartnerId()); if (!$partner) { KalturaLog::err("Partner id [" . $dbBatchJob->getPartnerId() . "] not found, not sending mail"); return $dbBatchJob; } $adminName = $partner->getAdminName(); $entryIds = explode(",", $data->getEntryIds()); $flavorParamsId = $data->getFlavorParamsId(); $links = array(); foreach ($entryIds as $entryId) { $entry = entryPeer::retrieveByPK($entryId); if (is_null($entry)) { continue; } $link = $entry->getDownloadAssetUrl($flavorParamsId); if (is_null($link)) { $link = "Failed to prepare"; } else { $link = '<a href="' . $link . '">Download</a>'; } $links[] = $entry->getName() . " - " . $link; } $linksHtml = implode("<br />", $links); // add mail job $jobData = new kMailJobData(); $jobData->setIsHtml(true); $jobData->setMailPriority(kMailJobData::MAIL_PRIORITY_NORMAL); $jobData->setStatus(kMailJobData::MAIL_STATUS_PENDING); if (count($links) <= 1) { $jobData->setMailType(62); } else { $jobData->setMailType(63); } $jobData->setBodyParamsArray(array($adminName, $linksHtml)); $jobData->setFromEmail(kConf::get("batch_download_video_sender_email")); $jobData->setFromName(kConf::get("batch_download_video_sender_name")); $kuser = kuserPeer::getKuserByPartnerAndUid($dbBatchJob->getPartnerId(), $data->getPuserId()); if ($kuser) { $recipientEmail = $kuser->getEmail(); } else { KalturaLog::err('Cannot find kuser with puserId [' . $dbBatchJob->getPartnerId() . '] and partnerId [' . $data->getPuserId() . ']. Sending mail to admin user instead.'); $recipientEmail = $partner->getAdminEmail(); } $jobData->setRecipientEmail($recipientEmail); $jobData->setSubjectParamsArray(array()); kJobsManager::addJob($dbBatchJob->createChild(), $jobData, BatchJobType::MAIL, $jobData->getMailType()); return $dbBatchJob; }
/** * The user_id is infact a puser_id and the kuser_id should be retrieved * * @param KalturaBaseEntryFilter $filter */ private function fixFilterUserId(KalturaBaseEntryFilter $filter) { if ($filter->userIdEqual !== null) { $kuser = kuserPeer::getKuserByPartnerAndUid($this->getPartnerId(), $filter->userIdEqual); if ($kuser) { $filter->userIdEqual = $kuser->getId(); } else { $filter->userIdEqual = -1; } // no result will be returned when the user is missing } }
/** * Tests UserService->deleteAction() */ public function testDeleteAction() { // create a new user $this->startSession(KalturaSessionType::ADMIN, null); $newUser = $this->createUser(true, true, __FUNCTION__); $addedUser = $this->addUser($newUser); $this->assertType('KalturaUser', $addedUser); // try to delete with user ks - should fail $this->startSession(KalturaSessionType::USER, null); $exceptionThrown = false; try { $this->client->user->delete($newUser->id); } catch (Exception $e) { $exceptionThrown = $e; } $this->checkException($exceptionThrown, 'SERVICE_FORBIDDEN'); // check that can get user $this->startSession(KalturaSessionType::ADMIN, null); $getUser = $this->client->user->get($newUser->id); $this->assertType('KalturaUser', $getUser); $this->assertEquals(KalturaUserStatus::ACTIVE, $getUser->status); // check delete user with admin ks $deletedUser = $this->client->user->delete($newUser->id); $this->assertEquals(KalturaUserStatus::DELETED, $deletedUser->status); // delete user -> check no get $exceptionThrown = false; try { $this->client->user->get($newUser->id); } catch (Exception $e) { $exceptionThrown = $e; } $this->checkException($exceptionThrown, 'INVALID_USER_ID'); // delete user -> check no list with and without filter $userList = $this->client->user->listAction(); foreach ($userList->objects as $user) { if ($user->id == $newUser->id) { $this->fail('user->list returned a deleted user!'); } } $userFilter = new KalturaUserFilter(); $userFilter->idEqual = $newUser->id; $userList = $this->client->user->listAction($userFilter); $this->assertEquals(0, count($userList->objects)); $this->assertEquals(0, $userList->totalCount); // check that can add a new user with same id $addedUser = $this->addUser($newUser); $this->assertType('KalturaUser', $addedUser); $this->assertEquals($newUser->id, $addedUser->id); // delete user from one partner only $this->startSession(KalturaSessionType::ADMIN, null); $this->startSession2(KalturaSessionType::ADMIN, null); $newUser = $this->createUser(false, true, __FUNCTION__); $createdUser1 = $this->addUser($newUser); $this->assertType('KalturaUser', $createdUser1); $newUser->isAdmin = false; // make the user not admin on the 2nd partner $createdUser2 = $this->addUser2($newUser); $this->assertType('KalturaUser', $createdUser2); $this->assertEquals(self::TEST_PARTNER_ID, $createdUser1->partnerId); $this->assertEquals(self::TEST_PARTNER_ID_2, $createdUser2->partnerId); $deletedUser = $this->client->user->delete($newUser->id); $this->assertEquals(KalturaUserStatus::DELETED, $deletedUser->status); $exceptionThrown = false; try { $this->client->user->get($newUser->id); } catch (Exception $e) { $exceptionThrown = $e; } $this->checkException($exceptionThrown, 'INVALID_USER_ID'); $getUser2 = $this->client2->user->get($newUser->id); $this->assertEquals($createdUser2, $getUser2); $this->assertEquals(self::TEST_PARTNER_ID_2, $getUser2->partnerId); $this->assertEquals($newUser->id, $getUser2->id); // create user with login id on 2 partners $newUser = $this->createUser(true, false, __FUNCTION__); $createdUser1 = $this->addUser($newUser); $this->assertType('KalturaUser', $createdUser1); $newUser->isAdmin = true; // make the user admin on the 2nd partner $createdUser2 = $this->addUser2($newUser); $this->assertType('KalturaUser', $createdUser2); $this->assertEquals(self::TEST_PARTNER_ID, $createdUser1->partnerId); $this->assertEquals(self::TEST_PARTNER_ID_2, $createdUser2->partnerId); // check that login data exists $dbUser = kuserPeer::getKuserByPartnerAndUid(self::TEST_PARTNER_ID, $newUser->id); $loginDataId = $dbUser->getLoginDataId(); $loginData = UserLoginDataPeer::retrieveByPK($loginDataId); $this->assertNotNull($loginData); // delete from 1st partner and verify that login data still exists $this->client->user->delete($newUser->id); $loginData = UserLoginDataPeer::retrieveByPK($loginDataId); $this->assertNotNull($loginData); // verify that user now logs in to the 2nd partner $newClient = $this->getClient(null); $ks = $newClient->user->loginByLoginId($newUser->email, $newUser->password); $this->assertNotNull($ks); $ks = kSessionUtils::crackKs($ks); $this->assertNotNull($ks); $this->assertEquals(self::TEST_PARTNER_ID_2, $ks->partner_id); // delete user with login id when it's the last one $this->client2->user->delete($newUser->id); UserLoginDataPeer::clearInstancePool(); $loginData = UserLoginDataPeer::retrieveByPK($loginDataId); $this->assertNull($loginData); }