Красивые графики статистики в модуле IPN

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
Admin (Обсуждение | вклад)
(Новая: Версия биллинга - 4.4. С помощью модификации исходного шаблона ipn.xsl Возможно получение следующего вида...)
Следующая правка →

Версия 06:18, 22 сентября 2008

Версия биллинга - 4.4.

С помощью модификации исходного шаблона ipn.xsl Возможно получение следующего вида отчета по трафику. Следует учитывать, что хост charts.google.com должен быть открыт для заблокированных клиентов тоже, если требуется отображение для них статистики.

Внешний вид отчета

[code lang="xml"]

   <img width="600" height="200">
       <xsl:attribute name="src">
           <xsl:text>http://chart.apis.google.com/chart?cht=lc&chs=600x200&chd=t:</xsl:text>
           <xsl:for-each select="labels/label">
               <xsl:if test="position() > 1"><xsl:text>,</xsl:text></xsl:if>
               <xsl:variable name="id" select="@id"/>
               <xsl:variable name="value" select="round(/data/stat/item[@id=$id]/@value * 1000 div /data/stat/@max) div 10"/>
               <xsl:choose>
               <xsl:when test="$value"><xsl:value-of select="$value"/></xsl:when>
               <xsl:otherwise><xsl:text>-300</xsl:text></xsl:otherwise>
               </xsl:choose>
           </xsl:for-each>
           <xsl:text>&chxl=0:</xsl:text>
           <xsl:for-each select="labels/label">
               <xsl:text>|</xsl:text><xsl:value-of select="@text"/>
           </xsl:for-each>
           <xsl:variable name="yaxis" select="/data/stat/@max div 1024 div 1024"/>
           <xsl:if test="$yaxis > 1024*2"><xsl:variable name="yaxis" select="$yaxis div 1024"/></xsl:if>
           <xsl:if test="$yaxis > 1024*2"><xsl:variable name="yaxis" select="$yaxis div 1024"/></xsl:if>
           <xsl:text>&chxt=x,y</xsl:text>
           <xsl:text>&chxr=1,0,</xsl:text><xsl:value-of select="$yaxis"/>
           <xsl:text>&chls=3,1,0</xsl:text>
           <xsl:text>&chg=</xsl:text><xsl:value-of select="200.0 div (count(labels/label)-1)"/><xsl:text>,</xsl:text><xsl:value-of select="20"/>
       </xsl:attribute>
   </img> 

[/code]

Модифицированный ipn.xsl и diff файл: Медиа:ipn_good_stat.zip

Личные инструменты