commerce_sermepa.install in Commerce sermepa 7
Install, update and uninstall functions for the Commerce Sermepa module.
File
commerce_sermepa.installView source
<?php
/**
* @file
* Install, update and uninstall functions for the
* Commerce Sermepa module.
*/
/**
* Implements hook_requirements().
*/
function commerce_sermepa_requirements($phase) {
$requirements = array();
$t = get_t();
if ($phase == 'runtime') {
$library = libraries_detect('sermepa');
$requirements['commerce_sermepa']['title'] = 'Sermepa/Redsys API';
if (isset($library['installed']) && version_compare($library['version'], '0.7', '>=')) {
$requirements['commerce_sermepa']['value'] = $t('Installed');
$requirements['commerce_sermepa']['severity'] = REQUIREMENT_OK;
}
else {
if (version_compare($library['version'], '0.7', '<')) {
$requirements['commerce_sermepa']['value'] = $t('Out of date');
}
else {
$requirements['commerce_sermepa']['value'] = $t('Not installed');
}
$requirements['commerce_sermepa']['severity'] = REQUIREMENT_ERROR;
$requirements['commerce_sermepa']['description'] = $t('Please download the last Sermepa/Redsys API release from <a href="@url">@url</a> and place it in a valid libraries directory.', array(
'@url' => $library['download url'],
));
}
if (!extension_loaded('mcrypt')) {
$requirements['mcrypt']['title'] = 'PHP Mcrypt';
$requirements['mcrypt']['severity'] = REQUIREMENT_ERROR;
$requirements['mcrypt']['description'] = $t('The Commerce Sermepa/Redsys module requires the <a href="@url">PHP Mcrypt extension</a> be installed on the web server.', array(
'@url' => 'http://php.net/manual/en/book.mcrypt.php',
));
}
}
return $requirements;
}
/**
* Fix unknown methods name.
*/
function commerce_sermepa_update_7100() {
$num_updated = db_update('commerce_payment_transaction')
->fields(array(
'payment_method' => 'commerce_sermepa',
))
->condition('payment_method', 'sermepa')
->execute();
}
/**
* Rename Ds_Merchant_Titular to Ds_MerchantName.
*/
function commerce_sermepa_update_7101() {
// Update Ds_MerchantName value and save it.
$rule_config = rules_config_load('commerce_payment_commerce_sermepa');
foreach ($rule_config
->actions() as $action) {
if ($action->settings['payment_method']['method_id'] == 'commerce_sermepa') {
$action->settings['payment_method']['settings']['Ds_MerchantName'] = $action->settings['payment_method']['settings']['Ds_Merchant_Titular'];
unset($action->settings['payment_method']['settings']['Ds_Merchant_Titular']);
}
}
$rule_config
->save();
// Reset payment methods values.
commerce_payment_methods_reset();
// Clear rules config cache.
entity_get_controller('rules_config')
->resetCache();
}
/**
* Clear the cache for the new settings.
*/
function commerce_sermepa_update_7102() {
// Reset payment methods values.
commerce_payment_methods_reset();
// Clear rules config cache.
entity_get_controller('rules_config')
->resetCache();
// Rebuild menus.
variable_set('menu_rebuild_needed', TRUE);
}
Functions
Name![]() |
Description |
---|---|
commerce_sermepa_requirements | Implements hook_requirements(). |
commerce_sermepa_update_7100 | Fix unknown methods name. |
commerce_sermepa_update_7101 | Rename Ds_Merchant_Titular to Ds_MerchantName. |
commerce_sermepa_update_7102 | Clear the cache for the new settings. |