To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Gender Group Distributor

adrian10020011 - 28-09-2012, 16:49

ustaw id
a id to

http://www.cs-mentos.ugu.pl/groupcp.php?g=29

[ Dodano: 28-09-2012, 21:48 ]
gdzie co i jak wpisać

QuahodroN - 26-10-2012, 19:17

Witam,
Może ktoś podać taki kod aby dodawało tylko kobiety?

Aro1z - 30-01-2013, 00:59

Dołączam się do prośby


PS : sorki za odkop ;(

Majkelo - 30-01-2013, 07:50

Spróbujcie - znajdź:

Kod:
if ( $mode == 'editprofile' || $mode == 'register' )


dodaj przed:

Kod:
//BEGIN - PUT USER IN GENDER GROUP (EDIT_PROFILE)
    $female_group_id = xxx;

    if ( $mode == 'editprofile' && $gender == 2 )
        {
            $fg_sql = "DELETE FROM " . USER_GROUP_TABLE . " WHERE group_id = $female_group_id AND user_id = $user_id";
                $result = $db->sql_query($fg_sql);

            $gg_sql = "INSERT INTO  " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
                VALUES (  '$female_group_id', '$user_id', 0)";

            if ( !($result = $db->sql_query($gg_sql)) )
                {
                    message_die(GENERAL_ERROR, 'Could not insert user into gender group', '', __LINE__, __FILE__, $sql);
                }

            sql_cache('clear', 'groups_data');
        }
//END - PUT USER IN GENDER GROUP (EDIT_PROFILE)


znajdź:

Kod:
if ( $clear_cache )


przed dodaj:

Kod:
//BEGIN - PUT USER IN GENDER GROUP (REGISTER)
if ( $gender == 2 )
{
    $gg_sql = "INSERT INTO  " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
        VALUES (  '$female_group_id', '$user_id', 0)";

    if ( !($result = $db->sql_query($gg_sql)) )
        {
            message_die(GENERAL_ERROR, 'Could not insert user into gender group', '', __LINE__, __FILE__, $sql);
        }
    sql_cache('clear', 'groups_data');
}
//END - PUT USER IN GENDER GROUP (REGISTER)


Powinno działać dobrze, sprawdźcie.

Aro1z - 30-01-2013, 19:47

Dziękować :D
DR HOUSE - 19-02-2013, 12:23

Nie działa :(

zmieniłem jednemu userowi z faceta na kobiete i nie dodało go.

jak wykonuje plik to pisze cos takiego:
Kod:
 Błąd Ogólny
 
Could not insert user into female group


[ Dodano: 19-02-2013, 12:27 ]
OMG
teraz dodało mi WSZYSTKICH -.-

zmieniłem plik żeby dodał tylko kobiety i kicha

[ Dodano: 19-02-2013, 12:31 ]
po rejestracji nowego tez nie dodaje do grupy...

Majkelo, krótko mówić Twój sposób niestety u mnie nie działa

[ Dodano: 19-02-2013, 12:34 ]
EDIT KOLEJNY:

Jednak działa ale nie umiem dodać żeby dodał TYLKO kobiety

Majkelo - 19-02-2013, 13:08

Matko, zdecyduj się... Powyższy kod z automatu powinien dodawać kobiety do grupy, definiujesz tylko jej ID ;]
DR HOUSE - 19-02-2013, 16:46

Majkelo napisał/a:
Matko, zdecyduj się...


No co... Pisałem kolejno to co się działo, nie moja wina, ze nie można edytować postów :X


Obecnie jest tak:

Nowych dodaje do grupy ale za pomocą tego pliku nie mogę dodać już zarejestrowanych ponieważ jak usunąłem INSTER do grupy dla facetów do dodało ich do kobiet. Jak ktoś da radę ten plik przerobić to będę wdzięczny, ja próbowałem to wyszło tak jak wyżej napisałem, dodało facetów do grupy kobiet.

Majkelo - 19-02-2013, 17:31

Powyższy kod trochę zedytowałem, sprawdź teraz.
Poniżej masz plik, który po odpaleniu opróżni grupę kobiet, a następnie wszystkie kobiety dotychczas zarejestrowane do tej grupy doda.
Zapisujesz np. jako xxx.php, wrzucasz na FTP i odpalasz z poziomu przeglądarki. Błędów nie powinno byc, aczkolwiek pisane z palca, sprawdź.

Kod:
<?php
define('IN_PHPBB', true);
define('ATTACH', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$id_grupy_dla_kobiet = 4; // ZMIEŃ !!!

$sql = "DELETE FROM " . GROUP_USER_TABLE . " WHERE group_id = ".$id_grupy_dla_kobiet;
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'error');
}

$sql = "SELECT user_id FROM " . USERS_TABLE . " WHERE user_gender = 2";
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'error');
}
while($row = $db->sql_fetchrow($result))
{
    $ideki .= '('.$id_grupy_dla_kobiet.', '.$row['user_id'].', 0), ';
}
$ideki = rtrim(trim($ideki), ',');

$sql = "INSERT INTO  " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
        VALUES ".$ideki;
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'error');
}
else
{
    message_die(GENERAL_MESSAGE, 'Gotowe! Usuń ten plik z serwera FTP!');
}

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>

DR HOUSE - 19-02-2013, 18:34

Teraz przy uruchomieniu pliku mam tak:

Kod:
Parse error: syntax error, unexpected $end in /home/c47/public_html/asa.php on line 49
:/

Majkelo - 19-02-2013, 18:40

Poprawiłem, sprawdź jeszcze raz.
DR HOUSE - 20-02-2013, 13:41

Kod:
Błąd Ogólny
 
error


;d

MQs - 20-02-2013, 14:03

Zamień tam jeszcze "GROUP_USER_TABLE" na "USER_GROUP_TABLE".

[ Komentarz dodany przez: Majkelo: 20-02-2013, 14:20 ]
dzięki ;)
- no problem ;)

Jeszcze jeśli chodzi o edycję profilu to przydałoby się pomyśleć o zmieniających płeć, bo w grupie dziewcząt ląduje się na stałe.
Ten kod (zamiast pierwszego fragmentu) powinien lepiej działać:
Kod:
//BEGIN - PUT USER IN GENDER GROUP (EDIT_PROFILE)
    $female_group_id = xxx;

    if ( $mode == 'editprofile' && ( $gender == 2 || $userdata['user_gender'] == 2 ) && $gender != $userdata['user_gender'] )
    {
        if ( $gender == 2 )
        {
            $sql = "INSERT INTO  " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
                    VALUES ('$female_group_id', '$user_id', 0)";
        }
        else
        {
            $sql = "DELETE FROM " . USER_GROUP_TABLE . "
                    WHERE group_id = $female_group_id
                    AND user_id = $user_id";
        }

        if ( !($result = $db->sql_query($sql)) )
        {
            message_die(GENERAL_ERROR, 'Could not update female group info', '', __LINE__, __FILE__, $sql);
        }

        sql_cache('clear', 'groups_data');
    }
//END - PUT USER IN GENDER GROUP (EDIT_PROFILE)
Dodatkowo nie będzie niepotrzebnie mieszał w bazie jeśli dziewczyna zdecyduje się pozostać dziewczyną :P

DR HOUSE - 20-02-2013, 15:40

eh :P teraz to mnie załatwiliście :D

to możecie podać jeszcze w jednym kawału kod? :P bo teraz nie wiem co mam usuwać a co zmieniać :d

csolsztyn - 18-01-2015, 21:27

Działa to na 1.12.8


Powered by phpBB modified by Przemo © 2003 phpBB Group