|  | @@ -686,66 +686,6 @@ function change_password {
 | 
	
		
			
			| 686 | 686 |             --msgbox $"Password for $SELECTED_USERNAME was changed" 6 40
 | 
	
		
			
			| 687 | 687 |  }
 | 
	
		
			
			| 688 | 688 |  
 | 
	
		
			
			| 689 |  | -function irc_show_password {
 | 
	
		
			
			| 690 |  | -    IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
 | 
	
		
			
			| 691 |  | -    dialog --title $"IRC Password" \
 | 
	
		
			
			| 692 |  | -           --msgbox "$IRC_PASSWORD" 6 40
 | 
	
		
			
			| 693 |  | -}
 | 
	
		
			
			| 694 |  | -
 | 
	
		
			
			| 695 |  | -function irc_set_global_password {
 | 
	
		
			
			| 696 |  | -    dialog --title $"IRC Password" \
 | 
	
		
			
			| 697 |  | -           --clear \
 | 
	
		
			
			| 698 |  | -           --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 699 |  | -           --passwordbox $"Password for all IRC users, or press Enter for no password" 10 50 2> $data
 | 
	
		
			
			| 700 |  | -    sel=$?
 | 
	
		
			
			| 701 |  | -    case $sel in
 | 
	
		
			
			| 702 |  | -        0)
 | 
	
		
			
			| 703 |  | -            EXISTING_IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
 | 
	
		
			
			| 704 |  | -            NEW_IRC_PASSWORD=$(<$data)
 | 
	
		
			
			| 705 |  | -            sed -i "0,/RE/s/Password =.*/Password =$NEW_IRC_PASSWORD/" /etc/ngircd/ngircd.conf
 | 
	
		
			
			| 706 |  | -
 | 
	
		
			
			| 707 |  | -            # replace the password for all users
 | 
	
		
			
			| 708 |  | -            for d in /home/*/ ; do
 | 
	
		
			
			| 709 |  | -                IRC_USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
 | 
	
		
			
			| 710 |  | -                if [[ $IRC_USERNAME != "git" && $IRC_USERNAME != "mirrors" && $IRC_USERNAME != "sync" && $IRC_USERNAME != "tahoelafs" ]]; then
 | 
	
		
			
			| 711 |  | -                    if [ -f /home/$IRC_USERNAME/.irssi/config ]; then
 | 
	
		
			
			| 712 |  | -                        sed -i "s|$EXISTING_IRC_PASSWORD|$NEW_IRC_PASSWORD|g" /home/$IRC_USERNAME/.irssi/config
 | 
	
		
			
			| 713 |  | -                        chown -R $IRC_USERNAME:$IRC_USERNAME /home/$IRC_USERNAME/.irssi
 | 
	
		
			
			| 714 |  | -                    fi
 | 
	
		
			
			| 715 |  | -                fi
 | 
	
		
			
			| 716 |  | -            done
 | 
	
		
			
			| 717 |  | -
 | 
	
		
			
			| 718 |  | -            # restart the daemon for the new password to take effect
 | 
	
		
			
			| 719 |  | -            systemctl restart ngircd
 | 
	
		
			
			| 720 |  | -
 | 
	
		
			
			| 721 |  | -            dialog --title $"IRC Password" \
 | 
	
		
			
			| 722 |  | -                   --msgbox $"The IRC password was changed" 6 40
 | 
	
		
			
			| 723 |  | -            ;;
 | 
	
		
			
			| 724 |  | -    esac
 | 
	
		
			
			| 725 |  | -}
 | 
	
		
			
			| 726 |  | -
 | 
	
		
			
			| 727 |  | -function change_blog_avatar {
 | 
	
		
			
			| 728 |  | -    data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 729 |  | -    trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 730 |  | -    dialog --title $"Change blog avatar" \
 | 
	
		
			
			| 731 |  | -           --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 732 |  | -           --inputbox $"Enter a URL for an image. It should be approximately a square image." 8 75 2>$data
 | 
	
		
			
			| 733 |  | -    sel=$?
 | 
	
		
			
			| 734 |  | -    case $sel in
 | 
	
		
			
			| 735 |  | -        0)
 | 
	
		
			
			| 736 |  | -            IMAGE_URL=$(<$data)
 | 
	
		
			
			| 737 |  | -            if [ ${#IMAGE_URL} -gt 5 ]; then
 | 
	
		
			
			| 738 |  | -                clear
 | 
	
		
			
			| 739 |  | -                ${PROJECT_NAME}-blog -a $IMAGE_URL
 | 
	
		
			
			| 740 |  | -                if [ "$?" = "0" ]; then
 | 
	
		
			
			| 741 |  | -                    dialog --title $"Change blog avatar" \
 | 
	
		
			
			| 742 |  | -                           --msgbox $"Your blog avatar has been changed" 6 40
 | 
	
		
			
			| 743 |  | -                fi
 | 
	
		
			
			| 744 |  | -            fi
 | 
	
		
			
			| 745 |  | -            ;;
 | 
	
		
			
			| 746 |  | -    esac
 | 
	
		
			
			| 747 |  | -}
 | 
	
		
			
			| 748 |  | -
 | 
	
		
			
			| 749 | 689 |  function change_ssh_public_key {
 | 
	
		
			
			| 750 | 690 |      select_user
 | 
	
		
			
			| 751 | 691 |      if [ ! $SELECTED_USERNAME ]; then
 | 
	
	
		
			
			|  | @@ -1367,67 +1307,6 @@ function reset_tripwire {
 | 
	
		
			
			| 1367 | 1307 |      any_key
 | 
	
		
			
			| 1368 | 1308 |  }
 | 
	
		
			
			| 1369 | 1309 |  
 | 
	
		
			
			| 1370 |  | -function hubzilla_renew_cert {
 | 
	
		
			
			| 1371 |  | -    dialog --title $"Renew SSL certificate" \
 | 
	
		
			
			| 1372 |  | -           --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 1373 |  | -           --yesno $"\nThis will renew a letsencrypt certificate. Select 'yes' to continue" 16 60
 | 
	
		
			
			| 1374 |  | -    sel=$?
 | 
	
		
			
			| 1375 |  | -    case $sel in
 | 
	
		
			
			| 1376 |  | -        1) return;;
 | 
	
		
			
			| 1377 |  | -        255) return;;
 | 
	
		
			
			| 1378 |  | -    esac
 | 
	
		
			
			| 1379 |  | -    HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 1380 |  | -    if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
 | 
	
		
			
			| 1381 |  | -        dialog --title $"Renew SSL certificate" \
 | 
	
		
			
			| 1382 |  | -               --msgbox $"Hubzilla install directory not found" 6 40
 | 
	
		
			
			| 1383 |  | -        return
 | 
	
		
			
			| 1384 |  | -    fi
 | 
	
		
			
			| 1385 |  | -    ${PROJECT_NAME}-renew-cert -h $HUBZILLA_DOMAIN_NAME -p 'letsencrypt'
 | 
	
		
			
			| 1386 |  | -    if [ ! "$?" = "0" ]; then
 | 
	
		
			
			| 1387 |  | -        any_key
 | 
	
		
			
			| 1388 |  | -    else
 | 
	
		
			
			| 1389 |  | -        dialog --title $"Renew SSL certificate" \
 | 
	
		
			
			| 1390 |  | -               --msgbox $"Hubzilla certificate has been renewed" 6 40
 | 
	
		
			
			| 1391 |  | -    fi
 | 
	
		
			
			| 1392 |  | -}
 | 
	
		
			
			| 1393 |  | -
 | 
	
		
			
			| 1394 |  | -function hubzilla_channel_directory_server {
 | 
	
		
			
			| 1395 |  | -    if ! grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			| 1396 |  | -        dialog --title $"Hubzilla channel directory server" \
 | 
	
		
			
			| 1397 |  | -               --msgbox $"Hubzilla is not installed on this system" 6 40
 | 
	
		
			
			| 1398 |  | -        return
 | 
	
		
			
			| 1399 |  | -    fi
 | 
	
		
			
			| 1400 |  | -    HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 1401 |  | -    if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
 | 
	
		
			
			| 1402 |  | -        dialog --title $"Hubzilla channel directory server" \
 | 
	
		
			
			| 1403 |  | -               --msgbox $"Hubzilla install directory not found" 6 40
 | 
	
		
			
			| 1404 |  | -        return
 | 
	
		
			
			| 1405 |  | -    fi
 | 
	
		
			
			| 1406 |  | -
 | 
	
		
			
			| 1407 |  | -    data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 1408 |  | -    trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 1409 |  | -    dialog --title $"Hubzilla channel directory server" \
 | 
	
		
			
			| 1410 |  | -           --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 1411 |  | -           --inputbox $"When you click on 'channel directory' this is where Hubzilla will obtain its list from" 8 60 2>$data
 | 
	
		
			
			| 1412 |  | -    sel=$?
 | 
	
		
			
			| 1413 |  | -    case $sel in
 | 
	
		
			
			| 1414 |  | -        0)
 | 
	
		
			
			| 1415 |  | -            hubzilla_domain_server=$(<$data)
 | 
	
		
			
			| 1416 |  | -            if [[ $hubzilla_domain_server != *"."* ]]; then
 | 
	
		
			
			| 1417 |  | -                return
 | 
	
		
			
			| 1418 |  | -            fi
 | 
	
		
			
			| 1419 |  | -            if [[ $hubzilla_domain_server != "https"* ]]; then
 | 
	
		
			
			| 1420 |  | -                dialog --title $"Hubzilla channel directory server" \
 | 
	
		
			
			| 1421 |  | -                       --msgbox $"Invalid domain - include the https://" 6 40
 | 
	
		
			
			| 1422 |  | -                return
 | 
	
		
			
			| 1423 |  | -            fi
 | 
	
		
			
			| 1424 |  | -            ./var/www/$HUBZILLA_DOMAIN_NAME/htdocs/util/config system directory_server $hubzilla_domain_server
 | 
	
		
			
			| 1425 |  | -            dialog --title $"Hubzilla channel directory server" \
 | 
	
		
			
			| 1426 |  | -                   --msgbox $"Domain channel directory server changed to $hubzilla_domain_server" 6 40
 | 
	
		
			
			| 1427 |  | -            ;;
 | 
	
		
			
			| 1428 |  | -    esac
 | 
	
		
			
			| 1429 |  | -}
 | 
	
		
			
			| 1430 |  | -
 | 
	
		
			
			| 1431 | 1310 |  function format_drive {
 | 
	
		
			
			| 1432 | 1311 |      drive=
 | 
	
		
			
			| 1433 | 1312 |      data=$(tempfile 2>/dev/null)
 | 
	
	
		
			
			|  | @@ -1917,55 +1796,6 @@ function menu_users {
 | 
	
		
			
			| 1917 | 1796 |      done
 | 
	
		
			
			| 1918 | 1797 |  }
 | 
	
		
			
			| 1919 | 1798 |  
 | 
	
		
			
			| 1920 |  | -function menu_hubzilla {
 | 
	
		
			
			| 1921 |  | -    while true
 | 
	
		
			
			| 1922 |  | -    do
 | 
	
		
			
			| 1923 |  | -        data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 1924 |  | -        trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 1925 |  | -        dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 1926 |  | -               --title $"Hubzilla" \
 | 
	
		
			
			| 1927 |  | -               --radiolist $"Choose an operation:" 13 70 4 \
 | 
	
		
			
			| 1928 |  | -               1 $"Set channel directory server" off \
 | 
	
		
			
			| 1929 |  | -               2 $"Renew SSL certificate" off \
 | 
	
		
			
			| 1930 |  | -               3 $"Back to main menu" on 2> $data
 | 
	
		
			
			| 1931 |  | -        sel=$?
 | 
	
		
			
			| 1932 |  | -        case $sel in
 | 
	
		
			
			| 1933 |  | -            1) break;;
 | 
	
		
			
			| 1934 |  | -            255) break;;
 | 
	
		
			
			| 1935 |  | -        esac
 | 
	
		
			
			| 1936 |  | -        case $(cat $data) in
 | 
	
		
			
			| 1937 |  | -            1) hubzilla_channel_directory_server;;
 | 
	
		
			
			| 1938 |  | -            2) hubzilla_renew_cert;;
 | 
	
		
			
			| 1939 |  | -            3) break;;
 | 
	
		
			
			| 1940 |  | -        esac
 | 
	
		
			
			| 1941 |  | -    done
 | 
	
		
			
			| 1942 |  | -}
 | 
	
		
			
			| 1943 |  | -
 | 
	
		
			
			| 1944 |  | -function menu_media {
 | 
	
		
			
			| 1945 |  | -    while true
 | 
	
		
			
			| 1946 |  | -    do
 | 
	
		
			
			| 1947 |  | -        data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 1948 |  | -        trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 1949 |  | -        dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 1950 |  | -               --title $"Media Menu" \
 | 
	
		
			
			| 1951 |  | -               --radiolist $"Choose an operation:" 13 70 3 \
 | 
	
		
			
			| 1952 |  | -               1 $"Attach a drive containing playable media" off \
 | 
	
		
			
			| 1953 |  | -               2 $"Remove a drive containing playable media" off \
 | 
	
		
			
			| 1954 |  | -               3 $"Exit" on 2> $data
 | 
	
		
			
			| 1955 |  | -        sel=$?
 | 
	
		
			
			| 1956 |  | -        case $sel in
 | 
	
		
			
			| 1957 |  | -            1) break;;
 | 
	
		
			
			| 1958 |  | -            255) break;;
 | 
	
		
			
			| 1959 |  | -        esac
 | 
	
		
			
			| 1960 |  | -        case $(cat $data) in
 | 
	
		
			
			| 1961 |  | -            1) remove-music
 | 
	
		
			
			| 1962 |  | -               attach-music;;
 | 
	
		
			
			| 1963 |  | -            2) remove-music;;
 | 
	
		
			
			| 1964 |  | -            3) break;;
 | 
	
		
			
			| 1965 |  | -        esac
 | 
	
		
			
			| 1966 |  | -    done
 | 
	
		
			
			| 1967 |  | -}
 | 
	
		
			
			| 1968 |  | -
 | 
	
		
			
			| 1969 | 1799 |  function wifi_enable {
 | 
	
		
			
			| 1970 | 1800 |      disable_wifi='yes'
 | 
	
		
			
			| 1971 | 1801 |      dialog --title $"Enable Wifi" \
 | 
	
	
		
			
			|  | @@ -2018,34 +1848,42 @@ function menu_wifi {
 | 
	
		
			
			| 2018 | 1848 |      done
 | 
	
		
			
			| 2019 | 1849 |  }
 | 
	
		
			
			| 2020 | 1850 |  
 | 
	
		
			
			| 2021 |  | -function menu_irc {
 | 
	
		
			
			| 2022 |  | -    if [ ! -d /etc/ngircd ]; then
 | 
	
		
			
			| 2023 |  | -        dialog --title $"IRC Menu" \
 | 
	
		
			
			| 2024 |  | -               --msgbox $"No IRC server is installed" 6 70
 | 
	
		
			
			| 2025 |  | -        return
 | 
	
		
			
			| 2026 |  | -    fi
 | 
	
		
			
			|  | 1851 | +function app_settings {
 | 
	
		
			
			| 2027 | 1852 |  
 | 
	
		
			
			| 2028 |  | -    while true
 | 
	
		
			
			|  | 1853 | +
 | 
	
		
			
			|  | 1854 | +    detect_installable_apps
 | 
	
		
			
			|  | 1855 | +
 | 
	
		
			
			|  | 1856 | +    applist=""
 | 
	
		
			
			|  | 1857 | +    appnames=()
 | 
	
		
			
			|  | 1858 | +    n=1
 | 
	
		
			
			|  | 1859 | +    app_index=0
 | 
	
		
			
			|  | 1860 | +    for a in "${APPS_AVAILABLE[@]}"
 | 
	
		
			
			| 2029 | 1861 |      do
 | 
	
		
			
			| 2030 |  | -        data=$(tempfile 2>/dev/null)
 | 
	
		
			
			| 2031 |  | -        trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 2032 |  | -        dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 2033 |  | -               --title $"IRC Menu" \
 | 
	
		
			
			| 2034 |  | -               --radiolist $"Choose an operation:" 14 70 4 \
 | 
	
		
			
			| 2035 |  | -               1 $"Set a password for all IRC users" off \
 | 
	
		
			
			| 2036 |  | -               2 $"Show current IRC login password" off \
 | 
	
		
			
			| 2037 |  | -               3 $"Exit" on 2> $data
 | 
	
		
			
			| 2038 |  | -        sel=$?
 | 
	
		
			
			| 2039 |  | -        case $sel in
 | 
	
		
			
			| 2040 |  | -            1) break;;
 | 
	
		
			
			| 2041 |  | -            255) break;;
 | 
	
		
			
			| 2042 |  | -        esac
 | 
	
		
			
			| 2043 |  | -        case $(cat $data) in
 | 
	
		
			
			| 2044 |  | -            1) irc_set_global_password;;
 | 
	
		
			
			| 2045 |  | -            2) irc_show_password;;
 | 
	
		
			
			| 2046 |  | -            3) break;;
 | 
	
		
			
			| 2047 |  | -        esac
 | 
	
		
			
			|  | 1862 | +        if [[ ${APPS_INSTALLED[$app_index]} != "0" ]]; then
 | 
	
		
			
			|  | 1863 | +            if [[ $(function_exists configure_interactive_${a}) == "1" ]]; then
 | 
	
		
			
			|  | 1864 | +                applist="$applist $n $a off"
 | 
	
		
			
			|  | 1865 | +                n=$[n+1]
 | 
	
		
			
			|  | 1866 | +                appnames+=("$a")
 | 
	
		
			
			|  | 1867 | +            fi
 | 
	
		
			
			|  | 1868 | +        fi
 | 
	
		
			
			|  | 1869 | +        app_index=$[app_index+1]
 | 
	
		
			
			| 2048 | 1870 |      done
 | 
	
		
			
			|  | 1871 | +    backstr=$'Back to main menu'
 | 
	
		
			
			|  | 1872 | +    applist="$applist $n $backstr on"
 | 
	
		
			
			|  | 1873 | +    appnames+=("Exit")
 | 
	
		
			
			|  | 1874 | +
 | 
	
		
			
			|  | 1875 | +    choices=$(dialog --stdout --backtitle $"Freedombone" \
 | 
	
		
			
			|  | 1876 | +                     --title $"Change Settings for an App" \
 | 
	
		
			
			|  | 1877 | +                     --radiolist $'Choose:' \
 | 
	
		
			
			|  | 1878 | +                     27 40 20 $applist)
 | 
	
		
			
			|  | 1879 | +
 | 
	
		
			
			|  | 1880 | +    if [ $? -eq 0 ]; then
 | 
	
		
			
			|  | 1881 | +        for choice in $choices
 | 
	
		
			
			|  | 1882 | +        do
 | 
	
		
			
			|  | 1883 | +            app_index = $[choice-1]
 | 
	
		
			
			|  | 1884 | +            configure_interactive_${appname[$app_index]}
 | 
	
		
			
			|  | 1885 | +        done
 | 
	
		
			
			|  | 1886 | +    fi
 | 
	
		
			
			| 2049 | 1887 |  }
 | 
	
		
			
			| 2050 | 1888 |  
 | 
	
		
			
			| 2051 | 1889 |  function menu_top_level {
 | 
	
	
		
			
			|  | @@ -2059,25 +1897,22 @@ function menu_top_level {
 | 
	
		
			
			| 2059 | 1897 |                 1 $"About this system" off \
 | 
	
		
			
			| 2060 | 1898 |                 2 $"Backup and Restore" off \
 | 
	
		
			
			| 2061 | 1899 |                 3 $"Reset Tripwire" off \
 | 
	
		
			
			| 2062 |  | -               4 $"Logging on/off" off \
 | 
	
		
			
			| 2063 |  | -               5 $"Ping enable/disable" off \
 | 
	
		
			
			| 2064 |  | -               6 $"Manage Users" off \
 | 
	
		
			
			| 2065 |  | -               7 $"Email Filtering Rules" off \
 | 
	
		
			
			| 2066 |  | -               8 $"Outgoing Email Proxy" off \
 | 
	
		
			
			| 2067 |  | -               9 $"Security Settings" off \
 | 
	
		
			
			| 2068 |  | -               10 $"Set the main repository (repo mirrors)" off \
 | 
	
		
			
			| 2069 |  | -               11 $"Hubzilla" off \
 | 
	
		
			
			| 2070 |  | -               12 $"Media menu" off \
 | 
	
		
			
			| 2071 |  | -               13 $"IRC menu" off \
 | 
	
		
			
			| 2072 |  | -               14 $"Change your blog avatar" off \
 | 
	
		
			
			| 2073 |  | -               15 $"Change the name of this system" off \
 | 
	
		
			
			| 2074 |  | -               16 $"Set the TLS date/time source" off \
 | 
	
		
			
			| 2075 |  | -               17 $"Set a static local IP address" off \
 | 
	
		
			
			| 2076 |  | -               18 $"Wifi menu" off \
 | 
	
		
			
			| 2077 |  | -               19 $"Check for updates" off \
 | 
	
		
			
			| 2078 |  | -               20 $"Power off the system" off \
 | 
	
		
			
			| 2079 |  | -               21 $"Restart the system" off \
 | 
	
		
			
			| 2080 |  | -               22 $"Exit" on 2> $data
 | 
	
		
			
			|  | 1900 | +               4 $"App Settings" off \
 | 
	
		
			
			|  | 1901 | +               5 $"Logging on/off" off \
 | 
	
		
			
			|  | 1902 | +               6 $"Ping enable/disable" off \
 | 
	
		
			
			|  | 1903 | +               7 $"Manage Users" off \
 | 
	
		
			
			|  | 1904 | +               8 $"Email Filtering Rules" off \
 | 
	
		
			
			|  | 1905 | +               9 $"Outgoing Email Proxy" off \
 | 
	
		
			
			|  | 1906 | +               10 $"Security Settings" off \
 | 
	
		
			
			|  | 1907 | +               11 $"Set the main repository (repo mirrors)" off \
 | 
	
		
			
			|  | 1908 | +               12 $"Change the name of this system" off \
 | 
	
		
			
			|  | 1909 | +               13 $"Set the TLS date/time source" off \
 | 
	
		
			
			|  | 1910 | +               14 $"Set a static local IP address" off \
 | 
	
		
			
			|  | 1911 | +               15 $"Wifi menu" off \
 | 
	
		
			
			|  | 1912 | +               16 $"Check for updates" off \
 | 
	
		
			
			|  | 1913 | +               17 $"Power off the system" off \
 | 
	
		
			
			|  | 1914 | +               18 $"Restart the system" off \
 | 
	
		
			
			|  | 1915 | +               19 $"Exit" on 2> $data
 | 
	
		
			
			| 2081 | 1916 |          sel=$?
 | 
	
		
			
			| 2082 | 1917 |          case $sel in
 | 
	
		
			
			| 2083 | 1918 |              1) exit 1;;
 | 
	
	
		
			
			|  | @@ -2087,25 +1922,22 @@ function menu_top_level {
 | 
	
		
			
			| 2087 | 1922 |              1) show_about;;
 | 
	
		
			
			| 2088 | 1923 |              2) menu_backup_restore;;
 | 
	
		
			
			| 2089 | 1924 |              3) reset_tripwire;;
 | 
	
		
			
			| 2090 |  | -            4) logging_on_off;;
 | 
	
		
			
			| 2091 |  | -            5) ping_enable_disable;;
 | 
	
		
			
			| 2092 |  | -            6) menu_users;;
 | 
	
		
			
			| 2093 |  | -            7) menu_email;;
 | 
	
		
			
			| 2094 |  | -            8) smtp_proxy;;
 | 
	
		
			
			| 2095 |  | -            9) security_settings;;
 | 
	
		
			
			| 2096 |  | -            10) set_main_repo;;
 | 
	
		
			
			| 2097 |  | -            11) menu_hubzilla;;
 | 
	
		
			
			| 2098 |  | -            12) menu_media;;
 | 
	
		
			
			| 2099 |  | -            13) menu_irc;;
 | 
	
		
			
			| 2100 |  | -            14) change_blog_avatar;;
 | 
	
		
			
			| 2101 |  | -            15) change_system_name;;
 | 
	
		
			
			| 2102 |  | -            16) set_tls_time_source;;
 | 
	
		
			
			| 2103 |  | -            17) set_static_IP;;
 | 
	
		
			
			| 2104 |  | -            18) menu_wifi;;
 | 
	
		
			
			| 2105 |  | -            19) check_for_updates;;
 | 
	
		
			
			| 2106 |  | -            20) shut_down_system;;
 | 
	
		
			
			| 2107 |  | -            21) restart_system;;
 | 
	
		
			
			| 2108 |  | -            22) break;;
 | 
	
		
			
			|  | 1925 | +            4) app_settings;;
 | 
	
		
			
			|  | 1926 | +            5) logging_on_off;;
 | 
	
		
			
			|  | 1927 | +            6) ping_enable_disable;;
 | 
	
		
			
			|  | 1928 | +            7) menu_users;;
 | 
	
		
			
			|  | 1929 | +            8) menu_email;;
 | 
	
		
			
			|  | 1930 | +            9) smtp_proxy;;
 | 
	
		
			
			|  | 1931 | +            10) security_settings;;
 | 
	
		
			
			|  | 1932 | +            11) set_main_repo;;
 | 
	
		
			
			|  | 1933 | +            12) change_system_name;;
 | 
	
		
			
			|  | 1934 | +            13) set_tls_time_source;;
 | 
	
		
			
			|  | 1935 | +            14) set_static_IP;;
 | 
	
		
			
			|  | 1936 | +            15) menu_wifi;;
 | 
	
		
			
			|  | 1937 | +            16) check_for_updates;;
 | 
	
		
			
			|  | 1938 | +            17) shut_down_system;;
 | 
	
		
			
			|  | 1939 | +            18) restart_system;;
 | 
	
		
			
			|  | 1940 | +            19) break;;
 | 
	
		
			
			| 2109 | 1941 |          esac
 | 
	
		
			
			| 2110 | 1942 |      done
 | 
	
		
			
			| 2111 | 1943 |  }
 |