Here is a workaround to add IP address logging to your contact form's mailing list opt-in.
Disclaimer
* I consider this a hack (as WordPress defines one) and I do not support it
* I wrote this because it is a minor modification. I cannot develop new features based on individual request
* I do not guarantee that I will add IP logging functionality to a future release
* If I do add IP logging, I do not guarantee that it will be implemented in this manner
* I do not guarantee that future updates won't break this
* You are urged to back up your files and database before attempting a modification of this sort
____________________________________
1) Database modification
Add a new field called ip to the end of your list_member table. In this case searchability isn't important so for simplicity I used a varchar field. Like any development choice, the pros and cons are debatable. Such is life.
If your host has the phpMyAdmin control panel this would be the easiest way. If you're familiar with SQL, you could use MySQL Query Browser.
2) contact.php
Enter this line of code at the very top after <?php :
$user_ip = $_SERVER["REMOTE_ADDR"];
3) sc_admin/include/contact.php
Change line 251 to say:
$query = "INSERT INTO $table_list_member (name_full,email,ip) VALUES ('$name_full','$email','$user_ip')";
4) sc_admin/list.php
Change line 94 to say:
$query = "SELECT m.email,m.ip FROM $table_list_member m, $table_list_subscribe s WHERE m.id=s.member_id AND s.confirmkey='' ORDER BY m.email";
Change line 100 to say:
printf("<li><a href=\"mailto:%s\" title=\"Send an email to '%s'\">%s (%s)</a> | <a href=\"list.php?remove=%s\" class=\"remove\" title=\"Remove '%s' from the mailing list\">Remove</a></li>\n",$list["email"],$list["email"],$list["email"],$list["ip"],$list["email"],$list["email"]);
____________________________________
That should log a user's IP address when a user opts in to your mailing list through your contact form. The user's IP address will be displayed on the mailing list page in sc_admin, next to their email address.