The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
I have added a custom Scheduled Task. When I try to run it by clicking Run Now to just goes to the next page and shows the name of the cron job. There is no "Done" on the page. Here is the code:
Code:
<?php error_reporting(E_ALL & ~E_NOTICE); if (!is_object($DB_site)) { exit; } $users = $DB_site->query(" SELECT username, email, usergroupid, membergroupids, languageid, retaileremailaccept FROM " . TABLE_PREFIX . "user WHERE usergroupid ='9' OR membergroupids ='9' AND retaileremailaccept = '0' "); vbmail_start(); $row = $DB_site->num_rows($users); if($row > 0) { while ($user = $DB_site->fetch_array($users)) { $username = unhtmlspecialchars($user['username']); $useremail = $user['email']; eval(fetch_email_phrases('retaileremail_accept', $user['languageid'])); vbmail($useremail, $subject, $message); } vbmail_end(); $DB_site->query(" UPDATE " . TABLE_PREFIX . "user SET retaileremailaccept = '1' WHERE username = '" . addslashes($username) . "' "); log_cron_action('Notification Email sent to: ' . $username, $nextitem); } ?> |
#2
|
||||
|
||||
![]()
What version of VB ?
|
#3
|
|||
|
|||
![]() Quote:
I have checked the footer and that looks good. SELECT username, email, usergroupid, membergroupids, languageid, retaileremailaccept FROM " . TABLE_PREFIX . "user WHERE usergroupid ='9' OR membergroupids ='9' AND retaileremailaccept = '0' I ran the above SQL via PHPAdmin and it pulls the correct number of users. Thanks for the reply and help! |
#4
|
||||
|
||||
![]() Quote:
Change them to $vbulletin->db. |
#5
|
|||
|
|||
![]() Quote:
Paul M, Thanks for the help. I made the update you suggested, changing $DB_site to $vbulletin->db. The task now runs. However, there is still one small problem. Based upon the data in the database when the script runs I should get three users updated. I do get the 3 e-mails sent to the correct users however only the last user gets the column retaileremailaccept = '1' updated. I think there may be a problem in the code so that it is not looping through and doing the update for each of the rows selected in the first SQL query. Any ideas on why this is happening? |
#6
|
||||
|
||||
![]()
Your update query is not inside your while loop.
|
#7
|
|||
|
|||
![]()
try this!
I have the answer.. Check in your forum permission, in CRON.PHP file.. CHANGE the CHMOD to this Originaly this appears whitout permission, after this the task work fine and automatic. Regards!! |
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|