mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-03-12 17:05:46 +00:00
getStatistics() returns propper values for each single value in a valueset
This commit is contained in:
parent
b51b3bb9f3
commit
544e151135
|
@ -798,10 +798,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
|
|||
}
|
||||
}
|
||||
}
|
||||
$valueset = $this->getValueSetAsArray();
|
||||
$possiblevalues = array();
|
||||
foreach($valueset as $value) {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
|
||||
}
|
||||
$queryStr = "SELECT count(*) c, `value` FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if($resArr) {
|
||||
$result['frequencies']['document'] = $resArr;
|
||||
foreach($resArr as $row) {
|
||||
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
|
||||
foreach($tmpattr->getValueAsArray() as $value) {
|
||||
if(isset($possiblevalues[md5($value)])) {
|
||||
$possiblevalues[md5($value)]['c'] += $row['c'];
|
||||
} else {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result['frequencies']['document'] = $possiblevalues;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -818,10 +833,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
|
|||
}
|
||||
}
|
||||
}
|
||||
$valueset = $this->getValueSetAsArray();
|
||||
$possiblevalues = array();
|
||||
foreach($valueset as $value) {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
|
||||
}
|
||||
$queryStr = "SELECT count(*) c, `value` FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if($resArr) {
|
||||
$result['frequencies']['folder'] = $resArr;
|
||||
foreach($resArr as $row) {
|
||||
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
|
||||
foreach($tmpattr->getValueAsArray() as $value) {
|
||||
if(isset($possiblevalues[md5($value)])) {
|
||||
$possiblevalues[md5($value)]['c'] += $row['c'];
|
||||
} else {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result['frequencies']['folder'] = $possiblevalues;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -838,10 +868,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
|
|||
}
|
||||
}
|
||||
}
|
||||
$valueset = $this->getValueSetAsArray();
|
||||
$possiblevalues = array();
|
||||
foreach($valueset as $value) {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
|
||||
}
|
||||
$queryStr = "SELECT count(*) c, `value` FROM `tblDocumentContentAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if($resArr) {
|
||||
$result['frequencies']['content'] = $resArr;
|
||||
foreach($resArr as $row) {
|
||||
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
|
||||
foreach($tmpattr->getValueAsArray() as $value) {
|
||||
if(isset($possiblevalues[md5($value)])) {
|
||||
$possiblevalues[md5($value)]['c'] += $row['c'];
|
||||
} else {
|
||||
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result['frequencies']['content'] = $possiblevalues;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -879,8 +924,11 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
|
|||
|
||||
$result = array('docs'=>array(), 'folders'=>array(), 'contents'=>array());
|
||||
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
|
||||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
|
||||
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
|
||||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
|
||||
if($this->_multiple)
|
||||
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND (`value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue.$this->getValueSetSeparator()."%")." OR `value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue).")";
|
||||
else
|
||||
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
|
||||
if($limit)
|
||||
$queryStr .= " limit ".(int) $limit;
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
|
@ -895,7 +943,10 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
|
|||
|
||||
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
|
||||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_folder) {
|
||||
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
|
||||
if($this->_multiple)
|
||||
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND (`value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue.$this->getValueSetSeparator()."%")." OR `value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue).")";
|
||||
else
|
||||
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
|
||||
if($limit)
|
||||
$queryStr .= " limit ".(int) $limit;
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
|
|
Loading…
Reference in New Issue
Block a user