function kaltura_settings_form in Kaltura 6.2
Same name and namespace in other branches
- 5 includes/kaltura.admin.inc \kaltura_settings_form()
- 6 includes/kaltura.admin.inc \kaltura_settings_form()
- 7.2 includes/kaltura.admin.inc \kaltura_settings_form()
determine how the general settings form will look like.
returns one of 2 states of forms: 1) registration form (if variables do not exist in the DB)
- either as SaaS or Kaltura CE
2) notifications settings + configuration test + settings form
@TODO remove the registration form component from this now that we have a separate form.
@TODO FAPI rewrite.
2 string references to 'kaltura_settings_form'
- kaltura_form_alter in includes/
kaltura.admin.inc - kaltura_menu in ./
kaltura.module
File
- includes/
kaltura.admin.inc, line 101
Code
function kaltura_settings_form() {
global $base_url;
if (variable_get('kaltura_partner_id', '') == '') {
drupal_goto('admin/settings/kaltura/install');
}
if (!module_exists('advanced_help')) {
$form['kaltura_help'] = array(
'#value' => t('For more detailed help enable the advanced help module.'),
);
}
/* status report */
$form['kaltura_server_status'] = array(
'#type' => 'fieldset',
'#title' => t('Server Status'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
list($admin_session_status, $admin_session_error) = kaltura_check_server_status($admin = 1);
list($normal_session_status, $normal_session_error) = kaltura_check_server_status($admin = 0);
$status_class = $admin_session_status && $normal_session_status ? 'ok' : 'bad';
$session_status = $admin_session_status && $normal_session_status ? 'OK' : 'ERROR';
$error = '';
if ($admin_session_error) {
$error .= '<br />Admin Session: ' . $admin_session_error;
$error_status = TRUE;
}
if ($normal_session_error) {
$error .= '<br />Normal Session: ' . $normal_session_error;
$error_status = TRUE;
}
$form['kaltura_server_status']['kaltura_Admin_test_server'] = array(
'#type' => 'item',
'#title' => t('Drupal to Kaltura Session Test'),
'#prefix' => '<div class="kaltura-status-' . $status_class . '">',
'#value' => 'Session status: ' . $session_status . ($error_status ? $error : ''),
'#suffix' => '</div>',
);
if (kaltura_variable_get_real('kaltura_notification_type', 0) == 1) {
list($status, $text) = kaltura_test_notification_config();
$prefix = '<div class="kaltura-status-' . ($status ? 'ok' : 'bad') . '">';
$form['kaltura_server_status']['kaltura_notification_status'] = array(
'#type' => 'item',
'#title' => t('Kaltura to Drupal Notification Status'),
'#prefix' => $prefix,
'#value' => $text,
'#suffix' => '</div>',
);
}
list($status, $text) = kaltura_test_cron_job_status();
$prefix = '<div class="kaltura-status-' . ($status ? 'ok' : 'bad') . '">';
$form['kaltura_server_status']['kaltura_cron_job_status'] = array(
'#type' => 'item',
'#title' => t('Cron-Job Status'),
'#prefix' => $prefix,
'#value' => $text,
'#suffix' => '</div>',
);
list($status, $text) = kaltura_test_crossdomain();
$prefix = '<div class="kaltura-status-' . ($status ? 'ok' : 'bad') . '">';
$form['kaltura_server_status']['kaltura_crossdomain_status'] = array(
'#type' => 'item',
'#title' => t('crossdomain.xml Status'),
'#prefix' => $prefix,
'#value' => $text,
'#suffix' => '</div>',
);
/* The normal settings form. */
if (variable_get('kaltura_partner_id', '') == '') {
drupal_set_title('All in One Video Module by Kaltura Installation');
$forgot_link_attributes = array(
'attributes' => array(
'target' => '_blank',
),
);
$information_text = 'Please enter your CMS email & password';
$information_text .= '<br />' . l('forgot password', 'http://www.kaltura.com/index.php/cms/login', $forgot_link_attributes);
$form['kaltura_settings_information']['#value'] = $information_text;
}
$form['kaltura_partner_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Partner Info'),
'#collapsible' => $_GET['register'] === 'no' ? FALSE : TRUE,
'#collapsed' => $_GET['register'] === 'no' ? FALSE : TRUE,
);
/*
$form['kaltura_partner_settings']['kaltura_exitss_switch'] = array(
'#value' => $not_registered,
);
*/
$partner_exist = variable_get('kaltura_partner_id', '');
$readonly_attr = array();
if (!empty($partner_exist)) {
$readonly_attr = array(
'readonly' => 'readonly',
);
}
$form['kaltura_partner_settings']['kaltura_partner_id'] = array(
'#type' => 'textfield',
'#title' => t('Partner ID'),
'#default_value' => variable_get('kaltura_partner_id', ''),
'#size' => 20,
'#maxlength' => 10,
'#attributes' => $readonly_attr,
);
$form['kaltura_partner_settings']['kaltura_partner_cms_email'] = array(
'#type' => 'textfield',
'#title' => t('Email'),
'#default_value' => variable_get('kaltura_partner_cms_email', ''),
// '#attributes' => $readonly_attr,
'#description' => t('This value must match your Kaltura server settings.'),
);
$form['kaltura_partner_settings']['kaltura_partner_cms_password'] = array(
'#type' => 'password',
'#title' => t('Password'),
'#default_value' => variable_get('kaltura_partner_cms_password', ''),
// '#attributes' => $readonly_attr,
'#description' => t('This value must match your Kaltura server settings. Leave blank unless changing your password.'),
);
if (!empty($partner_exist)) {
$kmc_url = trim(variable_get('kaltura_server_url', 'http://www.kaltura.com'), '/') . '/kmc';
$form['kaltura_partner_settings']['kaltura_upd_data'] = array(
'#type' => 'item',
'#value' => t('You can update your email and password via Kaltura Management Console here: ') . l($kmc_url, $kmc_url, array(
'attributes' => array(
'target' => '_blank',
),
)),
);
}
if (variable_get('kaltura_partner_id', '') == '') {
$form_state['storage']['submit'] = 'ImportPartner';
$form['kaltura_registration']['buttons']['import_partner'] = array(
'#type' => 'button',
'#title' => 'Complete Installation',
'#value' => 'Complete Installation',
'#default_value' => 'Complete Installation',
'#weight' => 40,
);
}
/* if (variable_get('kaltura_partner_id', '') == '') */
$form['kaltura_partner_settings']['kaltura_subp_id'] = array(
'#type' => 'hidden',
'#title' => t('Kaltura Sub-Partner Id'),
'#default_value' => variable_get('kaltura_subp_id', ''),
'#size' => 20,
'#maxlength' => 10,
);
/**
* This test always returns true, right?
*/
if (variable_get('kaltura_local_registration', 0) != 1 || 1) {
$form['kaltura_partner_settings']['kaltura_secret'] = array(
'#type' => 'hidden',
'#title' => t('Kaltura Secret'),
'#default_value' => variable_get('kaltura_secret', ''),
'#size' => 60,
'#maxlength' => 64,
);
$form['kaltura_partner_settings']['kaltura_admin_secret'] = array(
'#type' => 'hidden',
'#title' => t('Kaltura Admin Secret'),
'#default_value' => variable_get('kaltura_admin_secret', ''),
'#size' => 60,
'#maxlength' => 64,
);
}
/* ALWAYS TRUE: if (variable_get('kaltura_local_registration', 0) != 1 || 1) */
$form['kaltura_partner_settings']['kaltura_server_url'] = array(
'#type' => 'hidden',
'#title' => t('Kaltura Server URL'),
'#default_value' => variable_get('kaltura_server_url', KalturaHelpers::getKalturaServerUrl()),
'#size' => 100,
'#maxlength' => 64,
);
/* notification settings fieldset */
$notification_settings = kaltura_notifications_settings_form();
$form['kaltura_notification_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Kaltura to Drupal Notification Settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
foreach ($notification_settings as $name => $form_element) {
$form['kaltura_notification_settings'][$name] = $form_element;
}
/* credits / backlinks */
$form['kaltura_credits'] = array(
'#type' => 'fieldset',
'#title' => 'Credits',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$text = '<b>Open Source Video Links</b>' . PHP_EOL;
$text .= 'Kaltura invests a great deal of effort in the open source community, and specifically in the open source video movement.';
$text .= 'The following two links will be included within the video player in order to further promote Kaltura and its efforts in the open video space. ';
$text .= 'We hope that you will join us by including these links in the player.' . PHP_EOL;
$text .= l('open source video', 'http://corp.kaltura.com/download') . PHP_EOL . l('video platform', 'http://corp.kaltura.com/technology/');
$form['kaltura_credits']['kaltura_credits_text'] = array(
'#type' => 'item',
'#value' => nl2br($text),
);
$form['kaltura_credits']['kaltura_display_credits'] = array(
'#type' => 'checkbox',
'#title' => t('Include links in player'),
'#option' => t('Include links in player'),
'#default_value' => variable_get('kaltura_display_credits', 1),
);
$form['kaltura_help_message'] = array(
'#type' => 'item',
'#value' => t('Please feel free to ') . l('contact us', 'http://corp.kaltura.com/support/form/project/16', array(
'attributes' => array(
'target' => '_blank',
),
)) . t(' with any questions.'),
);
$form['#submit'][] = 'kaltura_settings_form_submit';
return system_settings_form($form);
}