diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php
index 3be5e902816..d520a144f13 100644
--- a/htdocs/core/lib/memory.lib.php
+++ b/htdocs/core/lib/memory.lib.php
@@ -148,7 +148,7 @@ function dol_getcache($memoryid)
}
// Using a memcached server
- if (!empty($conf->memcached->enabled) && class_exists('Memcached')) {
+ if (isModEnabled('memcached') && class_exists('Memcached')) {
global $m;
if (empty($m) || !is_object($m)) {
$m = new Memcached();
@@ -173,7 +173,7 @@ function dol_getcache($memoryid)
} else {
return -$rescode;
}
- } elseif (!empty($conf->memcached->enabled) && class_exists('Memcache')) { // This is a really not reliable cache ! Use Memcached instead.
+ } elseif (isModEnabled('memcached') && class_exists('Memcache')) { // This is a really not reliable cache ! Use Memcached instead.
global $m;
if (empty($m) || !is_object($m)) {
$m = new Memcache();
diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php
index dd7026a0d60..c289f523bd3 100644
--- a/htdocs/core/lib/project.lib.php
+++ b/htdocs/core/lib/project.lib.php
@@ -230,7 +230,7 @@ function project_prepare_head(Project $project, $moreparam = '')
$head[$h][1] = $langs->trans("EventOrganization");
// Enable caching of conf or booth count
- $nbConfOrBooth = 0;
+ $nbConfOrBooth = 0; $nbAttendees = 0;
require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
$cachekey = 'count_conferenceorbooth_'.$project->id;
$dataretrieved = dol_getcache($cachekey);
@@ -248,8 +248,30 @@ function project_prepare_head(Project $project, $moreparam = '')
}
dol_setcache($cachekey, $nbConfOrBooth, 120); // If setting cache fails, this is not a problem, so we do not test result.
}
- if ($nbConfOrBooth > 0) {
- $head[$h][1] .= '' . $nbConfOrBooth . '';
+ $cachekey = 'count_attendees_'.$project->id;
+ $dataretrieved = dol_getcache($cachekey);
+ if (!is_null($dataretrieved)) {
+ $nbAttendees = $dataretrieved;
+ } else {
+ require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php';
+ $conforboothattendee=new ConferenceOrBoothAttendee($db);
+ $result = $conforboothattendee->fetchAll('', '', 0, 0, array('t.fk_project'=>$project->id));
+ //,
+ if (!is_array($result) && $result<0) {
+ setEventMessages($conforboothattendee->error, $conforboothattendee->errors, 'errors');
+ } else {
+ $nbAttendees = count($result);
+ }
+ dol_setcache($cachekey, $nbAttendees, 120); // If setting cache fails, this is not a problem, so we do not test result.
+ }
+ if ($nbConfOrBooth > 0 || $nbAttendees > 0) {
+ $head[$h][1] .= '';
+ $head[$h][1] .= ''.$nbConfOrBooth.'';
+ if ($nbConfOrBooth > 0 && $nbAttendees > 0) {
+ $head[$h][1] .= ' / ';
+ }
+ $head[$h][1] .= ''.$nbAttendees.'';
+ $head[$h][1] .= '';
}
$head[$h][2] = 'eventorganisation';
$h++;