Author: ekohl
Date: Sat Nov  8 21:44:32 2014
New Revision: 65332

URL: http://svn.reactos.org/svn/reactos?rev=65332&view=rev
Log:
[NET]
USER command:
- Replace stings by resource strings.
- Add a function to print padded resource strings.
- Fix the password input routine. Repeat if the passwords don't match.

Modified:
    trunk/reactos/base/applications/network/net/cmdUser.c
    trunk/reactos/base/applications/network/net/lang/en-US.rc
    trunk/reactos/base/applications/network/net/lang/ro-RO.rc
    trunk/reactos/base/applications/network/net/lang/ru-RU.rc
    trunk/reactos/base/applications/network/net/main.c
    trunk/reactos/base/applications/network/net/net.h
    trunk/reactos/base/applications/network/net/resource.h

Modified: trunk/reactos/base/applications/network/net/cmdUser.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/cmdUser.c?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/cmdUser.c       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/network/net/cmdUser.c       [iso-8859-1] 
Sat Nov  8 21:44:32 2014
@@ -173,13 +173,25 @@
     if (Status != NERR_Success)
         goto done;
 
-    PrintToConsole(L"User name                    %s\n", 
pUserInfo->usri4_name);
-    PrintToConsole(L"Full name                    %s\n", 
pUserInfo->usri4_full_name);
-    PrintToConsole(L"Comment                      %s\n", 
pUserInfo->usri4_comment);
-    PrintToConsole(L"User comment                 %s\n", 
pUserInfo->usri4_usr_comment);
-    PrintToConsole(L"Country code                 %03ld ()\n", 
pUserInfo->usri4_country_code);
-    PrintToConsole(L"Account active               %s\n", 
(pUserInfo->usri4_flags & UF_ACCOUNTDISABLE)? L"No" : ((pUserInfo->usri4_flags 
& UF_LOCKOUT) ? L"Locked" : L"Yes"));
-    PrintToConsole(L"Account expires              ");
+    PrintPaddedResourceString(IDS_USER_NAME);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_name);
+
+    PrintPaddedResourceString(IDS_USER_FULL_NAME);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_full_name);
+
+    PrintPaddedResourceString(IDS_USER_COMMENT);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_comment);
+
+    PrintPaddedResourceString(IDS_USER_USER_COMMENT);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_usr_comment);
+
+    PrintPaddedResourceString(IDS_USER_COUNTRY_CODE);
+    PrintToConsole(L"%03ld ()\n", pUserInfo->usri4_country_code);
+
+    PrintPaddedResourceString(IDS_USER_ACCOUNT_ACTIVE);
+    PrintToConsole(L"%s\n", (pUserInfo->usri4_flags & UF_ACCOUNTDISABLE)? 
L"No" : ((pUserInfo->usri4_flags & UF_LOCKOUT) ? L"Locked" : L"Yes"));
+
+    PrintPaddedResourceString(IDS_USER_ACCOUNT_EXPIRES);
     if (pUserInfo->usri4_acct_expires == TIMEQ_FOREVER)
         PrintToConsole(L"Never\n");
     else
@@ -187,40 +199,55 @@
 
     PrintToConsole(L"\n");
 
-    PrintToConsole(L"Password last set            ");
+    PrintPaddedResourceString(IDS_USER_PW_LAST_SET);
     dwLastSet = GetTimeInSeconds() - pUserInfo->usri4_password_age;
     PrintDateTime(dwLastSet);
 
-    PrintToConsole(L"Password expires             ");
+    PrintPaddedResourceString(IDS_USER_PW_EXPIRES);
     if ((pUserInfo->usri4_flags & UF_DONT_EXPIRE_PASSWD) || 
pUserModals->usrmod0_max_passwd_age == TIMEQ_FOREVER)
         PrintToConsole(L"Never\n");
     else
         PrintDateTime(dwLastSet + pUserModals->usrmod0_max_passwd_age);
 
-    PrintToConsole(L"Password changeable          ");
+    PrintPaddedResourceString(IDS_USER_PW_CHANGEABLE);
     PrintDateTime(dwLastSet + pUserModals->usrmod0_min_passwd_age);
 
-    PrintToConsole(L"Password required            %s\n", 
(pUserInfo->usri4_flags & UF_PASSWD_NOTREQD) ? L"No" : L"Yes");
-    PrintToConsole(L"User may change password     %s\n", 
(pUserInfo->usri4_flags & UF_PASSWD_CANT_CHANGE) ? L"No" : L"Yes");
+    PrintPaddedResourceString(IDS_USER_PW_REQUIRED);
+    PrintToConsole(L"%s\n", (pUserInfo->usri4_flags & UF_PASSWD_NOTREQD) ? 
L"No" : L"Yes");
+
+    PrintPaddedResourceString(IDS_USER_CHANGE_PW);
+    PrintToConsole(L"%s\n", (pUserInfo->usri4_flags & UF_PASSWD_CANT_CHANGE) ? 
L"No" : L"Yes");
 
     PrintToConsole(L"\n");
-    PrintToConsole(L"Workstations allowed         %s\n", 
(pUserInfo->usri4_workstations == NULL || wcslen(pUserInfo->usri4_workstations) 
== 0) ? L"All" : pUserInfo->usri4_workstations);
-    PrintToConsole(L"Logon script                 %s\n", 
pUserInfo->usri4_script_path);
-    PrintToConsole(L"User profile                 %s\n", 
pUserInfo->usri4_profile);
-    PrintToConsole(L"Home directory               %s\n", 
pUserInfo->usri4_home_dir);
-    PrintToConsole(L"Last logon                   ");
+
+    PrintPaddedResourceString(IDS_USER_WORKSTATIONS);
+    PrintToConsole(L"%s\n", (pUserInfo->usri4_workstations == NULL || 
wcslen(pUserInfo->usri4_workstations) == 0) ? L"All" : 
pUserInfo->usri4_workstations);
+
+    PrintPaddedResourceString(IDS_USER_LOGON_SCRIPT);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_script_path);
+
+    PrintPaddedResourceString(IDS_USER_PROFILE);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_profile);
+
+    PrintPaddedResourceString(IDS_USER_HOME_DIR);
+    PrintToConsole(L"%s\n", pUserInfo->usri4_home_dir);
+
+    PrintPaddedResourceString(IDS_USER_LAST_LOGON);
     if (pUserInfo->usri4_last_logon == 0)
         PrintToConsole(L"Never\n");
     else
         PrintDateTime(pUserInfo->usri4_last_logon);
+
     PrintToConsole(L"\n");
-    PrintToConsole(L"Logon hours allowed          ");
+
+    PrintPaddedResourceString(IDS_USER_LOGON_HOURS);
     if (pUserInfo->usri4_logon_hours == NULL)
         PrintToConsole(L"All\n");
+
     PrintToConsole(L"\n");
 
     PrintToConsole(L"\n");
-    PrintToConsole(L"Local group memberships      ");
+    PrintPaddedResourceString(IDS_USER_LOCAL_GROUPS);
     if (dwLocalGroupTotal != 0 && pLocalGroupInfo != NULL)
     {
         for (i = 0; i < dwLocalGroupTotal; i++)
@@ -235,7 +262,7 @@
         PrintToConsole(L"\n");
     }
 
-    PrintToConsole(L"Global group memberships     ");
+    PrintPaddedResourceString(IDS_USER_GLOBAL_GROUPS);
     if (dwGroupTotal != 0 && pGroupInfo != NULL)
     {
         for (i = 0; i < dwGroupTotal; i++)
@@ -279,31 +306,35 @@
 
     *lpAllocated = FALSE;
 
-    printf("Enter the password for user xxx: ");
-    ReadFromConsole(szPassword1, PWLEN + 1, FALSE);
-    printf("\n");
-
-    printf("Enter the password again: ");
-    ReadFromConsole(szPassword2, PWLEN + 1, FALSE);
-    printf("\n");
-
-    if (wcslen(szPassword1) == wcslen(szPassword2) &&
-        wcscmp(szPassword1, szPassword2) == 0)
-    {
-        ptr = HeapAlloc(GetProcessHeap(),
-                        0,
-                        (wcslen(szPassword1) + 1) * sizeof(WCHAR));
-        if (ptr != NULL)
-        {
-            wcscpy(ptr, szPassword1);
-            *lpPassword = ptr;
-            *lpAllocated = TRUE;
-        }
-    }
-    else
-    {
-        printf("The passwords do not match!");
-        *lpPassword = NULL;
+    while (TRUE)
+    {
+        PrintResourceString(IDS_USER_ENTER_PASSWORD1);
+        ReadFromConsole(szPassword1, PWLEN + 1, FALSE);
+        printf("\n");
+
+        PrintResourceString(IDS_USER_ENTER_PASSWORD2);
+        ReadFromConsole(szPassword2, PWLEN + 1, FALSE);
+        printf("\n");
+
+        if (wcslen(szPassword1) == wcslen(szPassword2) &&
+            wcscmp(szPassword1, szPassword2) == 0)
+        {
+            ptr = HeapAlloc(GetProcessHeap(),
+                            0,
+                            (wcslen(szPassword1) + 1) * sizeof(WCHAR));
+            if (ptr != NULL)
+            {
+                wcscpy(ptr, szPassword1);
+                *lpPassword = ptr;
+                *lpAllocated = TRUE;
+                return;
+            }
+        }
+        else
+        {
+            PrintResourceString(IDS_USER_NO_PASSWORD_MATCH);
+            *lpPassword = NULL;
+        }
     }
 }
 

Modified: trunk/reactos/base/applications/network/net/lang/en-US.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/lang/en-US.rc?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/lang/en-US.rc   [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/network/net/lang/en-US.rc   [iso-8859-1] 
Sat Nov  8 21:44:32 2014
@@ -65,6 +65,31 @@
       HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\
       SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n"
 
+   IDS_USER_NAME "User name"
+   IDS_USER_FULL_NAME "Full name"
+   IDS_USER_COMMENT "Comment"
+   IDS_USER_USER_COMMENT "User comment"
+   IDS_USER_COUNTRY_CODE "Country code"
+   IDS_USER_ACCOUNT_ACTIVE "Account active"
+   IDS_USER_ACCOUNT_EXPIRES "Account expires"
+   IDS_USER_PW_LAST_SET "Password last set"
+   IDS_USER_PW_EXPIRES "Password expires"
+   IDS_USER_PW_CHANGEABLE "Password changeable"
+   IDS_USER_PW_REQUIRED "Password required"
+   IDS_USER_CHANGE_PW "User may change password"
+   IDS_USER_WORKSTATIONS "Workstations allowed"
+   IDS_USER_LOGON_SCRIPT "Logon script"
+   IDS_USER_PROFILE "User profile"
+   IDS_USER_HOME_DIR "Home directory"
+   IDS_USER_LAST_LOGON "Last logon"
+   IDS_USER_LOGON_HOURS "Logon hours allowed"
+   IDS_USER_LOCAL_GROUPS "Local group memberships"
+   IDS_USER_GLOBAL_GROUPS "Global group memberships"
+
+   IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: "
+   IDS_USER_ENTER_PASSWORD2 "Enter the password again: "
+   IDS_USER_NO_PASSWORD_MATCH "\nThe passwords do not match!\n"
+
    IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n"
    IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s 
option.\n"
 END

Modified: trunk/reactos/base/applications/network/net/lang/ro-RO.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/lang/ro-RO.rc?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/lang/ro-RO.rc   [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/network/net/lang/ro-RO.rc   [iso-8859-1] 
Sat Nov  8 21:44:32 2014
@@ -71,6 +71,31 @@
       HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\
       SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n"
 
+   IDS_USER_NAME "User name"
+   IDS_USER_FULL_NAME "Full name"
+   IDS_USER_COMMENT "Comment"
+   IDS_USER_USER_COMMENT "User comment"
+   IDS_USER_COUNTRY_CODE "Country code"
+   IDS_USER_ACCOUNT_ACTIVE "Account active"
+   IDS_USER_ACCOUNT_EXPIRES "Account expires"
+   IDS_USER_PW_LAST_SET "Password last set"
+   IDS_USER_PW_EXPIRES "Password expires"
+   IDS_USER_PW_CHANGEABLE "Password changeable"
+   IDS_USER_PW_REQUIRED "Password required"
+   IDS_USER_CHANGE_PW "User may change password"
+   IDS_USER_WORKSTATIONS "Workstations allowed"
+   IDS_USER_LOGON_SCRIPT "Logon script"
+   IDS_USER_PROFILE "User profile"
+   IDS_USER_HOME_DIR "Home directory"
+   IDS_USER_LAST_LOGON "Last logon"
+   IDS_USER_LOGON_HOURS "Logon hours allowed"
+   IDS_USER_LOCAL_GROUPS "Local group memberships"
+   IDS_USER_GLOBAL_GROUPS "Global group memberships"
+
+   IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: "
+   IDS_USER_ENTER_PASSWORD2 "Enter the password again: "
+   IDS_USER_NO_PASSWORD_MATCH "\nThe passwords do not match!\n"
+
    IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n"
    IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s 
option.\n"
 END

Modified: trunk/reactos/base/applications/network/net/lang/ru-RU.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/lang/ru-RU.rc?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/lang/ru-RU.rc   [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/network/net/lang/ru-RU.rc   [iso-8859-1] 
Sat Nov  8 21:44:32 2014
@@ -67,6 +67,31 @@
       HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\
       SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n"
 
+   IDS_USER_NAME "User name"
+   IDS_USER_FULL_NAME "Full name"
+   IDS_USER_COMMENT "Comment"
+   IDS_USER_USER_COMMENT "User comment"
+   IDS_USER_COUNTRY_CODE "Country code"
+   IDS_USER_ACCOUNT_ACTIVE "Account active"
+   IDS_USER_ACCOUNT_EXPIRES "Account expires"
+   IDS_USER_PW_LAST_SET "Password last set"
+   IDS_USER_PW_EXPIRES "Password expires"
+   IDS_USER_PW_CHANGEABLE "Password changeable"
+   IDS_USER_PW_REQUIRED "Password required"
+   IDS_USER_CHANGE_PW "User may change password"
+   IDS_USER_WORKSTATIONS "Workstations allowed"
+   IDS_USER_LOGON_SCRIPT "Logon script"
+   IDS_USER_PROFILE "User profile"
+   IDS_USER_HOME_DIR "Home directory"
+   IDS_USER_LAST_LOGON "Last logon"
+   IDS_USER_LOGON_HOURS "Logon hours allowed"
+   IDS_USER_LOCAL_GROUPS "Local group memberships"
+   IDS_USER_GLOBAL_GROUPS "Global group memberships"
+
+   IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: "
+   IDS_USER_ENTER_PASSWORD2 "Enter the password again: "
+   IDS_USER_NO_PASSWORD_MATCH "\nThe passwords do not match!\n"
+
    IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n"
    IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s 
option.\n"
 END

Modified: trunk/reactos/base/applications/network/net/main.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/main.c?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/main.c  [iso-8859-1] (original)
+++ trunk/reactos/base/applications/network/net/main.c  [iso-8859-1] Sat Nov  8 
21:44:32 2014
@@ -65,6 +65,25 @@
 
 
 VOID
+PrintPaddedResourceString(
+    INT resID)
+{
+    WCHAR szMsgBuffer[MAX_BUFFER_SIZE];
+    INT nLength, nPaddedLength = 29, i;
+
+    nLength = LoadStringW(GetModuleHandle(NULL), resID, szMsgBuffer, 
MAX_BUFFER_SIZE);
+    if (nLength < nPaddedLength)
+    {
+        for (i = nLength; i < nPaddedLength; i++)
+            szMsgBuffer[i] = L' ';
+        szMsgBuffer[nPaddedLength] = UNICODE_NULL;
+    }
+
+    WriteToConsole(szMsgBuffer);
+}
+
+
+VOID
 PrintToConsole(
     LPWSTR lpFormat,
     ...)

Modified: trunk/reactos/base/applications/network/net/net.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/net.h?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/net.h   [iso-8859-1] (original)
+++ trunk/reactos/base/applications/network/net/net.h   [iso-8859-1] Sat Nov  8 
21:44:32 2014
@@ -31,6 +31,10 @@
     ...);
 
 VOID
+PrintPaddedResourceString(
+    INT resID);
+
+VOID
 PrintToConsole(
     LPWSTR lpFormat,
     ...);

Modified: trunk/reactos/base/applications/network/net/resource.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/net/resource.h?rev=65332&r1=65331&r2=65332&view=diff
==============================================================================
--- trunk/reactos/base/applications/network/net/resource.h      [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/network/net/resource.h      [iso-8859-1] 
Sat Nov  8 21:44:32 2014
@@ -45,5 +45,30 @@
 #define IDS_HELP_SYNTAX       142
 #define IDS_NET_SYNTAX        143
 
+#define IDS_USER_NAME                  450
+#define IDS_USER_FULL_NAME             451
+#define IDS_USER_COMMENT               452
+#define IDS_USER_USER_COMMENT          453
+#define IDS_USER_COUNTRY_CODE          454
+#define IDS_USER_ACCOUNT_ACTIVE        455
+#define IDS_USER_ACCOUNT_EXPIRES       456
+#define IDS_USER_PW_LAST_SET           457
+#define IDS_USER_PW_EXPIRES            458
+#define IDS_USER_PW_CHANGEABLE         459
+#define IDS_USER_PW_REQUIRED           460
+#define IDS_USER_CHANGE_PW             461
+#define IDS_USER_WORKSTATIONS          462
+#define IDS_USER_LOGON_SCRIPT          463
+#define IDS_USER_PROFILE               464
+#define IDS_USER_HOME_DIR              465
+#define IDS_USER_LAST_LOGON            466
+#define IDS_USER_LOGON_HOURS           467
+#define IDS_USER_LOCAL_GROUPS          468
+#define IDS_USER_GLOBAL_GROUPS         469
+
+#define IDS_USER_ENTER_PASSWORD1       490
+#define IDS_USER_ENTER_PASSWORD2       491
+#define IDS_USER_NO_PASSWORD_MATCH     492
+
 #define IDS_ERROR_OPTION_NOT_SUPPORTED 500
 #define IDS_ERROR_INVALID_OPTION_VALUE 501


Reply via email to