After I upgrade from UBBT6 to UBBT7 , My (administrator) PM box is full of 'Welcome' message which are automatically sent to users. This cause my PM's box has 2200+ pages (20 message / page).
I want to delete all of these PMs with the same Subject 'Welcome' . What SQL command should I write ?
mysql> select count(*) from ubbt_PRIVATE_MESSAGE_TOPICS where TOPIC_SUBJECT = 'Welcome';
+----------+
| count(*) |
+----------+
| 31330 |
+----------+
1 row in set (0.17 sec)
_________________________ English is not my native language. I try my best to express my thought precisely. I hope you understand what I mean. If any misunderstanding results from culture gaps , I apologize first.
#171342 - 12/27/0611:50 PMRe: Delete all PMs with 'Welcome' Subject
[Re: smallufo]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
as the pm users table contains only topic id's it's impossible to cleanly purge everything with sql commands; however I have built a php script (free, cas I'm nice like that) which is capable of doing just this. You can get it at UBBDevhere.
Thank you . It helps me a lot , cleaning thousands of welcome messages ...
_________________________ English is not my native language. I try my best to express my thought precisely. I hope you understand what I mean. If any misunderstanding results from culture gaps , I apologize first.
#171344 - 12/28/0601:03 AMRe: Delete all PMs with 'Welcome' Subject
[Re: smallufo]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
Not a problem; a lot of people had the same issues, figured something had to be done ;)...
One thing I'm thinking about is cleaning up non-existant pm's which are shown in the users table; as some people just purged the other two and left that one unaffected (granted, I provided the query to do it, so I feel semi responsible). But I haven't done much work on that one yet (though as I have the issue on my main forum, it will eventually be done); this one was just for the community to assist all imported users (as I'm sure other products will have similar issues as well , should they have welcome messages)
#171395 - 12/28/0603:04 PMRe: Delete all PMs with 'Welcome' Subject
[Re: ntdoc]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
Simple, the PM_Users table only has a number to identify which pm's are which pm's; there is no content to identify which is a "welcome". You could take the id from the other tables, but if you're doing a broad delete with an sql statement, i highly doubt in your ability to log every private topic id to be able to purge them from the database.
The php script opens the private topic table, grabs the id, and purges that id in all 3 tables at once, then continues; all done on its own, and messages purged from all 3 tables.
Simply put, you can't search "welcome" in the _users table as all it contains is numbers.
#177465 - 02/04/0702:00 PMRe: Delete all PMs with 'Welcome' Subject
[Re: 24hourcampfire]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
Well, theres a reason they're "back"; they never where gone...
Keep in mind that there are 2 parties in a PM, not just one. So when one person deletes, it's still there for the other user, until they delete the message as well.
There where two differant ways to go about pm importing: A. Don't import them, gone forever. B. Import all pm's and assign them to the users who had posted in them.
Seeing as most users use pm's, we all harassed rick till he went with B :x...
And you could purge pm's by using the datestamp and a unix epoch date...
#184512 - 05/20/0704:13 AMRe: Delete all PMs with 'Welcome' Subject
[Re: cclapper]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
the only real "fix" would be to not import PM's... Theres not much of a grey area, as in there isn't really a way to check if they exist for both or one user with the import scripts.
I'm not sure and have not looked, but don't ALL messages regardless of type or area contain a unique id ? If not perhaps it would be a good idea to implement a unique ID for all messages that way in the future it could be used for multiple purposes of tracking or other uses.
Well then perhaps I'm off base but if he's trying to keep out duplicates can't some type of query be written to ignore duplicates based on the unique id ?
#184557 - 05/21/0708:31 PMRe: Delete all PMs with 'Welcome' Subject
[Re: ntdoc]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
just becuse it's the same content in the message doesn't mean it's the same message; a new message is created when a user signs up, it's not the same message at all, so each message would have it's own id
Thank you for the script Gizmo. I am one of the large site owners that does not have a clue about MySQL that welcomes anything that can make my look like if I did :-)
#192961 - 07/26/0704:45 PMRe: Delete all PMs with 'Welcome' Subject
[Re: Taylor]
Gizmo
Registered: 06/04/06
Posts: 11670
Loc: Portland, OR; USA
You're quite welcome; you may also be interested in my ubb sitemap script over @ UBBDev if you just moved over from another product, it'll help search engines to get your new urls in their discovery database all at once
Keep in mind that there are 2 parties in a PM, not just one. So when one person deletes, it's still there for the other user, until they delete the message as well.
Am I missing something? But how do you delete a PM. I know how to do it using MySQL, but having difficulty doing it through UBBthreads FORUM.
And I am talking here about deleting one post (reply) within a PRIVATE MESSAGE, not the entire PRIVATE TOPIC.
For instance, you have PERSON 1 creating TOPIC in PM and sending a PM to a PERSON 2. How PERSON 2 does delete his own message (reply) without removing himself from the topic.
There is no problem to edit your own PM post, but how do you delete it completely. Please note again, I am not talking about how to delete entire PRIVATE TOPIC.
AFAIK there is no way to delete a POST from a Private Topic...
That is what I taught, however I had in one private topic two posts (original post and one reply). After a day there is only an original post. It is interesting that REPLIES COUNTERS is still displaying 1 but there is no reply. Any taught on how it might happen?