I like using the "Install from a URL" method of installing modules as it's really easy. The problem is that it, by default, downloads the module to "/sites/all/modules", but I like to have my directory structure like "/sites/all/modules/contrib" and "/sites/all/modules/custom", therefore I would like automatically downloaded contrib modules to be downloaded into the "/sites/all/modules/contrib" folder. Is there a way to tweak this setting somewhere or do I need to hack core?
Unfortunately I believe there is no way to change this in settings because there is no setting in the update module to change the installation path. If you check the update module configuration (admin/reports/updates/settings) there are fields regarding updating, but nothing regardig the installation path.
Even if you read the documentation (https://drupal.org/documentation/install/modules-themes/modules-7#using-drupal-interface) its never mentioned there. You would simply have to hack the core.
On the other hand, I recommend using drush (https://github.com/drush-ops/drush) with simple command (
drush dl [module_name]) which does respect your contrib directory out of the box.