// swad_convert_photos.c // Created on: 25/11/2013 // Author: Antonio Caņas Vargas // Compile with: gcc -Wall -O1 swad_convert_photos.c -o swad_convert_photos -lmysqlclient -L/usr/lib64/mysql #include "swad_ID.h" #include #include #include #include #include #include #define DATABASE_HOST "swad.ugr.es" #define DATABASE_USER "swad" #define DATABASE_PASSWORD "********" #define DATABASE_DBNAME "swad" #define PATH_SWAD_PRIVATE "/var/www/swad" #define PATH_SWAD_PUBLIC "/var/www/html/swad" #define FOLDER_PHOTO "photo" #define WEB_USER "apache" void ExecuteCommand (const char *Command) { printf ("%s\n",Command); if (system (Command) < 0) { fprintf (stderr,"Error when executing command: %s\n",Command); exit (1); } } int CheckIfPathExists (const char *Path) { return access (Path,F_OK) ? 0 : 1; } int main (void) { char *Query = "SELECT UsrCod,UsrID FROM usr_IDs ORDER BY UsrCod"; MYSQL mysql; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned NumRows; unsigned NumPhotos = 0; unsigned i; long UsrCod; char UsrID[ID_MAX_BYTES_USR_ID + 1]; char OldPathPhoto[PATH_MAX + 1]; char Command[1024 + PATH_MAX * 2]; sprintf (Command,"mv %s/%s %s/%s_backup", PATH_SWAD_PRIVATE,FOLDER_PHOTO, PATH_SWAD_PRIVATE,FOLDER_PHOTO); ExecuteCommand (Command); sprintf (Command,"mkdir %s/%s", PATH_SWAD_PRIVATE,FOLDER_PHOTO); ExecuteCommand (Command); for (i=0; i<100; i++) { sprintf (Command,"mkdir %s/%s/%02u", PATH_SWAD_PRIVATE,FOLDER_PHOTO,i); ExecuteCommand (Command); } if (mysql_init (&mysql) == NULL) { fprintf (stderr,"Can not init MySQL."); return 1; } if (!mysql_real_connect (&mysql,DATABASE_HOST,DATABASE_USER,DATABASE_PASSWORD,DATABASE_DBNAME,0,NULL,0)) { fprintf (stderr,"Can not connect to database"); return 2; } if (mysql_query (&mysql,Query)) { fprintf (stderr,"%s",mysql_error (&mysql)); return 3; } if ((mysql_res = mysql_store_result (&mysql)) == NULL) { fprintf (stderr,"%s",mysql_error (&mysql)); return 4; } if ((NumRows = (unsigned) mysql_num_rows (mysql_res))) { for (i=0; i