예제 #1
0
파일: server.c 프로젝트: lemeshkob/Repo1
void server_mastersHtmlPOST(socket_t * client, http_request_t * req, db_t * db)
{
    char buffer[10240] = "";

    if (strcmp(req->method, "GET") == 0)
    {
        char * pageText =
            "<form action=\"http://127.0.0.1:5000/ScrumMasters\" method=\"POST\">"
            "Name:<br>"
            "<input type=\"text\" name=\"name\" value='Ivan'><br>"
            "Surname:<br>"
            "<input type=\"text\" name=\"surname\" value='Ivanov'><br>"
            "CountK:<br>"
            "<input type=\"text\" name=\"countK\" value='3'><br>"
            "CountP:<br>"
            "<input type=\"text\" name=\"countP\" value='3'><br><br>"
            "<input type=\"submit\" value='Send POST request' />"
            "</form>";

            char * textHTML = textToHTML(pageText);
            strcat(buffer, textHTML);
            free(textHTML);
    }

    socket_write_string(client, buffer);
    socket_close(client);
}
예제 #2
0
파일: server.c 프로젝트: lemeshkob/Repo1
void server_homepage(socket_t * client)
{
    char buffer[1024] = "";
    char * pageText =
        "<h1>Kykycuku</h1>"
        "<p>touch da kitty</p>"
        "<a href=\"http://127.0.0.1:5000/ScrumMasters\"><img width=400 height=350 src=https://lh4.ggpht.com/M1XTibfCgpi5pgjSDb7kXDh21N8fpn-8evzQVAX-qGFhSyArDmSuCAv1pjVp4jbAt_g=h900></a>";

    char * text = textToHTML(pageText);
    strcat(buffer, text);
    free(text);

    socket_write_string(client, buffer);
    socket_close(client);
}
예제 #3
0
파일: tools.cpp 프로젝트: perihelion/basket
QString Tools::textToHTMLWithoutP(const QString &text)
{
	// textToHTML(text) return "<p>HTMLizedText</p>". We remove the strating "<p>" and ending </p>"
	QString HTMLizedText = textToHTML(text);
	return HTMLizedText.mid(3, HTMLizedText.length() - 3 - 4);
}
예제 #4
0
파일: server.c 프로젝트: lemeshkob/Repo1
void server_mastersHtmlByID(socket_t * client, http_request_t * req, db_t * db)
{
    char buffer[10240] = "";

    char * point = strstr(req->uri, "/ScrumMasters/");
    point += 14;
    int index = atoi(point);

    if(0 < index && index < db_count(db) + 1)
    {
        if (strcmp(req->method, "GET") == 0)
        {
            char pageText[10240] = "";

            master_t * master = db_getDataById(db, index - 1);

            char text[1024] = "";
            sprintf(text,
                    "<p>"
                    "Name: %s<br>"
                    "Surname: %s<br>"
                    "CountK: %i<br>"
                    "CountP: %i<br>"
                    "</p>",
                    master_getName(master),
                    master_getSurname(master),
                    master_getCountK(master),
                    master_getCountP(master));
            strcat(pageText, text);

            free(master);

            char * pageTextLink = "<a href=\"#\" onclick=\"doDelete()\"/>Delete Scrum Master<br><br></a>\n";
            strcat(pageText, pageTextLink);

            char pageTextScript[1024];
            sprintf(pageTextScript,
                        "<script>"
                        "function doDelete() {"
                        "var xhttp = new XMLHttpRequest();"
                        "xhttp.open(\"DELETE\", \"http://127.0.0.1:5000/ScrumMasters/%i\", true);"
                        "xhttp.send();"
                        "}"
                        "</script>", index);
            strcat(pageText, pageTextScript);

            char * textHTML = textToHTML(pageText);
            strcat(buffer, textHTML);
            free(textHTML);
        }
        else if (strcmp(req->method, "DELETE") == 0)
        {
            master_t * master = db_getDataById(db, index - 1);
            db_deleteData(db, master_getID(master));
            free(master);

            char * pageText = "<h4>Successfully deleted</h4>";
            sprintf(buffer,
                    "HTTP/1.1 200 OK\n"
                    "Content-Type: text/html\n"
                    "Content-Length: %zu\n"
                    "Access-Control-Allow-Origin: *\n"
                    "Access-Control-Allow-Methods: DELETE\n"
                    "\n%s",
                    strlen(pageText), pageText);
        }
    }
    else
    {
        char * pageText = "<h4>ID Not Found</h4>";
        char * textHTML = textToHTML(pageText);
        strcat(buffer, textHTML);
        free(textHTML);
    }

    socket_write_string(client, buffer);
    socket_close(client);
}
예제 #5
0
파일: server.c 프로젝트: lemeshkob/Repo1
void server_mastersHtml(socket_t * client, http_request_t * req, db_t * db)
{
    char buffer[10240] = "";

    if (strcmp(req->method, "GET") == 0)
    {
        char pageText[10240] = "";

        for(int i = 0; i < db_count(db); i++)
        {
            master_t * master = db_getDataById(db, i);

            char text[100] = "";
            sprintf(text, "<a href=\"http://127.0.0.1:5000/ScrumMasters/%i\">%s %s<br></a>\n", i + 1, master_getSurname(master), master_getName(master));
            strcat(pageText, text);

            master_free(master);
        }

        char * text = "<a href=\"http://127.0.0.1:5000/new-ScrumMaster\"><br>New Scrum Master</a>";
        strcat(pageText, text);

        char * textHTML = textToHTML(pageText);
        strcat(buffer, textHTML);
        free(textHTML);
    }
    else if (strcmp(req->method, "POST") == 0)
    {
        char * name = (char *)http_request_getArg(req, "name");
        char * surname = (char *)http_request_getArg(req, "surname");
        char * countK = (char *)http_request_getArg(req, "countK");
        char * countP = (char *)http_request_getArg(req, "countP");

        if(verification(name, surname, countK, countP) == 1)
        {
            db_insertData(db, name, surname, atoi(countK), atoi(countP));

            char pageText[1024] = "";
            sprintf(pageText,
                    "<p>"
                    "Name: %s<br>"
                    "Surname: %s<br>"
                    "CountK: %i<br>"
                    "CountP: %i<br>"
                    "</p>",
                    name, surname,
                    atoi(countK),
                    atoi(countP));

            char * textHTML = textToHTML(pageText);
            strcat(buffer, textHTML);
            free(textHTML);
        }
        else
        {
            char * pageText = "<h3>Wrong input</h3>";
            char * textHTML = textToHTML(pageText);
            strcat(buffer, textHTML);
            free(textHTML);
        }
    }

    socket_write_string(client, buffer);
    socket_close(client);
}