Well, sounds like I might have to try dumping the POST data to a file then to figure out what's wrong my server. Does that sound best?
I decided to hack it for now, and in some ways, it's a bit faster since pressing the up arrow over and over can get quite tedious. When I first did it and it ate my updates, it took 20 minutes.
So, I did do raw INSERT's but it's a bit more than that. In case anyone needs to, here's how you do it:
First off, the PreValues table's columns are the following:
Key, Value, Order, LKey, LKey2, LKey3, Extra, Extra2, Extra3
Key is the name of the list.
Value is the value from the left most column in the admin editor. The key value you set that doesn't really matter as long as it is unique.
Order is the number that specified the ordering of the list, as the page creation functions do an ORDER clause on this field.
One thing I realized that was really smart in the development of this: why have both key and order? Answer: backward compatibility. You don't want your users to have to reselect their values everytime you change a list. Their selections are pointed to the Key field, so these should never change. The ordering field allows you to reorder to add things in the middle of the list, while still adding new, unused keys.
1. I took a dump of the database through the admin panel. I took the necessary parts and put them in a new SQL file like this:
DELETE FROM `PreValues` WHERE `Key` = 'Language';
INSERT INTO `PreValues` VALUES ('Language', '0', '0', '__English', '', '', '', '', '');
INSERT INTO `PreValues` VALUES ('Language', '1', '1', '__Afrikaans', '', '', '', '', '');
INSERT INTO `PreValues` VALUES ('Language', '2', '2', '__Arabic', '', '', '', '', '');
INSERT INTO `PreValues` VALUES ('Language', '59', '3', '__Breton', '', '', '', '', '');
INSERT INTO `PreValues` VALUES ('Language', '3', '4', '__Bulgarian', '', '', '', '', '');
...
INSERT INTO `PreValues` VALUES ('Language', '58', '60', '__Welsh', '', '', '', '', '');
-- 2009-11-10: Added Czech, Solvak, Irish, Scottish Gaelic, Manx, Welsh, Breton, Cornish
-- values 53-60
2. I used the Admin|Tools|Database Backup|Restore from your PC to upload the file to apply the changes, rather than writing a PHP script to do all the MySQL queries. Of course, you probably have direct access to your MySQL command line on your system and can do it there. (I just haven't gotten around to asking my co-admin for access.)
3. The updated list will now appear in your Admin|Predefined Values section but it won't update on the site. Why? I hunted into /admin/PreValues.php and found you need to recompile. When you save a list, it runs the generic compilePreValues()function. So pick any small list, don't make any changes to it, and "Save" it. Now changes will be reflected on your site.