Zero. I will not question your way to make hacks, but checking a few posts back, i see that the users with a lot of records in USER table in database, get stuck when trying to send this. You replied that's is a UPLOAD problem.. or any other problem like this.
I will explain this for you.. checking your hack, it's really good constructed, but you miss a little detail. when you LIMIT the send of PM's, you must LIMIT the QUERY to DB too.
I looked that the query is static in all "retries" to send PM's:
PHP Code:
$Query_Build = "select * from ".TABLE_PREFIX."user where usergroupid IN({$set_in}) order by userid"
this will return a query result with ALL your members in the usergroup / user table.. if you have 25.000 members in the group "Registered", the query result will have 25.000 records, and before you get the reply from DB, you mysql will go down.
The way to solve this, is LIMIT the query to database, in the one by one step to sending pm's. (LIKE the vB do while sending mass emails)
Example:
Sending to 150 users in usergroup 6, send amount by step is set in 50.
- START SCRIPT
- CHECK THE AMOUNT OF PM'S SENT BY STEP (50)
- QUERY DATABASE TO USERGROUP 6, LIMIT RECORDS FROM 0 TO 50
- SEND PM'S 0 TO 50
- SHOW OK RESULTS AND CONTINUE TO NEXT STEP (SEND THE "STARTAT")
- QUERY DATABASE TO USERGROUP 6, LIMIT RECORDS 51 TO 100 (START - START + AMOUNT)
- SEND PM'S 51 TO 100
AND CONTINUE... TO END
-------------------------
your actual script works like this:
Sending to 150 users in usergroup 6, send amount by step is set in 50.
- START SCRIPT
- CHECK THE AMOUNT OF PM'S SENT BY STEP (50)
- QUERY DATABASE TO USERGROUP 6, NO LIMIT RECORDS (ALL RESULTS)
*** IF THE USERS ARE A LOT, YOU GET A HANGED DB IN A SUPER BIG QUERY **
-----------------
It will be much better if you correct this issue...
