I don't even know how to file this one, so I'm filing it a a bug against the theme system for the time being. It should probably be reassigned to somewhere else.
One of the features of the Drupal 5 CSS system is the ability to selectively "knock out" the CSS file provided by a module and provide our own rules. Commonly that can be done by duplicating, say, system.css to mytheme/style-system.css, and futzing with the CSS array accordingly. That's great, except for when you run into background images. system.css (and probably others) defines a number of relative paths to various images, such as the grippie or progress bar, which are stored in /misc/. If you relocate the CSS file to your own variant, however (and the designers I work with often need to do that, even to system.css), then the relative paths break and the files don't load.
Now that might seem like a minor PEBCAK or documentation issue, but I think I've narrowed down a different issue to that problem. If an image file isn't found, then the mod_rewrite simply passes the URL of the would-be image to Drupal as a GET parameter. Drupal will then return a 403 error for it. However, if the progress.gif image is not found when doing a file upload, then it means Drupal gets hit twice for the fancy Ajax-y upload system. I'm not entirely sure how, but on my system that seemed to cause the uploads to break. The preview step would work fine, but then when submitting the node the file wasn't actually saved. Fixing the CSS relative paths in our alternate stylesheet to find the images properly seems to have solved the problem.
I don't know if this should just be documented as a known gotcha or fixed in some other way, but I wanted to get it out there as "just plain weird". :-)
Comments
Comment #1
Crell commentedActually, upon further review, I'm going to go out on a limb and say that this is the same issue as this one: http://drupal.org/node/65153 . Marking this as a dupe.