root/trunk/tstatusfunc.h

Revision 1380, 6.3 KB (checked in by Gary, 2 years ago)

unxsVZ corrected permissions code for type and status public tables.

  • Property svn:keywords set to id
Line 
1/*
2FILE
3        $Id$
4        (Built initially by unixservice.com mysqlRAD2)
5PURPOSE
6        Non schema-dependent table and application table related functions.
7AUTHOR/LEGAL
8        (C) 2001-2010 Gary Wallis for Unixservice, LLC.
9        GPLv2 license applies. See LICENSE file.
10*/
11
12//ModuleFunctionProtos()
13
14
15void tStatusNavList(void);
16
17void ExtProcesstStatusVars(pentry entries[], int x)
18{
19        /*
20        register int i;
21        for(i=0;i<x;i++)
22        {
23        }
24        */
25}//void ExtProcesstStatusVars(pentry entries[], int x)
26
27
28void ExttStatusCommands(pentry entries[], int x)
29{
30
31        if(!strcmp(gcFunction,"tStatusTools"))
32        {
33                //ModuleFunctionProcess()
34
35                if(!strcmp(gcCommand,LANG_NB_NEW))
36                {
37                        if(guPermLevel>=12)
38                        {
39                                ProcesstStatusVars(entries,x);
40                                guMode=2000;
41                                tStatus(LANG_NB_CONFIRMNEW);
42                        }
43                        else
44                                tStatus("Operation denied by permissions settings");
45                }
46                else if(!strcmp(gcCommand,LANG_NB_CONFIRMNEW))
47                {
48                        if(guPermLevel>=12)
49                        {
50                                ProcesstStatusVars(entries,x);
51
52                                guMode=2000;
53                                //Check entries here
54                                guMode=0;
55
56                                uStatus=0;
57                                uCreatedBy=guLoginClient;
58                                uOwner=guCompany;
59                                uModBy=0;//Never modified
60                                uModDate=0;//Never modified
61                                NewtStatus(0);
62                        }
63                        else
64                                tStatus("Operation denied by permissions settings");
65                }
66                else if(!strcmp(gcCommand,LANG_NB_DELETE))
67                {
68                        ProcesstStatusVars(entries,x);
69                        if(guPermLevel>=12 && guLoginClient==1)
70                        {
71                                guMode=2001;
72                                tStatus(LANG_NB_CONFIRMDEL);
73                        }
74                        else
75                                tStatus("Operation denied by permissions settings");
76                }
77                else if(!strcmp(gcCommand,LANG_NB_CONFIRMDEL))
78                {
79                        ProcesstStatusVars(entries,x);
80                        if(guPermLevel>=12 && guLoginClient==1)
81                        {
82                                guMode=5;
83                                DeletetStatus();
84                        }
85                        else
86                                tStatus("Operation denied by permissions settings");
87                }
88                else if(!strcmp(gcCommand,LANG_NB_MODIFY))
89                {
90                        ProcesstStatusVars(entries,x);
91                        if(uAllowMod(uOwner,uCreatedBy))
92                        {
93                                guMode=2002;
94                                tStatus(LANG_NB_CONFIRMMOD);
95                        }
96                        else
97                                tStatus("Operation denied by permissions settings");
98                }
99                else if(!strcmp(gcCommand,LANG_NB_CONFIRMMOD))
100                {
101                        ProcesstStatusVars(entries,x);
102                        if(uAllowMod(uOwner,uCreatedBy))
103                        {
104                                guMode=2002;
105                                //Check entries here
106                                guMode=0;
107
108                                uModBy=guLoginClient;
109                                ModtStatus();
110                        }
111                        else
112                                tStatus("Operation denied by permissions settings");
113                }
114        }
115
116}//void ExttStatusCommands(pentry entries[], int x)
117
118
119void ExttStatusButtons(void)
120{
121        OpenFieldSet("tStatus Aux Panel",100);
122        switch(guMode)
123        {
124                case 2000:
125                        printf("<p><u>Enter/mod data</u><br>");
126                        printf(LANG_NBB_CONFIRMNEW);
127                break;
128
129                case 2001:
130                        printf("<p><u>Think twice</u><br>");
131                        printf(LANG_NBB_CONFIRMDEL);
132                break;
133
134                case 2002:
135                        printf("<p><u>Review changes</u><br>");
136                        printf(LANG_NBB_CONFIRMMOD);
137                break;
138
139                default:
140                        printf("<u>Table Tips</u><br>");
141                        printf("<p><u>Record Context Info</u><br>");
142                        tStatusNavList();
143        }
144        CloseFieldSet();
145
146}//void ExttStatusButtons(void)
147
148
149void ExttStatusAuxTable(void)
150{
151
152}//void ExttStatusAuxTable(void)
153
154
155void ExttStatusGetHook(entry gentries[], int x)
156{
157        register int i;
158
159        for(i=0;i<x;i++)
160        {
161                if(!strcmp(gentries[i].name,"uStatus"))
162                {
163                        sscanf(gentries[i].val,"%u",&uStatus);
164                        guMode=6;
165                }
166        }
167        tStatus("");
168
169}//void ExttStatusGetHook(entry gentries[], int x)
170
171
172void ExttStatusSelect(void)
173{
174        //Set non search gcQuery here for tTableName()
175        ExtSelectPublic("tStatus",VAR_LIST_tStatus);
176
177}//void ExttStatusSelect(void)
178
179
180void ExttStatusSelectRow(void)
181{
182        ExtSelectRowPublic("tStatus",VAR_LIST_tStatus,uStatus);
183
184}//void ExttStatusSelectRow(void)
185
186
187void ExttStatusListSelect(void)
188{
189        char cCat[512];
190
191        ExtListSelectPublic("tStatus",VAR_LIST_tStatus);
192       
193        //Changes here must be reflected below in ExttStatusListFilter()
194        if(!strcmp(gcFilter,"uStatus"))
195        {
196                sscanf(gcCommand,"%u",&uStatus);
197                sprintf(cCat," WHERE tStatus.uStatus=%u ORDER BY uStatus",uStatus);
198                strcat(gcQuery,cCat);
199        }
200        else if(1)
201        {
202                //None NO FILTER
203                strcpy(gcFilter,"None");
204                strcat(gcQuery," ORDER BY uStatus");
205        }
206
207}//void ExttStatusListSelect(void)
208
209
210void ExttStatusListFilter(void)
211{
212        //Filter
213        printf("&nbsp;&nbsp;&nbsp;Filter on ");
214        printf("<select name=gcFilter>");
215        if(strcmp(gcFilter,"uStatus"))
216                printf("<option>uStatus</option>");
217        else
218                printf("<option selected>uStatus</option>");
219        if(strcmp(gcFilter,"None"))
220                printf("<option>None</option>");
221        else
222                printf("<option selected>None</option>");
223        printf("</select>");
224
225}//void ExttStatusListFilter(void)
226
227
228void ExttStatusNavBar(void)
229{
230        if(uOwner) GetClientOwner(uOwner,&guReseller);
231
232        printf(LANG_NBB_SKIPFIRST);
233        printf(LANG_NBB_SKIPBACK);
234        printf(LANG_NBB_SEARCH);
235
236        if(guPermLevel>=12 && !guListMode)
237                printf(LANG_NBB_NEW);
238
239        if(uAllowMod(uOwner,uCreatedBy))
240                printf(LANG_NBB_MODIFY);
241
242        if(guPermLevel>=12 && guLoginClient==1)
243                printf(LANG_NBB_DELETE);
244
245        if(uOwner)
246                printf(LANG_NBB_LIST);
247
248        printf(LANG_NBB_SKIPNEXT);
249        printf(LANG_NBB_SKIPLAST);
250        printf("&nbsp;&nbsp;&nbsp;\n");
251
252}//void ExttStatusNavBar(void)
253
254
255void tStatusNavList(void)
256{
257        MYSQL_RES *res;
258        MYSQL_ROW field;
259
260        ExtSelectPublic("tStatus","tStatus.uStatus,tStatus.cLabel");
261
262        mysql_query(&gMysql,gcQuery);
263        if(mysql_errno(&gMysql))
264        {
265                printf("<p><u>tStatusNavList</u><br>\n");
266                printf("%s",mysql_error(&gMysql));
267                return;
268        }
269
270        res=mysql_store_result(&gMysql);
271        if(mysql_num_rows(res))
272        {       
273                printf("<p><u>tStatusNavList</u><br>\n");
274
275                while((field=mysql_fetch_row(res)))
276                        printf("<a class=darkLink href=unxsVZ.cgi?gcFunction=tStatus&uStatus=%s>"
277                                "%s</a><br>\n",field[0],field[1]);
278        }
279        mysql_free_result(res);
280
281}//void tStatusNavList(void)
Note: See TracBrowser for help on using the browser.