View source
<?php
define('DRUPAL_MINIMUM_MAX_EXECUTION_TIME', 120);
define('COMMONS_MINIMUM_APC_CACHE', 96);
function commons_admin_paths_alter(&$paths) {
$paths['user'] = FALSE;
$paths['user/*'] = FALSE;
}
function commons_update_projects_alter(&$projects) {
$modules = system_rebuild_module_data();
$commons = clone $modules['commons'];
$commons->info['hidden'] = FALSE;
_update_process_info_list($projects, array(
'commons' => $commons,
), 'module', TRUE);
}
function commons_hook_info() {
$hooks = array(
'commons_entity_integration',
'commons_entity_integration_alter',
);
return array_fill_keys($hooks, array(
'group' => 'commons',
));
}
function commons_entity_integration_info($entity_type = NULL, $cache = TRUE) {
$info =& drupal_static(__FUNCTION__);
if (!$info || !$cache) {
$info = module_invoke_all('commons_entity_integration');
drupal_alter('commons_entity_integration', $info);
}
if ($entity_type) {
return isset($info[$entity_type]) ? $info[$entity_type] : array();
}
else {
return $info;
}
}
function commons_form_install_configure_form_alter(&$form, $form_state) {
drupal_get_messages('status', TRUE);
drupal_get_messages('completed', TRUE);
$form['site_information']['site_name']['#default_value'] = $_SERVER['SERVER_NAME'];
$form['admin_account']['field_name_first'] = array(
'#type' => 'textfield',
'#title' => 'First name',
'#weight' => -10,
);
$form['admin_account']['field_name_last'] = array(
'#type' => 'textfield',
'#title' => 'Last name',
'#weight' => -9,
);
$form['server_settings']['acquia_description'] = array(
'#type' => 'fieldset',
'#title' => st('Acquia'),
'#description' => st('The !an can supplement the functionality of Commons by providing enhanced site search (faceted search, content recommendations, content biasing, multi-site search, and others using the Apache Solr service), spam protection (using the Mollom service), and more. A free 30-day trial is available.', array(
'!an' => l(t('Acquia Network'), 'http://acquia.com/products-services/acquia-network', array(
'attributes' => array(
'target' => '_blank',
),
)),
)),
'#weight' => -11,
);
$form['server_settings']['enable_acquia_connector'] = array(
'#type' => 'checkbox',
'#title' => 'Use Acquia Network Connector',
'#default_value' => 1,
'#weight' => -10,
'#return_value' => 1,
);
$form['server_settings']['acquia_connector_modules'] = array(
'#type' => 'checkboxes',
'#title' => 'Acquia Network Connector Modules',
'#options' => array(
'acquia_agent' => 'Acquia Agent',
'acquia_search' => 'Acquia Search',
'acquia_spi' => 'Acquia SPI',
),
'#default_value' => array(
'acquia_agent',
'acquia_spi',
),
'#weight' => -9,
'#states' => array(
'visible' => array(
':input[name="enable_acquia_connector"]' => array(
'checked' => TRUE,
),
),
),
);
$form['#submit'][] = 'commons_admin_save_fullname';
$form['#submit'][] = 'commons_check_acquia_connector';
}
function commons_admin_save_fullname($form_id, &$form_state) {
$values = $form_state['values'];
if (!empty($values['field_name_first']) || !empty($values['field_name_last'])) {
$account = user_load(1);
$account->field_name_first[LANGUAGE_NONE][0]['value'] = $values['field_name_first'];
$account->field_name_last[LANGUAGE_NONE][0]['value'] = $values['field_name_last'];
user_save($account);
realname_update($account);
}
}
function commons_check_acquia_connector($form_id, &$form_state) {
if (!empty($form_state['values']['enable_acquia_connector'])) {
$selected_extras = variable_get('commons_selected_extras', array());
$modules = $form_state['values']['acquia_connector_modules'];
if (!empty($modules['acquia_agent'])) {
$selected_extras['acquia_agent'] = TRUE;
}
if (!empty($modules['acquia_search'])) {
$selected_extras['acquia_search'] = TRUE;
}
if (!empty($modules['acquia_spi'])) {
$selected_extras['acquia_spi'] = TRUE;
}
variable_set('commons_selected_extras', $selected_extras);
}
}