BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 25 июн 2025, 16:42

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 23 апр 2010, 13:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
В конфиге модуля dialup есть параметр
traffics=
В нем указывается список трафиков для отображения в статистике в клиенте и web-статистике.
Сами трафики указываются в конфигах NAS-ов, причем для каждого realm-а они могут быть свои.
Проблема в том, что число различных услуг растет, и все они должны отображаться в одну строку.

Можно хотя бы в клиенте разнести строку с названиями трафиков и окошко с самими итоговыми трафиками по разным строкам?
Очень неудобно выглядит.
Вложение:
pppoetraffictitleabuse.JPG
pppoetraffictitleabuse.JPG [ 167.08 КБ | Просмотров: 5255 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 апр 2010, 18:01 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
если будет интересно могу рассказать как в вебе выводить трафики столбцами


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 май 2010, 14:58 
Не в сети
Клиент

Зарегистрирован: 27 окт 2009, 16:17
Сообщения: 319
Откуда: Иркутск
Карма: 18
расскажи.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2010, 20:20 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
чтобы сессии логина выглядели так:

Изображение

а наработка по логинам выглядела так:

Изображение

надо:
- распаковать dialup_web_add.zip в корень веба
- в dialup.xsl изменить шаблон ShowSessions приведя его к виду:
Код:
<!-- сессии логина -->
<xsl:template name="ShowSessions">
   <form method="post" action="{$WEBEXECUTER}#idDivReport" name="sessions">
      <xsl:variable name="module" select="/data/@module" />
      <xsl:call-template name="action" />
      <xsl:call-template name="error" />
      <xsl:call-template name="sessionFilter" />
   </form>
   <form method="post" action="{$WEBEXECUTER}">
      <xsl:call-template name="action" />
      <input type="hidden" name="createDetail" id="createDetailId" value="0" />
      <div style="display:none">
         <xsl:call-template name="sessionFilter" />
      </div>
      <xsl:call-template name="AddReportReferences" />
      <xsl:call-template name="report">
         <xsl:with-param name="node" select="sessions" />
         <xsl:with-param name="data">
            <script language="JavaScript" type="text/javascript" src="./sorttable.js"></script>
            <table cellspacing="1" id="idTableDialUpSessions" class="sortable">
               <col class="col2" />
               <col class="col3" />
               <col class="col4" />
               <col class="col5" />
               <xsl:call-template name="split_col">
                  <xsl:with-param name="list"><xsl:value-of select="sessions/@traffics_title" /></xsl:with-param>
                  <xsl:with-param name="delimiter">/</xsl:with-param>
               </xsl:call-template>
               <col class="col7" />
               <thead>
                  <tr>
                     <td>Время входа</td>
                     <td>Время выхода</td>
                     <td>Длительность</td>
                     <td>Сумма, руб.</td>
                     <xsl:call-template name="split_td">
                        <xsl:with-param name="list"><xsl:value-of select="sessions/@traffics_title" /></xsl:with-param>
                        <xsl:with-param name="delimiter">/</xsl:with-param>
                        <xsl:with-param name="text">, MB</xsl:with-param>
                     </xsl:call-template>
                     <td style="background-color: #ffffff;" class="sorttable_nosort"></td>
                  </tr>
               </thead>
               <tbody>
                  <xsl:for-each select="sessions/row">
                     <tr style="text-align: right;">
                        <td style="text-align: left;"><xsl:value-of select="@f0" /></td>
                        <td style="text-align: left;"><xsl:value-of select="@f1" /></td>
                        <td><xsl:value-of select="normalize-space(substring-before(@f2, '['))" /></td>
                        <td><xsl:value-of select="format-number(translate(@f3, ' ', ''), '#0.00')" /></td>
                        <xsl:for-each select="traffic">
                           <td><xsl:value-of select="format-number((. div 1048576), '#0.000')" /></td>
                        </xsl:for-each>
                        <td style="text-align: center;"><input type="radio" name="session_id" value="{@id}" style="margin:0px; padding:0px;" /></td>
                     </tr>
                  </xsl:for-each>
               </tbody>
               <tfoot>
                  <tr style="text-align: right;">
                     <td colspan="2" style="text-align: center;">Итого:</td>
                     <td><xsl:value-of select="normalize-space(substring-before(sessions/@time_amount, '['))" /></td>
                     <td><xsl:value-of select="format-number(sessions/@money_amount, '#0.00')" /></td>
                     <xsl:for-each select="sessions/traffic">
                        <td><xsl:value-of select="format-number((. div 1048576), '#0.000')" /></td>
                     </xsl:for-each>
                     <td></td>
                  </tr>
               </tfoot>
            </table>
         </xsl:with-param>
      </xsl:call-template>

      <xsl:choose>
         <xsl:when test="not(sessions/row)"></xsl:when>
         <xsl:when test="createDetail/@created='1'">
            <table cellspacing="0" class="filter">
               <tr>
                  <th>Отправка детализации поставлена в очередь.</th>
               </tr>
            </table>
         </xsl:when>
         <xsl:otherwise>
            <table cellspacing="0" class="filter" id="idTableDialupCreateDetail">
               <tr>
                  <th>Выслать детализацию для выбранной сессии на e-mail: <input name="mail" type="text" size="30"></input></th>
                  <th>
                     <xsl:call-template name="button">
                        <xsl:with-param name="title">Выслать</xsl:with-param>
                        <xsl:with-param name="onclick">document.getElementById("createDetailId").value=1; setPage(<xsl:value-of  select="sessions/@pageIndex" />, this);</xsl:with-param>
                     </xsl:call-template>
                  </th>
               </tr>
            </table>
         </xsl:otherwise>
      </xsl:choose>
   </form>
</xsl:template>

для сессий и изменить шаблон ShowLoginsBalance приведя его к виду:
Код:
<!-- наработка по логинам -->
<xsl:template name="ShowLoginsBalance">
   <form method="post" action="{$WEBEXECUTER}#idDivReport" name="sessions">
      <xsl:variable name="module" select="/data/@module" />
      <xsl:call-template name="action" />
      <input type="hidden" name="pageIndex" value="1" />

      <xsl:call-template name="periodFilter" />
      <script language="JavaScript" type="text/javascript" src="./sorttable.js"></script>
      <div class="report" id="idDivReportTable">
         <table cellspacing="1" id="idTableDialUpLoginsBalance" class="sortable">
            <thead>
               <tr>
                  <td>Логин</td>
                  <td>Количество сессий</td>
                  <td>Время</td>
                  <td>Стоимость</td>
                  <xsl:if test="$module='dialup'">
                     <xsl:call-template name="split_td">
                        <xsl:with-param name="list"><xsl:value-of select="amounts/@traffics_title" /></xsl:with-param>
                        <xsl:with-param name="delimiter">/</xsl:with-param>
                        <xsl:with-param name="text">, MB</xsl:with-param>
                     </xsl:call-template>
                  </xsl:if>
               </tr>
            </thead>
            <tbody>
               <xsl:for-each select="amounts/row">
                  <tr style="text-align: right;">
                     <td style="text-align: left;"><xsl:value-of select="normalize-space(substring-before(substring-after(@f0, '['), ']'))" /></td>
                     <td><xsl:value-of select="@f1" /></td>
                     <td><xsl:value-of select="normalize-space(substring-before(@f2, '['))" /></td>
                     <td><xsl:value-of select="@f3" /></td>
                     <xsl:if test="$module='dialup'">
                           <xsl:for-each select="traffic">
                              <td><xsl:value-of select="format-number((. div 1048576), '#0.000')" /></td>
                           </xsl:for-each>
                     </xsl:if>
                  </tr>
               </xsl:for-each>
            </tbody>
            <tfoot>
               <tr style="text-align: right;">
                  <td>Итого:</td>
                  <td><xsl:value-of select="amounts/@count_amount" /></td>
                  <td><xsl:value-of select="normalize-space(substring-before(amounts/@time_amount, '['))" /></td>
                  <td><xsl:value-of select="amounts/@money_amount" /></td>
                  <xsl:if test="$module='dialup'">
                        <xsl:for-each select="amounts/traffic">
                           <td><xsl:value-of select="format-number((. div 1048576), '#0.000')" /></td>
                        </xsl:for-each>
                  </xsl:if>
               </tr>
            </tfoot>
         </table>
      </div>
   </form>
</xsl:template>

для нарабоки ...

основной момент всего этого безобразия - это
Код:
<xsl:call-template name="split_col">
    <xsl:with-param name="list"><xsl:value-of select="sessions/@traffics_title" /></xsl:with-param>
    <xsl:with-param name="delimiter">/</xsl:with-param>
</xsl:call-template>

рисующее тег "<col />", тобишь колонку для трафиков, и
Код:
<xsl:call-template name="split_td">
    <xsl:with-param name="list"><xsl:value-of select="sessions/@traffics_title" /></xsl:with-param>
    <xsl:with-param name="delimiter">/</xsl:with-param>
    <xsl:with-param name="text">, MB</xsl:with-param>
</xsl:call-template>

рисующее тег "<td>данные</td>", тобишь ячейку таблицы с собсно данными о трафике

конструкция:
Код:
<xsl:value-of select="normalize-space(substring-before(@f2, '['))" />

используется для того чтобы не рисовать время в секундах при выводе времени, т.е. будут видны только часы:минуты:секунды, а конструкция
Код:
<xsl:value-of select="normalize-space(substring-before(substring-after(@f0, '['), ']'))" />

используется чтобы не выводить, на мой взгляд не нужный пользователю, ID логина, т.е. пользовтель видит только свой алиас

строчка
Код:
<script language="JavaScript" type="text/javascript" src="./sorttable.js"></script>

служит для того чтобы выводимые данные можно было сортировать нажимая на заголовок, т.е. пользователь жмет на любой заголовок и вся таблица сортируется по выбранному заголовку

BTW, это все работает в 4.6, но под 5.х переделать не составит особого труда ... жаль только что этого нет в стандартной поставке :(


Вложения:
Комментарий к файлу: добавка к стандартному вебу
dialup_web_add.zip [5.92 КБ]
Скачиваний: 383
Комментарий к файлу: общий вид наработки
dialup наработка.jpg
dialup наработка.jpg [ 33.79 КБ | Просмотров: 5211 ]
Комментарий к файлу: общий вид сессий
dialup сессии.jpg
dialup сессии.jpg [ 63.1 КБ | Просмотров: 5211 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 май 2010, 18:42 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
жаль только что этого нет в стандартной поставке

Сделали для 5.1


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2010, 15:01 
Не в сети

Зарегистрирован: 01 июн 2010, 00:18
Сообщения: 26
Карма: 0
Доброго дня. Пытаемся изменить файл, после замены выдает чистый лист.... по коду ничего нету сверхъестественного, вопрос, что может быть, отличие есть в скобках, у нас ' у вас " имеет ли это значение, или что может быть!?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2010, 18:23 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
tj.anton писал(а):
у нас ' у вас " имеет ли это значение

имеет и причем самое непосредственное!
Код:
'
и
Код:
"
для xml/xsl, впрочем как и везде, это принципиально разные скобки!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2010, 19:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
tj.anton писал(а):
Доброго дня. Пытаемся изменить файл, после замены выдает чистый лист.... по коду ничего нету сверхъестественного, вопрос, что может быть, отличие есть в скобках, у нас ' у вас " имеет ли это значение, или что может быть!?

чистый лист потомучто что то неправильно выставленно, я день убил чтоб подстроить как нужно.

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2010, 19:35 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
неправильно выставлено ... что?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 июл 2010, 08:43 
Не в сети

Зарегистрирован: 12 авг 2009, 07:06
Сообщения: 28
Откуда: Камчатка
Карма: 0
У меня тоже в итоге чистый лист выдаёт, в server.out:
Цитата:
/layout.xsl; line 9, column 34: Указанный шаблон не найден: main

Буду сейчас искать, что не так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 июл 2010, 08:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Попробуйте править по одному параметру, поймете что нужно и будет проще :)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.074s | 43 Queries | GZIP : On ]