public static function update_permissions($changes = array(), $profile_id = 0, $user_id = 0)
 {
     if (!is_array($changes)) {
         return;
     }
     foreach ($changes as $key => $value) {
         $key = str_replace(array('[', ']'), '', $key);
         $ws = null;
         if (strpos($key, "wid") === 0) {
             list($ws, $key) = explode('.', $key, 2);
             $ws = str_replace("wid", "", $ws);
         }
         $permission = new permission();
         $permission->load($key, intval($profile_id), intval($user_id), $ws);
         $permission->value = $value;
         $permission->save();
     }
 }