DANGER!
I found big mistake in this mod but fortunately I found solution!
When you trying to send an invitation - script checks if email exists in database or not. When it checks, mysql load grows to 30-40% on E5200 processor! Horrible!
You have to edit an Invitation User CP plugin and replace that:
Code:
$invitationcheck = $db->query_read("SELECT user.userid AS user_id, user.email AS user_email, invitation.email AS inv_email, invitation.acceptedby as inv_id
FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "invitation AS invitation
ON user.userid = invitation.acceptedby OR user.userid = invitation.email
WHERE user.email = '" . $db->escape_string($vbulletin->GPC['email']) . "'
OR invitation.email = '" . $db->escape_string($vbulletin->GPC['email']) . "'
");
while ($invitation = $db->fetch_array($invitationcheck)) {
if ( $invitation['user_id'] == $invitation['inv_id'] ) {
$errors[] = fetch_error('invitation_user_already_invited');
} elseif ( $invitation['user_email'] == $vbulletin->GPC['email']) {
$errors[] = fetch_error('invitation_email_already_registered');
}
}
for that:
Code:
$invitationcheck = $db->query_read("SELECT email
FROM " . TABLE_PREFIX . "user
WHERE email = '" . $db->escape_string($vbulletin->GPC['email']) . "'
");
while ($invitation = $db->fetch_array($invitationcheck)) {
if ( $vbulletin->GPC['email'] ) {
$errors[] = fetch_error('invitation_email_already_registered');
}
}
That solution incredibly reduce load and doesn't destroy proper mod funcionality.