Version 17.1

This commit is contained in:
Antonio Cañas Vargas 2017-09-15 13:19:27 +02:00
parent e9e23d3fdf
commit a92307a062
8 changed files with 2058 additions and 14 deletions

View File

@ -45,7 +45,7 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \
swad_network.o swad_nickname.o swad_notice.o swad_notification.o \
swad_pagination.o swad_parameter.o swad_password.o swad_photo.o \
swad_place.o swad_plugin.o swad_preference.o swad_privacy.o \
swad_profile.o \
swad_profile.o swad_project.o \
swad_QR.o \
swad_record.o swad_report.o swad_role.o swad_RSS.o \
swad_scope.o swad_search.o swad_session.o swad_setup.o swad_social.o \

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -1766,7 +1766,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
// Actions in menu:
/* ActCrsReqSch */{1180, 0,TabCrs,ActCrsReqSch ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sch_ReqCrsSearch ,"search64x64.gif" },
/* ActSeeCrsInf */{ 847, 1,TabCrs,ActSeeCrsInf ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_ShowIntroduction ,"info64x64.gif" },
/* ActSeeTchGui */{ 784, 2,TabCrs,ActSeeTchGui ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"guide64x64.gif" },
/* ActSeeTchGui */{ 784, 2,TabCrs,ActSeeTchGui ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"guide64x64.png" },
/* ActSeeSyl */{1242, 3,TabCrs,ActSeeSyl ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"presentation64x64.gif"},
/* ActSeeBib */{ 32, 4,TabCrs,ActSeeBib ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"books64x64.gif" },
/* ActSeeFAQ */{ 54, 5,TabCrs,ActSeeFAQ ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"faq64x64.gif" },

View File

@ -252,13 +252,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.0.4 (2017-09-15)"
#define Log_PLATFORM_VERSION "SWAD 17.1 (2017-09-15)"
#define CSS_FILE "swad17.0.css"
#define JS_FILE "swad16.206.3.js"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/*
Version 17.1: Sep 14, 2017 New module swad_project. Not finished. (229123 lines)
Copy the following icons to icon public directory:
sudo cp icon/iconset/awesome/action64x64/guide64x64.png /var/www/html/swad/icon/iconset/awesome/action64x64/
sudo cp icon/iconset/awesome/action64x64/project64x64.png /var/www/html/swad/icon/iconset/awesome/action64x64/
sudo cp icon/iconset/nuvola/action64x64/guide64x64.png /var/www/html/swad/icon/iconset/nuvola/action64x64/
sudo cp icon/iconset/nuvola/action64x64/project64x64.png /var/www/html/swad/icon/iconset/nuvola/action64x64/
Version 17.0.4: Sep 14, 2017 Show current question with answers when playing a game. (227379 lines)
Version 17.0.3: Sep 14, 2017 Action to show current question with answers when playing a game. (227350 lines)
1 change necessary in database:

View File

@ -37,19 +37,20 @@
/******************************** Public types *******************************/
/*****************************************************************************/
#define Pag_NUM_WHAT_PAGINATE 10
#define Pag_NUM_WHAT_PAGINATE 11
typedef enum
{
Pag_ASSIGNMENTS = 0,
Pag_GAMES = 1,
Pag_SURVEYS = 2,
Pag_ATT_EVENTS = 3,
Pag_THREADS_FORUM = 4,
Pag_POSTS_FORUM = 5,
Pag_MESSAGES_RECEIVED = 6,
Pag_MESSAGES_SENT = 7,
Pag_MY_AGENDA = 8,
Pag_ANOTHER_AGENDA = 9,
Pag_ASSIGNMENTS = 0,
Pag_PROJECTS = 1,
Pag_GAMES = 2,
Pag_SURVEYS = 3,
Pag_ATT_EVENTS = 4,
Pag_THREADS_FORUM = 5,
Pag_POSTS_FORUM = 6,
Pag_MESSAGES_RECEIVED = 7,
Pag_MESSAGES_SENT = 8,
Pag_MY_AGENDA = 9,
Pag_ANOTHER_AGENDA = 10,
} Pag_WhatPaginate_t;
struct Pagination // Used for threads and messages pagination

1936
swad_project.c Normal file

File diff suppressed because it is too large Load Diff

100
swad_project.h Normal file
View File

@ -0,0 +1,100 @@
// swad_project.h: projects (final degree projects, thesis)
#ifndef _SWAD_PRJ
#define _SWAD_PRJ
/*
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-2017 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 <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/********************************* Headers ***********************************/
/*****************************************************************************/
#include "swad_date.h"
#include "swad_file_browser.h"
#include "swad_notification.h"
#include "swad_user.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Prj_MAX_CHARS_ASSIGNMENT_TITLE (128 - 1) // 127
#define Prj_MAX_BYTES_ASSIGNMENT_TITLE ((Prj_MAX_CHARS_ASSIGNMENT_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Prj_NUM_TYPES_SEND_WORK 2
typedef enum
{
Prj_DO_NOT_SEND_WORK = 0,
Prj_SEND_WORK = 1,
} Prj_SendWork_t;
struct Project
{
long PrjCod;
bool Hidden;
long UsrCod;
time_t TimeUTC[Dat_NUM_START_END_TIME];
bool Open;
char Title[Prj_MAX_BYTES_ASSIGNMENT_TITLE + 1];
Prj_SendWork_t SendWork;
char Folder[Brw_MAX_BYTES_FOLDER + 1];
bool IBelongToCrsOrGrps; // I can do this assignment
// (it is associated to no groups
// or, if associated to groups,
// I belong to any of the groups)
};
#define Prj_ORDER_DEFAULT Dat_START_TIME
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void Prj_SeeProjects (void);
void Prj_PrintOneProject (void);
void Prj_PutHiddenParamPrjOrder (void);
void Prj_RequestCreatOrEditPrj (void);
void Prj_GetListProjects (void);
void Prj_GetDataOfProjectByCod (struct Project *Prj);
void Prj_GetDataOfProjectByFolder (struct Project *Prj);
void Prj_FreeListProjects (void);
void Prj_GetNotifProject (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long PrjCod,bool GetContent);
long Prj_GetParamPrjCod (void);
void Prj_ReqRemProject (void);
void Prj_RemoveProject (void);
void Prj_HideProject (void);
void Prj_ShowProject (void);
void Prj_RecFormProject (void);
bool Prj_CheckIfPrjIsAssociatedToGrp (long PrjCod,long GrpCod);
void Prj_RemoveGroup (long GrpCod);
void Prj_RemoveGroupsOfType (long GrpTypCod);
void Prj_RemoveCrsProjects (long CrsCod);
unsigned Prj_GetNumProjectsInCrs(long CrsCod);
unsigned Prj_GetNumCoursesWithProjects (Sco_Scope_t Scope);
unsigned Prj_GetNumProjects (Sco_Scope_t Scope,unsigned *NumNotif);
#endif