Fix for Fix for Code

  1.   $query = db_query("SELECT r.rid, r.name, p.perm FROM {role} r INNER JOIN {permission} p ON r.rid = p.rid");
  2.   while ($row = db_fetch_object($query)) {
  3.     $names[$row->rid] = "'" . $row->name . "'";
  4.     $perms[$row->rid] = explode(', ', $row->perm);
  5.   }
  6.  
  7.   $create_str  = 'central_user_add_user_roles(array(';
  8.   $create_str .= implode(', ', $names);
  9.   $create_str .= "));\n\n";
  10.  
  11.   foreach ($names as $rid => $name) {
  12.     $role_str .= "central_user_add_permissions_to_role(\n";
  13.     $role_str .= "  aim_central_user_get_role_id($name),\n";
  14.     $role_str .= "  array(\n";
  15.     array_walk($perms[$rid], create_function('&$a', '$a = "    \'$a\'";'));
  16.     $role_str .= implode(",\n", $perms[$rid]);
  17.     $role_str .= "\n  )\n";
  18.     $role_str .= ");\n\n";
  19.   }
  20.  
  21.   return '<textarea rows="50" cols="90">' . $create_str . $role_str . '</textarea>';

Submit Fix

Any tags you'd like to associate with your code, delimitered by commas (example: Views, CCK, Module, etc).
Select the syntax highlighting mode to use.