mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-10 03:23:19 +00:00
Modify collections filter & add JOIN on log_colls table
Create entries in log_colls table Fix SQL issue Fix SQL issues Update version Add patch Remove debug output Fix CS Fic CS Add table schema Fix Cs Update patch Update patch Update patch Update patch Update patch delete all coll_list call Fix logger issue Fix log_colls table structure definition Rename patch Fix SQL Issues Fix patch Fix test Fix tests
This commit is contained in:
@@ -113,9 +113,10 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT DATE_FORMAT( log.date, '%k' ) AS heures, SUM(1) AS nb
|
||||
FROM log
|
||||
WHERE (" . $date_filter['sql'] . ")
|
||||
AND (" . $coll_filter['sql'] . ")
|
||||
FROM (log)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $date_filter['sql'] . "
|
||||
AND " . $coll_filter['sql'] . "
|
||||
AND " . $site_filter['sql'] . "
|
||||
GROUP BY heures
|
||||
ORDER BY heures ASC";
|
||||
@@ -177,11 +178,13 @@ class module_report_activity extends module_report
|
||||
$sql = "
|
||||
SELECT DATE_FORMAT(log_search.date,'%Y-%m-%d %H:%i:%S') as date ,
|
||||
log_search.search ,log_search.results
|
||||
FROM (log_search inner join log on log.id = log_search.log_id)
|
||||
FROM (log_search)
|
||||
INNER JOIN log ON (log.id = log_search.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE log_search.date > " . $date_filter['sql'] . "
|
||||
AND log.`" . $what . "` = :main_value
|
||||
AND " . $site_filter['sql'] . "
|
||||
AND (" . $coll_filter['sql'] . ")
|
||||
AND " . $coll_filter['sql'] . "
|
||||
ORDER BY date";
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
@@ -240,7 +243,9 @@ class module_report_activity extends module_report
|
||||
SELECT TRIM(log_search.search) as search,
|
||||
SUM(1) as nb,
|
||||
ROUND(avg(results)) as nb_rep
|
||||
FROM (log_search inner join log on log_search.log_id = log.id)
|
||||
FROM (log_search)
|
||||
INNER JOIN log ON (log_search.log_id = log.id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $date_filter['sql'] . "
|
||||
AND log_search.search != 'all'
|
||||
AND (" . $coll_filter['sql'] . ")";
|
||||
@@ -309,8 +314,10 @@ class module_report_activity extends module_report
|
||||
$sql = "
|
||||
SELECT log_docs.record_id,
|
||||
log_docs.date, log_docs.final as objets
|
||||
FROM (`log_docs` inner join log on log_docs.log_id = log.id
|
||||
inner join record on log_docs.record_id = record.record_id)
|
||||
FROM (`log_docs`)
|
||||
INNER JOIN log ON (log_docs.log_id = log.id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
WHERE log_docs.action = 'download'
|
||||
AND " . $date_filter['sql'] . "
|
||||
AND " . $user_filter['sql'] . "
|
||||
@@ -384,13 +391,11 @@ class module_report_activity extends module_report
|
||||
log_docs.date
|
||||
AS ddate,
|
||||
final
|
||||
FROM (
|
||||
log_docs
|
||||
INNER JOIN record ON record.record_id = log_docs.record_id
|
||||
INNER JOIN log ON " . $site_filter['sql'] . "
|
||||
AND log.id = log_docs.log_id
|
||||
LEFT JOIN subdef AS s ON s.record_id = log_docs.record_id
|
||||
AND s.name = log_docs.final)
|
||||
FROM (log_docs)
|
||||
INNER JOIN record ON (record.record_id = log_docs.record_id)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
LEFT JOIN subdef AS s ON (s.record_id = log_docs.record_id AND s.name = log_docs.final)
|
||||
WHERE " . $date_filter['sql'] . "
|
||||
AND (log_docs.final != 'caption')
|
||||
AND log_docs.action = 'download'
|
||||
@@ -472,18 +477,20 @@ class module_report_activity extends module_report
|
||||
$conn = $s->getConnBas();
|
||||
|
||||
$params = array();
|
||||
|
||||
$date_filter = $filter->getDateFilter();
|
||||
$params = array_merge($params, $date_filter['params']);
|
||||
|
||||
$coll_filter = $filter->getCollectionFilter();
|
||||
$params = array_merge($params, $coll_filter['params']);
|
||||
$site_filter = $filter->getGvSitFilter();
|
||||
$params = array_merge($params, $site_filter['params']);
|
||||
|
||||
$this->req = "
|
||||
SELECT DISTINCT(log." . $on . ") as " . $on . ",
|
||||
usrid,
|
||||
SUM(1) as connexion
|
||||
FROM log
|
||||
FROM (log)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE log.user != 'API'
|
||||
AND " . $site_filter['sql'] . "
|
||||
AND " . $date_filter['sql'] . "
|
||||
@@ -581,14 +588,15 @@ class module_report_activity extends module_report
|
||||
TRIM(" . $on . ") as " . $on . ",
|
||||
final, sum(1) as nb,
|
||||
sum(size) as poid
|
||||
FROM (log_docs as d
|
||||
INNER JOIN log ON " . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . "
|
||||
INNER JOIN record ON record.record_id = d.record_id
|
||||
LEFT JOIN subdef as s on (d.action = 'download' OR d.action = 'mail')
|
||||
AND s.record_id=d.record_id and s.name=d.final
|
||||
)
|
||||
FROM (log_docs as d)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . ")
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON record.record_id = d.record_id
|
||||
LEFT JOIN subdef as s on ((d.action = 'download' OR d.action = 'mail')
|
||||
AND s.record_id=d.record_id and s.name=d.final
|
||||
)
|
||||
WHERE (" . $coll_filter['sql'] . ")
|
||||
AND (" . $record_filter['sql'] . ")
|
||||
GROUP BY " . $on . ", final, usrid
|
||||
@@ -703,15 +711,14 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.*
|
||||
FROM (log_docs as d
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . ")
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document'))
|
||||
WHERE ((" . $coll_filter['sql'] . ")
|
||||
AND " . $record_filter['sql'] . "
|
||||
AND d.action='push')
|
||||
FROM (log_docs as d)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . ")
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
|
||||
WHERE ((" . $coll_filter['sql'] . ") AND " . $record_filter['sql'] . " AND d.action='push')
|
||||
";
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
@@ -773,14 +780,15 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT log.usrid, user, final, sum(1) AS nb, sum(size) AS poid
|
||||
FROM (log_docs AS log_date
|
||||
INNER JOIN log ON log.site = :site_id
|
||||
AND log.id = log_date.log_id
|
||||
AND " . $datefilter['sql'] . ")
|
||||
LEFT JOIN subdef AS s ON log_date.action = 'download'
|
||||
AND s.record_id = log_date.record_id
|
||||
AND s.name = log_date.final
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
FROM (log_docs AS log_date)
|
||||
INNER JOIN log ON (log.site = :site_id
|
||||
AND log.id = log_date.log_id
|
||||
AND " . $datefilter['sql'] . ")
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
LEFT JOIN subdef AS s ON (log_date.action = 'download'
|
||||
AND s.record_id = log_date.record_id
|
||||
AND s.name = log_date.final
|
||||
AND (" . $collfilter['sql'] . "))
|
||||
GROUP BY user, final
|
||||
WITH rollup";
|
||||
|
||||
@@ -848,7 +856,8 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT log_date.id, HOUR(log_date.date) as heures
|
||||
FROM log as log_date
|
||||
FROM (log as log_date)
|
||||
INNER JOIN log_colls ON (log_date.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . "
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
AND log_date.site = :site_id";
|
||||
@@ -890,7 +899,7 @@ class module_report_activity extends module_report
|
||||
SELECT DISTINCT (
|
||||
DATE_FORMAT( log_date.date, '%Y-%m-%d' )
|
||||
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
|
||||
FROM log as log_date
|
||||
FROM log as log_date INNER JOIN log_colls ON (log_date.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . "
|
||||
AND log_date.site = :site_id
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
@@ -928,9 +937,9 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT log_date.usrid, log_date.user, sum(1) AS nb
|
||||
FROM `log_search`
|
||||
INNER JOIN log as log_date
|
||||
ON log_search.log_id = log_date.id
|
||||
FROM (`log_search`)
|
||||
INNER JOIN log as log_date ON (log_search.log_id = log_date.id)
|
||||
INNER JOIN log_colls ON (log_date.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . "
|
||||
AND log_date.site = :site_id
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
@@ -969,9 +978,9 @@ class module_report_activity extends module_report
|
||||
log_date.usrid,
|
||||
log_date.user,
|
||||
sum(1) AS nb
|
||||
FROM `log_search`
|
||||
INNER JOIN log as log_date
|
||||
ON log_search.log_id = log_date.id
|
||||
FROM (`log_search`)
|
||||
INNER JOIN log as log_date ON (log_search.log_id = log_date.id)
|
||||
INNER JOIN log_colls ON (log_date.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . "
|
||||
AND log_date.site = :site_id
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
@@ -1007,9 +1016,9 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT referrer, COUNT(referrer) as nb_view
|
||||
FROM log_view
|
||||
INNER JOIN log as log_date
|
||||
ON log_view.log_id = log_date.id
|
||||
FROM (log_view)
|
||||
INNER JOIN log as log_date ON (log_view.log_id = log_date.id)
|
||||
INNER JOIN log_colls ON (log_date.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . "
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
GROUP BY referrer
|
||||
@@ -1049,9 +1058,9 @@ class module_report_activity extends module_report
|
||||
SELECT DISTINCT (
|
||||
DATE_FORMAT( log_date.date, '%Y-%m-%d' )
|
||||
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
|
||||
FROM log_docs as log_date
|
||||
INNER JOIN log
|
||||
ON log_date.log_id = log.id
|
||||
FROM (log_docs as log_date)
|
||||
INNER JOIN log ON (log_date.log_id = log.id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . " AND log_date.action = 'add'
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
GROUP BY ddate
|
||||
@@ -1083,9 +1092,9 @@ class module_report_activity extends module_report
|
||||
SELECT DISTINCT (
|
||||
DATE_FORMAT( log_date.date, '%Y-%m-%d' )
|
||||
) AS ddate, COUNT( DATE_FORMAT( log_date.date, '%d' ) ) AS activity
|
||||
FROM log_docs as log_date
|
||||
INNER JOIN log
|
||||
ON log_date.log_id = log.id
|
||||
FROM (log_docs as log_date)
|
||||
INNER JOIN log ON log_date.log_id = log.id
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . " AND log_date.action = 'edit'
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
GROUP BY ddate
|
||||
@@ -1116,8 +1125,9 @@ class module_report_activity extends module_report
|
||||
|
||||
$sql = "
|
||||
SELECT log.usrid, log.user, sum( 1 ) AS nb
|
||||
FROM log_docs as log_date
|
||||
INNER JOIN log ON log_date.log_id = log.id
|
||||
FROM (log_docs as log_date)
|
||||
INNER JOIN log ON (log_date.log_id = log.id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $datefilter['sql'] . " AND log_date.action = 'add'
|
||||
AND (" . $collfilter['sql'] . ")
|
||||
GROUP BY log.usrid
|
||||
|
@@ -29,7 +29,6 @@ class module_report_connexion extends module_report
|
||||
, 'fonction' => 'log.fonction'
|
||||
, 'site' => 'log.site'
|
||||
, 'sit_session' => 'log.sit_session'
|
||||
, 'coll_list' => 'log.coll_list'
|
||||
, 'appli' => 'log.appli'
|
||||
, 'ip' => 'log.ip'
|
||||
);
|
||||
@@ -115,18 +114,7 @@ class module_report_connexion extends module_report
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($value == 'coll_list') {
|
||||
$coll = explode(",", $row[$value]);
|
||||
$this->result[$i][$value] = "";
|
||||
foreach ($coll as $id) {
|
||||
if ($this->result[$i][$value] != "") {
|
||||
$this->result[$i][$value].= " / ";
|
||||
$this->result[$i][$value] .= phrasea::bas_names(phrasea::baseFromColl($this->sbas_id, $id, $this->app), $this->app);
|
||||
} elseif ($this->result[$i][$value] == "") {
|
||||
$this->result[$i][$value] = phrasea::bas_names(phrasea::baseFromColl($this->sbas_id, $id, $this->app), $this->app);
|
||||
}
|
||||
}
|
||||
} elseif ($value == 'appli') {
|
||||
if ($value == 'appli') {
|
||||
$applis = false;
|
||||
if (($applis = @unserialize($row[$value])) !== false) {
|
||||
if (empty($applis)) {
|
||||
@@ -164,7 +152,8 @@ class module_report_connexion extends module_report
|
||||
$finalfilter .= 'log_date.site = :site_id';
|
||||
|
||||
$sql = "SELECT COUNT(usrid) as nb
|
||||
FROM log as log_date
|
||||
FROM (log as log_date)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE " . $finalfilter;
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
|
@@ -55,7 +55,7 @@ class module_report_dashboard_group implements module_report_dashboard_component
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new Exception("cannot group on a none dashboard object");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -187,10 +187,9 @@ class module_report_download extends module_report
|
||||
|
||||
$sql = '
|
||||
SELECT SUM(1) AS nb
|
||||
FROM ( log
|
||||
INNER JOIN log_docs as log_date ON log.id = log_date.log_id
|
||||
INNER JOIN record on log_date.record_id = record.record_id
|
||||
)
|
||||
FROM (log)
|
||||
INNER JOIN log_docs as log_date ON (log.id = log_date.log_id)
|
||||
INNER JOIN record ON (log_date.record_id = record.record_id)
|
||||
WHERE (
|
||||
' . $finalfilter . '
|
||||
)
|
||||
@@ -230,11 +229,10 @@ class module_report_download extends module_report
|
||||
|
||||
$sql = '
|
||||
SELECT record.record_id as id, SUM(1) AS nb, subdef.name
|
||||
FROM ( log
|
||||
INNER JOIN log_docs as log_date ON log.id = log_date.log_id
|
||||
INNER JOIN record ON log_date.record_id = record.record_id
|
||||
INNER JOIN subdef ON subdef.record_id = record.record_id
|
||||
)
|
||||
FROM ( log )
|
||||
INNER JOIN log_docs as log_date (ON log.id = log_date.log_id)
|
||||
INNER JOIN record ON (log_date.record_id = record.record_id)
|
||||
INNER JOIN subdef ON (subdef.record_id = record.record_id)
|
||||
WHERE (
|
||||
' . $finalfilter . '
|
||||
)
|
||||
|
@@ -74,7 +74,8 @@ class module_report_nav extends module_report
|
||||
$sql = '
|
||||
SELECT
|
||||
SUM(1) AS total
|
||||
FROM log
|
||||
FROM (log)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
WHERE (' . $report_filter['sql'] . '
|
||||
AND nav != TRIM(\'\')
|
||||
)
|
||||
|
@@ -30,7 +30,6 @@ class module_report_question extends module_report
|
||||
, 'fonction' => 'log.fonction'
|
||||
, 'site' => 'log.site'
|
||||
, 'sit_session' => 'log.sit_session'
|
||||
, 'coll_list' => 'log.coll_list'
|
||||
, 'appli' => 'log.appli'
|
||||
, 'ip' => 'log.ip'
|
||||
);
|
||||
|
@@ -52,13 +52,13 @@ class module_report_sqlaction extends module_report_sql implements module_report
|
||||
|
||||
$this->sql =
|
||||
"
|
||||
SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.*
|
||||
FROM (log_docs as d
|
||||
INNER JOIN log ON " . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
INNER JOIN record ON record.record_id = d.record_id
|
||||
LEFT JOIN subdef as s ON s.record_id=d.record_id and s.name='document')
|
||||
WHERE";
|
||||
SELECT log.usrid, log.user , d.final as getter, d.record_id, d.date, s.*
|
||||
FROM (log_docs as d)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = d.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
|
||||
WHERE";
|
||||
|
||||
$this->sql .= $report_filter['sql'] . " AND (d.action = :action)";
|
||||
|
||||
@@ -83,15 +83,15 @@ class module_report_sqlaction extends module_report_sql implements module_report
|
||||
$params = array_merge($params, $site_filter['params'], $report_filter['params'], $record_filter['params']);
|
||||
|
||||
$this->sql = "
|
||||
SELECT TRIM(" . $this->getTransQuery($this->groupby) . ")
|
||||
as " . $this->groupby . ",
|
||||
SUM(1) as nombre
|
||||
FROM (log_docs as d
|
||||
INNER JOIN log ON " . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
INNER JOIN record ON record.record_id = d.record_id
|
||||
LEFT JOIN subdef as s ON s.record_id=d.record_id and s.name='document')
|
||||
WHERE ";
|
||||
SELECT TRIM(" . $this->getTransQuery($this->groupby) . ")
|
||||
as " . $this->groupby . ",
|
||||
SUM(1) as nombre
|
||||
FROM (log_docs as d)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . " AND log.id = d.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id and s.name='document')
|
||||
WHERE ";
|
||||
|
||||
$this->sql .= $report_filter['sql'] . " AND (d.action = :action)";
|
||||
|
||||
@@ -122,12 +122,13 @@ class module_report_sqlaction extends module_report_sql implements module_report
|
||||
|
||||
$sql = "
|
||||
SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val
|
||||
FROM (log_docs as d
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . ")
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id AND s.name='document'))
|
||||
FROM (log_docs as d)
|
||||
INNER JOIN log ON (" . $site_filter['sql'] . "
|
||||
AND log.id = d.log_id
|
||||
AND " . $date_filter['sql'] . ")
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (record.record_id = d.record_id)
|
||||
LEFT JOIN subdef as s ON (s.record_id=d.record_id AND s.name='document')
|
||||
WHERE ";
|
||||
|
||||
if ($this->filter->getReportFilter()) {
|
||||
|
@@ -43,10 +43,10 @@ class module_report_sqlconnexion extends module_report_sql implements module_rep
|
||||
log.fonction,
|
||||
site,
|
||||
sit_session,
|
||||
coll_list,
|
||||
appli,
|
||||
ip
|
||||
FROM log";
|
||||
FROM log
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)";
|
||||
|
||||
$this->sql .= " WHERE " . $report_filter['sql'];
|
||||
$this->sql .= $this->filter->getOrderFilter() ? : '';
|
||||
@@ -59,9 +59,10 @@ class module_report_sqlconnexion extends module_report_sql implements module_rep
|
||||
$this->sql .= $this->filter->getLimitFilter() ? : '';
|
||||
} else {
|
||||
$this->sql = "
|
||||
SELECT TRIM(" . $this->getTransQuery($this->groupby) . ")
|
||||
as " . $this->groupby . ", SUM(1) as nb
|
||||
FROM log ";
|
||||
SELECT TRIM(" . $this->getTransQuery($this->groupby) . ")
|
||||
as " . $this->groupby . ", SUM(1) as nb
|
||||
FROM (log)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)";
|
||||
|
||||
if ($report_filter['sql'])
|
||||
$this->sql .= " WHERE " . $report_filter['sql'];
|
||||
@@ -83,8 +84,10 @@ class module_report_sqlconnexion extends module_report_sql implements module_rep
|
||||
$report_filter = $this->filter->getReportFilter();
|
||||
$params = $report_filter['params'];
|
||||
|
||||
$sql = 'SELECT DISTINCT(' . $this->getTransQuery($field) . ') as val
|
||||
FROM log ';
|
||||
$sql = '
|
||||
SELECT DISTINCT(' . $this->getTransQuery($field) . ') as val
|
||||
FROM (log)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)';
|
||||
|
||||
if ($report_filter['sql'])
|
||||
$sql .= ' WHERE ' . $report_filter['sql'];
|
||||
|
@@ -52,10 +52,10 @@ class module_report_sqldownload extends module_report_sql implements module_repo
|
||||
log_docs.record_id,
|
||||
log_docs.final,
|
||||
log_docs.comment
|
||||
FROM (log
|
||||
INNER JOIN log_docs ON log.id = log_docs.log_id
|
||||
INNER JOIN record ON log_docs.record_id = record.record_id
|
||||
)
|
||||
FROM (log)
|
||||
INNER JOIN log_docs ON (log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
WHERE ";
|
||||
|
||||
$this->sql .= $report_filters['sql'] ? : '';
|
||||
@@ -80,49 +80,44 @@ class module_report_sqldownload extends module_report_sql implements module_repo
|
||||
if ($name == 'record_id' && $this->on == 'DOC') {
|
||||
$this->sql = '
|
||||
SELECT
|
||||
TRIM( ' . $field . ' ) AS ' . $name . ',
|
||||
SUM(1) AS telechargement,
|
||||
record.coll_id,
|
||||
log_docs.final,
|
||||
log_docs.comment,
|
||||
subdef.size,
|
||||
subdef.file,
|
||||
subdef.mime
|
||||
FROM ( log
|
||||
INNER JOIN log_docs ON log.id = log_docs.log_id
|
||||
INNER JOIN record ON log_docs.record_id = record.record_id
|
||||
INNER JOIN subdef ON (log_docs.record_id = subdef.record_id
|
||||
AND subdef.name = log_docs.final
|
||||
)
|
||||
)
|
||||
TRIM( ' . $field . ' ) AS ' . $name . ',
|
||||
SUM(1) AS telechargement,
|
||||
record.coll_id,
|
||||
log_docs.final,
|
||||
log_docs.comment,
|
||||
subdef.size,
|
||||
subdef.file,
|
||||
subdef.mime
|
||||
FROM (log)
|
||||
INNER JOIN log_docs ON (log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
INNER JOIN subdef ON (log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final)
|
||||
WHERE
|
||||
';
|
||||
} elseif ($this->on == 'DOC') {
|
||||
$this->sql = '
|
||||
SELECT
|
||||
TRIM(' . $field . ') AS ' . $name . ',
|
||||
SUM(1) AS telechargement
|
||||
FROM ( log
|
||||
INNER JOIN log_docs ON log.id = log_docs.log_id
|
||||
INNER JOIN record ON log_docs.record_id = record.record_id
|
||||
INNER JOIN subdef ON ( log_docs.record_id = subdef.record_id
|
||||
AND subdef.name = log_docs.final
|
||||
)
|
||||
)
|
||||
WHERE
|
||||
';
|
||||
SELECT
|
||||
TRIM(' . $field . ') AS ' . $name . ',
|
||||
SUM(1) AS telechargement
|
||||
FROM ( log )
|
||||
INNER JOIN log_docs ON (log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
INNER JOIN subdef ON ( log_docs.record_id = subdef.record_id AND subdef.name = log_docs.final)
|
||||
WHERE';
|
||||
} else {
|
||||
|
||||
$this->sql = '
|
||||
SELECT
|
||||
TRIM( ' . $this->getTransQuery($this->groupby) . ') AS ' . $name . ',
|
||||
SUM(1) AS nombre
|
||||
FROM ( log
|
||||
INNER JOIN log_docs ON log.id = log_docs.log_id
|
||||
INNER JOIN record ON log_docs.record_id = record.record_id
|
||||
INNER JOIN subdef ON (record.record_id = subdef.record_id AND subdef.name = "document")
|
||||
)
|
||||
WHERE ';
|
||||
SELECT
|
||||
TRIM( ' . $this->getTransQuery($this->groupby) . ') AS ' . $name . ',
|
||||
SUM(1) AS nombre
|
||||
FROM ( log )
|
||||
INNER JOIN log_docs ON (log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
INNER JOIN subdef ON (record.record_id = subdef.record_id AND subdef.name = "document")
|
||||
WHERE ';
|
||||
}
|
||||
|
||||
$this->sql .= $report_filters['sql'];
|
||||
@@ -159,10 +154,11 @@ class module_report_sqldownload extends module_report_sql implements module_repo
|
||||
|
||||
$sql = '
|
||||
SELECT DISTINCT( ' . $this->getTransQuery($field) . ' ) AS val
|
||||
FROM (log
|
||||
INNER JOIN log_docs ON log.id = log_docs.log_id
|
||||
INNER JOIN record ON log_docs.record_id = record.record_id
|
||||
INNER JOIN subdef ON log_docs.record_id = subdef.record_id)
|
||||
FROM (log)
|
||||
INNER JOIN log_docs ON (log.id = log_docs.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
INNER JOIN record ON (log_docs.record_id = record.record_id)
|
||||
INNER JOIN subdef ON (log_docs.record_id = subdef.record_id)
|
||||
WHERE ';
|
||||
|
||||
$sql .= $report_filters['sql'];
|
||||
|
@@ -47,10 +47,12 @@ class module_report_sqlfilter
|
||||
{
|
||||
$ret = array('sql' => '', 'params' => array());
|
||||
$coll_filter = array();
|
||||
foreach (explode(',', $list_coll_id) as $val) {
|
||||
$coll_filter [] = " position('," . phrasea::collFromBas($app, $val) . ",' in concat(',' ,coll_list, ',')) > 0 ";
|
||||
foreach (array_filter(explode(',', $list_coll_id)) as $val) {
|
||||
if( false !== $val = phrasea::collFromBas($app, $val)) {
|
||||
$coll_filter[] = 'log_colls.coll_id = '.phrasea::collFromBas($app, $val);
|
||||
}
|
||||
}
|
||||
$ret['sql'] = implode(' OR ', $coll_filter);
|
||||
$ret['sql'] = ' (' . implode(' OR ', array_unique($coll_filter)) . ') ';
|
||||
|
||||
return $ret;
|
||||
}
|
||||
@@ -75,7 +77,7 @@ class module_report_sqlfilter
|
||||
$params = array_merge($params, $this->filter['user']['params']);
|
||||
}
|
||||
if ($this->filter['collection']) {
|
||||
$finalfilter .= '(' . $this->filter['collection']['sql'] . ') AND ';
|
||||
$finalfilter .= $this->filter['collection']['sql'] . ' AND ';
|
||||
$params = array_merge($params, $this->filter['collection']['params']);
|
||||
}
|
||||
$finalfilter .= ' log.site = :log_site';
|
||||
@@ -86,7 +88,7 @@ class module_report_sqlfilter
|
||||
public function getGvSitFilter()
|
||||
{
|
||||
$params = array();
|
||||
$sql = '';
|
||||
$sql = '1';
|
||||
|
||||
if ($this->app['phraseanet.registry']->is_set('GV_sit')) {
|
||||
$sql = 'log.site = :log_site_gv_filter';
|
||||
@@ -190,12 +192,16 @@ class module_report_sqlfilter
|
||||
return;
|
||||
}
|
||||
|
||||
$tab = explode(",", $report->getListCollId());
|
||||
$tab = array_filter(explode(",", $report->getListCollId()));
|
||||
|
||||
if (count($tab) > 0) {
|
||||
foreach ($tab as $val) {
|
||||
$coll_filter[] = " position('," . phrasea::collFromBas($this->app, $val) . ",' in concat(',' ,coll_list, ',')) > 0 ";
|
||||
if( false !== $val = phrasea::collFromBas($this->app, $val)) {
|
||||
$coll_filter[] = 'log_colls.coll_id = '.phrasea::collFromBas($this->app, $val);
|
||||
}
|
||||
}
|
||||
$this->filter['collection'] = array('sql' => implode(' OR ', $coll_filter), 'params' => array());
|
||||
|
||||
$this->filter['collection'] = array('sql' => ' (' . implode(' OR ', array_unique($coll_filter)) . ') ', 'params' => array());
|
||||
}
|
||||
|
||||
return;
|
||||
|
@@ -33,21 +33,19 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
|
||||
$this->params = $params;
|
||||
|
||||
if ($this->groupby == false) {
|
||||
$this->sql =
|
||||
"
|
||||
SELECT
|
||||
log_search.date ddate,
|
||||
search,
|
||||
usrid,
|
||||
user,
|
||||
pays,
|
||||
societe,
|
||||
activite,
|
||||
fonction
|
||||
FROM `log_search`
|
||||
INNER JOIN log
|
||||
ON log.id = log_search.log_id
|
||||
";
|
||||
$this->sql ="
|
||||
SELECT
|
||||
log_search.date ddate,
|
||||
search,
|
||||
usrid,
|
||||
user,
|
||||
pays,
|
||||
societe,
|
||||
activite,
|
||||
fonction
|
||||
FROM (`log_search`)
|
||||
INNER JOIN log ON (log.id = log_search.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)";
|
||||
|
||||
$this->sql .= " WHERE " . $report_filter['sql'];
|
||||
|
||||
@@ -61,13 +59,13 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
|
||||
$this->sql .= $this->filter->getLimitFilter() ? : '';
|
||||
} else {
|
||||
$this->sql = "
|
||||
SELECT
|
||||
TRIM(" . $this->getTransQuery($this->groupby) . ") as " . $this->groupby . ",
|
||||
SUM(1) as nb
|
||||
FROM `log_search`
|
||||
INNER JOIN log
|
||||
ON log.id = log_search.log_id
|
||||
";
|
||||
SELECT
|
||||
TRIM(" . $this->getTransQuery($this->groupby) . ") as " . $this->groupby . ",
|
||||
SUM(1) as nb
|
||||
FROM (`log_search`)
|
||||
INNER JOIN log ON (log.id = log_search.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
";
|
||||
|
||||
$this->sql .= " WHERE " . $report_filter['sql'];
|
||||
$this->sql .= " GROUP BY " . $this->groupby;
|
||||
@@ -90,9 +88,9 @@ class module_report_sqlquestion extends module_report_sql implements module_repo
|
||||
|
||||
$sql = "
|
||||
SELECT DISTINCT(" . $this->getTransQuery($field) . ") as val
|
||||
FROM `log_search`
|
||||
INNER JOIN log
|
||||
ON log.id = log_search.log_id
|
||||
FROM (`log_search`)
|
||||
INNER JOIN log ON (log.id = log_search.log_id)
|
||||
INNER JOIN log_colls ON (log.id = log_colls.log_id)
|
||||
";
|
||||
|
||||
if ($report_filter['sql'])
|
||||
|
Reference in New Issue
Block a user