Example #1
0
void
print_calendar (FILE * f, int y, astro_system * asys)
{
  tib_day *td;
  long int prev_month = 0;	// to record last month's number
  unsigned char prev_month_type = NORMAL;	// to record last month's type
  td = get_tib_day_from_tib_date (y, 1, 1, asys, FIRST, FIRST);
  get_day_astro_data (td, asys, 0);	// to initialize the astrological data
  print_year_info (f, td->month->year);

  while (td->month->year->year == y)
    {
      // if we changed month (it also prints the first month
      if (prev_month != td->month->month
	  || td->month->type != prev_month_type)
	{
	  print_month_info (f, td->month);
	  prev_month = td->month->month;
	  prev_month_type = td->month->type;
	}
      print_day_info (f, td, asys);
      // automaticall updated td->month, td->year, etc.
      tib_day_next (td, asys);	// will change td->month->year->year
    }
}
Example #2
0
int main(int argc, char **argv, char **env)
{
	printf("Content-type: text/html\n\n");

	//default value
	year=2016;
	month=5;
	timez_off=-540;
	//lang=T_Korean;
	lang=T_English;

	
	//system time
	time_t ltime;
	struct tm *today,*gmt_time;
	int tzoffset;

	time(&ltime);
	today=localtime(&ltime);

	year=today->tm_year+1900;
	month=today->tm_mon+1;

	cur_time.year=today->tm_year + 1900;
	cur_time.month=today->tm_mon + 1;
	cur_time.day=today->tm_mday;
	cur_time.hour=today->tm_hour;
	cur_time.min=today->tm_min;
	cur_time_sec=today->tm_sec;
	  

	gmt_time=gmtime(&ltime);

	timez_off=getminbytime(gmt_time->tm_year+1900,gmt_time->tm_mon+1,gmt_time->tm_mday ,gmt_time->tm_hour,gmt_time->tm_min,
			cur_time.year,cur_time.month,cur_time.day ,cur_time.hour,cur_time.min);

    int i,in_st_no ;

    int cnt;
    char *buf;

    char *tmp;

    char *d[20];
	int time_year_system=1;

	//commandline
	if (argc!=1)
	{
		for(i=1;i<argc;i++)
		{
			printf("argc[%d]=%s  ",i,argv[i]);
			in_st_no=atoi(argv[i]);
			if (i==1)
			{
				if ((in_st_no<10000)&&(in_st_no>-10000))
				{
					year=in_st_no;
					time_year_system=0;
				}
			}
			if (i==2)
			{
    			if ((in_st_no<13)&&(in_st_no>0))
    			{
    				month=in_st_no;
    				time_year_system=0;
    			}
			}
			if (i==3)
			{
				printf("  timaezone in_st_no=%d",in_st_no);
    			if ((in_st_no<781)&&(in_st_no>-751))
    			{
    				timez_off=in_st_no;
    			}
			}
			if (i==4)
			{
    			if (in_st_no==0)
    			{
    				lang=T_Korean;
    			}
    			else
    				lang=T_English;
			}

		}
	}


	//cgi
    cnt=0;
	buf=getenv("QUERY_STRING");

    tmp = buf!=NULL ? strtok(buf,"&=") : NULL;
    if(tmp != NULL) {
		d[cnt]=tmp;

		while(tmp){
			tmp = strtok(NULL,"&=");
			cnt++;
			d[cnt]= tmp;
		}
    }

    for(i=0 ; i<cnt ; i=i+2)
    {
    	in_st_no=atoi(d[i+1]);
    	if (strcmp( d[i],"year")==0)
    	{

    		if (in_st_no!=0)
    		{
    			if ((in_st_no<10000)&&(in_st_no>-10000))
    			{
    				year=in_st_no;
    				time_year_system=0;
    			}
    		}
    		else
    		{
    			if (*d[i+1]==0x30) {
    				year=0;
    				time_year_system=0;
    			}
    		}
    	}

    	if (strcmp( d[i],"month")==0)
    	{

    		if (in_st_no!=0)
    		{
    			if ((in_st_no<13)&&(in_st_no>0))
    			{
    				month=in_st_no;
    				time_year_system=0;
    			}
    		}
    	}
    	if (strcmp( d[i],"timez_off")==0)
    	{

    		if (in_st_no!=0)
    		{
    			if ((in_st_no<781)&&(in_st_no>-751))
    				timez_off=in_st_no;
    		}
    		else
    		{
    			if (*d[i+1]==0x30) timez_off=0;
    		}
    	}
    	if (strcmp( d[i],"lang")==0)
    	{
    		if (*d[i+1]==0x31) lang=T_English;
    		else lang=T_Korean;

    		if (strcmp( d[i+1],"eng")==0) lang=T_English;
    		if (strcmp( d[i+1],"kor")==0) lang=T_English;
    	}

    }

	  cur_time_tz=getdatebymin(timez_off+540,cur_time);
	  if (time_year_system==1)
	  {
		  	  year=cur_time_tz.year;
			month=cur_time_tz.month;
		}

    lang_mode=lang;

    print_head();
    print_body_first();

    print_month_table();
    print_month_info();

             


    print_body_last();

    return 0;


}