You are here

function _patchinfo_process_module in PatchInfo 7

Same name and namespace in other branches
  1. 8.2 patchinfo.module \_patchinfo_process_module()
  2. 8 patchinfo.module \_patchinfo_process_module()

Process patch information for a module.

Parameters

string $module: Machine readable module name.

array $patch_info: Patch info from module info file.

1 call to _patchinfo_process_module()
patchinfo_system_info_alter in ./patchinfo.module
Implements hook_system_info_alter().

File

./patchinfo.module, line 208
Patch Info primary module file.

Code

function _patchinfo_process_module($module, array $patch_info) {
  if (!empty($module)) {
    foreach ($patch_info as $key => $info) {

      // Calculate an index for each patch, which is not 0.
      $index = $key + 1;

      // Extract URL from patch information, if any.
      $info = explode(' ', $info);
      $url = '';
      if (filter_var($info[0], FILTER_VALIDATE_URL) !== FALSE) {
        $url = $info[0];
        unset($info[0]);
      }
      $info = implode(' ', $info);

      // Write patch information to db.
      db_merge('patchinfo')
        ->key(array(
        'module' => $module,
        'id' => $index,
      ))
        ->fields(array(
        'url' => $url,
        'info' => $info,
      ))
        ->execute();
    }
  }
}