Multimag  0.2.992
priceinfo.php
См. документацию.
1 <?php
2 
3 // MultiMag v0.2 - Complex sales system
4 //
5 // Copyright (C) 2005-2018, BlackLight, TND Team, http://tndproject.org
6 //
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
16 //
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 namespace Widgets;
20 
21 class PriceInfo extends \IWidget {
22 
23  protected $mode; //< Режим выдачи
24 
25  public function getName() {
26  return 'Виджет с информацией о ценах';
27  }
28 
29  public function getDescription() {
30  return 'Формирует таблицу с информацией о скидках. Если параметр содержит b - выводися информация о разовых скидках. '
31  . 'Если параметр содержит a - о накопительных. Если v - выводися информация о размерах скидок. По умолчанию - bav.';
32  }
33 
34  public function setParams($param_str) {
35  $this->mode = $param_str;
36  return true;
37  }
38 
39  public function getHTML() {
40  global $CONFIG, $db;
41  if ($this->mode) {
42  $o_b = stripos($this->mode, 'b')!==false ? true : false;
43  $o_a = stripos($this->mode, 'a')!==false ? true : false;
44  $o_v = stripos($this->mode, 'v')!==false ? true : false;
45  } else {
46  $o_b = true;
47  $o_a = true;
48  $o_v = true;
49  }
50 
51  $res = $db->query("SELECT `id`, `name`, `type`, `value`, `context`, `priority`, `bulk_threshold`, `acc_threshold` "
52  . "FROM `doc_cost` ORDER BY `priority` DESC");
53 
54  $ret = "<table class='list'><tr><th>Наименование</th>";
55  if ($o_v) {
56  $ret .="<th>Средняя скидка</th>";
57  }
58  if ($o_b) {
59  $ret.="<th>Разовый порог</th>";
60  }
61  if ($o_a) {
62  $ret .= "<th>Накопительный порог</th>";
63  }
64  $ret .= "</tr>";
65 
66  while ($line = $res->fetch_assoc()) {
67  if (strpos($line['context'], 'b') === false) {
68  continue;
69  }
70  $ret .= "<tr><td>" . html_out($line['name']) . "</td>";
71  if ($o_v) {
72  $unit = '%';
73  if ($line['type'] == 'abs') {
74  $unit = 'р.';
75  }
76  $ret .= "<td>{$line['value']} $unit</td>";
77  }
78  if ($o_b) {
79  $bt = number_format($line['bulk_threshold'], 0, ".", "&nbsp;");
80  $ret .= "<td>$bt р.</td>";
81  }
82  if ($o_a) {
83  $at = number_format($line['acc_threshold'], 0, ".", "&nbsp;");
84  $ret .= "<td>$at р.</td>";
85  }
86  $ret .= "</tr>";
87  }
88  $ret .= '</table>';
89  return $ret;
90  }
91 
92 }
$res
Definition: fixer.php:178
html_out($data)
Обёртка над htmlentities.
Definition: core.php:249
Базовый класс для виджетов
Definition: iwidget.php:21
$line
Definition: priceload.php:39
$at
Definition: 1c_sync.php:39
$db
setParams($param_str)
Definition: priceinfo.php:34
Definition: cbox.php:19
$CONFIG['site']['admin_name']