Пример #1
0
int loadPosts(struct website * configuration)
{
  fprintf(stderr," Loading posts .. \n");

  configuration->post.currentPosts=0;

  char filename[FILENAME_MAX]={0};
  snprintf(filename,FILENAME_MAX,"src/Services/MyBlog/res/posts/post%u.html",configuration->post.currentPosts);
  while (AmmServer_FileExists(filename))
  {

   struct AmmServer_MemoryHandler *  tmp = AmmServer_ReadFileToMemoryHandler(filename);
   if (tmp!=0)
   {
    fprintf(stderr," Loading post %u (%s) .. \n",configuration->post.currentPosts,filename);
    configuration->post.item[configuration->post.currentPosts].content.data = tmp->content;
    //If we didnt use this we shold -> AmmServer_FreeMemoryHandler(&tmp); tmp->content=0;

    loadPostInfo(configuration,configuration->post.currentPosts);
    //-------------
    ++configuration->post.currentPosts;
    snprintf(filename,FILENAME_MAX,"src/Services/MyBlog/res/posts/post%u.html",configuration->post.currentPosts);
   } else
   {
     break;
   }

  }
  return 1;
}
Пример #2
0
int loadPages(struct website * configuration)
{
  fprintf(stderr," Loading pages .. \n");

  char tmpPath[512]={0};
  struct AmmServer_MemoryHandler *  tmp=0;
  configuration->pages.currentItems=0;

  unsigned int loadedPages=0;
  for (loadedPages=0; loadedPages<10; loadedPages++)
  {
   //-------------------------------
   snprintf(tmpPath,512,"src/Services/MyBlog/res/pages/page%u.html",loadedPages);
   tmp = AmmServer_ReadFileToMemoryHandler(tmpPath);
   if (tmp!=0)
   {
    configuration->pages.item[configuration->pages.currentItems].content.data=tmp->content;
    configuration->pages.item[configuration->pages.currentItems].content.totalDataLength = tmp->contentSize;
    configuration->pages.item[configuration->pages.currentItems].content.currentDataLength  = tmp->contentCurrentLength;

    loadPageInfo(configuration,configuration->pages.currentItems);
    ++configuration->pages.currentItems;
   } else
   {
     return 0;
   }
  //-------------------------------
  }

  return 0;
}
Пример #3
0
int loadWidgets(struct website * configuration)
{
  fprintf(stderr," Loading widgets .. \n");

  char tmpPath[512]={0};
  struct AmmServer_MemoryHandler *  tmp=0;
  configuration->widget.currentItems=0;

  unsigned int loadedWidgets=0;
  for (loadedWidgets=0; loadedWidgets<3; loadedWidgets++)
  {
   //-------------------------------
   snprintf(tmpPath,512,"src/Services/MyBlog/res/widgets/widget%u.html",loadedWidgets);
   tmp = AmmServer_ReadFileToMemoryHandler(tmpPath);
   if (tmp!=0)
   {
    snprintf(configuration->widget.item[configuration->widget.currentItems].link , MAX_STR , "widget%u.html",loadedWidgets );
    configuration->widget.item[configuration->widget.currentItems].content.data=tmp->content;
    configuration->widget.item[configuration->widget.currentItems].content.totalDataLength = tmp->contentSize;
    configuration->widget.item[configuration->widget.currentItems].content.currentDataLength  = tmp->contentCurrentLength;

    loadWidgetInfo(configuration,configuration->widget.currentItems);
    ++configuration->widget.currentItems;
   }
  //-------------------------------
  }

  return 0;
}
Пример #4
0
int main(int argc, char *argv[])
{
    if (argc<3)
    {
        fprintf(stderr,"Usage : myblogTool filename \"Title\" \"Author\" ");
        return 0;
    }

    SQL_init(&sqlserver,"myblog.db");


    fprintf(stderr,"File To Add : %s  -  Title %s - Author %s \n",argv[1],argv[2],argv[3]);

    struct AmmServer_MemoryHandler *  tmp = AmmServer_ReadFileToMemoryHandler(argv[1]);

    SQL_appendpost(&sqlserver ,argv[2],argv[3] , tmp->content , tmp->contentCurrentLength );

    //-------------
    AmmServer_FreeMemoryHandler(&tmp);

    SQL_close(&sqlserver);
    return 0;
}
Пример #5
0
int loadSite( char * filename )
{
  boardHashMap = hashMap_Create( 100 , 100 , 0 , 1 /*We should have sorting enabled..!*/ );
  threadHashMap = hashMap_Create( 10000 , 1000 , 0 , 1 /*We should have sorting enabled..!*/ );

    unsigned int numberOfElements=0;
    char what2GetBack[1024]={0};
    AmmServer_ExecuteCommandLine("ls data/board -al | cut -d ' ' -f10 | wc -l ", what2GetBack , 1024 );
    numberOfElements = atoi(what2GetBack);

    ourSite.boards = (struct board * ) malloc(sizeof(struct board) * MAX_BOARDS);
    if (ourSite.boards == 0 ) { fprintf(stderr,"Cannot allocate memory to hold boards , failed to load "); return 0; }

    ourSite.maxNumberOfBoards = MAX_BOARDS;
    ourSite.numberOfBoards = 0;
    strncpy(ourSite.siteName ,filename  ,MAX_STRING_SIZE  );


    threadIndexPage      = AmmServer_ReadFileToMemoryHandler("data/simple.html");

   //------------------------------------------------------

   char line [LINE_MAX_LENGTH]={0};
   //Try and open filename
   FILE * fp = fopen(filename,"r");
   if (fp == 0 ) { fprintf(stderr,"Cannot open trajectory stream %s \n",filename); return 0; }

    //Allocate a token parser
    struct InputParserC * ipc=0;
    ipc = InputParser_Create(LINE_MAX_LENGTH,5);
    if (ipc==0) { fprintf(stderr,"Cannot allocate memory for new stream\n"); return 0; }

    while (!feof(fp))
       {
         //We get a new line out of the file
         unsigned int readOpResult = (fgets(line,LINE_MAX_LENGTH,fp)!=0);
         if ( readOpResult != 0 )
           {
             //We tokenize it
             unsigned int words_count = InputParser_SeperateWords(ipc,line,0);
             if ( words_count > 0 )
              {
                if (InputParser_WordCompareNoCase(ipc,0,(char*)"SITENAME",8)==1)
                {
                     InputParser_GetWord(ipc,1, ourSite.siteName , MAX_STRING_SIZE );
                } else
                if (InputParser_WordCompareNoCase(ipc,0,(char*)"SITEDESCRIPTION",8)==1)
                {
                     InputParser_GetWord(ipc,1, ourSite.siteDescription , MAX_STRING_SIZE );
                }
              }
          }
       }

    InputParser_Destroy(ipc);
    fclose(fp);




   DIR *dp;
   struct dirent *ep;
   dp = opendir ("data/board");
   if (dp != NULL)
    {
      while (ep = readdir (dp))
       {
         if (strcmp(ep->d_name,".")==0)  { } else
         if (strcmp(ep->d_name,"..")==0) { } else
            {
              //fprintf(stderr,"Adding board %s \n",ep->d_name);
              addBoardToSite( &ourSite , ep->d_name );
            }
       }
      closedir (dp);
    } else
    {
     fprintf(stderr,"Cannot open directory to list channels \n");
    }



  return 1;
}