| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -419,57 +419,6 @@ void on_config_save(GtkWidget *, main_window *){
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						main_config.save_config=2;
 | 
					 | 
					 | 
					 | 
						main_config.save_config=2;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_command("global"),NULL);
 | 
					 | 
					 | 
					 | 
						template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_command("global"),NULL);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (window){
 | 
					 | 
					 | 
					 | 
						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);
 | 
					 | 
					 | 
					 | 
								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])){
 | 
					 | 
					 | 
					 | 
							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]));
 | 
					 | 
					 | 
					 | 
								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);
 | 
					 | 
					 | 
					 | 
								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,":");
 | 
					 | 
					 | 
					 | 
								char *temp = yon_char_append(final_string,":");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								free(final_string);
 | 
					 | 
					 | 
					 | 
								free(final_string);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								final_string=temp;
 | 
					 | 
					 | 
					 | 
								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));
 | 
					 | 
					 | 
					 | 
						login = (char*)gtk_entry_get_text(GTK_ENTRY(window->userLoginEntry));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (login[0]>'0'&&login[0]<'9'&&!do_not_check_actve){
 | 
					 | 
					 | 
					 | 
						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);
 | 
					 | 
					 | 
					 | 
								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);
 | 
					 | 
					 | 
					 | 
								yon_ubl_status_highlight_incorrect(window->userLoginEntry);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return;
 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (yon_char_is_empty(login)){
 | 
					 | 
					 | 
					 | 
						if (yon_char_is_empty(login)){
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
 | 
					 | 
					 | 
					 | 
								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);
 | 
					 | 
					 | 
					 | 
								yon_ubl_status_highlight_incorrect(window->userLoginEntry);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return;
 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |