MySQLMud/data/
MySQLMud/doc/
MySQLMud/log/
MySQLMud/players/
MySQLMud/www/images/
socketmud/data/
socketmud/doc/
socketmud/log/
socketmud/players/
/*
 * web.c
 *
 * Functions for formating strings for pretty html output.
 * These would not be possible without webarea.c webwho.c and
 * webspells.c by Nebi of Clandestine MUD. I have long since lost
 * the information for Nebi, and hes dropped off the face of the mud
 * world. I thank you Nebi, for all your hard work.
 *
 * These functions dont quite work yet...
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "mud.h"
#include "mysql.h"

/*
 * html_colour()
 *
 * Converts colour char into html font color string
 */
int html_colour( char type, char *string )
{
    char    code[ 25 ];
    char    *p = '\0';

    switch( type )
    {
    default:
    case '\0':
        code[0] = '\0';
        break;
    case ' ':
        sprintf( code, " " );
        break;
    case 'n':
        sprintf( code, "<font color=""#006400"">" );
        break;
    case 'b':
        sprintf( code, "<font color=""#00008B"">" );
        break;
    case 'c':
        sprintf( code, "<font color=""#008B8B"">" );
        break;
    case 'g':
        sprintf( code, "<font color=""#006400"">" );
        break;
    case 'p':
        sprintf( code, "<font color=""#8B008B"">" );
        break;
    case 'r':
        sprintf( code, "<font color=""#8B0000"">" );
        break;
    case 'w':
        sprintf( code, "<font color=""#808080"">" );
        break;
    case 'y':
        sprintf( code, "<font color=""#808000"">" );
        break;
    case 'B':
        sprintf( code, "<font color=""#0000FF"">" );
        break;
    case 'C':
        sprintf( code, "<font color=""#OOFFFF"">" );
        break;
    case 'G':
        sprintf( code, "<font color=""#00FF00"">" );
        break;
    case 'P':
        sprintf( code, "<font color=""#FF00FF"">" );
        break;
    case 'R':
        sprintf( code, "<font color=""#FF0000"">" );
        break;
    case 'W':
        sprintf( code, "<font color=""#FFFFFF"">" );
        break;
    case 'Y':
        sprintf( code, "<font color=""#FFFF00"">" );
        break;
    case 'D':
        sprintf( code, "<font color=""#636363"">" );
        break;
    case '#':
        sprintf( code, "#" );
        break;
    }

    p = code;
    while( *p != '\0' )
    {
    *string = *p++;
    *++string = '\0';
    }

    return( strlen( code ) );
}

void html_colourconv( char *buffer, const char *txt)
{
    const    char    *point;
    int    skip = 0;

    for( point = txt ; *point ; point++ )
    {
    if( *point == '\n' )
    {
        point++;
        if( *point == '\0' )
        point--;
        else
          skip = html_colour( *point, buffer );
        while( skip-- > 0 )
        ++buffer;
        continue;
    }
    if( (*point == '<') )
    {
        *buffer = '[';
        *++buffer = '\0';
        continue;
    }
    if( (*point == '>'))
    {
        *buffer = ']';
        *++buffer = '\0';
        continue;
    }
    *buffer = *point;
    *++buffer = '\0';
    }
    *buffer = '\0';
    return;
}

/*
 * cmd_fix_online_helps()
 *
 * This command goes through all helps in the database, and fixes the
 * webtxt entry properly to make it look all purty in the browser.
 */
void cmd_fix_online_helps(D_MOBILE * ch, char * arg)
{
    char query[MAX_BUFFER];     /* Cycle query  */
    char buf[MAX_BUFFER];
    char buf2[MAX_BUFFER];
    MYSQL_RES *result;
    int id = 0;


    snprintf(query, sizeof(query) +1, "SELECT * FROM vand_help WHERE `id` = 1");
    mysql_safe_query(query);
    result = mysql_store_result(&mysqlconn);

    while ((row = mysql_fetch_row(result)))
    {
        /* ok, stick old text into buffer */
        snprintf(buf, sizeof(buf) + 1, "%s", row[3]);
        convert_pound(buf);
        html_colourconv(buf2, buf);
        smash_quote(buf2);
        smash_quote2(buf2);
        id = atoi(row[0]);
        
        /* Update resulting entry */
    }
    mysql_free_result(result);

    snprintf(query, sizeof(query) + 1, "UPDATE `vand_help` SET `webtxt` = '%s' WHERE CONVERT( `id` USING utf8 ) = '%d' LIMIT 1 ;",
        buf2, id);
    mysql_safe_query(query);


    ptc(ch, "Done.\n");
    return;
}