root/trunk/ttemplatetype.c

Revision 166, 13.7 KB (checked in by Dylan, 3 years ago)

unxsVZ and unxsBind propset for Id set. Added unxsVZ.tDatacenter backend test reports for in progress datacenter health and
UBC consistency checking.

  • Property svn:keywords set to id
Line 
1/*
2FILE
3        tTemplateType source code of unxsVZ.cgi
4        Built by mysqlRAD2.cgi (C) Gary Wallis 2001-2007
5        $Id$
6PURPOSE
7        Schema dependent RAD generated file.
8        Program app functionality in ttemplatetypefunc.h while
9        RAD is still to be used.
10*/
11
12
13#include "mysqlrad.h"
14
15//Table Variables
16//Table Variables
17//uTemplateType: Primary Key
18static unsigned uTemplateType=0;
19//cLabel: Short label
20static char cLabel[33]={""};
21//uOwner: Record owner
22static unsigned uOwner=0;
23//uCreatedBy: uClient for last insert
24static unsigned uCreatedBy=0;
25#define ISM3FIELDS
26//uCreatedDate: Unix seconds date last insert
27static time_t uCreatedDate=0;
28//uModBy: uClient for last update
29static unsigned uModBy=0;
30//uModDate: Unix seconds date last update
31static time_t uModDate=0;
32
33
34
35#define VAR_LIST_tTemplateType "tTemplateType.uTemplateType,tTemplateType.cLabel,tTemplateType.uOwner,tTemplateType.uCreatedBy,tTemplateType.uCreatedDate,tTemplateType.uModBy,tTemplateType.uModDate"
36
37 //Local only
38void Insert_tTemplateType(void);
39void Update_tTemplateType(char *cRowid);
40void ProcesstTemplateTypeListVars(pentry entries[], int x);
41
42 //In tTemplateTypefunc.h file included below
43void ExtProcesstTemplateTypeVars(pentry entries[], int x);
44void ExttTemplateTypeCommands(pentry entries[], int x);
45void ExttTemplateTypeButtons(void);
46void ExttTemplateTypeNavBar(void);
47void ExttTemplateTypeGetHook(entry gentries[], int x);
48void ExttTemplateTypeSelect(void);
49void ExttTemplateTypeSelectRow(void);
50void ExttTemplateTypeListSelect(void);
51void ExttTemplateTypeListFilter(void);
52void ExttTemplateTypeAuxTable(void);
53
54#include "ttemplatetypefunc.h"
55
56 //Table Variables Assignment Function
57void ProcesstTemplateTypeVars(pentry entries[], int x)
58{
59        register int i;
60
61
62        for(i=0;i<x;i++)
63        {
64                if(!strcmp(entries[i].name,"uTemplateType"))
65                        sscanf(entries[i].val,"%u",&uTemplateType);
66                else if(!strcmp(entries[i].name,"cLabel"))
67                        sprintf(cLabel,"%.32s",entries[i].val);
68                else if(!strcmp(entries[i].name,"uOwner"))
69                        sscanf(entries[i].val,"%u",&uOwner);
70                else if(!strcmp(entries[i].name,"uCreatedBy"))
71                        sscanf(entries[i].val,"%u",&uCreatedBy);
72                else if(!strcmp(entries[i].name,"uCreatedDate"))
73                        sscanf(entries[i].val,"%lu",&uCreatedDate);
74                else if(!strcmp(entries[i].name,"uModBy"))
75                        sscanf(entries[i].val,"%u",&uModBy);
76                else if(!strcmp(entries[i].name,"uModDate"))
77                        sscanf(entries[i].val,"%lu",&uModDate);
78
79        }
80
81        //After so we can overwrite form data if needed.
82        ExtProcesstTemplateTypeVars(entries,x);
83
84}//ProcesstTemplateTypeVars()
85
86
87void ProcesstTemplateTypeListVars(pentry entries[], int x)
88{
89        register int i;
90
91        for(i=0;i<x;i++)
92        {
93                if(!strncmp(entries[i].name,"ED",2))
94                {
95                        sscanf(entries[i].name+2,"%u",&uTemplateType);
96                        guMode=2002;
97                        tTemplateType("");
98                }
99        }
100}//void ProcesstTemplateTypeListVars(pentry entries[], int x)
101
102
103int tTemplateTypeCommands(pentry entries[], int x)
104{
105        ProcessControlVars(entries,x);
106
107        ExttTemplateTypeCommands(entries,x);
108
109        if(!strcmp(gcFunction,"tTemplateTypeTools"))
110        {
111                if(!strcmp(gcFind,LANG_NB_LIST))
112                {
113                        tTemplateTypeList();
114                }
115
116                //Default
117                ProcesstTemplateTypeVars(entries,x);
118                tTemplateType("");
119        }
120        else if(!strcmp(gcFunction,"tTemplateTypeList"))
121        {
122                ProcessControlVars(entries,x);
123                ProcesstTemplateTypeListVars(entries,x);
124                tTemplateTypeList();
125        }
126
127        return(0);
128
129}//tTemplateTypeCommands()
130
131
132void tTemplateType(const char *cResult)
133{
134        MYSQL_RES *res;
135        MYSQL_RES *res2;
136        MYSQL_ROW field;
137
138        //Internal skip reloading
139        if(!cResult[0])
140        {
141                if(guMode)
142                        ExttTemplateTypeSelectRow();
143                else
144                        ExttTemplateTypeSelect();
145
146                mysql_query(&gMysql,gcQuery);
147                if(mysql_errno(&gMysql))
148                {
149                        if(strstr(mysql_error(&gMysql)," doesn't exist"))
150                        {
151                                CreatetTemplateType();
152                                unxsVZ("New tTemplateType table created");
153                        }
154                        else
155                        {
156                                htmlPlainTextError(mysql_error(&gMysql));
157                        }
158                }
159
160                res=mysql_store_result(&gMysql);
161                if((guI=mysql_num_rows(res)))
162                {
163                        if(guMode==6)
164                        {
165                        sprintf(gcQuery,"SELECT _rowid FROM tTemplateType WHERE uTemplateType=%u"
166                                                ,uTemplateType);
167                                MYSQL_RUN_STORE(res2);
168                                field=mysql_fetch_row(res2);
169                                sscanf(field[0],"%lu",&gluRowid);
170                                gluRowid++;
171                        }
172                        PageMachine("",0,"");
173                        if(!guMode) mysql_data_seek(res,gluRowid-1);
174                        field=mysql_fetch_row(res);
175                sscanf(field[0],"%u",&uTemplateType);
176                sprintf(cLabel,"%.32s",field[1]);
177                sscanf(field[2],"%u",&uOwner);
178                sscanf(field[3],"%u",&uCreatedBy);
179                sscanf(field[4],"%lu",&uCreatedDate);
180                sscanf(field[5],"%u",&uModBy);
181                sscanf(field[6],"%lu",&uModDate);
182
183                }
184
185        }//Internal Skip
186
187        Header_ism3(":: tTemplateType",0);
188        printf("<table width=100%% cellspacing=0 cellpadding=0>\n");
189        printf("<tr><td colspan=2 align=right valign=center>");
190
191
192        printf("<input type=hidden name=gcFunction value=tTemplateTypeTools>");
193        printf("<input type=hidden name=gluRowid value=%lu>",gluRowid);
194        if(guI)
195        {
196                if(guMode==6)
197                        //printf(" Found");
198                        printf(LANG_NBR_FOUND);
199                else if(guMode==5)
200                        //printf(" Modified");
201                        printf(LANG_NBR_MODIFIED);
202                else if(guMode==4)
203                        //printf(" New");
204                        printf(LANG_NBR_NEW);
205                printf(LANG_NBRF_SHOWING,gluRowid,guI);
206        }
207        else
208        {
209                if(!cResult[0])
210                //printf(" No records found");
211                printf(LANG_NBR_NORECS);
212        }
213        if(cResult[0]) printf("%s",cResult);
214        printf("</td></tr>");
215        printf("<tr><td valign=top width=25%%>");
216
217        ExttTemplateTypeButtons();
218
219        printf("</td><td valign=top>");
220        //
221        OpenFieldSet("tTemplateType Record Data",100);
222
223        if(guMode==2000 || guMode==2002)
224                tTemplateTypeInput(1);
225        else
226                tTemplateTypeInput(0);
227
228        //
229        CloseFieldSet();
230
231        //Bottom table
232        printf("<tr><td colspan=2>");
233        ExttTemplateTypeAuxTable();
234
235        Footer_ism3();
236
237}//end of tTemplateType();
238
239
240void tTemplateTypeInput(unsigned uMode)
241{
242
243//uTemplateType
244        OpenRow(LANG_FL_tTemplateType_uTemplateType,"black");
245        printf("<input title='%s' type=text name=uTemplateType value=%u size=16 maxlength=10 "
246,LANG_FT_tTemplateType_uTemplateType,uTemplateType);
247        if(guPermLevel>=20 && uMode)
248        {
249                printf("></td></tr>\n");
250        }
251        else
252        {
253                printf("disabled></td></tr>\n");
254                printf("<input type=hidden name=uTemplateType value=%u >\n",uTemplateType);
255        }
256//cLabel
257        OpenRow(LANG_FL_tTemplateType_cLabel,"black");
258        printf("<input title='%s' type=text name=cLabel value=\"%s\" size=40 maxlength=32 "
259,LANG_FT_tTemplateType_cLabel,EncodeDoubleQuotes(cLabel));
260        if(guPermLevel>=0 && uMode)
261        {
262                printf("></td></tr>\n");
263        }
264        else
265        {
266                printf("disabled></td></tr>\n");
267                printf("<input type=hidden name=cLabel value=\"%s\">\n",EncodeDoubleQuotes(cLabel));
268        }
269//uOwner
270        OpenRow(LANG_FL_tTemplateType_uOwner,"black");
271        if(guPermLevel>=20 && uMode)
272        {
273        printf("%s<input type=hidden name=uOwner value=%u >\n",ForeignKey("tClient","cLabel",uOwner),uOwner);
274        }
275        else
276        {
277        printf("%s<input type=hidden name=uOwner value=%u >\n",ForeignKey("tClient","cLabel",uOwner),uOwner);
278        }
279//uCreatedBy
280        OpenRow(LANG_FL_tTemplateType_uCreatedBy,"black");
281        if(guPermLevel>=20 && uMode)
282        {
283        printf("%s<input type=hidden name=uCreatedBy value=%u >\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy);
284        }
285        else
286        {
287        printf("%s<input type=hidden name=uCreatedBy value=%u >\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy);
288        }
289//uCreatedDate
290        OpenRow(LANG_FL_tTemplateType_uCreatedDate,"black");
291        if(uCreatedDate)
292                printf("%s\n\n",ctime(&uCreatedDate));
293        else
294                printf("---\n\n");
295        printf("<input type=hidden name=uCreatedDate value=%lu >\n",uCreatedDate);
296//uModBy
297        OpenRow(LANG_FL_tTemplateType_uModBy,"black");
298        if(guPermLevel>=20 && uMode)
299        {
300        printf("%s<input type=hidden name=uModBy value=%u >\n",ForeignKey("tClient","cLabel",uModBy),uModBy);
301        }
302        else
303        {
304        printf("%s<input type=hidden name=uModBy value=%u >\n",ForeignKey("tClient","cLabel",uModBy),uModBy);
305        }
306//uModDate
307        OpenRow(LANG_FL_tTemplateType_uModDate,"black");
308        if(uModDate)
309                printf("%s\n\n",ctime(&uModDate));
310        else
311                printf("---\n\n");
312        printf("<input type=hidden name=uModDate value=%lu >\n",uModDate);
313        printf("</tr>\n");
314
315
316
317}//void tTemplateTypeInput(unsigned uMode)
318
319
320void NewtTemplateType(unsigned uMode)
321{
322        register int i=0;
323        MYSQL_RES *res;
324
325        sprintf(gcQuery,"SELECT uTemplateType FROM tTemplateType\
326                                WHERE uTemplateType=%u"
327                                                        ,uTemplateType);
328        MYSQL_RUN_STORE(res);
329        i=mysql_num_rows(res);
330
331        if(i)
332                //tTemplateType("<blink>Record already exists");
333                tTemplateType(LANG_NBR_RECEXISTS);
334
335        //insert query
336        Insert_tTemplateType();
337        if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql));
338        //sprintf(gcQuery,"New record %u added");
339        uTemplateType=mysql_insert_id(&gMysql);
340#ifdef ISM3FIELDS
341        uCreatedDate=luGetCreatedDate("tTemplateType",uTemplateType);
342        unxsVZLog(uTemplateType,"tTemplateType","New");
343#endif
344
345        if(!uMode)
346        {
347        sprintf(gcQuery,LANG_NBR_NEWRECADDED,uTemplateType);
348        tTemplateType(gcQuery);
349        }
350
351}//NewtTemplateType(unsigned uMode)
352
353
354void DeletetTemplateType(void)
355{
356#ifdef ISM3FIELDS
357        sprintf(gcQuery,"DELETE FROM tTemplateType WHERE uTemplateType=%u AND ( uOwner=%u OR %u>9 )"
358                                        ,uTemplateType,guLoginClient,guPermLevel);
359#else
360        sprintf(gcQuery,"DELETE FROM tTemplateType WHERE uTemplateType=%u"
361                                        ,uTemplateType);
362#endif
363        MYSQL_RUN;
364
365        //tTemplateType("Record Deleted");
366        if(mysql_affected_rows(&gMysql)>0)
367        {
368#ifdef ISM3FIELDS
369                unxsVZLog(uTemplateType,"tTemplateType","Del");
370#endif
371                tTemplateType(LANG_NBR_RECDELETED);
372        }
373        else
374        {
375#ifdef ISM3FIELDS
376                unxsVZLog(uTemplateType,"tTemplateType","DelError");
377#endif
378                tTemplateType(LANG_NBR_RECNOTDELETED);
379        }
380
381}//void DeletetTemplateType(void)
382
383
384void Insert_tTemplateType(void)
385{
386
387        //insert query
388        sprintf(gcQuery,"INSERT INTO tTemplateType SET uTemplateType=%u,cLabel='%s',uOwner=%u,uCreatedBy=%u,uCreatedDate=UNIX_TIMESTAMP(NOW())",
389                        uTemplateType
390                        ,TextAreaSave(cLabel)
391                        ,uOwner
392                        ,uCreatedBy
393                        );
394
395        MYSQL_RUN;
396
397}//void Insert_tTemplateType(void)
398
399
400void Update_tTemplateType(char *cRowid)
401{
402
403        //update query
404        sprintf(gcQuery,"UPDATE tTemplateType SET uTemplateType=%u,cLabel='%s',uModBy=%u,uModDate=UNIX_TIMESTAMP(NOW()) WHERE _rowid=%s",
405                        uTemplateType
406                        ,TextAreaSave(cLabel)
407                        ,uModBy
408                        ,cRowid);
409
410        MYSQL_RUN;
411
412}//void Update_tTemplateType(void)
413
414
415void ModtTemplateType(void)
416{
417        register int i=0;
418        MYSQL_RES *res;
419        MYSQL_ROW field;
420#ifdef ISM3FIELDS
421        unsigned uPreModDate=0;
422
423        //Mod select gcQuery
424        if(guPermLevel<10)
425        sprintf(gcQuery,"SELECT tTemplateType.uTemplateType,\
426                                tTemplateType.uModDate\
427                                FROM tTemplateType,tClient\
428                                WHERE tTemplateType.uTemplateType=%u\
429                                AND tTemplateType.uOwner=tClient.uClient\
430                                AND (tClient.uOwner=%u OR tClient.uClient=%u)"
431                        ,uTemplateType,guLoginClient,guLoginClient);
432        else
433        sprintf(gcQuery,"SELECT uTemplateType,uModDate FROM tTemplateType\
434                                WHERE uTemplateType=%u"
435                                                ,uTemplateType);
436#else
437        sprintf(gcQuery,"SELECT uTemplateType FROM tTemplateType\
438                                WHERE uTemplateType=%u"
439                                                ,uTemplateType);
440#endif
441        MYSQL_RUN_STORE(res);
442        i=mysql_num_rows(res);
443
444        //if(i<1) tTemplateType("<blink>Record does not exist");
445        if(i<1) tTemplateType(LANG_NBR_RECNOTEXIST);
446        //if(i>1) tTemplateType("<blink>Multiple rows!");
447        if(i>1) tTemplateType(LANG_NBR_MULTRECS);
448
449        field=mysql_fetch_row(res);
450#ifdef ISM3FIELDS
451        sscanf(field[1],"%u",&uPreModDate);
452        if(uPreModDate!=uModDate) tTemplateType(LANG_NBR_EXTMOD);
453#endif
454
455        Update_tTemplateType(field[0]);
456        if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql));
457        //sprintf(query,"record %s modified",field[0]);
458        sprintf(gcQuery,LANG_NBRF_REC_MODIFIED,field[0]);
459#ifdef ISM3FIELDS
460        uModDate=luGetModDate("tTemplateType",uTemplateType);
461        unxsVZLog(uTemplateType,"tTemplateType","Mod");
462#endif
463        tTemplateType(gcQuery);
464
465}//ModtTemplateType(void)
466
467
468void tTemplateTypeList(void)
469{
470        MYSQL_RES *res;
471        MYSQL_ROW field;
472
473        ExttTemplateTypeListSelect();
474
475        MYSQL_RUN_STORE(res);
476        guI=mysql_num_rows(res);
477
478        PageMachine("tTemplateTypeList",1,"");//1 is auto header list guMode. Opens table!
479
480        //Filter select drop down
481        ExttTemplateTypeListFilter();
482
483        printf("<input type=text size=16 name=gcCommand maxlength=98 value=\"%s\" >",gcCommand);
484
485        printf("</table>\n");
486
487        printf("<table bgcolor=#9BC1B3 border=0 width=100%%>\n");
488        printf("<tr bgcolor=black><td><font face=arial,helvetica color=white>uTemplateType<td><font face=arial,helvetica color=white>cLabel<td><font face=arial,helvetica color=white>uOwner<td><font face=arial,helvetica color=white>uCreatedBy<td><font face=arial,helvetica color=white>uCreatedDate<td><font face=arial,helvetica color=white>uModBy<td><font face=arial,helvetica color=white>uModDate</tr>");
489
490
491
492        mysql_data_seek(res,guStart-1);
493
494        for(guN=0;guN<(guEnd-guStart+1);guN++)
495        {
496                field=mysql_fetch_row(res);
497                if(!field)
498                {
499                        printf("<tr><td><font face=arial,helvetica>End of data</table>");
500                        Footer_ism3();
501                }
502                        if(guN % 2)
503                                printf("<tr bgcolor=#BBE1D3>");
504                        else
505                                printf("<tr>");
506                time_t luTime4=strtoul(field[4],NULL,10);
507                char cBuf4[32];
508                if(luTime4)
509                        ctime_r(&luTime4,cBuf4);
510                else
511                        sprintf(cBuf4,"---");
512                time_t luTime6=strtoul(field[6],NULL,10);
513                char cBuf6[32];
514                if(luTime6)
515                        ctime_r(&luTime6,cBuf6);
516                else
517                        sprintf(cBuf6,"---");
518                printf("<td><input type=submit name=ED%s value=Edit> %s<td>%s<td>%s<td>%s<td>%s<td>%s<td>%s</tr>"
519                        ,field[0]
520                        ,field[0]
521                        ,field[1]
522                        ,ForeignKey("tClient","cLabel",strtoul(field[2],NULL,10))
523                        ,ForeignKey("tClient","cLabel",strtoul(field[3],NULL,10))
524                        ,cBuf4
525                        ,ForeignKey("tClient","cLabel",strtoul(field[5],NULL,10))
526                        ,cBuf6
527                                );
528
529        }
530
531        printf("</table></form>\n");
532        Footer_ism3();
533
534}//tTemplateTypeList()
535
536
537void CreatetTemplateType(void)
538{
539        sprintf(gcQuery,"CREATE TABLE IF NOT EXISTS tTemplateType ( uTemplateType INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, cLabel VARCHAR(32) NOT NULL DEFAULT '', uOwner INT UNSIGNED NOT NULL DEFAULT 0,index (uOwner), uCreatedBy INT UNSIGNED NOT NULL DEFAULT 0, uCreatedDate INT UNSIGNED NOT NULL DEFAULT 0, uModBy INT UNSIGNED NOT NULL DEFAULT 0, uModDate INT UNSIGNED NOT NULL DEFAULT 0 )");
540        MYSQL_RUN;
541
542}//CreatetTemplateType()
543
Note: See TracBrowser for help on using the browser.