public static function createKuserForPartner($partner_id, $puser_id, $is_admin = false) { $kuser = kuserPeer::getKuserForPartner($partner_id, $puser_id); if (!$kuser) { $lockKey = "user_add_" . $partner_id . $puser_id; return kLock::runLocked($lockKey, array('kuserPeer', 'createNewUser'), array($partner_id, $puser_id, $is_admin)); } return $kuser; }
/** * Adds a new user to an existing account in the Kaltura database. * Input param $id is the unique identifier in the partner's system. * * @action add * @param KalturaUser $user The new user * @return KalturaUser The new user * * @throws KalturaErrors::DUPLICATE_USER_BY_ID * @throws KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL * @throws KalturaErrors::INVALID_FIELD_VALUE * @throws KalturaErrors::UNKNOWN_PARTNER_ID * @throws KalturaErrors::ADMIN_LOGIN_USERS_QUOTA_EXCEEDED * @throws KalturaErrors::PASSWORD_STRUCTURE_INVALID * @throws KalturaErrors::DUPLICATE_USER_BY_LOGIN_ID * @throws KalturaErrors::USER_ROLE_NOT_FOUND */ function addAction(KalturaUser $user) { if (!preg_match(kuser::PUSER_ID_REGEXP, $user->id)) { throw new KalturaAPIException(KalturaErrors::INVALID_FIELD_VALUE, 'id'); } if ($user instanceof KalturaAdminUser) { $user->isAdmin = true; } $user->partnerId = $this->getPartnerId(); $lockKey = "user_add_" . $this->getPartnerId() . $user->id; return kLock::runLocked($lockKey, array($this, 'adduserImpl'), array($user)); }
/** * Action transforms current metadata object XML using a provided XSL. * @action updateFromXSL * * @param int $id * @param file $xslFile * @return KalturaMetadata * @throws MetadataErrors::XSLT_VALIDATION_ERROR * @throws MetadataErrors::METADATA_FILE_NOT_FOUND * @throws MetadataErrors::METADATA_NOT_FOUND */ public function updateFromXSLAction($id, $xslFile) { $xslFilePath = $xslFile['tmp_name']; if (!file_exists($xslFilePath)) { throw new KalturaAPIException(MetadataErrors::METADATA_FILE_NOT_FOUND, $xslFile['name']); } $xslData = file_get_contents($xslFilePath); @unlink($xslFilePath); return kLock::runLocked("metadata_update_xsl_{$id}", array($this, 'updateFromXSLImpl'), array($id, $xslData)); }