diff --git a/swad_chat_database.c b/swad_chat_database.c new file mode 100644 index 000000000..cde6c6f1e --- /dev/null +++ b/swad_chat_database.c @@ -0,0 +1,77 @@ +// swad_chat_database.c: chat operations with database + +/* + SWAD (Shared Workspace At a Distance), + is a web platform developed at the University of Granada (Spain), + and used to support university teaching. + + This file is part of SWAD core. + Copyright (C) 1999-2021 Antonio Caņas Vargas + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +/*****************************************************************************/ +/********************************* Headers ***********************************/ +/*****************************************************************************/ + +#include // To access MySQL databases + +#include "swad_chat.h" +#include "swad_chat_database.h" +#include "swad_database.h" +#include "swad_global.h" + +/*****************************************************************************/ +/************** External global variables from others modules ****************/ +/*****************************************************************************/ + +extern struct Globals Gbl; + +/*****************************************************************************/ +/***************************** Private constants *****************************/ +/*****************************************************************************/ + +/*****************************************************************************/ +/***************************** Private prototypes ****************************/ +/*****************************************************************************/ + +/*****************************************************************************/ +/********************** Get list of chat rooms with users ********************/ +/*****************************************************************************/ + +unsigned Cht_DB_GetListOfChatRoomsWithUsrs (MYSQL_RES **mysql_res) + { + return (unsigned) + DB_QuerySELECT (mysql_res,"can not get chat rooms with connected users", + "SELECT RoomCode," // row[0] + "NumUsrs" // row[1] + " FROM cht_rooms" + " WHERE NumUsrs>0" + " ORDER BY NumUsrs DESC," + "RoomCode"); + } + +/*****************************************************************************/ +/*************** Get number of users connected to a chat room ****************/ +/*****************************************************************************/ + +unsigned Cht_DB_GetNumUsrsInChatRoom (const char *RoomCode) + { + return DB_QuerySELECTUnsigned ("can not get number of users" + " connected to a chat room", + "SELECT NumUsrs" + " FROM cht_rooms" + " WHERE RoomCode='%s'", + RoomCode); + } diff --git a/swad_chat_database.h b/swad_chat_database.h new file mode 100644 index 000000000..a7d9ee48c --- /dev/null +++ b/swad_chat_database.h @@ -0,0 +1,47 @@ +// swad_chat_database.h: chat operations with database + +#ifndef _SWAD_CHT_DB +#define _SWAD_CHT_DB +/* + SWAD (Shared Workspace At a Distance), + is a web platform developed at the University of Granada (Spain), + and used to support university teaching. + + This file is part of SWAD core. + Copyright (C) 1999-2021 Antonio Caņas Vargas + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +/*****************************************************************************/ +/********************************* Headers ***********************************/ +/*****************************************************************************/ + +#include // To access MySQL databases + +/*****************************************************************************/ +/***************************** Public constants ******************************/ +/*****************************************************************************/ + +/*****************************************************************************/ +/******************************* Public types ********************************/ +/*****************************************************************************/ + +/*****************************************************************************/ +/***************************** Public prototypes *****************************/ +/*****************************************************************************/ + +unsigned Cht_DB_GetListOfChatRoomsWithUsrs (MYSQL_RES **mysql_res); +unsigned Cht_DB_GetNumUsrsInChatRoom (const char *RoomCode); + +#endif