diff options
Diffstat (limited to 'util/smtest.temp')
-rw-r--r-- | util/smtest.temp | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/util/smtest.temp b/util/smtest.temp deleted file mode 100644 index 7daa12ce..00000000 --- a/util/smtest.temp +++ /dev/null @@ -1,231 +0,0 @@ -#include <stdio.h> -#include <sys/types.h> -#include <unistd.h> -#include <string.h> -#include <stdlib.h> -#include <time.h> -#include <ctype.h> -#include "config.h" -#include "pttstruct.h" -#include "util.h" -#include "perm.h" -#include "common.h" -#include "proto.h" - -#define OUTFILE BBSHOME "/pttbbs/util/smtest.result1" -#define FIREFILE BBSHOME "/pttbbs/util/smtest.result2" - -extern boardheader_t *bcache; -extern int numboards; - -boardheader_t allbrd[MAX_BOARD]; -struct userec_t xuser; - -int getuser(char *userid) { - int uid; - if((uid = searchuser(userid))) - passwd_query(uid, &xuser); - return uid; -} - -int LINK(char* src, char* dst){ - char cmd[200]; - - if( link(src, dst) == 0){ - return 0; - } - - sprintf(cmd, "/bin/cp -R %s %s", src, dst); - return system(cmd); -} - -int outofdate(char *hdrdate, char latestdate[]) -{ - int k,rr; - char *dd; - - dd = strtok(hdrdate,"/"); - - if(dd){ - k = 0; - do - { - if (*dd == '[' ){dd[strlen(dd)-1]='\0'; dd++;} - rr = atoi(dd); - printf("%d/", rr); - } while((dd = strtok(NULL,"/")) != NULL); - } - - printf("\n"); - - if(1) - return 1; - else - return 0; -} - -int main() -{ - int bmid, i, j, k, rd,rr; - char *p, *bmsname[3], fname[256], *dd; - fileheader_t hdr; - FILE *inf; - - /* set date */ - char thedate[5]; - time_t t = time(NULL); - struct tm *tm = localtime(&t); - - sprintf(thedate, "%2d/%02d", tm->tm_mon + 1, tm->tm_mday); - - resolve_boards(); - if(passwd_mmap()) - exit(1); - memcpy(allbrd,bcache,numboards*sizeof(boardheader_t)); - /* write out the target file */ - inf = fopen(OUTFILE, "w+"); - if(inf == NULL){ - printf("open file error : %s\n", OUTFILE); - exit(1); - } - - /*the ouput table title*/ - fprintf(inf,"�^�媩�W ���O ���媩�W ���D�W��" - " ��� �Ƶ� \n"); - - j = 0 ; - for (i = 0; i < 30; i++) { - rd = 0; - if(allbrd[i].brdname[0] == '\0') continue; - if((allbrd[i].brdattr & BRD_NOZAP) == 1) continue; - - sprintf(fname, BBSHOME "/boards/%s/.DIR",allbrd[i].brdname); - - /* get date to choose junk board */ - - rd = get_num_records(fname, sizeof(fileheader_t)); - get_record(fname, &hdr, sizeof (hdr), rd - 30); - - - if(outofdate(hdr.date,thedate)) printf("yest\n"); - -/* - dd = strtok(hdr.date,"/"); - - if(dd){ - k = 0; - do - { - if (*dd == '[' ){dd[strlen(dd)-1]='\0'; dd++;} - rr = atoi(dd); - printf("%d/", rr); - - } while((dd = strtok(NULL,"/")) != NULL); - } - printf("\n"); -*/ - /* print to file */ - printf("%-*.*s%-*.*s%-*.*s%-*.*s", IDLEN, IDLEN, allbrd[i].brdname, - BTLEN-24, BTLEN-26, allbrd[i].title, IDLEN - 5, IDLEN-5,hdr.date, - IDLEN * 3, IDLEN * 3, allbrd[i].BM); - - /* post to board */ - - - - /* user extract to mail */ - - p=strtok(allbrd[i].BM,"/ "); - if(p){ - k = 0; - do - { - if (*p == '[' ){p[strlen(p)-1]='\0'; p++;} - bmid=getuser(p); - bmsname[k] = p; - if(isalpha(allbrd[i].BM[0])&& !(xuser.userlevel &PERM_SYSOP)) - { - // printf("%s", bmsname[k]); - } - k++; - } while((p=strtok(NULL,"/ "))!=NULL); - } - - printf("\n"); - -} - - -/* - - - - if(flag == 1){ - bmbuf[0] = '\0'; - for(k = 0 , n = 0; k < index; k++){ - if(!bms[k].flag){ - if( n++ != 0) strcat(bmbuf, "/"); - strcat(bmbuf, bms[k].bmname); - } - } - strcpy(bcache[i].BM, bmbuf); - } - } - qsort(lostbms, j, sizeof(lostbm), bmlostdays_cmp); - - //write to the etc/toplazyBM - for ( i=0; i<j; i++) - { - if( lostbms[i].lostdays > 60){ - fprintf(firef, "%-*.*s%-*.*s%-*.*s%3d�ѨS�W��\n", IDLEN, IDLEN, lostbms[i].title, - BTLEN-10, BTLEN-10, lostbms[i].ctitle, IDLEN,IDLEN, - lostbms[i].bmname,lostbms[i].lostdays); - }else{ - fprintf(inf, "%-*.*s%-*.*s%-*.*s%3d�ѨS�W��\n", IDLEN, IDLEN, lostbms[i].title, - BTLEN-10, BTLEN-10, lostbms[i].ctitle, IDLEN,IDLEN, - lostbms[i].bmname,lostbms[i].lostdays); - } - } - fclose(inf); - fclose(firef); - - //printf("Total %d boards.\n", count); - - //mail to the users - for( i=0; i<j; i++) - { - fileheader_t mymail; - char genbuf[200]; - int lostdays; - - lostdays = lostbms[i].lostdays; - - if( (lostdays != 30) && (lostdays != 45) && (lostdays <= 60)) - continue; - - sprintf(genbuf, BBSHOME "/home/%c/%s", lostbms[i].bmname[0], lostbms[i].bmname); - stampfile(genbuf, &mymail); - - strcpy(mymail.owner, "[PTTĵ�]"); - - if(lostdays <= 60){ - sprintf(mymail.title, - "\033[32m [���D�K¾ĵ�i�q��] \033[m %s BM %s", lostbms[i].title, lostbms[i].bmname); - }else{ - sprintf(mymail.title, - "\033[32m [���D�K¾�q��] \033[m %s BM %s", lostbms[i].title, lostbms[i].bmname); - } - mymail.savemode = 0 ; - unlink(genbuf); - if(lostdays <= 60){ - LINK(OUTFILE, genbuf); - }else{ - LINK(FIREFILE, genbuf); - } - - sprintf(genbuf, BBSHOME "/home/%c/%s/.DIR", lostbms[i].bmname[0], lostbms[i].bmname); - append_record(genbuf, &mymail, sizeof(mymail)); - } -*/ - return 0; -} |