/** * @return KalturaSystemPartnerClientPlugin */ public static function get(KalturaClient $client) { if (!self::$instance) { self::$instance = new KalturaSystemPartnerClientPlugin($client); } return self::$instance; }
/** * * Adds the permissions for the test partner * @param $client - KalturaClient */ public static function addPermissions(KalturaClient $client) { $partnerId = $client->getConfig()->partnerId; //Get the admin partner id and secret from the application.ini $adminConsoleIniPath = KALTURA_ROOT_PATH . "/configurations/admin.ini"; $adminIni = new Zend_Config_Ini($adminConsoleIniPath); $adminProductionSettings = $adminIni->get('production'); $adminConsolePartnerId = $adminProductionSettings->settings->partnerId; $adminConsolePartnerSecret = $adminProductionSettings->settings->secret; $adminConfig = new KalturaConfiguration($adminConsolePartnerId); $adminConfig->serviceUrl = $client->getConfig()->serviceUrl; //The same service url of the test partner client $adminClient = new KalturaClient($adminConfig); //TODO: get this from the installation or outside input $ks = $adminClient->user->loginByLoginId('*****@*****.**', 'admin'); $adminClient->setKs($ks); $addedPermissions = array(); try { $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("CUEPOINT_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("CODECUEPOINT_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("ADCUEPOINT_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("ANNOTATION_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("DROPFOLDER_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("CONTENTDISTRIBUTION_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); $addedPermissions[] = KalturaTestDeploymentHelper::createPermission("METADATA_PLUGIN_PERMISSION", KalturaPermissionType::PLUGIN); } catch (Exception $e) { print "Exception was raised during permission adding: " . $e->getMessage() . "\n"; } $systemPartnerPlugin = KalturaSystemPartnerClientPlugin::get($adminClient); $partner = $systemPartnerPlugin->systemPartner->get($partnerId); $partnerConfig = $systemPartnerPlugin->systemPartner->getConfiguration($partnerId); $partnerConfig->storageServePriority = KalturaStorageServePriority::KALTURA_ONLY; $newConfig = new KalturaSystemPartnerConfiguration(); foreach ($addedPermissions as $permission) { $newConfig->permissions[] = $permission; } if ($newConfig->permissions && count($newConfig->permissions)) { //Clean the id from the permissions foreach ($newConfig->permissions as &$permission) { $permission->id = null; $permission->partnerId = null; $permission->createdAt = null; $permission->updatedAt = null; $permission->status = KalturaPermissionStatus::ACTIVE; } } $result = $systemPartnerPlugin->systemPartner->updateConfiguration($partnerId, $newConfig); $config = new KalturaConfiguration(); $config->serviceUrl = $client->getConfig()->serviceUrl; $config->partnerId = self::$partner->id; $client = new KalturaClient($config); // create a client for the partner $ks = $client->session->start(self::$partner->adminSecret, null, KalturaSessionType::ADMIN, self::$partner->id, 86400, null); $client->setKs($ks); }
<?php $config = null; $clientConfig = null; /* @var $clientConfig KalturaConfiguration */ $client = null; /* @var $client KalturaClient */ require_once __DIR__ . '/lib/init.php'; echo "Test started [" . __FILE__ . "]\n"; /** * Start a new session */ $adminSecretForSigning = $config['adminConsoleSession']['adminSecret']; $client->setKs($client->generateSessionV2($adminSecretForSigning, null, KalturaSessionType::ADMIN, -2, 86400, '')); echo "Admin console session started\n"; $partnerId = $config['session']['partnerId']; /** * Delete the partner */ $systemPartnerClient = KalturaSystemPartnerClientPlugin::get($client); $systemPartnerClient->systemPartner->updateStatus($partnerId, KalturaPartnerStatus::FULL_BLOCK, "Test Delete Partner"); echo "Partner [{$partnerId}] deleted\n"; /** * All is SABABA */ echo "OK\n"; exit(0);