Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatthieu_ <matthieu_@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2007-08-23 21:14:55 +0400
committermatthieu_ <matthieu_@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2007-08-23 21:14:55 +0400
commit8f7f5857cbe329e88b8104c98be3035f79f7fde4 (patch)
tree933f1fbccba84e6c31c8577f9c8b98fd41b3de63 /modules/DataTable/Renderer
parentc0a8e54d4c257a85b8479d7c45fab0a121b95e8c (diff)
- implemented the SORT filter
- implemented the EXCLUDE LOW POPULATION filter - implemented the callback filter - implemented the HTML renderer - wrote API for UserSettings (prepared logos etc.) - started API for Actions -
Diffstat (limited to 'modules/DataTable/Renderer')
-rw-r--r--modules/DataTable/Renderer/Console.php1
-rw-r--r--modules/DataTable/Renderer/HTML.php116
2 files changed, 117 insertions, 0 deletions
diff --git a/modules/DataTable/Renderer/Console.php b/modules/DataTable/Renderer/Console.php
index dc3fdc6bfc..3375bb52fe 100644
--- a/modules/DataTable/Renderer/Console.php
+++ b/modules/DataTable/Renderer/Console.php
@@ -40,6 +40,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
$details=array();
foreach($row->getDetails() as $detail => $value)
{
+ if(is_string($value)) $value = "'$value'";
$details[] = "'$detail' => $value";
}
$details = implode(", ", $details);
diff --git a/modules/DataTable/Renderer/HTML.php b/modules/DataTable/Renderer/HTML.php
new file mode 100644
index 0000000000..9ee991006f
--- /dev/null
+++ b/modules/DataTable/Renderer/HTML.php
@@ -0,0 +1,116 @@
+<?php
+
+class Piwik_DataTable_Renderer_HTML extends Piwik_DataTable_Renderer
+{
+ protected $prefixRows;
+ function __construct($table = null)
+ {
+ parent::__construct($table);
+ }
+
+ function render()
+ {
+ return $this->renderTable($this->table);
+ }
+
+ function renderTable($table)
+ {
+ if($table->getRowsCount() == 0)
+ {
+ return "<b><i>Empty table</i></b> <br>\n";
+ }
+
+ static $depth=0;
+ $i = 1;
+
+ $tableStructure = array();
+
+ /*
+ * table = array
+ * ROW1 = col1 | col2 | col3 | details | idSubTable
+ * ROW2 = col1 | col2 (no value but appears) | col3 | details | idSubTable
+ * subtable here
+ */
+ $allColumns = array();
+ foreach($table->getRows() as $row)
+ {
+ foreach($row->getColumns() as $column => $value)
+ {
+ $allColumns[$column] = true;
+ $tableStructure[$i][$column] = $value;
+ }
+
+ $details=array();
+ foreach($row->getDetails() as $detail => $value)
+ {
+ if(is_string($value)) $value = "'$value'";
+ $details[] = "'$detail' => $value";
+ }
+ $details = implode("<br>", $details);
+
+ $tableStructure[$i]['_details'] = $details;
+ $tableStructure[$i]['_idSubtable'] = $row->getIdSubDataTable();
+
+ if($row->getIdSubDataTable() !== null)
+ {
+ $depth++;
+ try{
+ $tableStructure[$i]['_subtable'] = $this->renderTable( Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable()));
+ } catch(Exception $e) {
+ $tableStructure[$i]['_subtable'] = "-- Sub DataTable not loaded";
+ }
+ $tableStructure[$i]['_subtable']['depth'] = $depth;
+ $depth--;
+ }
+ $i++;
+ }
+ $allColumns['_details'] = true;
+ $allColumns['_idSubtable'] = true;
+
+ $html = " <br><table border=1 width=70%>";
+ $html .= "<tr>";
+ foreach($allColumns as $name => $true)
+ {
+ $html .= "<td>$name</td>";
+ }
+ $colspan = count($allColumns);
+
+ foreach($tableStructure as $row)
+ {
+ $html .= "<tr>";
+ foreach($allColumns as $name => $true)
+ {
+ $value = "-";
+ if(isset($row[$name]))
+ {
+ $value = $row[$name];
+ }
+
+ $html .= "<td>$value</td>";
+ }
+ $html .= "</tr>";
+
+ $styles='<style>';
+ for($i=0;$i<11;$i++)
+ {
+ $padding=$i*2;
+ $styles.= "TD.l$i { padding-left:{$padding}em; } \n";
+ }
+ $styles.="</style>";
+
+ if(isset($row['_subtable']))
+ {
+ $html .= "<tr><td class=l{$row['_subtable']['depth']} colspan=$colspan>{$row['_subtable']}</td></tr>";
+ }
+ }
+ $html .= "</table><br>";
+
+ if($depth == 0)
+ {
+ $html = $styles . $html;
+ }
+ return $html;
+ }
+}
+
+?>