Show
Ignore:
Timestamp:
10/04/07 17:16:55 (5 years ago)
Author:
andi
Message:

owi updates

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/openmct/packages/system/owi/src/user.c

    r468 r477  
    8989 
    9090   /* Start form / external table / scroll area / internal table*/ 
    91    printf("<form action=\"%s\" method=\"post\">\n" 
     91   printf("<h3>%s</h3>\n" 
     92          "<form action=\"%s\" method=\"post\">\n" 
    9293          "<input type=\"hidden\" name=\"module\" value=\"%s\" />\n" 
    9394          "<input type=\"hidden\" name=\"command\" value=\"\" />\n" 
    94           "<table class=\"%s\">\n" 
    95           "<tr>\n" 
     95          "<table class=\"outside\">\n" 
     96          "<tr>\n" 
    9697          "<td>\n" 
    97           "<h1>%s</h1>\n" 
    98           "<br />%s<br /><br />\n" 
    99           "<table width=\"100%%\">\n" 
    100           "<tr>\n" 
    101           "<td align=\"right\">" 
    102           "<div class=\"searchbar\">\n" 
    103           "<input class=\"searchbox\" type=\"text\" name=\"search\" value=\"%s\" /><a href=\"#\" onclick=\"javascript:document.forms[0].reset()\" class=\"searchreset\" title=\"L&ouml;schen\"><img src=\"images/reset.gif\" id=\"searchreset\" border=\"0\" alt=\"\" /></a>\n" 
    104           "</div>\n" 
    105           "</td>\n" 
    106           "</tr>\n" 
    107           "</table>\n" 
    108           "<table class=\"%s\" cellpadding=\"0\" cellspacing=\"0\">\n" 
     98          "<table class=\"list\">\n" 
    10999          "<thead>\n" 
    110100          "<tr>\n" 
    111101          "<th>%s</th>\n" 
    112102          "<th>%s</th>\n" 
     103          "<th>%s</th>\n" 
    113104          "</tr>\n" 
    114105          "</thead>\n" 
    115106          "<tbody>", 
     107          USER_HEADLINE, 
    116108          getenv("SCRIPT_NAME"), 
    117109          variable_get("module"), 
    118           CONTENT_TABLE_CLASS, 
    119           USER_HEADLINE, 
    120           USER_DESCRIPTION, 
    121           variable_get("search"), 
    122           CONTENT_TABLE_LIST_CLASS, 
    123110          USER_TABLE_DESCRIPTION, 
     111          USER_TABLE_GECOS, 
    124112          USER_TABLE_ACTION); 
    125113 
     
    138126            strstr(argument_get_part(passwd, 5), search)))) { 
    139127         /* Print entry */ 
    140          printf("<tr onmouseover=\"this.className='%s';\"" 
    141                 " onmouseout=\"this.className='%s';\">\n" 
    142                 "<td width=\"80\">%s</td>\n" 
    143                 "<td width=\"160\">" 
    144                 "<input type=\"button\" onClick=\"location='%s?module=%s&command=detail&amp;id=%s'\" value=\"%s\" />&nbsp;" 
    145                 "<input type=\"button\" onClick=\"location='%s?module=%s&command=delete&amp;id=%s'\" value=\"%s\" />" 
     128         printf("<tr onmouseover=\"this.className='mover';\"" 
     129                " onmouseout=\"this.className='mout';\">\n" 
     130                "<td width=\"200\">%s</td>\n" 
     131                "<td width=\"212\">%s</td>\n" 
     132                "<td width=\"100\">" 
     133                "<input type=\"button\" onClick=\"location='%s?module=%s&amp;command=detail&amp;id=%s'\" value=\"%s\" />&nbsp;" 
     134                "<input type=\"button\" onClick=\"location='%s?module=%s&amp;command=delete&amp;id=%s'\" value=\"%s\" />" 
    146135                "</td>\n" 
    147136                "</tr>\n", 
    148                 CONTENT_TABLE_CLASS_MOUSEOVER, 
    149                 CONTENT_TABLE_CLASS_MOUSEOUT, 
    150137                argument_get_part(passwd, 0), 
     138                argument_get_part(passwd, 4), 
    151139                getenv("SCRIPT_NAME"), 
    152140                variable_get("module"), 
     
    169157          "<tr>\n" 
    170158          "<td colspan=\"7\" align=\"right\">\n" 
    171           "<a class=\"%s\" href=\"#\" onClick=\"location='%s?module=%s&command=new'\"><div class=\"%s\">%s</div></a>\n" 
     159          "<input type=\"button\" onClick=\"location='%s?module=%s&amp;command=new'\" value=\"%s\" />\n" 
    172160          "</td>\n" 
    173161          "</tr>\n" 
    174162          "</table>\n" 
    175           "</td>\n" 
    176           "</tr>\n" 
     163          "</td>\n" 
     164          "</tr>\n" 
    177165          "</table>\n" 
    178166          "</form>\n", 
    179           CONTENT_LINK_AQUA_CLASS, 
    180167          getenv("SCRIPT_NAME"), 
    181168          variable_get("module"), 
    182           CONTENT_BUTTON_AQUA_CLASS, 
    183169          USER_BUTTON_NEW); 
    184170} 
     
    195181 
    196182   /* Print external table for design */ 
    197    printf("<table class=\"%s\">\n" 
    198           "<tr>\n" 
    199           "<td>\n" 
    200           "<h1>%s</h1>\n" 
    201           "<br />%s<br /><br />\n", 
    202           CONTENT_TABLE_CLASS, 
    203           USER_HEADLINE, 
    204           USER_DETAIL); 
     183   printf("<h3>%s</h3>\n" 
     184          "<table class=\"outside\">\n" 
     185          "<tr>\n" 
     186          "<td>\n", 
     187          USER_HEADLINE); 
    205188 
    206189   /* Loop through all user entries in /etc/passwd */ 
     
    214197                "<input type=\"hidden\" name=\"command\" value=\"update\" />\n" 
    215198                "<input type=\"hidden\" name=\"id\" value=\"%s\" />\n" 
    216                 "<table class=\"%s\" width=\"100%%\">\n" 
     199                "<table class=\"detail\">\n" 
    217200                "<tr>\n" 
    218                 "<td width=\"250\">%s</td>\n" 
    219                 "<td>%s</td>\n" 
     201                "<td width=\"200\" class=\"description\">%s</td>\n" 
     202                "<td width=\"312\" class=\"value\">%s</td>\n" 
    220203                "</tr>\n" 
    221204                "<tr>\n" 
    222                 "<td>%s</td>\n" 
    223                 "<td><input type=\"password\" /></td>\n" 
     205                "<td class=\"description\">%s</td>\n" 
     206                "<td class=\"value\"><input type=\"password\" name=\"password\" /><br />%s</td>\n" 
    224207                "</tr>\n" 
    225208                "<tr>\n" 
    226                 "<td>%s</td>\n" 
    227                 "<td>%s</td>\n" 
     209                "<td class=\"description\">%s</td>\n" 
     210                "<td class=\"value\"><input type=\"text\" name=\"gecos\" value=\"%s\" /><br />%s</td>\n" 
    228211                "</tr>\n" 
    229212                "<tr>\n" 
    230                 "<td>%s</td>\n" 
    231                 "<td>%s</td>\n" 
     213                "<td class=\"description\">%s</td>\n" 
     214                "<td class=\"value\"><input type=\"checkbox\" name=\"shell\" value=\"y\" %s /><br />%s</td>\n" 
    232215                "</tr>\n" 
    233216                "<tr>\n" 
    234                 "<td>%s</td>\n" 
    235                 "<td><input type=\"text\" name=\"gecos\" value=\"%s\" /></td>\n" 
    236                 "</tr>\n" 
    237                 "<tr>\n" 
    238                 "<td>%s</td>\n" 
    239                 "<td><input type=\"text\" name=\"directory\" value=\"%s\" /></td>\n" 
    240                 "</tr>\n" 
    241                 "<tr>\n" 
    242                 "<td>%s</td>\n" 
    243                 "<td><input type=\"text\" name=\"shell\" value=\"%s\" /></td>\n" 
    244                 "</tr>\n" 
    245                 "</table>\n" 
    246                 "<table width=\"100%%\">\n" 
    247                 "<tr>\n" 
    248                 "<td colspan=\"2\" align=\"right\">\n" 
    249                 "<a href=\"#\" onClick=\"javascript:document.forms[0].submit()\" class=\"%s\"><div class=\"%s\">%s</div></a>\n" 
     217                "<td></td>\n" 
     218                "<td>\n" 
     219                "<input type=\"button\" onClick=\"javascript:document.forms[0].submit()\" value=\"%s\" />\n" 
    250220                "</td>\n" 
    251221                "</tr>\n" 
     
    256226                variable_get("module"), 
    257227                argument_get_part(passwd, 0), 
    258                 CONTENT_TABLE_BOX_CLASS, 
    259228                USER_TABLE_DESCRIPTION, 
    260229                argument_get_part(passwd, 0), 
    261230                USER_TABLE_NEW_PASSWORD, 
    262                 USER_TABLE_UID, 
    263                 argument_get_part(passwd, 2), 
    264                 USER_TABLE_GID, 
    265                 argument_get_part(passwd, 3), 
     231                USER_PASSWORD_DESCRIPTION, 
    266232                USER_TABLE_GECOS, 
    267233                argument_get_part(passwd, 4), 
    268                 USER_TABLE_DIRECTORY, 
    269                 argument_get_part(passwd, 5), 
     234                USER_GECOS_DESCRIPTION, 
    270235                USER_TABLE_SHELL, 
    271                 argument_get_part(passwd, 6), 
    272                 CONTENT_LINK_AQUA_CLASS, 
    273                 CONTENT_BUTTON_AQUA_CLASS, 
     236                strcmp(argument_get_part(passwd, 6), USER_SHELL_FALSE) == 0 ? "" : "checked",               
     237                USER_SHELL_DESCRIPTION, 
    274238                USER_BUTTON_UPDATE); 
    275239 
     
    290254   } 
    291255 
    292    /* Close external table */ 
    293256   printf("</td>\n" 
    294257          "</tr>\n" 
     
    317280                          argument_get_part(passwd, 2), 
    318281                          argument_get_part(passwd, 3), 
    319                           variable_ltrim(variable_filter(variable_get("gecos"), ":")), 
    320                           variable_ltrim(variable_filter(variable_get("directory"), ":")), 
    321                           variable_ltrim(variable_filter(variable_get("shell"), ":"))); 
     282                          variable_get("gecos"), 
     283                          argument_get_part(passwd, 5), 
     284                          argument_get_part(passwd, 6)); 
    322285      } 
    323286      /* Free passwd entry */ 
     
    328291   file_save(USER_FILE); 
    329292 
    330    /* Display user */ 
    331    user_detail(username); 
     293   /* Display user list */ 
     294   user_list(); 
    332295} 
    333296 
     
    372335      /* Add new passwd line in memory */ 
    373336      file_line_action(FILE_LINE_ADD, i, 
    374                        "%s:%s:%d:%d:%s:%s:%s", 
     337                       "%s:%s:%d:%d:%s:/home/%s:%s", 
    375338                       variable_ltrim(variable_filter(username, ":")), 
    376339                       crypt(variable_get("password"), "OM"), 
     
    378341                       start_uid, 
    379342                       variable_ltrim(variable_filter(variable_get("gecos"), ":")), 
    380                        variable_ltrim(variable_filter(variable_get("directory"), ":")), 
    381                        variable_ltrim(variable_filter(variable_get("shell"), ":"))); 
     343                       variable_ltrim(variable_filter(username, ":")), 
     344                       strcmp(variable_get("shell"), "y") == 0 ? USER_SHELL_DEFAULT : USER_SHELL_FALSE); 
    382345      /* Save result in user file */ 
    383346      file_save(USER_FILE); 
    384    } 
    385  
    386    /* Display new user*/ 
    387    user_detail(username); 
     347      /* Display user list */ 
     348      user_list(); 
     349   } else { 
     350      variable_set("error", USER_ALREADY_EXISTS); 
     351      /* Display user add page with error */ 
     352      user_new(); 
     353   } 
    388354} 
    389355 
     
    412378   file_save(USER_FILE); 
    413379 
    414    /* Display user */ 
     380   /* Display user list */ 
    415381   user_list(); 
    416382} 
     
    421387void user_new() { 
    422388   /* Print external table for design */ 
    423    printf("<table class=\"%s\">\n" 
    424           "<tr>\n" 
    425           "<td>\n" 
    426           "<h1>%s</h1>" 
    427           "<br />%s<br /><br />\n" 
    428           "<form action=\"%s\" method=\"post\">\n" 
     389   printf("<h3>%s</h3>", 
     390          USER_HEADLINE); 
     391 
     392   if (strcmp(variable_get("error"), "")) {        
     393      printf("<div class=\"error\">%s</div>\n", 
     394             variable_get("error")); 
     395   }          
     396           
     397   printf("<form action=\"%s\" method=\"post\">\n" 
    429398          "<input type=\"hidden\" name=\"module\" value=\"%s\" />\n" 
    430399          "<input type=\"hidden\" name=\"command\" value=\"add\" />\n" 
    431           "<table class=\"%s\" width=\"100%%\">\n" 
    432           "<tr>\n" 
    433           "<td width=\"250\">%s</td>\n" 
    434           "<td><input type=\"text\" name=\"id\" /></td>\n" 
    435           "</tr>\n" 
    436           "<tr>\n" 
    437           "<td>%s</td>\n" 
    438           "<td><input type=\"password\" /></td>\n" 
    439           "</tr>\n" 
    440           "<tr>\n" 
    441           "<td>%s</td>\n" 
    442           "<td><input type=\"text\" name=\"gecos\" /></td>\n" 
    443           "</tr>\n" 
    444           "<tr>\n" 
    445           "<td>%s</td>\n" 
    446           "<td><input type=\"text\" name=\"directory\" /></td>\n" 
    447           "</tr>\n" 
    448           "<tr>\n" 
    449           "<td>%s</td>\n" 
    450           "<td><input type=\"text\" name=\"shell\" /></td>\n" 
    451           "</tr>\n" 
    452           "</table>\n" 
    453           "<table width=\"100%%\">\n" 
    454           "<tr>\n" 
    455           "<td colspan=\"2\" align=\"right\">\n" 
    456           "<a href=\"#\" onClick=\"javascript:document.forms[0].submit()\" class=\"%s\"><div class=\"%s\">%s</div></a>\n" 
     400          "<table class=\"outside\">\n" 
     401          "<tr>\n" 
     402          "<td>\n" 
     403          "<table class=\"detail\">\n" 
     404          "<tr>\n" 
     405          "<td class=\"description\">%s</td>\n" 
     406          "<td class=\"value\"><input type=\"text\" name=\"id\" value=\"%s\" /><br />%s</td>\n" 
     407          "</tr>\n" 
     408          "<tr>\n" 
     409          "<td class=\"description\">%s</td>\n" 
     410          "<td class=\"value\"><input type=\"password\" name=\"password\" value=\"%s\" /><br />%s</td>\n" 
     411          "</tr>\n" 
     412          "<tr>\n" 
     413          "<td class=\"description\">%s</td>\n" 
     414          "<td class=\"value\"><input type=\"text\" name=\"gecos\" value=\"%s\" /><br />%s</td>\n" 
     415          "</tr>\n" 
     416          "<tr>\n" 
     417          "<td class=\"description\">%s</td>\n" 
     418          "<td class=\"value\"><input type=\"checkbox\" name=\"shell\" value=\"y\" %s /><br />%s</td>\n" 
     419          "</tr>\n" 
     420          "<tr>\n" 
     421          "<td></td>\n" 
     422          "<td>\n" 
     423          "<input type=\"button\" onClick=\"javascript:document.forms[0].submit()\" value=\"%s\" />\n" 
    457424          "</td>\n" 
    458425          "</tr>\n" 
    459426          "</table>\n" 
    460           "</form>\n" 
    461           "</td>\n" 
    462           "</tr>\n" 
    463           "</table>\n", 
    464           CONTENT_TABLE_CLASS, 
    465           USER_HEADLINE, 
    466           USER_NEW, 
     427          "</form>\n", 
    467428          getenv("SCRIPT_NAME"), 
    468429          variable_get("module"), 
    469           CONTENT_TABLE_BOX_CLASS, 
    470430          USER_TABLE_DESCRIPTION, 
     431          variable_get("id"), 
     432          USER_LOGIN_DESCRIPTION, 
    471433          USER_TABLE_NEW_PASSWORD, 
     434          variable_get("password"), 
     435          USER_PASSWORD_DESCRIPTION, 
    472436          USER_TABLE_GECOS, 
    473           USER_TABLE_DIRECTORY, 
    474           USER_TABLE_SHELL, 
    475           CONTENT_LINK_AQUA_CLASS, 
    476           CONTENT_BUTTON_AQUA_CLASS, 
     437          variable_get("gecos"), 
     438          USER_GECOS_DESCRIPTION, 
     439          USER_TABLE_SHELL, 
     440          strcmp(variable_get("shell"), "y") == 0 ? "checked" : "", 
     441          USER_SHELL_DESCRIPTION, 
    477442          USER_BUTTON_ADD); 
    478443}