#include <stdio.h>
#include <string.h>
#include <unistd.h>		/* for unlink, mktmp ... */

#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>     /* Directory information.       */
#include "global.h"


#include "manhat-lib/shared_cs_util.h"
#include "manhat-lib/shared_util.h"
#include "manhat-lib/shared_system_data.h"


static void
read_parameters( char *key)
{
   cs_get_required_parameter ("id", key, MAX_KEY);       /* shared_cs_util.c */
}

int is_in_request_list(SESSION *user)
{
   char path[MAX_PATH +1];
   FILE *fp;
   char *ptr;

   snprintf(path, MAX_PATH +1, "../etc/%s", REQUEST_TESTPILOT_FNAME);
   if(!file_exists(path))
	  return 0; 
   fp = fopen(path, "r");
   if(!fp)
      cs_critical_error(ERR_FREAD_FAILED, "admin_request_testpilot");
   while(fgets(path, MAX_PATH, fp))
   {
        ptr = strstr(path, user->id);
	if(ptr && ptr == path)
	   return 1;
   }
   return 0;
}


void  add_request_to_list(SESSION *user, char *key)
{
   char path[MAX_PATH +1];
   FILE *fp;

   snprintf(path, MAX_PATH +1, "../etc/%s", REQUEST_TESTPILOT_FNAME);
   fp = fopen(path, "a+");
   if(!fp)
      cs_critical_error(ERR_FWRITE_FAILED, "admin_request_testpilot");
   fprintf(fp, "%s,%s,%s,%s\n", user->id, key, user->username, user->realname);
   fclose(fp);
   
}
     
			    

int
main()
{
   char key [MAX_KEY + 1];
   SESSION user;
   char *oper;

   cs_cgi_init();    /* shared_cs_util.c */
   read_parameters(key);
   validate_server_key(key,&user);   	/* shared_util.c */

   if(!is_wnec_faculty(user.id))    // removed  || !system_data_int("ENABLE_FACULTY_COURSE_REQUEST"))        /* shared_util.c  shared_system_data.h*/
        cs_critical_error(ERR_REQUEST_DENIED, "");

   oper = hdf_get_value(global_cgi->hdf, "Query.oper","");
   if(strlen(oper))
   {
      add_request_to_list(&user, key);
      cs_set_int_value("save", 1);
      
   }
   else
   {
     if(is_in_request_list(&user) ==0)
	 cs_set_int_value("show_form", 1);
   } 
   cs_cgi_display ("admin_request_testpilot", 1);    /* shared_cs_util.c */
   cs_cgi_destroy();        		/* shared_cs_util.c */

   return 0;
}


