/*
* Projekt wiki: Formular mit Daten ausgeben
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>

#define FILENAME "/home/plate/wiki/debug/src/Tralala"
#define MAXLINELEN 256

void editform(char *filename);

int main(void)
  {
  char filename[MAXNAMELEN+1];
  strcpy(filename,FILENAME);
  editform(filename);
  return 0;
  }

void editform(char *filename)
  {
  FILE *fp;
  char zeile[MAXLINELEN];
  char *Begriff, *Autor, *Datum;

  if ( (fp=fopen(filename,"rt")) != NULL)
    {
    /* erste Zeile lesen = Begriff:Autor:Datum */
    if (fgets(zeile, MAXLINELEN, fp) != NULL)
      {
      /* Newline am Ende wegmachen */
      zeile[strlen(zeile)-1] = '\0';
      /* Jetzt die 3 Felder extrahieren */
      Begriff = zeile;
      /* den ersten Doppelpunkt suchen */
      Autor = strchr(zeile,':');
      /* Doppelpunkt durch Stringende ersetzen, Autor auf erstes
         Zeichen danach setzen */
      *Autor = '\0'; Autor++;
      /* ab da dasselbe nochmal */
      Datum = strchr(Autor,':');
      *Datum = '\0'; Datum++;
      }
    else
      {
      fprintf(stderr,"Datei %s scheint leer zu sein\n",filename);
      return;
      }
    printf("<HTML>\n<HEAD>\n<TITLE>Lexikon-Eingabeformular</TITLE>\n</HEAD>\n");
    printf("<BODY>\n<H1>Lexikon-Eingabe</H1>\n<P>\n");
    printf("<FORM method=POST action=\"http://localhost/~testuser/www/cgi-bin/wiki.cgi\">\n");
    printf("<TABLE BORDER=0 CELLPADDING=3>\n");
    printf("<TR><TD VALIGN=\"TOP\">Begriff:</TD>\n");
    printf("<TD VALIGN=\"TOP\"><INPUT TYPE=TEXT SIZE=60 NAME=\"Begriff\"");
    printf(" VALUE=\"%s\"></TD></TR>\n",Begriff);
    printf("<TR><TD VALIGN=\"TOP\">Autor:</TD>\n");
    printf("<TD VALIGN=\"TOP\"><INPUT TYPE=TEXT SIZE=60");
    printf(" NAME=\"Autor\" VALUE=\"%s\"></TD></TR>\n",Autor);
    printf("<TR><TD VALIGN=\"TOP\">Datum:</TD>\n");
    printf("<TD VALIGN=\"TOP\"><INPUT TYPE=TEXT SIZE=60 NAME=\"Datum\"");
    printf(" VALUE=\"%s\"></TD></TR>\n",Datum);
    printf("<TR><TD VALIGN=\"TOP\">Hier bitte Ihren Text eingeben:</TD>\n");
    printf("<TD VALIGN=\"TOP\"><TEXTAREA NAME=\"Artikel\" ROWS=20 COLS=60>\n");
    while ( fgets(zeile, MAXLINELEN, fp) != NULL)
      { puts(zeile); }
    printf("</TEXTAREA></TD></TR>\n");
    printf("<TR><TD VALIGN=\"TOP\">&nbsp;</TD><TD VALIGN=\"TOP\">\n");
    printf("<INPUT TYPE=\"submit\" VALUE=\"Artikel abschicken\">\n");
    printf("</TABLE>\n</FORM>\n</BODY>\n</HTML>\n");
    fclose(fp);
    }
  else
    {
    printf("Fehler: Die Datei %s kann nicht geöffnet werden!",filename);
    }
  }
