quellcode umschreiben ?



  • hoi leutz

    ich hab ne frage

    der quellcode beschreibt eine funktion die einen user aus einem chat kickt

    nun meine frage wie kann ich den quellcode so umschreiben das die funktion den user bannt und nach x min automatisch die den bann auf hebt ? zeitgleich soll mir angezeigt werden ob der user versucht sich wieder ein zuloggen mit der meldung "user yxz versucht sich wieder als user abc ein zuloggen"

    hier der quellcode

    #include "../../incl.h"
    
    /*
     gcc -shared -o yc_name.so yc_name.cpp
    */
    
    using namespace std;
    
    extern "C" {
     int extern_function(void *v_arg)
     {
    
    	container *c=(container *)v_arg;
    
    	user *p_user = (user*) c->elem[1];		// the corresponding user
    	vector<string> *params = (vector<string>*) c->elem[2];	// param array
            chat* p_chat = (chat*) ((dynamic_wrap*)c->elem[3])->CHAT; 
            lang* p_lang = (lang*) ((dynamic_wrap*)c->elem[3])->LANG; 
            conf* p_conf = (conf*) ((dynamic_wrap*)c->elem[3])->CONF; 
            timr* p_timr = (timr*) ((dynamic_wrap*)c->elem[3])->TIMR; 
    
            if ( ! params->empty() )
            {
             vector<string>::iterator iter = params->begin();
             string s_searched_user( *iter );
             bool b_found;
             user* p_searched_user = p_chat->get_user( s_searched_user, b_found );
    
             if ( b_found )
             {
    
              string s_msg = p_timr->get_time() + " "
                           + p_user->get_colored_bold_name()
                           + p_lang->get_elem( "USER_KICKS_OUT_1" )
                           + p_searched_user->get_colored_bold_name()
                           + p_lang->get_elem( "USER_KICKS_OUT_2" )
                           + p_user->get_room()->get_bold_name()
    	               + "<br>\n";
    
              room* p_room1 = p_user->get_room();
              room* p_room2 = p_searched_user->get_room();
    
              p_room1->msg_post( &s_msg );
    
              if ( p_room1->get_lowercase_name() != 
                   p_room2->get_lowercase_name() )
               p_room2->msg_post( &s_msg );
    
      	  string s_kick = "<script language=JavaScript>top.location.href='/"
                            + p_conf->get_elem("HTML_START_SITE")
                            + "';</script>";
    
              p_searched_user->msg_post( &s_kick );
              p_searched_user->set_online(false);
             }
    
             else
             {
              conf* p_conf = (conf*) ((dynamic_wrap*)c->elem[3])->CONF; 
              string s_msg = "<font color=\"#" 
                           + p_conf->get_elem("HTML_ERROR_COLOR")
                           + "\"><b>" 
                           + s_searched_user + "</b> "
                           + p_lang->get_elem("ERR_NOT_AVAILABLE")
                           + "</font><br>\n";
              p_user->msg_post( &s_msg ); 
             }
            }
     }
    
    }
    

    danke für die hilfe im voraus



  • lol, als ob wir das system kennen würden für das du programmierst 🙄



  • evtl. Hilfts

    Wenn du einwenig kommentierst, kann man vielleicht mehr als raten...

    Im Prinzip brauchst du eine Ban liste, in der alle gebannten user
    drin stehen, und mit der musst du dann alle sich einloggenden user
    gegenchecken, und das ganze dann loggen. gleich zeitig musst du dann
    in dieser Liste festlegen, wie lange jemand dort drin steht.

    Devil



  • tschuldigung

    das is nicht mein quelltext
    das is ein quelltext von einem chat von ychat.org

    der chat is für *nix plattformen geschrieben.....

    ich bin was das programmieren angeht ehr neuling als fortgeschritten..bräuchte nur nen paar tips wie ich das am besten realisiere...den rest kann ich googlen und hier mit lesen btw meine lektüre "visual c+ + für dummies" zu rate ziehen


Anmelden zum Antworten