#!/bin/bash
Msg-Warning() {
	dialog --backtitle "错误！" --title "Warning" --msgbox "$1" 0 0
}
Msg-OK() {
	dialog --backtitle "成功！" --title "OK" --msgbox "$1" 0 0
}
Msg-Tips() {
	dialog  --title "Tips" --begin 0 0   --msgbox "$1" 0 0 \
		--title "Tips" --begin 5 5   --msgbox "$2" 0 0 \
		--title "Tips" --begin 10 10 --msgbox "$3" 0 0
}
function CuserName() {
	UserName=$(dialog --backtitle "创建用户名" --inputbox "输入用户名" 0 0 3>&1 1>&2 2>&3)
	exitstatus=$?
	if [ $exitstatus = 0 ]; then
		VuserN
	else
		Msg-Warning "已退出"
		clear
		exit
	fi
}
function CuserPasswd() {
	UserPasswd=$(dialog --backtitle "创建用户密码" --inputbox "输入密码" 0 0 3>&1 1>&2 2>&3)
	exitstatus=$?
	if [ $exitstatus = 0 ]; then
		VuserP
	else
		Msg-Warning "已退出"
		clear
		exit
	fi
}
function VuserN() {
	if [ ! -n "$UserName" ]
	then
		Msg-Warning "用户名不能为空"
		CuserName
		VuserN
	else
		Msg-OK "用户名已确认"
		CuserPasswd
	fi
}
function VuserP() {
	if [ ! -n "$UserPasswd" ]
	then
		Msg-Warning "密码不能为空"
		CuserPasswd
	else
		VuserPT
	fi

}
function VuserPT() {
	UserPasswdT=$(dialog --backtitle "校验用户密码" --inputbox "再次输入密码" 0 0 3>&1 1>&2 2>&3)
	exitstatus=$?
	if [ $exitstatus = 0 ]; then
		if [ "$UserPasswd" = "$UserPasswdT" ]
		then
			Msg-OK "密码已确认"
			UserNameOk=$UserName
			UserPasswdOk=$UserPasswd
			CreateUser
		else
			Msg-Warning "两次密码不同"
			CuserPasswd
		fi
	else
		Msg-Warning "密码验证取消，已退出"
		clear
		exit
	fi
}
function CreateUser() {
	unset LD_PRELOAD ; export dirfs=/data/data/com.termux/files/home/mjrfs ; proot --link2symlink -0 -r $dirfs -b /dev -b /proc -b $dirfs/root:/dev/shm -b /data/data/com.termux/files/home:/root -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games TERM=$TERM LANG=zh_CN.UTF-8 /bin/bash --login -c "useradd $UserName ; echo $UserNameOk:$UserPasswdOk | chpasswd ;exit"
}
function Tips() {
	Msg-Tips "本系统，Manjaro！" "启动vnc运行:startvnc\n终止vnc运行:stopvnc" "启动xsdl运行:startxsdl"
	if (dialog --backtitle "创建用户确认" --yesno "是否创建非root用户" 0 0); then
    		CuserName
	fi
}
Tips
