';
+
+// Select object
+print '
';
+print '
'.$langs->trans("StatisticsOn").'
';
+print $form->selectarray('objecttype', $arrayoftype, $objecttype, 0, 0, 0, '', 1, 0, 0, '', '', 1);
+if (empty($conf->use_javascript_ajax)) print '
';
+else {
+ print '';
+}
+print '
';
+
+
+// Add Filter
+print '
';
+print $form->searchComponent(array($object->element => $object->fields), $search_component_params);
+print '
';
+
+// Measures
+print '
';
+foreach($object->fields as $key => $val) {
+ if ($val['isameasure']) {
+ $arrayofmesures['t.'.$key.'-sum'] = $langs->trans($val['label']).'
('.$langs->trans("Sum").')';
+ $arrayofmesures['t.'.$key.'-average'] = $langs->trans($val['label']).'
('.$langs->trans("Average").')';
+ }
+}
+// Add measure from extrafields
+if ($object->isextrafieldmanaged) {
+ foreach($extrafields->attributes[$object->table_element]['label'] as $key => $val) {
+ if (! empty($extrafields->attributes[$object->table_element]['totalizable'][$key])) {
+ $arrayofmesures['te.'.$key.'-sum'] = $langs->trans($extrafields->attributes[$object->table_element]['label'][$key]).'
('.$langs->trans("Sum").')';
+ $arrayofmesures['te.'.$key.'-average'] = $langs->trans($extrafields->attributes[$object->table_element]['label'][$key]).'
('.$langs->trans("Average").')';
+ }
+ }
+}
+print '
'.$langs->trans("Measures").'
';
+print $form->multiselectarray('search_measures', $arrayofmesures, $search_measures, 0, 0, 'minwidth500', 1);
+print '
';
+
+// XAxis
+print '
';
+foreach($object->fields as $key => $val) {
+ if (! $val['measure']) {
+ if (in_array($key, array('id', 'ref_int', 'ref_ext', 'rowid', 'entity', 'last_main_doc', 'extraparams'))) continue;
+ if (isset($val['enabled']) && ! dol_eval($val['enabled'], 1)) continue;
+ if (preg_match('/^fk_/', $key)) continue;
+ if (in_array($val['type'], array('html', 'text'))) continue;
+ if (in_array($val['type'], array('timestamp', 'date', 'datetime'))) {
+ $arrayofxaxis['t.'.$key.'-year'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Year").')', 'position' => $val['position']);
+ $arrayofxaxis['t.'.$key.'-month'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Month").')', 'position' => $val['position']);
+ $arrayofxaxis['t.'.$key.'-day'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Day").')', 'position' => $val['position']);
+ } else {
+ $arrayofxaxis['t.'.$key] = array('label' => $val['label'], 'position' => (int) $val['position']);
+ }
+ }
+ // Add measure from extrafields
+ if ($object->isextrafieldmanaged) {
+ foreach($extrafields->attributes[$object->table_element]['label'] as $key => $val) {
+ if (! empty($extrafields->attributes[$object->table_element]['totalizable'][$key])) {
+ $arrayofxaxis['te.'.$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'position' => (int) $extrafields->attributes[$object->table_element]['pos'][$key]);
+ }
+ }
+ }
+}
+$arrayofxaxis = dol_sort_array($arrayofxaxis, 'position');
+$arrayofxaxislabel = array();
+foreach($arrayofxaxis as $key => $val) {
+ $arrayofxaxislabel[$key] = $val['label'];
+}
+print '
'.$langs->trans("XAxis").'
';
+print $form->multiselectarray('search_xaxis', $arrayofxaxislabel, $search_xaxis, 0, 0, 'minwidth500', 1);
+print '
';
+
+// YAxis
+if ($mode == 'grid') {
+ print '
';
+ foreach($object->fields as $key => $val) {
+ if (! $val['measure']) {
+ if (in_array($key, array('id', 'rowid', 'entity', 'last_main_doc', 'extraparams'))) continue;
+ if (preg_match('/^fk_/', $key)) continue;
+ if (in_array($val['type'], array('html', 'text'))) continue;
+ if (in_array($val['type'], array('timestamp', 'date', 'datetime'))) {
+ $arrayofyaxis['t.'.$key.'-year'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Year").')', 'position' => $val['position']);
+ $arrayofyaxis['t.'.$key.'-month'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Month").')', 'position' => $val['position']);
+ $arrayofyaxis['t.'.$key.'-day'] = array('label' => $langs->trans($val['label']).' ('.$langs->trans("Day").')', 'position' => $val['position']);
+ } else {
+ $arrayofyaxis['t.'.$key] = array('label' => $val['label'], 'position' => (int) $val['position']);
+ }
+ }
+ // Add measure from extrafields
+ if ($object->isextrafieldmanaged) {
+ foreach($extrafields->attributes[$object->table_element]['label'] as $key => $val) {
+ if (! empty($extrafields->attributes[$object->table_element]['totalizable'][$key])) {
+ $arrayofyaxis['te.'.$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'position' => (int) $extrafields->attributes[$object->table_element]['pos'][$key]);
+ }
+ }
+ }
+ }
+ $arrayofyaxis = dol_sort_array($arrayofyaxis, 'position');
+ $arrayofyaxislabel = array();
+ foreach($arrayofyaxis as $key => $val) {
+ $arrayofyaxislabel[$key] = $val['label'];
+ }
+ print '
'.$langs->trans("YAxis").'
';
+ print $form->multiselectarray('search_yaxis', $arrayofyaxislabel, $search_yaxis, 0, 0, 'minwidth100', 1);
+ print '
';
+}
+
+if ($mode == 'graph') {
+ print '
';
+ $arrayofgraphs = array('line', 'bars'); // also 'pies'
+ print '
'.$langs->trans("Graph").'
';
+ print $form->selectarray('search_graph', $arrayofgraphs, $search_graph, 0, 0, 'minwidth100', 1);
+ print '
';
+}
+print '
';
+print '';
+print '
';
+print '
';
+print '