#pragma implementation #include #include #include #include #include #include #include #include #include #include #include #include "fetchmailconf.h" #include "fetchmailconf.m" #include "serveredit.h" #include "useridedit.h" #include "comng.h" class USERIDSERVER: public USERID { SSTRING server; USERID userid; private: public: }; class USERIDSERVERLIST: public ARRAY { public: USERIDSERVER *getitem( int nof ); }; static USERIDLIST useridlist; /* * Co-manager user class */ static HELP_FILE help_fetchmailcomng( "fetchmailconf", "usercomng" ); PUBLIC FETCHMAIL_COMNG::FETCHMAIL_COMNG( DICTIONARY &dictionary ) : USERACCT_COMNG( dictionary ) { fprintf( stderr, "comng.cc: FETCHMAIL_COMNG::FETCHMAIL_COMNG()\n"); is_new = dictionary.get_str( "is_new" ); local_user = dictionary.get_str( "name" ); } PUBLIC void FETCHMAIL_COMNG::setupdia( DIALOG &dia ) { fprintf( stderr, "comng.cc: FETCHMAIL_COMNG::setupdia\n"); SERVERLIST *serverlist = new SERVERLIST( ); serverlist->read(); if ( serverlist->getnb() == 0 ) { return; } dia.addhelp( help_fetchmailcomng,MSG_U(T_FETCHMAIL_COMNG,"Fetch mail")); dia.newf_title( MSG_R(T_FETCHMAIL_COMNG),1,"",MSG_R(T_FETCHMAIL_COMNG)); for (int i=0; igetnb(); i++) { SERVER *server = serverlist->getitem(i); const char *server_name = server->server_name.get(); fprintf( stderr, "comng.cc: server_name=%s\n",server_name); dia.newf_title( server_name, 2, "", server_name ); // USERIDLIST *useridlist = new USERIDLIST( ); // useridlist->read( server ); useridlist.read( server ); USERID *userid = NULL; bool add_userid = true; // for ( int u=0; u< useridlist->getnb(); u++ ) { for ( int u=0; u< useridlist.getnb(); u++ ) { // userid = useridlist->getitem( u ); userid = useridlist.getitem( u ); if ( userid->local_user.cmp( local_user ) == 0 ) { add_userid = false; dia.newf_str(MSG_R(F_REMOTEUSER), userid->remote_user ); dia.newf_str(MSG_R(F_USERPASSWORD), userid->password ); userid->new_userid = false; } } if ( add_userid ) { userid = new USERID( ); // useridlist->add( userid ); useridlist.add( userid ); dia.newf_str (MSG_R(F_REMOTEUSER), userid->remote_user); dia.newf_str (MSG_R(F_USERPASSWORD), userid->password); userid->new_userid = true; } } } PUBLIC int FETCHMAIL_COMNG::validate( DIALOG &dia, int &nof ) { fprintf( stderr, "comng.cc: FETCHMAIL_COMNG::validate\n"); USERID *userid = NULL; for ( int u=0; u< useridlist.getnb(); u++ ) { userid = useridlist.getitem( u ); fprintf( stderr, "userid->remote_user=%s userid->password=%s %s\n",userid->remote_user.get(), userid->password.get(), userid->new_userid?"new_userid":"old_userid"); } // -1 vid fel return( 0 ); } PUBLIC int FETCHMAIL_COMNG::save( PRIVILEGE *privilege ) { fprintf( stderr, "comng.cc: FETCHMAIL_COMNG::save\n"); return( 0 ); } PUBLIC int FETCHMAIL_COMNG::deluser( PRIVILEGE *privilege ) { fprintf( stderr, "comng.cc: FETCHMAIL_COMNG::deluser\n"); return( 0 ); }