#include "http.h"
void freePage(struct PageWeb** page)
{
if(*page!=NULL)
{
if((*page)->html_contents!=NULL) free((*page)->html_contents);
free(*page);
}
}
void getWeb(char* pageName, struct PageWeb** page)
{
*page=malloc(sizeof(struct PageWeb));
FILE* pageFile=fopen(pageName, "r+");
if(pageFile!=NULL)
{
fseek(pageFile, 0L, SEEK_END);
long nbr_char=ftell(pageFile);
fseek(pageFile, 0L, SEEK_SET);
(*page)->html_contents=malloc(nbr_char*sizeof(char));
fread(((*page)->html_contents),1,nbr_char,pageFile);
fclose(pageFile);
}
else
{
char erreur[]="
404 PAGE NOT FOUND
\r\n\r\n La page que vous cherchez n'a pas été trouvée, sans doute parce que vous êtes nul.";
(*page)->html_contents=malloc(strlen(erreur)*sizeof(char));
strcpy((*page)->html_contents, erreur);
}
(*page)->size=strlen(((*page)->html_contents));
}
void createPage(struct PageWeb** page, struct interface_info* interfaces[20])
{
*page=malloc(sizeof(struct PageWeb));
(*page)->html_contents=malloc(BUFF_SIZE*sizeof(char));
strcpy((*page)->html_contents,"");
//Header de la page
strcat((*page)->html_contents,"\r\n\r\n\r\n\r\n Interfaces Tangibles \r\n");
// Intégration de la fiche de style
FILE* css_file=fopen("../Sioux/Tableau.css", "r+");
if(css_file!=NULL)
{
char style_str[BUFF_SIZE];
strcat((*page)->html_contents,"");
fclose(css_file);
}
strcat((*page)->html_contents,"Interfaces Tangibles
");
strcat((*page)->html_contents,"Interfaces
Etat
");
int nbr_interfaces=0;
while(interfaces[nbr_interfaces]!=NULL)
nbr_interfaces++;
if(nbr_interfaces==0)
strcat((*page)->html_contents,"- \n
Aucune interface
");
else
{
for(int i=0; istatus >= 0)
{
strcat((*page)->html_contents,"- \n
");
strcat((*page)->html_contents,interfaces[i]->adresse);
switch(interfaces[i]->status)
{
case(0):
strcat((*page)->html_contents,"
\nMode Sommeil
\n");
break;
case(1):
strcat((*page)->html_contents,"
\nMode Eveillé
\n");
break;
}
strcat((*page)->html_contents,"");
}
}
}
strcat((*page)->html_contents,"\n\n\n");
(*page)->size=strlen(((*page)->html_contents));
}