You are here

function uc_addresses_update_6201 in Ubercart Addresses 6.2

Renames "everyone's" permissions into "all" permissions.

Apostrophes are not supported in permission names; saving permissions will fail on some systems.

See also

http://drupal.org/node/1412060

File

./uc_addresses.install, line 239
Install file for Ubercart Addresses.

Code

function uc_addresses_update_6201() {
  $ret = array();
  $search = array(
    "view everyone's default addresses",
    "view everyone's addresses",
    "add/edit everyone's addresses",
    "delete everyone's addresses",
  );
  $replace = array(
    'view all default addresses',
    'view all addresses',
    'add/edit all addresses',
    'delete all addresses',
  );

  // permission.perm column contains a comma-separated string of permissions.
  $query = "SELECT rid, perm FROM {permission} WHERE perm LIKE '%everyone\\'s%'";
  $result = db_query($query);
  while ($permissions = db_fetch_object($result)) {
    $permissions->perm = str_replace($search, $replace, $permissions->perm);
    $ret[] = update_sql("UPDATE {permission} SET perm = '" . db_escape_string($permissions->perm) . "' WHERE rid = {$permissions->rid}");
  }
  return $ret;
}