/* Descripcion: Obtiene el query string de una busqueda Ultima modificacion: Scheinkman, Mariano Recibe: estructura GET con la busqueda, y estructura GET vacia Devuelve: ok? 0: -1. Estructura GET llena con el querystring */ int obtenerQueryString(msgGet getThread, msgGet *getInfo) { char *palabra, *tipo, *ptr; char busqueda[MAX_PATH]; char queryString[QUERYSTRING_SIZE]; char filtroTipoBusqueda[100]; memset(busqueda, '\0', sizeof(busqueda)); memset(queryString, '\0', sizeof(queryString)); memset(filtroTipoBusqueda, '\0', sizeof(filtroTipoBusqueda)); strcpy(busqueda, getThread.palabras); ptr = strstr(busqueda, "buscar="); tipo = strstr(busqueda, "&tipo="); *tipo++ = '\0'; tipo= tipo + strlen("tipo="); palabra = ptr + strlen("buscar="); if (!strcmp(tipo, "web")) { getInfo->searchType = WEB; strcpy(filtroTipoBusqueda, "(labeledURL=*.html)"); } else if (!strcmp(tipo, "img")) { getInfo->searchType = IMG; strcpy(filtroTipoBusqueda, "(|(labeledURL=*.jpg)(labeledURL=*.gif)(labeledURL=*.png)(labeledURL=*.jpeg))"); } else if (!strcmp(tipo, "otros")) { getInfo->searchType = OTROS; strcpy(filtroTipoBusqueda, "(!(|(labeledURL=*.html)(labeledURL=*.jpg)(labeledURL=*.gif)(labeledURL=*.png)(labeledURL=*.jpeg)))"); } else { strcpy(getInfo->palabras, getThread.palabras); return -1; } transformarCaracteresEspeciales(palabra); eliminarEspaciosEnBlanco(palabra, getInfo->palabras); formatQueryString(getInfo->palabras, queryString); sprintf(getInfo->queryString, "(&%s%s)", queryString, filtroTipoBusqueda); getInfo->protocolo = getThread.protocolo; return 0; }
Operacion::Operacion(string operacion) { this->operacion = operacion; reemplazarOperadores(); eliminarEspaciosEnBlanco(); eliminarParentesisInnecesarios(this->operacion); }