PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i5h-3LL

HOME


5h-3LL 1.0
DIR: /usr/share/doc/awstats/html
/usr/share/doc/awstats/html/
Upload File:
Current File : /usr/share/doc/awstats/html/awstats_dev_plugins_hooks.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta name="description" content="AWStats Documentation - Contrib and resource page">
<meta name="keywords" content="awstats, awstat, log, file, analyzer, contrib, plugins, resources, maxmind, geoipfree, geoip, cities, regions, countries, frontend">
<meta name="robots" content="index,follow">
<meta name="title" content="AWStats Documentation - Plugins Development - Hooks"><title>AWStats Documentation - Plugins Development - Hooks</title>

<link rel="stylesheet" href="styles.css" type="text/css">
<link href="scripts/prettify.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="scripts/prettify.js"></script><!-- $Revision: 1.3 $ - $Author: eldy $ - $Date: 2012/12/08 11:54:41 $ -->
</head>
<body onload="prettyPrint()">
<table style="font-family: arial,helvetica,verdana; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%">
<!-- Large -->
<tbody>
<tr style="font-family: arial,helvetica,verdana; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<td align="center" bgcolor="#9999cc"><a href="/"><img src="images/awstats_logo1.png" border="0"></a></td>
<td align="center" bgcolor="#9999cc">
<br>
<font style="font-family: arial,helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 16pt; line-height: normal; font-size-adjust: none; font-stretch: normal;" color="#eeeeff"><b>AWStats logfile analyzer 7.1
Documentation</b></font><br>
<br>
</td>
<td align="center" bgcolor="#9999cc">
&nbsp;
</td>
</tr>
</tbody>
</table>
<br>
<br>
<h1 style="font-family: arial,helvetica,sanserif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 26px; line-height: normal; font-size-adjust: none; font-stretch: normal;">Plugin
Hooks</h1>
The following is a list of hooks available to plugin
developers. At various steps in the reporting or parsing process,
AWStats will scan the plugin list for any matching hooks and execute
them. All hooks start with the name of the hook, an underscore and then
the plugin name. So for example, if I was creating a plugin called
"mypluginname" then the initialization hook would look like:<br>
<br>
<code class="prettyprint">sub Init_mypluginname()</code><br>
<br>
If you need a hook that isn't listed, please contact the developers
through Source Forge and place a request.<br>
<ul>
<li><a href="#Required_Hooks">Required Hooks</a></li>
<li><a href="#Common_Hooks_">Common Hooks</a></li>
<li><a href="#ProcessingUpdate_Hooks">Processing/Update
Hooks</a></li>
<li><a href="#OutputHTML_Hooks_">Output/HTML Hooks</a><br>
</li>
</ul>
<font color="#665544" size="3"><b><a name="Required_Hooks"></a>Required Hooks</b></font><br>
<hr><span style="font-weight: bold;">Init_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
All<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
Any parameters passed from the configuration file<br>
<span style="font-style: italic;">Called:</span>
After loading configuration file and parsing plugins. Before parsing or
HTML output<br>
<span style="font-style: italic;">Description:</span>
The initialization hook is used to load parameters from the
configuration file and initialize variables used in your plugin before
any other hooks are called. This is a good place to initialize any hash
tables you need or open data files. <br>
<span style="font-weight: bold;">Note:</span> <span style="font-style: italic;">Init_</span> must return a
list of hooks that your plugin implements in order for it to be used by
AWStats. For example:<br>
<br>
<code class="prettyprint">sub Init_geoip_region_maxmind {<br>
my
$checkversion=&amp;Check_Plugin_Version($PluginNeedAWStatsVersion);<br>
return ($checkversion?$checkversion:"$PluginHooksFunctions");<br>
}</code><br>
<br>
If your plugin will accept a number of parameters, insert a line
similar to the following:<br>
<br>
<code class="prettyprint">my $InitParams=shift;<br>
my ($mode,$datafile,$override)=split(/\s+/,$InitParams,3);</code><br>
<br>
Be sure to perform validation on the local variables and change the
number of splits to the number of parameters you expect to read.<span style="font-weight: bold;"><br>
</span>
<h2><a name="Common_Hooks_"></a><font color="#665544" size="3"><b><a name="Common_Hooks"></a>Common Hooks</b></font><br>
</h2>
<hr><span style="font-weight: bold;">SectionInitHashArray_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
All<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
When AWStats InitHash is called, such as at startup, when purging a
history file or when a new month begins during processing.<br>
<span style="font-style: italic;">Description:</span>
Use to initialize or clear any hash variables local to your plugin<br>
<h2><font color="#665544" size="3"><b><a name="ProcessingUpdate_Hooks"></a>Processing/Update
Hooks</b></font><br>
</h2>
<hr><span style="font-weight: bold;"></span><span style="font-weight: bold;">SectionWriteHistory_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Update<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$xml,&nbsp;&nbsp; $xmlbb, $xmlbs, $xmlbe, $xmlrb,&nbsp;
$xmlrs, $xmlre, $xmleb, $xmlee<br>
<span style="font-style: italic;">Called:</span>
Whenever the history file is written in AWStats<br>
<span style="font-style: italic;">Description:</span>
Lets your plugin
write a section to the history file. Please note that if your plugin
stores a lot of data, it could greatly increase the history file size
and slow down loading and processing. In such a situation, you may want
to use this as a trigger to write to a separate history file and use
the <span style="font-style: italic;">SectionReadHistory_</span>
hook as a trigger to read that data.<br>
XML parameters are the pre-defined XML tags the history file is using<br>
<br>
<span style="font-weight: bold;">SectionReadHistory_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Update, Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$issectiontoload, $readxml, $xmleb,&nbsp; $countlines<br>
<span style="font-style: italic;">Called:</span>
Whenever the history file is loaded in AWStats<br>
<span style="font-style: italic;">Description:</span>
Lets your plugin read a section that it had written to the history
file. The history log is always loaded before parsing log entries and
before outputing HTML. <br>
$issectiontoload - the name of the plugin section found in the history
file. If this is true, then the plugin should process the field data<br>
$readxml - True if the history file is in XML format<br>
$xmleb - XML element opening tag<br>
$countlines - how many lines have been read from the history file so far<br>
<span style="font-weight: bold;"><br>
SectionProcessHostname_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Update<br>
<span style="font-style: italic;">Required:</span> No<br>
<span style="font-style: italic;">Parameters:</span>
Resolved hostname<br>
<span style="font-style: italic;">Called:</span> On
each line of a log file IF the hostname was resolved<br>
<span style="font-style: italic;">Description:</span>
Processes a resolved host name, i.e. <span style="font-style: italic;">www.google.com</span> and
is useful for counting hits to the host or looking up additional
information.<br>
<br>
<span style="font-weight: bold;">SectionProcessIP_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Update<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$Host<br>
<span style="font-style: italic;">Called:</span> On
each line of a log file IF DNS resolution is turned off or a host was
not resolved<br>
<span style="font-style: italic;">Description:</span>
Processes an IP address i.e. <span style="font-style: italic;">192.168.1.1&nbsp;</span>and
is useful for counting hits to the host or looking up additional
information.<br>
<h2><a name="OutputHTML_Hooks_"></a><font color="#665544" size="3"><b><a name="OutputHTML_Hooks"></a>Output/HTML Hooks</b></font><br>
</h2>
<hr><span style="font-weight: bold;">AddHTMLMenuLink_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$categ, $menu, $menulink, $menutext<br>
<span style="font-style: italic;">Called:</span>
Each time a new menu category is printed in the navigation frame or
section<br>
<span style="font-style: italic;">Description:</span>
Inserts a menu item into the navigation area that will link back to the
<span style="font-style: italic;">AddHTMLGraph_</span>
hook defined in your plugin. If that hook is undefined, the user will
experience an error. Requires <span style="font-style: italic;">AddHTMLGraph_</span>
hook<br>
<span class="highlighted">$categ</span> - name of
the main navigation category such as 'who' or 'hosts'<br>
$menu - passback where you assign the position your link should appear
in the menu<br>
$menulink - passback declaring the type of link<br>
$menutext - passback of the text to be displayed to the user<br>
<br>
<span style="font-weight: bold;">AddHTMLGraph_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>None<br>
<span style="font-style: italic;">Called:</span>
When the <span style="font-style: italic;">AddHTMLMenuLink_</span>
created link is clicked, after HTML headers are sent and before HTML
footers are sent<br>
<span style="font-style: italic;">Description:</span>
Used to generate a dedicated report page with information specific to
your plugin such as the Hosts report or Regions page. You are only
responsible for the HTML between the standard AWStats header and footer.<span style="font-weight: bold;"></span><br>
<br>
<span style="font-weight: bold;">AddHTMLStyles_pluginname<br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
Whenever HTML headers are printed IF the configuration file does not
define a specific style sheet URL.<br>
<span style="font-style: italic;">Description:</span>
Use this section to output style&nbsp;information to the HTML
header. Only print the individual style definitions, not the beginning
or ending style tags (i.e. <span style="font-style: italic;">&lt;style&gt;&lt;/style&gt;)</span><br>
<br>
<span style="font-weight: bold;">AddHTMLHeader_pluginname<br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
When HTML headers are printed, just before the closing <span style="font-style: italic;">&lt;/head&gt;</span>
tag<br>
<span style="font-style: italic;">Description:</span>
If your plugin requires extra HTML header information such as java
script includes or meta tags, print them within this hook.<br>
<br>
<span style="font-weight: bold;">AddHTMLFooter_pluginname<br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
When HTML footers are printed<br>
<span style="font-style: italic;">Description:</span>
Prints footer HTML code before the AWStats copyright and closing <span style="font-style: italic;">&lt;/html&gt;</span>
tag. Useful if you need to output tracking code or banner ads<br>
<br>
<span style="font-weight: bold;">AddHTMLBodyHeader_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
After the HTML header is printed<br>
<span style="font-style: italic;">Description: </span>Used
to print information to the main HTML body before the banner or any
other information is printed<br>
<br>
<span style="font-weight: bold;">AddHTMLMenuHeader_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
After the HTML header and HTML body header<br>
<span style="font-style: italic;">Description: </span>Used
to print a header for the navigation menu whether it's inline on the
page or in the navigation frame.<br>
<br>
<span style="font-weight: bold;">AddHTMLMenuFooter_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
After the HTML navigation menu is printed<br>
<span style="font-style: italic;">Description: </span>Used
to print a footer for the navigation menu whether it's inline on the
page or in the navigation frame.<br>
<br>
<span style="font-weight: bold;">AddHTMLContentHeader_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
None<br>
<span style="font-style: italic;">Called:</span>
After the HTML navigation menu is printed<br>
<span style="font-style: italic;">Description: </span>Outputs
after the navigation menu but before any of the content tables in the
report pages. <br>
<br>
<span style="font-weight: bold;">TabHeadHTML_pluginname<br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$title<br>
<span style="font-style: italic;">Called:</span>
When a new content table is beggining<br>
<span style="font-style: italic;">Description:</span>
Lets your plugin override the default table header style. Generally not
used.<br>
$title - title to display to the user<br>
<br>
<span style="font-weight: bold;">ShowInfoHost_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$host<br>
<span style="font-style: italic;">Called:</span>
Each time a new host row is displayed, such as the main page host
section or the full host list page.<br>
<span style="font-style: italic;">Description:</span>
Used to display a table column with detailed information about the
host. The incoming parameter can be one of three values:<br>
'__title__' - literal value that indicates we're printing a column
header<br>
$Resolved Hostname - name of the host<br>
$IP Address - an unresolved dotted decimal IP<br>
<br>
<span style="font-weight: bold;">ShowInfoUser_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$user<br>
<span style="font-style: italic;">Called:</span>
Each time a new authenticated user row is displayed<br>
<span style="font-style: italic;">Description:</span>
Used to display a table column with detailed information about the
user. The incoming parameter can have one of two values: <br>
'__title__' - literal value that indicates we're printing a column
header<br>
<span style="font-style: italic;">$user </span>-
the authenticated user name<br>
<br>
<span style="font-weight: bold;">ShowInfoCluster_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$cluster<br>
<span style="font-style: italic;">Called:</span>
Each time a new cluster row is displayed<br>
<span style="font-style: italic;">Description:</span>
Used to display a table column with cluster information. The incoming
parameter can have one of two values: <br>
'__title__' - literal value that indicates we're printing a column
header<br>
$cluster - the cluster name<br>
<br>
<span style="font-weight: bold;">ShowInfoURL_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$url<br>
<span style="font-style: italic;">Called:</span>
Each time a new page URL or referrer URL row is displayed<br>
<span style="font-style: italic;">Description:</span>
Used to display a table column with additional url information. The
incoming parameter can have one of two values: <br>
'__title__' - literal value that indicates we're printing a column
header<br>
url - the page or referrer URL<br>
<br>
<span style="font-weight: bold;">ShowInfoGraph_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters: </span>$title,
$type,&nbsp;$display,&nbsp;@blocklabel,&nbsp;@vallabel,&nbsp;@valcolor,&nbsp;@valmax,&nbsp;@valtotal,&nbsp;@valaverage,&nbsp;@valdata<br>
<span style="font-style: italic;">Called:</span> Any
time a graph, chart or map is output to HTML<br>
<span style="font-style: italic;">Description:</span>
Used to display charts or graphs. AWstats will generate arrays of data,
colors and labels that your graphing plugin should be able to handle.
For more information, <a href="awstats_dev_plugins_graphs.html">see
the graph plugin page</a><br>
<br>
<span style="font-weight: bold;">ShowPagesAddField_<span style="font-style: italic;">pluginname</span><br>
</span><span style="font-style: italic;">Type:</span>
Output<span style="font-style: italic;"></span><br>
<span style="font-style: italic;">Parameters:</span>
$key<br>
<span style="font-style: italic;">Called:</span>
Each time a new page URL row is displayed on detailed URL pages and
main summary<br>
<span style="font-style: italic;">Description:</span>
Used to display a table column with additional url information. The
incoming parameter can have one of three values: <br>
'title' - literal value that indicates we're printing a column header<br>
<span style="font-weight: bold;"></span>$key - URL
key to lookup in your hash<br>
'' - empty literal indicated the final row. Useful if you want to show
total or averages<br>
<br>
<br>
<hr>
<script language="javascript">
var date='$Date: 2012/12/08 11:54:41 $';
document.writeln("Last revision: "+date);
</script><!--
First version of this tool was designed to analyze folowing web sites:
-->
</body></html>