|
|
|
|
@ -419,57 +419,6 @@ void on_config_save(GtkWidget *, main_window *){
|
|
|
|
|
main_config.save_config=2;
|
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_command("global"),NULL);
|
|
|
|
|
if (window){
|
|
|
|
|
if (main_config.load_mode==0){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
|
|
|
|
|
for(;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){
|
|
|
|
|
char *parameter,*old_value, *new_value;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,1,¶meter,2,&old_value,3,&new_value,-1);
|
|
|
|
|
int old_size, new_size;
|
|
|
|
|
config_str old_parsed = yon_char_parse(old_value,&old_size,":");
|
|
|
|
|
config_str new_parsed = yon_char_parse(new_value,&new_size,":");
|
|
|
|
|
if (old_parsed&&new_parsed){
|
|
|
|
|
char *parameter_type = yon_char_divide_search(parameter,"[",-1);
|
|
|
|
|
if (!strcmp(parameter_type,USERADD_parameter)){
|
|
|
|
|
if (old_size>5){
|
|
|
|
|
old_parsed = yon_char_parsed_rip(old_parsed,&old_size,5);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (new_size>5){
|
|
|
|
|
new_parsed = yon_char_parsed_rip(new_parsed,&new_size,5);
|
|
|
|
|
}
|
|
|
|
|
char *old_final = yon_char_parsed_to_string(old_parsed,old_size,":");
|
|
|
|
|
char *new_final = yon_char_parsed_to_string(new_parsed,new_size,":");
|
|
|
|
|
if (old_final&&new_final&&!strcmp(old_final,new_final)){
|
|
|
|
|
gtk_list_store_set(window->list,&iter,5,0,-1);
|
|
|
|
|
}
|
|
|
|
|
free(old_final);
|
|
|
|
|
free(new_final);
|
|
|
|
|
yon_char_parsed_free(old_parsed,old_size);
|
|
|
|
|
yon_char_parsed_free(new_parsed,new_size);
|
|
|
|
|
|
|
|
|
|
} else if (!strcmp(parameter_type,GROUPADD_parameter)){
|
|
|
|
|
if (old_size>3){
|
|
|
|
|
old_parsed = yon_char_parsed_rip(old_parsed,&old_size,3);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (new_size>3){
|
|
|
|
|
new_parsed = yon_char_parsed_rip(new_parsed,&new_size,3);
|
|
|
|
|
}
|
|
|
|
|
char *old_final = yon_char_parsed_to_string(old_parsed,old_size,":");
|
|
|
|
|
char *new_final = yon_char_parsed_to_string(new_parsed,new_size,":");
|
|
|
|
|
if (!strcmp(old_final,new_final)){
|
|
|
|
|
gtk_list_store_set(window->list,&iter,5,0,-1);
|
|
|
|
|
}
|
|
|
|
|
free(old_final);
|
|
|
|
|
free(new_final);
|
|
|
|
|
yon_char_parsed_free(old_parsed,old_size);
|
|
|
|
|
yon_char_parsed_free(new_parsed,new_size);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
yon_hide_passwords(window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -496,7 +445,22 @@ void on_config_local_save(GtkWidget *, main_window *){
|
|
|
|
|
if (parsed_size>5&&!yon_char_is_empty(parsed[5])){
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(passwords,&passw_size,yon_char_new(parsed[5]));
|
|
|
|
|
parsed = yon_char_parsed_rip(parsed,&parsed_size,5);
|
|
|
|
|
char *final_string = yon_char_parsed_to_string(parsed,parsed_size,":");
|
|
|
|
|
char *final_string = NULL;
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (parsed && parsed_size>0){
|
|
|
|
|
char *final = NULL;
|
|
|
|
|
char *temp;
|
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
|
temp = yon_char_unite(final?final:"",final?":":"",parsed[i],NULL);
|
|
|
|
|
if (!yon_char_is_empty(final)) free(final);
|
|
|
|
|
final=temp;
|
|
|
|
|
}
|
|
|
|
|
if (!yon_char_is_empty(final)){
|
|
|
|
|
final_string = final;
|
|
|
|
|
}
|
|
|
|
|
} else if (parsed_size==0&&!parsed) final_string = "";
|
|
|
|
|
}
|
|
|
|
|
char *temp = yon_char_append(final_string,":");
|
|
|
|
|
free(final_string);
|
|
|
|
|
final_string=temp;
|
|
|
|
|
@ -2054,11 +2018,13 @@ void on_parameter_changed(GtkWidget *,ubl_settings_usergroups_user_window *windo
|
|
|
|
|
login = (char*)gtk_entry_get_text(GTK_ENTRY(window->userLoginEntry));
|
|
|
|
|
if (login[0]>'0'&&login[0]<'9'&&!do_not_check_actve){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),USER_BEGINS_WITH_DIGIT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->userLoginEntry);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (yon_char_is_empty(login)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->userLoginEntry);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|