function kaltura_installation_form_submit in Kaltura 6.2
File
- includes/
kaltura.install.inc, line 318 - Contains functions for installation of Kaltura module.
Code
function kaltura_installation_form_submit($form, &$form_state) {
global $base_url;
$form_state['storage'] = array_merge($form_state['storage'], $form_state['values']);
switch ($form_state['storage']['step']) {
case 3:
switch ($form_state['storage']['login_register']) {
case 'login':
// import an existing partner (was kaltura_import_ce())
$config = Kalturahelpers::getServiceConfiguration();
$config->partnerId = $form_state['storage']['kaltura_partner_id'];
$config->serviceUrl = $form_state['storage']['kaltura_server_url'];
$client = new KalturaClient($config);
try {
$result = $client->partner
->getSecrets($form_state['storage']['kaltura_partner_id'], $form_state['storage']['kaltura_login_email'], $form_state['storage']['kaltura_login_password']);
variable_set('kaltura_partner_id', $result->id);
variable_set('kaltura_subp_id', $result->id . "00");
variable_set('kaltura_secret', $result->secret);
variable_set('kaltura_admin_secret', $result->adminSecret);
variable_set('kaltura_local_registration', 1);
variable_set('kaltura_server_url', $form_state['storage']['kaltura_server_url']);
variable_set('kaltura_partner_cms_email', $form_state['storage']['kaltura_login_email']);
variable_set('kaltura_partner_cms_password', $form_state['storage']['kaltura_login_password']);
variable_set('kaltura_partner_url2', $form_state['storage']['partner_url2']);
variable_set('kaltura_notification_type', 0);
kaltura_update_kaltura_partner(2, $partner->notificationUrl);
// kaltura_create_widgets_for_partner($partner->id, $secret);
drupal_set_message('Congratulations! You have successfully installed the Kaltura Module and connected to your Kaltura server.');
drupal_goto('admin/settings/kaltura/general');
} catch (Exception $ex) {
drupal_set_message(t('Kaltura client exception: @message', array(
'@message' => $ex
->getMessage(),
)), 'error');
}
case 'register':
$partner = new KalturaPartner();
$partner->name = $form_state['storage']['partner_site_name'];
$partner->website = $form_state['storage']['website'];
// would be nice to respect clean URLs here too.
// $partner->notificationUrl = url($form_state['storage']['partner_url2'], array('query' => array('q' => 'kaltura/notification_handler'))) ;
$partner->notificationUrl = url('kaltura/notification_handler', array(
'absolute' => TRUE,
));
$partner->adminName = $form_state['storage']['admin_name'];
$partner->adminEmail = $form_state['storage']['admin_email'];
$partner->description = $form_state['storage']['description'];
$partner->commercialUse = 'non-commercial_use';
// odd that this is hard-coded, must ask ZB
$partner->type = 102;
// likewise, what is this?
$partner->appearInSearch = 1;
$content_categories = new KalturaContentCategories();
foreach ($form_state['storage']['site_content'] as $k => $category) {
if ($category) {
$categories[] = $k;
}
}
$partner->contentCategories = !empty($categories) ? implode(',', $categories) : 'N/A';
// in old form this was: $partner->adultContent = ($_REQUEST['kaltura_adult_content'] == 1)? true: false;
// but when testing, I always found that (regardless of submitted value), the Kaltura server then
// listed the registered account as FALSE for this value.
$partner->adultContent = $form_state['storage']['adult_content']['yes'] ? TRUE : FALSE;
$config = KalturaHelpers::getServiceConfiguration();
$config->serviceUrl = $form_state['storage']['kaltura_server_url'];
// also [#1018042]
$config->curlTimeout = 60;
$client = new KalturaClient($config);
watchdog('kaltura', 'Registering Kaltura partner: <pre>!partner</pre>', array(
'!partner' => print_r($partner, 1),
));
try {
$res = $client->partner
->register($partner, $form_state['storage']['cms_password']);
if ($res->id) {
variable_set('kaltura_partner_id', $res->id);
variable_set('kaltura_subp_id', $res->id . '00');
variable_set('kaltura_secret', $res->secret);
variable_set('kaltura_admin_secret', $res->adminSecret);
variable_set('kaltura_local_registration', 1);
variable_set('kaltura_server_url', $form_state['storage']['kaltura_server_url']);
variable_set('kaltura_partner_cms_email', $res->adminEmail);
variable_set('kaltura_partner_cms_password', $res->cmsPassword);
variable_set('kaltura_partner_url2', $form_state['storage']['partner_url2']);
variable_set('kaltura_notification_type', 0);
variable_set('kaltura_content_categories', $res->categories);
kaltura_update_kaltura_partner(2, $partner->notificationUrl);
drupal_set_message('Congratulations! You have successfully installed the Kaltura Video Module and registered for the Kaltura Partner Program.');
drupal_goto('admin/settings/kaltura/general');
}
else {
form_set_error('', t('Error registering for the Kaltura Partner Program: @message', array(
'@message' => $res['error'][0]['desc'],
)));
drupal_set_message(t('Error registering for the Kaltura Partner Program: @message', array(
'@message' => $res['error'][0]['desc'],
)), 'error');
}
} catch (Exception $ex) {
if (stristr($ex
->getMessage(), 'timed out after')) {
form_set_error('', t('Registration attempt with Kaltura server timed out. You may wish to try again, or !register_manually.', array(
'!register_manually' => l('register manually', 'http://corp.kaltura.com/about/signup'),
)));
}
else {
form_set_error('', t('Registration error: @message', array(
'@message' => $ex
->getMessage(),
)), 'error');
//if (module_exists('devel')) {
// dpm($ex->getTrace(), 'Exception stack trace');
//}
}
watchdog('kaltura', 'Registration error: @message', array(
'@message' => $ex
->getMessage(),
));
watchdog('kaltura', 'Backtrace for failed registration: <pre>!trace</pre>', array(
'!trace' => print_r($ex
->getTrace(), 1),
));
// If we re-display the form here, we will lose $form['storage'].
// Redirect back to step 0 to avoid confusion.
drupal_goto('admin/settings/kaltura/install');
}
break;
}
break;
}
}