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

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

Перейти к: навигация, поиск

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

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

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

Шаблон webroot/ipn.xsl модифицируется следующим образом:

   <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> 

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

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