From d0daca7548c33cc14f3549312ebaa4aa5656e6de Mon Sep 17 00:00:00 2001 From: vitalif Date: Mon, 30 Aug 2010 22:16:06 +0000 Subject: [PATCH] Handheld CSS for FoF --- olap.php | 14 ++++++++++- olap_config.php | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/olap.php b/olap.php index 1790178..577a5dc 100644 --- a/olap.php +++ b/olap.php @@ -75,6 +75,13 @@ class OLAP foreach (self::$current_src['fielddescs'] as $k => &$v) { $v['id'] = $k; + if ($v['autofilter']) + { + $f = $v['sql']; + if (!$f) + $f = $k; + $v['options'] = mysql_select(self::$current_src['tables'], "$f id, $f name", self::$current_src['where'], array('GROUP BY' => $f)); + } if ($v['options']) { if (is_callable($v['options'])) @@ -103,9 +110,14 @@ class OLAP { list($t, $f) = explode('-', substr($k, 6), 2); $fd = self::$current_src['fielddescs'][$f]; + if (!$fd) + { + $f = str_replace('_', ' ', $f); + $fd = self::$current_src['fielddescs'][$f]; + } if (!$fd || !strlen($v)) continue; - $wh[$k] = $v; + $wh["where-$t-$f"] = $v; if ($fd['is_time']) $v = Template::timestamp($v, self::$current_src['fielddescs'][$f]['format']); $dn = $fd['sql']; diff --git a/olap_config.php b/olap_config.php index 8a9aac6..1e76613 100644 --- a/olap_config.php +++ b/olap_config.php @@ -25,6 +25,68 @@ OLAP::$sources = array( ), ), ), + 'real_august2' => array( + 'db' => array('chk', 'localhost', 'chk', 'chk'), + 'name' => 'РЕАЛ Август 2', + 'tables' => array('t' => 'real_august2'), + 'where' => array(), + 'fielddescs' => array( + 'Page No' => array( + 'sql' => '`Page No`', + 'name' => 'Номер страницы', + 'le_ge' => true, + ), + 'Frame No' => array( + 'sql' => '`Frame No`', + 'name' => 'Frame No', + 'le_ge' => true, + ), + 'FNF' => array( + 'name' => 'Food / Non-Food', + 'options' => array( + array('id' => 'F', 'name' => 'Food'), + array('id' => 'N', 'name' => 'Non-Food'), + ), + ), + 'CMA' => array( + 'name' => 'Category Manager', + 'le_ge' => true, + ), + 'CMA Description' => array( + 'sql' => '`CMA Description`', + 'name' => 'Категория', + 'autofilter' => true, + ), + 'Leading Article' => array( + 'sql' => '`Leading Article`', + 'name' => 'Артикул', + ), + 'Article Description' => array( + 'sql' => '`Article Description`', + 'name' => 'Описание артикула', + ), + 'Price' => array( + 'name' => 'Цена', + 'le_ge' => true, + ), + 'Sales' => array( + 'name' => 'Продажи', + 'le_ge' => true, + ), + 'Qty' => array( + 'name' => 'Количество', + 'le_ge' => true, + ), + 'Margin' => array( + 'name' => 'Маржа', + 'le_ge' => true, + ), + 'Profit' => array( + 'name' => 'Доход', + 'le_ge' => true, + ), + ), + ), 'chk' => array( 'id' => 'chk', 'db' => array('chk', 'localhost', 'chk', 'chk'),