void AccountSettingsDialog::onSubmitBtnClicked() { if (!validateInputs()) { return; } QString url = mServerAddr->text().trimmed(); if (url != account_.serverUrl.toString()) { Account new_account(account_); new_account.serverUrl = url; if (seafApplet->accountManager()->replaceAccount(account_, new_account) < 0) { showWarning(tr("Failed to save account information")); return; } QString error; QUrl new_server_url = new_account.serverUrl; new_server_url.setPath("/"); if (seafApplet->rpcClient()->updateReposServerHost(account_.serverUrl.host(), new_account.serverUrl.host(), new_server_url.toString(), &error) < 0) { showWarning(tr("Failed to save the changes: %1").arg(error)); return; } } seafApplet->messageBox(tr("Successfully updated current account information"), this); accept(); }
/** * menustate(void) * * @brief * @param void * @return void */ void menustate(void) { sbool run = TRUE; while(run){ if(widget_get_uip()->root->shown.count > 0 || widget_get_uip()->root->hidden.count > 0) widget_unload(widget_get_uip()->root); switch(menu_state){ case MENU_STATE_MAIN: init_main_menu();//initializes the first menu for use. main_menu();//Start the First Menu, Menu main loop. break; case MENU_STATE_CREDITS: init_credits(); credits(); break; case MENU_STATE_LOGIN: init_login(); login(); break; case MENU_STATE_CREATE: init_new_account(); new_account(); break; case MENU_STATE_INGAME: init_ingame(); ingame(); break; case MENU_STATE_STATUS: if(!statusloader) init_status("Log in successful."); else { init_status("Widget System Initialized."); statusloader = FALSE; } status(); break; case MENU_STATE_EXIT: run = FALSE; break; } } }
/************************************************************************** * Open an account. The first unused account is selected. A password * equal to the account number is assigned by the server. **************************************************************************/ void open_account(char *resp_buf) { int id; int rtn; account_t *accountp; DPRINTF(("SERVER: open \n")); /* Get a new account */ if ((rtn = new_account(&id, &accountp)) < 0) { DPRINTF(("SERVER: open new_account failed, %s\n", atm_err_tbl[-rtn])); sprintf(resp_buf, "%d %d %d %s", TRANS_FAILURE, -1, -1, atm_err_tbl[-rtn]); } else { accountp->password = id; accountp->balance = 0; /* Store it back to the database */ if ((rtn = store_account(accountp)) < 0) { DPRINTF(("SERVER: open, store_account failed %s\n", atm_err_tbl[-rtn])); sprintf(resp_buf, "%d %d %d %s", TRANS_FAILURE, -1, -1, atm_err_tbl[-rtn]); } else { sprintf(resp_buf, "%d %d %d", TRANS_SUCCESS, id, id); } } }
/************************************************************************** * Open an account. The first unused account is selected. A password * equal to the account number is assigned by the server. **************************************************************************/ void open_account(char *resp_buf) { int id; int rtn; account_t *accountp; DPRINTF(("SERVER: open \n")); #ifdef NO_DATABASE_SYNC #elif defined(SINGLE_DATABASE_SEM_SYNC) /* "p()" single database semaphore */ single_database_sem_buf.sem_num = 0; single_database_sem_buf.sem_op = -1; /* "p()" */ single_database_sem_buf.sem_flg = SEM_UNDO; if (semop(single_database_sem_id, &single_database_sem_buf, 1) < 0) { perror("SERVER: child process, single database p semop() failed %d\n"); exit (1); } #elif defined(ACCOUNT_SEM_SYNC) /* "p()" open account semaphore */ open_account_sem_buf.sem_num = 0; open_account_sem_buf.sem_op = -1; /* "p()" */ open_account_sem_buf.sem_flg = SEM_UNDO; if (semop(open_account_sem_id, &open_account_sem_buf, 1) < 0) { perror("SERVER: child process, open account p semop() failed %d\n"); exit (1); } #endif /* Get a new account */ if ((rtn = new_account(&id, &accountp)) < 0) { DPRINTF(("SERVER: open new_account failed, %s\n", atm_err_tbl[-rtn])); sprintf(resp_buf, "%d %d %d %s", TRANS_FAILURE, -1, -1, atm_err_tbl[-rtn]); } else { accountp->password = id; accountp->balance = 0; /* Store it back to the database */ if ((rtn = store_account(accountp)) < 0) { DPRINTF(("SERVER: open, store_account failed %s\n", atm_err_tbl[-rtn])); sprintf(resp_buf, "%d %d %d %s", TRANS_FAILURE, -1, -1, atm_err_tbl[-rtn]); } else { sprintf(resp_buf, "%d %d %d", TRANS_SUCCESS, id, id); } } #ifdef NO_DATABASE_SYNC #elif defined(SINGLE_DATABASE_SEM_SYNC) /* "v()" single database semaphore */ single_database_sem_buf.sem_num = 0; single_database_sem_buf.sem_op = 1; /* "v()" */ single_database_sem_buf.sem_flg = SEM_UNDO; if (semop(single_database_sem_id, &single_database_sem_buf, 1) < 0) { perror("SERVER child process, single_database v semop() failed %d\n"); exit (1); } #elif defined(ACCOUNT_SEM_SYNC) /* "v()" open account semaphore */ open_account_sem_buf.sem_num = 0; open_account_sem_buf.sem_op = 1; /* "v()" */ open_account_sem_buf.sem_flg = SEM_UNDO; if (semop(open_account_sem_id, &open_account_sem_buf, 1) < 0) { perror("SERVER child process, open account v semop() failed %d\n"); exit (1); } #endif }
void do_fingeracct(CHAR_DATA *ch, char *arguments) { ACCOUNT_DATA *acc; char buf[MAX_STRING_LENGTH]; char buf2[MAX_STRING_LENGTH]; char buf3[MAX_STRING_LENGTH]; char buf4[128]; int i, j, len = 0; if (arguments[0] == 0) { send_to_char(ch, "Whom would you like to finger?\n"); return; } acc = new_account(); load_account(arguments, acc); if (acc->name[0] == 0) { free_account(acc); send_to_char(ch, "Unable to finger that account.\n"); return; } send_to_char(ch, "\n#R+#r--------------------------#1[#2Finger Account#1]#r--------------------------#R+\n"); snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Account: #R%s#1]", acc->name); snprintf(buf3, MAX_STRING_LENGTH, "#1[#2Logins: #R%d#1]", acc->logins); snprintf(buf, MAX_STRING_LENGTH, "#r| %-40s %-40s #r|\n", buf2, buf3); send_to_char(ch, buf); serial_time(acc->time, buf4); if (acc->lasttime == 0) snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Lastsave: #RNever!#1]"); else snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Lastsave: #R%s#1]", acc->lasttime); snprintf(buf3, MAX_STRING_LENGTH, "#1[#2Time: #R%s#1]", buf4); snprintf(buf, MAX_STRING_LENGTH, "#r| %-40s %-40s #r|\n", buf2, buf3); send_to_char(ch, buf); for (i = 0; i < acc->charcount; ++i) if (strlen(acc->character[i]) > len) len = strlen(acc->character[i]); for (i = 0; i < acc->charcount; ++i) { for (j = 0; j < len - strlen(acc->character[i]); ++j) buf[j] = ' '; buf[j] = '\0'; switch (acc->status[i]) { default: case CHSTATUS_NORMAL: strlcat(buf, "#1#R#1", MAX_STRING_LENGTH); /* gets around colors not displaying */ break; case CHSTATUS_HARDCORE: strlcat(buf, "#1[#RH#1]", MAX_STRING_LENGTH); break; case CHSTATUS_DELETED: strlcat(buf, "#1[#1D#1]", MAX_STRING_LENGTH); break; case CHSTATUS_IMMORTAL: strlcat(buf, "#1[#YI#1]", MAX_STRING_LENGTH); break; } snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Char %d: #R%s#1] %s", i+1, acc->character[i], buf); serial_time(acc->chtime[i], buf4); snprintf(buf3, MAX_STRING_LENGTH, "#1[#2Time: #R%s#1]", buf4); snprintf(buf, MAX_STRING_LENGTH, "#r| %-46s %-40s #r|\n", buf2, buf3); send_to_char(ch, buf); } snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Email: #R%s#1]", acc->email); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); if (acc->lasthost[0] == 0) snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Host: #RN/A#1]"); else snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Host: #R%s#1]", acc->lasthost); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); send_to_char(ch, "#R+#r--------------------------------------------------------------------#R+#n\n"); free_account(acc); }
void do_finger(CHAR_DATA *ch, char *arguments) { ACCOUNT_DATA *acc; CHAR_DATA *xch; char buf[MAX_STRING_LENGTH]; char buf2[MAX_STRING_LENGTH]; char buf3[MAX_STRING_LENGTH]; int email = 0; if (arguments[0] == 0) { send_to_char(ch, "Whom would you like to finger?\n"); return; } xch = load_character(NULL, arguments); if (xch->name[0] == 0) send_to_char(ch, "Unable to finger that player.\n"); else { acc = new_account(); load_account(xch->accname, acc); send_to_char(ch, "\n#R+#r------------------------------#1[#2Finger#1]#r------------------------------#R+\n"); snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Character: #R%s#1]", xch->name); snprintf(buf3, MAX_STRING_LENGTH, "#1[#2Class: #RNone#1]"); snprintf(buf, MAX_STRING_LENGTH, "#r| %-40s %-40s #r|\n", buf2, buf3); send_to_char(ch, buf); time_words(xch->time, buf3); snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Time: #R%s#1]", buf3); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); if (IS_SET(acc->aflags, AFLAG_PUBLIC_EMAIL)) { email = 1; snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Email: #R%s#1]", acc->email); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); } if (ch->level == LEVEL_SUPREME) { send_to_char(ch, "#R+#r-----------------------------#1[#2Imm Info#1]#r-----------------------------#R+\n"); if (email == 0) { snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Email: #R%s#1]", acc->email); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); } snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Account: #R%s#1]", xch->accname); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); if (acc->lasttime == 0) snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Lastsave: #RNever!#1]"); else snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Lastsave: #R%s#1]", acc->lasttime); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); if (acc->lasthost[0] == 0) snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Host: #RN/A#1]"); else snprintf(buf2, MAX_STRING_LENGTH, "#1[#2Host: #R%s#1]", acc->lasthost); snprintf(buf, MAX_STRING_LENGTH, "#r| %-74s #r|\n", buf2); send_to_char(ch, buf); } send_to_char(ch, "#R+#r--------------------------------------------------------------------#R+#n\n"); unlink_character(xch); free_account(acc); } free_character(xch); }