Diff for /capa/capa51/pProj/capaCgiUtils.c between versions 1.14 and 1.21

version 1.14, 2000/03/22 21:18:56 version 1.21, 2000/10/10 20:03:23
Line 1 Line 1
   /* Most of the web output generation routines.
      Copyright (C) 1992-2000 Michigan State University
   
      The CAPA system is free software; you can redistribute it and/or
      modify it under the terms of the GNU General Public License as
      published by the Free Software Foundation; either version 2 of the
      License, or (at your option) any later version.
   
      The CAPA system is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      General Public License for more details.
   
      You should have received a copy of the GNU General Public
      License along with the CAPA system; see the file COPYING.  If not,
      write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
   
      As a special exception, you have permission to link this program
      with the TtH/TtM library and distribute executables, as long as you
      follow the requirements of the GNU GPL in regard to all of the
      software in the executable aside from TtH/TtM.
   */
   
 /* ===================================================================== */  /* ===================================================================== */
 /*   copyrighted by Isaac Tsai, 1998, 1999, 2000    */  
 /* ===================================================================== */  /* ===================================================================== */
 #include <stdio.h>  #include <stdio.h>
 #include <ctype.h>  #include <ctype.h>
Line 229  void web_printheader(FILE *out) Line 252  void web_printheader(FILE *out)
     fprintf(out,"<HTML><HEAD>\n");      fprintf(out,"<HTML><HEAD>\n");
     fprintf(out,"<BODY BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#EE1100\">\n");      fprintf(out,"<BODY BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#EE1100\">\n");
   }    }
   
 #ifdef  CAPA_WEB  
   fprintf(out,"<!-- capasbin, CAPA Version %s, %s -->\n",  
   CAPA_VER,COMPILE_DATE);  
 #else  
   fprintf(out,"<!-- capahtml, CAPA Version %s, %s -->\n",  
   CAPA_VER,COMPILE_DATE);  
 #endif  
 }  }
   
 void web_printfooter(FILE *out)  void web_printfooter(FILE *out)
Line 388  char *log_string; Line 403  char *log_string;
    tmtime=localtime(&t);     tmtime=localtime(&t);
    strftime(timeStr,FILE_NAME_LENGTH,"%d/%m %X",tmtime);     strftime(timeStr,FILE_NAME_LENGTH,"%d/%m %X",tmtime);
    /*ct[ strlen(ct)-1 ]=0;*/ /* Trash newline */     /*ct[ strlen(ct)-1 ]=0;*/ /* Trash newline */
    protect_log_string(log_string);     /*protect_log_string(log_string);*/ /* done on indiviual answers now*/
    fprintf(fp,"%s\t%s\t%s\n",student_number,timeStr,log_string); fflush(fp);     fprintf(fp,"%s\t%s\t%s\n",student_number,timeStr,log_string); fflush(fp);
    fclose(fp);     fclose(fp);
    return (0);     return (0);
Line 398  char *log_string; Line 413  char *log_string;
 void w_get_responses(int x,int q_idx,char* submissions_str)  void w_get_responses(int x,int q_idx,char* submissions_str)
 {  {
   int leng, sub_idx;    int leng, sub_idx;
   char buf[MAX_BUFFER_SIZE];    char buf[MAX_BUFFER_SIZE],*tmp;
   if( !strncmp(g_entries[x].name,"INPUT",5) ) {    if( !strncmp(g_entries[x].name,"INPUT",5) ) {
     if( index(g_entries[x].name, ',' ) == NULL ) {  /* only one answer */      if( index(g_entries[x].name, ',' ) == NULL ) {  /* only one answer */
       sscanf(g_entries[x].name,"INPUT%d",&q_idx);        sscanf(g_entries[x].name,"INPUT%d",&q_idx);
Line 412  void w_get_responses(int x,int q_idx,cha Line 427  void w_get_responses(int x,int q_idx,cha
  }   }
  leng = strlen( g_entries[x].val );   leng = strlen( g_entries[x].val );
  if ( leng > 0 ) {   if ( leng > 0 ) {
   sprintf(buf,"%d\t%s\t",q_idx,g_entries[x].val);            tmp=strsave(g_entries[x].val);
     protect_log_string(tmp);
     sprintf(buf,"%d\t%s\t",q_idx,tmp);
     capa_mfree(tmp);
   strcat(submissions_str,buf);    strcat(submissions_str,buf);
  }   }
       }        }
Line 436  void w_get_responses(int x,int q_idx,cha Line 454  void w_get_responses(int x,int q_idx,cha
  }   }
  leng = strlen( g_entries[x].val );   leng = strlen( g_entries[x].val );
  if ( leng > 0 ) {   if ( leng > 0 ) {
   sprintf(buf,"%d\t%s\t",q_idx,g_entries[x].val);            tmp=strsave(g_entries[x].val);
     protect_log_string(tmp);
     sprintf(buf,"%d\t%s\t",q_idx,tmp);
     capa_mfree(tmp);
   strcat(submissions_str,buf);    strcat(submissions_str,buf);
  }   }
       }        }
Line 1421  char *class_dir; char *c_owner;char *cla Line 1442  char *class_dir; char *c_owner;char *cla
     }      }
   }    }
   
   if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE))    if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE) || (mode==VIEW_PREVIOUS_MODE))
     capa_set_login_time(g_student_number,set);      capa_set_login_time(g_student_number,set);
   
   capa_get_header(&header,set);    capa_get_header(&header,set);
Line 2759  int   *hc;int   *qc;int   *fs; Line 2780  int   *hc;int   *qc;int   *fs;
   configResult=read_capa_config("homework_weight",buf);    configResult=read_capa_config("homework_weight",buf);
   if (configResult != 0 && configResult != -1 ) {    if (configResult != 0 && configResult != -1 ) {
     sscanf(buf,"%f", &hw_w);      sscanf(buf,"%f", &hw_w);
     if(hw_w <= 0.0 )  {      if(hw_w < 0.0 )  {
       hw_w = DEFAULT_HW_W;        hw_w = DEFAULT_HW_W;
     }      }
   } else {    } else {
Line 2768  int   *hc;int   *qc;int   *fs; Line 2789  int   *hc;int   *qc;int   *fs;
   configResult=read_capa_config("quiz_weight",buf);    configResult=read_capa_config("quiz_weight",buf);
   if (configResult != 0 && configResult != -1 ) {    if (configResult != 0 && configResult != -1 ) {
     sscanf(buf,"%f", &qz_w);      sscanf(buf,"%f", &qz_w);
     if(qz_w <= 0.0 )  {      if(qz_w < 0.0 )  {
       qz_w = DEFAULT_QZ_W;        qz_w = DEFAULT_QZ_W;
     }      }
   } else {    } else {
Line 2777  int   *hc;int   *qc;int   *fs; Line 2798  int   *hc;int   *qc;int   *fs;
   configResult=read_capa_config("exam_weight",buf);    configResult=read_capa_config("exam_weight",buf);
   if (configResult != 0 && configResult != -1 ) {    if (configResult != 0 && configResult != -1 ) {
     sscanf(buf,"%f", &ex_w);      sscanf(buf,"%f", &ex_w);
     if(ex_w <= 0.0 )  {      if(ex_w < 0.0 )  {
       ex_w = DEFAULT_EX_W;        ex_w = DEFAULT_EX_W;
     }      }
   } else {    } else {
Line 2786  int   *hc;int   *qc;int   *fs; Line 2807  int   *hc;int   *qc;int   *fs;
   configResult=read_capa_config("final_weight",buf);    configResult=read_capa_config("final_weight",buf);
   if (configResult != 0 && configResult != -1 ) {    if (configResult != 0 && configResult != -1 ) {
     sscanf(buf,"%f", &fe_w);      sscanf(buf,"%f", &fe_w);
     if(fe_w <= 0.0 )  {      if(fe_w < 0.0 )  {
       fe_w = DEFAULT_FE_W;        fe_w = DEFAULT_FE_W;
     }      }
   } else {    } else {
Line 2795  int   *hc;int   *qc;int   *fs; Line 2816  int   *hc;int   *qc;int   *fs;
   configResult=read_capa_config("correction_weight",buf);    configResult=read_capa_config("correction_weight",buf);
   if (configResult != 0 && configResult != -1 ) {    if (configResult != 0 && configResult != -1 ) {
     sscanf(buf,"%f", &pc_w);      sscanf(buf,"%f", &pc_w);
     if(pc_w <= 0.0 )  {      if(pc_w < 0.0 )  {
       pc_w = DEFAULT_PC_W;        pc_w = DEFAULT_PC_W;
     }      }
   } else {    } else {

Removed from v.1.14  
changed lines
  Added in v.1.21


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>