Ejemplo n.º 1
0
 // echo $sql;
 MySqlQuery($sql);
 // на всякий случай ещё раз проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 1) or $pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
     return;
 }
 // А вот дальше собственно вставка приглашений на основании лотереи
 // и их привязка к команде
 $sql = " CREATE TEMPORARY TABLE\n\t\t\t\ttmp_lottoteams (\n\t\t\t\t num INT NOT NULL AUTO_INCREMENT PRIMARY KEY, \n                                 team_id INT, \n                                 user_id  INT\n\t\t\t\t        ) \n\t\t\t\tENGINE=MEMORY, AUTO_INCREMENT = 0";
 $rs = MySqlQuery($sql);
 // отбираем в таблицу команды вне зачета с автонумерованной первой колонкой
 $sql = " INSERT INTO tmp_lottoteams (team_id, user_id)\n\t\t\t select t.team_id, MIN(tu.user_id) as user_id \n         \t\t\tfrom   Teams t\n        \t\t\t\tinner join TeamUsers tu\n\t\t\t\t        on t.team_id = tu.team_id\n\t\t\t\t\tinner join Distances d\n\t\t\t\t\ton t.distance_id = d.distance_id\n           \t\t\twhere tu.invitationdelivery_id = {$newInvDeliveryId}\n\t\t\t\tgroup by t.team_id\n\t\t\t";
 $rs = MySqlQuery($sql);
 // на всякий случай ещё раз проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 1) or $pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
     return;
 }
 // Если нужны разыне вероятности, то можно добавить стоьлко раз строчку команды, сколько "веса"  она должна получить
 //  находим случайно нужное число команд
 // вставляем приглешния
 $sql = " insert into Invitations (user_id, invitation_begindt, invitation_enddt, invitationdelivery_id)\n\t\t select user_id, NOW(), NOW(), {$newInvDeliveryId}\n\t\t from tmp_lottoteams\n \t\t ORDER BY RAND()\n\t\t LIMIT {$pInvitationsCount}\n\t\t  \t          ";
 //   echo $sql;
 $rs = MySqlQuery($sql);
 // активируем команды , которые связаны с одной стороны с временой таблицы а через неё с приглашениями
 $sql = " update  Teams t\n\t\t  \t inner join  tmp_lottoteams tmp\n\t\t\t on t.team_id = tmp.team_id\n\t\t\t inner join Invitations inv\n\t\t\t on inv.user_id = tmp.user_id\n\t\t set t.team_outofrange = 0, t.invitation_id = inv.invitation_id\n\t\t where inv.invitationdelivery_id = {$newInvDeliveryId}\n\t\t";
 // echo $sql
 $rs = MySqlQuery($sql);
 //	$sql = " DELETE FROM tmp_lottoteams  ";
 //	$rs = MySqlQuery($sql);
Ejemplo n.º 2
0
        //{
        print '<input type="button" onClick = "javascript: if (confirm(\'Вы уверены, что хотите выслать на адрес ' . trim($UserEmail) . ' новый пароль для ' . trim($UserName) . ' будет создан новый пароль и ? \')) { NewPassword(); }"  name="ChangePasswordButton" value="Создать и выслать новый пароль" tabindex="' . ++$TabIndex . '">' . "\r\n";
        //}
    }
    print '</td></tr>' . "\r\n";
}
// Конец вывода кнопок
$ModeratorUnionString = '';
// для Администратора добавляем кнопку "Сделать модератором" в правке пользователя
if ($Administrator and $viewmode != 'Add') {
    $ModeratorUnionString .= '<input type="button" onClick = "javascript: if (confirm(\'Вы уверены, что хотите сделать этого пользователя модератором текущего марш-броска? \')) { MakeModerator(); }"  name="ModeratorButton" value="' . $ModeratorButtonText . '" tabindex = "' . ++$TabIndex . '">';
}
if (CRights::canAddToDevelopers($UserId, $RaidId, $pUserId)) {
    $ModeratorUnionString .= '<input type="button" onClick = "javascript: if (confirm(\'Вы уверены, что хотите добавить пользователя в волонтёры? \')) { MakeDeveloper(); }"  name="DeveloperButton" value="Добавить в волонтёры" tabindex = "' . ++$TabIndex . '">';
}
if (CRights::canDeliveryInvitation($UserId, $RaidId, 1)) {
    $ModeratorUnionString .= '<input type="button" onClick = "javascript: if (confirm(\'Вы уверены, что хотите выдать этому пользователю приглашение? \')) { SendInvitation(); }"  name="InvitationButton" value="Выдать приглашение" tabindex = "' . ++$TabIndex . '">';
}
if (CanRequestUserUnion($Administrator, $UserId, $pUserId)) {
    $ModeratorUnionString .= '<input type="button" onClick = "javascript: if (confirm(\'Вы уверены, что хотите оставить запрос на слияние этого пользователя с Вашей учетной записью? \')) { MakeUnionRequest(); }"  name="UnionButton" value="' . $UnionButtonText . '" tabindex = "' . ++$TabIndex . '">';
}
if (trim($ModeratorUnionString) != '') {
    print '<tr><td class = "input"  style =  "padding-top: 10px;">' . $ModeratorUnionString . '</td></tr>' . "\r\n";
}
// Конец проверки, что есть кнопка сделать модератором или запросить слияние
print '</tr>' . "\r\n";
if ($AllowEdit == 1) {
    print '<tr><td class = "input"  style =  "padding-top: 10px;">Ключ пользователя: ' . $pUserId . '</td></tr>' . "\r\n";
}
// ============ Кнопка удаления всей команды для тех, кто имеет право
if ($Administrator and $viewmode != 'Add') {
Ejemplo n.º 3
0
    // смотрим максимальную дату приглашений по рейтингу
    // если нашли, то ставим её, а не дату окончания ММБ
    $sql = "select MAX(inv.invitation_enddt) as maxinvdt\n                from InvitationDeliveries invd\n                    inner join Invitations inv\n                    on invd.invitationdelivery_id = inv.invitationdelivery_id\n                where  invd.raid_id = {$RaidId}\n                    and inv.invitation_enddt > NOW()\n                    and invd.invitationdelivery_type = 1 \n            ";
    $maxinvdt = CSql::singleValue($sql, 'maxinvdt', false);
    if (!empty($maxinvdt)) {
        $invEndDt = $maxinvdt;
    }
    $sql = "insert into InvitationDeliveries (raid_id, invitationdelivery_type, invitationdelivery_dt, user_id, invitationdelivery_amount)\n                    VALUES ({$RaidId}, 3, NOW(), {$UserId}, 1)";
    //echo $sql;
    $newInvDeliveryId = MySqlQuery($sql);
    //echo "newInvDeliveryId=  $newInvDeliveryId ";
    if ($newInvDeliveryId <= 0) {
        CMmb::setErrorSm('Ошибка записи раздачи приглашения.');
        return;
    }
    if ($pUserId <= 0 or $UserId <= 0 or !CRights::canDeliveryInvitation($UserId, $RaidId, 1)) {
        CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
        return;
    }
    $sql = "insert into Invitations (user_id, invitation_begindt, invitation_enddt, invitationdelivery_id)\n                VALUES ({$pUserId}, NOW(), '{$invEndDt}', {$newInvDeliveryId})";
    //echo $sql;
    $newInvId = MySqlQuery($sql);
    if ($newInvId <= 0) {
        CMmb::setErrorSm('Ошибка записи приглашения.');
        return;
    }
    CMmb::setResult('Приглашение выдано', "ViewUserData", "");
} else {
    // если никаких действий не требуется
    //  $statustext = "<br/>";
}