Красивые графики статистики в модуле IPN
Материал из BiTel WiKi
Версия от 07:05, 22 сентября 2008; Admin (Обсуждение | вклад)
Версия биллинга - 4.4.
С помощью модификации исходного шаблона 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