|
|
|
|
@ -161,9 +161,9 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
gtk_list_store_set(widgets->GroupsList,&iter,
|
|
|
|
|
1,login,
|
|
|
|
|
0,parameters_size>1?parameters[1]:"",
|
|
|
|
|
2,parameters_size>0?parameters[0]:"",
|
|
|
|
|
3,parameters_size>2?parameters[2]:"",
|
|
|
|
|
0,parameters_size>2?parameters[2]:"",
|
|
|
|
|
2,parameters_size>1?parameters[1]:"",
|
|
|
|
|
3,parameters_size>3?parameters[3]:"",
|
|
|
|
|
4,pars,
|
|
|
|
|
-1);
|
|
|
|
|
if(parameters)
|
|
|
|
|
@ -2854,28 +2854,34 @@ void on_user_sync_with_config(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&target,-1);
|
|
|
|
|
dialog_confirmation_data data;
|
|
|
|
|
if (config(USERADD(target))){
|
|
|
|
|
data.action_text = SYSTEM_GROUP_SYNC_CONFIRMATION_LABEL(target);
|
|
|
|
|
data.action_text = SYSTEM_GROUP_ADD_CONFIRMATION_LABEL(target);
|
|
|
|
|
data.data=NULL;
|
|
|
|
|
data.function=NULL;
|
|
|
|
|
} else {
|
|
|
|
|
data.action_text = SYSTEM_GROUP_ADD_CONFIRMATION_LABEL(target);
|
|
|
|
|
data.action_text = SYSTEM_GROUP_SYNC_CONFIRMATION_LABEL(target);
|
|
|
|
|
data.data=NULL;
|
|
|
|
|
data.function=NULL;
|
|
|
|
|
}
|
|
|
|
|
if (yon_confirmation_dialog_call(widgets->Window,&data)!=GTK_RESPONSE_ACCEPT){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
int group_size;
|
|
|
|
|
config_str group = yon_config_load(get_system_group_command(target),&group_size);
|
|
|
|
|
if (group_size>0){
|
|
|
|
|
yon_char_remove_last_symbol(group[0],'\n');
|
|
|
|
|
free(yon_char_divide_search(group[0],"=",-1));
|
|
|
|
|
yon_char_remove_brackets(group[0]);
|
|
|
|
|
char *group_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD(target));
|
|
|
|
|
yon_config_register(GROUPADD(target),group_command,group[0]);
|
|
|
|
|
char *group = yon_char_parsed_check_exist_begins_with(main_config.groups,main_config.groups_size,target);
|
|
|
|
|
char *group_shadow = yon_char_parsed_check_exist_begins_with(main_config.group_shadow,main_config.group_shadow_size,target);
|
|
|
|
|
yon_char_remove_last_symbol(group,'\n');
|
|
|
|
|
yon_char_remove_last_symbol(group_shadow,'\n');
|
|
|
|
|
int group_size=0;
|
|
|
|
|
int group_shadow_size=0;
|
|
|
|
|
config_str parsed = yon_char_parse(group,&group_size,":");
|
|
|
|
|
config_str parsed_shadow = yon_char_parse(group_shadow,&group_shadow_size,":");
|
|
|
|
|
char *config_group = yon_char_unite(parsed[0],":",parsed[3],":",parsed[2],"::",parsed_shadow[2],":",strcmp(parsed[1],"x")?parsed[1]:parsed_shadow[1],NULL);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(config_group)){
|
|
|
|
|
char *group_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",GROUPADD(target));
|
|
|
|
|
yon_config_register(GROUPADD(target),group_command,config_group);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}break;
|
|
|
|
|
}break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -2905,6 +2911,8 @@ void config_init(){
|
|
|
|
|
main_config.save_config=0;
|
|
|
|
|
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);
|
|
|
|
|
main_config.users = yon_file_open(users_path,&main_config.users_size);
|
|
|
|
|
main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size);
|
|
|
|
|
main_config.group_shadow = yon_file_open(group_shadow_path,&main_config.group_shadow_size);
|
|
|
|
|
main_config.users_list=NULL;
|
|
|
|
|
main_config.groups_list=NULL;
|
|
|
|
|
main_config.password_min_length=6;
|
|
|
|
|
|