|
|
|
@ -764,6 +764,10 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
char *samba_sync = NULL;
|
|
|
|
char *samba_sync = NULL;
|
|
|
|
char *deactivate = NULL;
|
|
|
|
char *deactivate = NULL;
|
|
|
|
char *extra_options = NULL;
|
|
|
|
char *extra_options = NULL;
|
|
|
|
|
|
|
|
char *useradd_boot = "";
|
|
|
|
|
|
|
|
char *useradd_shutdown = "";
|
|
|
|
|
|
|
|
char *usershadow_boot = "";
|
|
|
|
|
|
|
|
char *usershadow_shutdown = "";
|
|
|
|
|
|
|
|
|
|
|
|
int uid_auto_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck));
|
|
|
|
int uid_auto_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck));
|
|
|
|
if (uid_auto_active){
|
|
|
|
if (uid_auto_active){
|
|
|
|
@ -886,6 +890,30 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
password_changed_date = yon_char_unite(yon_char_from_int(tm.tm_mday),".",yon_char_from_int(tm.tm_mon+1),".",yon_char_from_int(1900+tm.tm_year),NULL);
|
|
|
|
password_changed_date = yon_char_unite(yon_char_from_int(tm.tm_mday),".",yon_char_from_int(tm.tm_mon+1),".",yon_char_from_int(1900+tm.tm_year),NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck));
|
|
|
|
|
|
|
|
if (useradd_boot_active){
|
|
|
|
|
|
|
|
useradd_boot = "boot";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int useradd_shutdown_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddShutdownCheck));
|
|
|
|
|
|
|
|
if (useradd_shutdown_active){
|
|
|
|
|
|
|
|
useradd_shutdown = "shutdown";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int usershadow_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsershadowBootCheck));
|
|
|
|
|
|
|
|
if (usershadow_boot_active){
|
|
|
|
|
|
|
|
usershadow_boot = "boot";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int usershadow_shutdown_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsershadowShutdownCheck));
|
|
|
|
|
|
|
|
if (usershadow_shutdown_active){
|
|
|
|
|
|
|
|
usershadow_shutdown = "shutdown";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *useradd_sync_string = NULL;
|
|
|
|
|
|
|
|
useradd_sync_string = yon_char_unite(useradd_boot,!yon_char_is_empty(useradd_boot)?",":"",useradd_shutdown,NULL);
|
|
|
|
|
|
|
|
char *usershadow_sync_string = NULL;
|
|
|
|
|
|
|
|
usershadow_sync_string = yon_char_unite(usershadow_boot,!yon_char_is_empty(usershadow_boot)?",":"",usershadow_shutdown,NULL);
|
|
|
|
char *shadow_string = NULL;
|
|
|
|
char *shadow_string = NULL;
|
|
|
|
shadow_string = yon_char_unite(yon_char_return_if_exist(password_changed_date,""),
|
|
|
|
shadow_string = yon_char_unite(yon_char_return_if_exist(password_changed_date,""),
|
|
|
|
":",yon_char_return_if_exist(password_change_interval_minimum,""),
|
|
|
|
":",yon_char_return_if_exist(password_change_interval_minimum,""),
|
|
|
|
@ -909,6 +937,12 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
NULL);
|
|
|
|
NULL);
|
|
|
|
yon_config_register(USERADD(login),"users",final_user);
|
|
|
|
yon_config_register(USERADD(login),"users",final_user);
|
|
|
|
yon_config_register(USERSHADOW(login),"users",shadow_string);
|
|
|
|
yon_config_register(USERSHADOW(login),"users",shadow_string);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(useradd_sync_string))
|
|
|
|
|
|
|
|
yon_config_register(USERADD_SYNC(login),"users",useradd_sync_string);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(usershadow_sync_string))
|
|
|
|
|
|
|
|
yon_config_register(USERSHADOW_SYNC(login),"users",usershadow_sync_string);
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter))
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter))
|
|
|
|
@ -964,7 +998,11 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
|
|
|
|
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
|
|
|
|
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
|
|
|
|
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
|
|
|
|
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
|
|
|
|
window->CalendarPopup=yon_gtk_builder_get_widget(builder,"CalendarPopover");
|
|
|
|
window->CalendarPopup=yon_gtk_builder_get_widget(builder,"CalendarPopover");
|
|
|
|
|
|
|
|
window->UseraddBootCheck=yon_gtk_builder_get_widget(builder,"UseraddBootCheck");
|
|
|
|
window->ExpirationCalendar=yon_gtk_builder_get_widget(builder,"ExpirationCalendar");
|
|
|
|
window->ExpirationCalendar=yon_gtk_builder_get_widget(builder,"ExpirationCalendar");
|
|
|
|
|
|
|
|
window->UseraddShutdownCheck=yon_gtk_builder_get_widget(builder,"UseraddShutdownCheck");
|
|
|
|
|
|
|
|
window->UsershadowBootCheck=yon_gtk_builder_get_widget(builder,"UsershadowBootCheck");
|
|
|
|
|
|
|
|
window->UsershadowShutdownCheck=yon_gtk_builder_get_widget(builder,"UsershadowShutdownCheck");
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateUserWindow),USER_TITLE_LABEL);
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateUserWindow),USER_TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
|
|
int shell_size=0;
|
|
|
|
int shell_size=0;
|
|
|
|
@ -1107,12 +1145,34 @@ void on_main_edit(GtkWidget *self, main_window *widgets){
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMaximumSpin),atol(parsed_size>2?parameters[2]:"0"));
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMaximumSpin),atol(parsed_size>2?parameters[2]:"0"));
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userWarningSpin),atol(parsed_size>3?parameters[3]:"0"));
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userWarningSpin),atol(parsed_size>3?parameters[3]:"0"));
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userActivitySpin),atol(parsed_size>4?parameters[4]:"0"));
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userActivitySpin),atol(parsed_size>4?parameters[4]:"0"));
|
|
|
|
if (parsed_size>5){
|
|
|
|
if (parsed_size>5&&!yon_char_is_empty(parameters[5])){
|
|
|
|
GDateTime *date = g_date_time_new_from_unix_local(atol(parameters[5]));
|
|
|
|
GDateTime *date = g_date_time_new_from_unix_local(atol(parameters[5]));
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userPasswordExpirationEntry),g_date_time_format(date,"%c"));
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userPasswordExpirationEntry),g_date_time_format(date,"%c"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
gtk_widget_show(window->CreateUserWindow);
|
|
|
|
gtk_widget_show(window->CreateUserWindow);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *useradd_sync = NULL;
|
|
|
|
|
|
|
|
useradd_sync = yon_config_get_by_key(USERADD_SYNC(name));
|
|
|
|
|
|
|
|
if (useradd_sync){
|
|
|
|
|
|
|
|
if (strstr(useradd_sync,"boot")){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck),1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strstr(useradd_sync,"shutdown")){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UseraddShutdownCheck),1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
free(useradd_sync);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
char *usershadow_sync =yon_config_get_by_key(USERSHADOW_SYNC(name));
|
|
|
|
|
|
|
|
if (usershadow_sync){
|
|
|
|
|
|
|
|
if (strstr(usershadow_sync,"boot")){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UsershadowBootCheck),1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strstr(usershadow_sync,"shutdown")){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UsershadowShutdownCheck),1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
free(usershadow_sync);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
model = GTK_TREE_MODEL(widgets->GroupsList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->GroupsList);
|
|
|
|
|