? flag-alter.patch Index: flag.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/flag/Attic/flag.module,v retrieving revision 1.11.2.70 diff -u -p -r1.11.2.70 flag.module --- flag.module 17 Mar 2009 02:07:34 -0000 1.11.2.70 +++ flag.module 16 Apr 2009 18:22:32 -0000 @@ -844,6 +844,9 @@ function flag_get_flags($content_type = // Database flags. $result = db_query("SELECT f.*, fn.type FROM {flags} f LEFT JOIN {flag_types} fn ON fn.fid = f.fid"); while ($row = db_fetch_object($result)) { + // Allow modules implementing hook_flag_alter(&$flag) to modify the flag. + drupal_alter('flag', $row); + if (!isset($flags[$row->name])) { $flags[$row->name] = flag_flag::factory_by_row($row); } @@ -857,6 +860,9 @@ function flag_get_flags($content_type = foreach ($default_flags as $name => $default_flag) { // Insert new enabled flags into the database to give them an FID. if ($default_flag->status && !isset($flags[$name])) { + // Allow modules implementing hook_flag_alter(&$flag) to modify the flag. + drupal_alter('flag', $default_flag); + $default_flag->save(); $flags[$name] = $default_flag; }