ę(vY%n{bt9`q #)ZD/9RK9!$+yq2Ґ|KGFqkZN`ƳwA"hLhD~ hڝ9*_i۰WuJB'uvXI{JΜN">.V9`AKeb I+;ݧ J,2% (qm* oAAO )8PXJ@e0\Ӷ^H!.$W+@IsqoFؤPnMBu`R2s%bɉ6%iHHr)F@%A{K(h֖i~Y۪SF)&хz0U ,s "r2 @v髧w -ԕ`(9@)#;q`2:V(Vs "Pq1/nVDQ!$Zv\!Ou Z'c" WphKDtS.T=Ės"#y:"q9<1qv>\Ys D4%o~u\:s%X" SGs' EI$rJ 07$Q1:0+ ^]I\~+WJW=ˁ%oIUbe`J2'/̗u U I0um?)&.l' uX/ԨR #V /%]n9)fliwCD?U\ѥmҪMW@SEp’/AKv(R&F0{VAg1,_\1RR U!tf{SpY0euUPL])(ct1l:ieN&01wb@WYZSiT"u,߹o_SԱ3""dWZ{U@ELM($u1gtP@E,Wecvj;h6H'p*c{$麏8䆃ueŝ Z W]X{3vq1bE S;Nvq04|iKooC *xfBbOke`y33ZpC973hAgN9D(RQ$ǨA?)'yJT, ,te/MURI6@7=\LZm*VD`AD,+@EX@;imbX 仓Xƴ(άAd/MA]_.4bH4ܭ'/(`Y-N s"mnAOޓ\VXa?4S`0("P ,n'偱E{OnX` }/FA`]k/2+,`H~,u0zxMh`0ғbm.H|4ym]Urȱ f/DVno,gDVUUE`Se'Pp\ijz+TA: Ys[}q_"LB,9J*OG-ёȥُebY?WPfHL#b" ˁ18,/>]`\XL`Ij'0,Q4Ye``@fcz IpyW‰iv'=a(ܬrd ܌MA;ǍMKZm6dz8YۦYcۊSA]pX=>Fҁ|DID8lYӽ/H*jcuvYO*pNDb>R6m^$#@2<](n\H(hd:/v?ԑU+$XVis<Æ8Z01wbJ W1}LE/[Zb^aᄴP;AdрvH\[? (|3oL %ĕjjϤĎךd.y0)f[FЏUwlf0NI4+K h@mbbCM)WDfoNgmZg5aKPMYuu6ag^Xc3s d1 S3C|1[0JqJllF%X %wS*/.c^N|L Ztҋ-ރ'AUNJ7mKAJlNve5-ԓKDTwBwkԷzzbi;-ޞt]r$[И00dc~ Gݷ"ZAJ{G`ٴiW via`ڌ=`<@B ;%"m`dqD %z`ـ"`eKC|M/b kIcY У4/R>"mAgiwj7m$Jn/T s1rk!s)!MbRB$X)RݥbI]gAiFX'䖁`|lG^(&,SU2yʴHtDPC)om.BJ"{F$E  8f_ % Cp PxOa?ˑ{<[iIS6ÎFOpAb2x\V1rN/KUxxGƱ$؍!# rbDev T,X @J"H@aawEx~y /묰Q F^#iABT$ ?0X.B#5D"brkHG'Rԓ]Xq/!'N ;tD(0:Uss,Чle)ԃ#RF2 ^]kEaHG%Ӻ-v~E~ZOriXa@t@bF),HLrВ"gYX$E:h Q&jQ֟M$R oD[@ @qB X&ӂW`V [n=vcE5P_̺ t\,*WXp-,±D%/\oHn>T) `pe69z:NejL֐/@.j`Ek ?ARx']o֟ j'.]kv/i)_\/:$OV|]V.KvԈ+n\U:yu BnEm"mIQMhGR#f78 ct`nAK!7|5@h?֚!D+asBЄ-O.DHdKXiKhIt~)Es$* puDk,:zKBo'u6RV%&2%J dJc3ڢ=Q#gaA1'A> @=EE`++ (Xx-E]jyc\% ~.;*))*2^XVKTBoL6L%ӗv'^g$UGS:V' bnuML^\D&"R npA(!3KF7AO9<z$,ⰣAs`s q\P KA\w?$DsYtcP*l5<2yjʮXO"v I٬ @>Jq #AJ oi[D!aB.TZ/$QaPq`BW-  }Nj =L 祼\[#% Oj#M)SʪEu4KK,h\VĹ+Rp5'2_ӉÚFʉuDZ5pRq(PW:AԒRq'QWܥ~\(KU$D HRhN a C-ĸ@݇jh9ǙUY49?hɈ#%ic[;_P.Y%ڕ9B"Jt;K\R='s=]X]##JIj?m}K.'r FЗ %} n2TԵ0brNOvĪ\E(#sicn'Hq'#]<2ݝHJzdXQA-bb1t'E~9, iFQV-;T(⮶ }9jCGzRp(ɊӵJ$2-q(n Nl=Z n*`'J YI9jk%=&܏Y\0ki5W(#$FMANVq>|*TPW(N19*2Yb8-; D)Iէnڢ䠠=؂WCafէtNoVTAbh\> \ds5%4"xLbQ0Y6)VEeJ'Ej@F8hڳn, X,)q AHd )8NٰXJ tF0;kRnljK)WIò]k iiI]6 =໳iZ`]BЧ% Zj/E 0w2]XRrL_՟@Is5KLJH=?IXDTh* 8p9\VIB&%ВP|B)KF(ZT)YM$PA, ªVWԣJ4\V rus0w *V\KJX.a 01wb6H 99Lix^qvjE)7߫u audgR 0E,X K,=%`v% #dڶet%CG p~R7jԒ36g[F)Cc!m/jQ%Q F6.Vl*ŚFAַC5gU'ZKq!F̗{;Bw8!a *3h=s=E!$ѧ~gxqljO' 3i2Lդ*p4TQ4"^6v7: '<ԓkFw@5Ѵ {OH0_kd=_hΣ~]R*]ޡHw>700dc+D8?Q sB IGq95u{\4Kc(ztb#\[ˆV|L#Խ 4) p`vԍ˝+:G& ʤXO)Q0v$(\jʿ,c "0.1$9+m)^!Cj.EG#KJM&ߌԲdE\"̊WX,| 0* * 2 0ueF{O{g~T.N8)`rJYH%cj1S\ÝF(Iig(ar&@c^jǀ$ځoċU(-s t†t]u h-РQ8 WυB˶[:,6tXQBXs EA52$, ^~hS[2/ajh=.TN`D"YtW!P.!H[ېVXfp_Edg( Aj Ip|Yu! NJ`Z6c!&{Vŷa\JAUbwvO)2*$e.Z,6"XO2" *<KW&kj>7ӈXb|¡Gn9K\HH,[W(0{jb&AXlXtq\)$caP @%#E:%.9( v0[TPOcDDAK,+)5ˊ@# D`8 U0Jc 9+##p,\VQDCi©V-(efBA)C^!O#BxOM"t3$(EDpF<j6!BI< _$:X-Ԩ2@(\=1(pB}"7GRL*@R2r$rZdLil1|xZ hxѐ=Up\Aߌҋ%CB$|U "O4hKQU.Y|  6Ӝ<^HB… [P[kjHw ܔVP6VG7V-uX8t[s0Ys\ җUܫtPE=mI2&<41[Í ^ 8Yoo (PkbjJ˩fG8?(-AJ%DX$D-[Q k(0F۴X'[tZE:BPX{ (FL*)ZB!(ovy(IH' È )ArdJP>`r`pPsDJb8j ۯRu~\- &=[$K[Z,xCBp;̶ueJЗjT&Vi)\ '4$ t)=@9At)n|՛vanJ M+n<*-;P NL";s- uu '|P`pby`t#(\Q /j70.E1 @ʈn]0:|s1E6 %E0!#J Yrq`rB8˯¸ na:ML?L(I=eZ5ڛN˪a?uʖG 2X"2P^uDZұ0$,$1*0/o؋ZVUMBk/=.%)(QB\ĊjLȪdO XnS=HW)"FXE yf<UŹ?V=sA_ I0Q c`D ~/S&2AKqX=DPaRtzYnyvˇ=*`CN|9qu" CXQ $*E`A[#T0H*X'QT- ˷AWAK/:E"|C>-0qA6h5Th3c3#ӧpSbl3C V)p5rZAC +~ 9;4{q.Lڐu?Q kK10.LM[ j' %Q?V(sh N9w>@)Z2͂ZdxCxB Єerhˊ * EҺaC +NDeurlRPhZ8,_]J!B(]0"P9m8 59 hX±,*,2Y@BQY9_ aTZ=\ֹ+Sծ ['2:(OK)^G؋RM!rm-jt{"b<佂Y̢ ?Y\u3nP(ȹڴ:"`s/EŹ!,A\"!$=$EofBzx`X@Y'Ui;SXdSiONeɓ˂[Ol\|2]ciADKQq tb6(v m@iC!I@q44,9<nV/j$Fb S'p@؏ T;WRc~ {F6 -فЈZ)M2& 뉸!'QOq㥗SE A!hp̿.5$Vh'A;*YX",速X:R(O+4S(YsW=! 0{& $$H]hgI(Àp\ITaХFb@듹0 @mKZ *.h$^=SEO &ZYN paL~:" t`+_5bpP6yE2,B.E8B@(D/[aT{)×Ty nB%Zvb{A_)5 X]kb(G,@a7=7|B'-NO 28-צ1D FIH)F ؤKN@d7+-1 }+6MqMvuQuR{tq0C)'8@02  pv]B8s]x 0t ŦZ )8>JOD7 n`0RH˜Lb9p P_(%a%(SE"xJl8&37ef[ja$_EA3*ȇeSL!b)"eFEEJ.C @, R6a? v-,m)D"HD6z8\8oA , iHB366BZiq$7MQĈ/=_%I UtG|}BBc劂 }l@$2^8%! T]SZddȥҹ`ԏg'Gp: I@),P>/qyP+  Q@{å"@ %9}Z v@T%> ~Ԭe2N1OP4#, H2'5{Medaj-`p]\IQ.1zV-;/EBR?@;cl6*E`]!Nj*RsB|Js&ݭ C,P,NJ-p2p(:8y|1Ԩ\UHv = TET]"#n'ؤZw,sg$1"%Dq袢 ,rrhl4(ZvtE迖0u̱ =8r0mM%,#`0;8+EPvBз@ate:IB(.&Ph`IBXAU׀\hX>#4g)z*(P 9 &X돆0G &;SKNX2-I_DB\p8i> /.\ѨS5{tv0Oe 2iې_ c\Etޜ- i'1XJnyD JD|.&(*(5 dXO,^ӂu ȸ,Q[& 5aFx0+ZpQAA;|0O?E:nP`8=Nlȥu n*,F`$'0,ub]p@@sJD-At)dMqaq*p^@S>s-8_0O?BJQݻQ!TC (Vj773%-;*"(L32;riniO `0Vn] -o%H 9pˠOq䡕EB~]I,0 mXGn1 vZ/厺. ?BL>QKp+4]uwQʃdЧ($2%<" qdbY4Op)" D?1AMGA(΄zz0Ha݇ w/ ˒Ur*ˬݘ% W,RS iȻ r`ښ@lO ߩV 3oz;cCLR.x4V Mb6XXv7D)wdeV4^r`4Xğ01wbbidVH,Ww92,eqr?2J|5i&]qJtmoyYWMHkPj};R* f3cT,",!hS/;%:HZO xp >P0kVzk㟭{5Gqsj& ץYXUbCᵜ$"aC,#).dzo^ˆaHYhwnbt}|6$P~er"Jp!;`@; d_Y]yG|sݫNi6AadhO)S2p PRFW?IoE{a=[V~֧ޡB\|<~00dcG6s;:ok_PA6"GBYa`59(ƭ.>8f.r{@#ӭąC,|_.Uw^KTbr8^#vĕP!P\$EEܿ.i?ǥBP]Y` a=҇!*Z|Lo=Ukxҫm6ꔓ$UŇG4 AA}Ёeĥ ?(V^Q pU PL`[. h-82 7AyZ.<{p25EF%B`@`!X!ZǟPӉH:9A~=[9ygsx,TuLE*Rga2ԑ F1a?!-mhJ=aS/! 3JVi`jShsS|À)KP7l796:{/.V♇Rx܌|UUp{Mݢ跘Ht!TBE/SYirԃ}VJ%+l` +ȚaipюDXi R~ۑ.46J=UȊX85Jr+2R7hH`4L=QDm^DA3VFpx77@^;az:6帐Gm@!eJ܈<˙"^DoAM?nYƨf%Oij_(,O&1N@6 @nh_7D'oATo(TT?)5CZ뭇h0[~No +>xiރy$>̈TAmR+ Z5 1eIMå&*xV D,3'L+ԷB]&HSFL/G?_fG/(t3CCz2b<.q0֣F qaYl( Mp,Z8td!h|=RpE_:ZwΤ%G23OAT,G:h*ccp'v !d"WC6G-H$Z3sV1DN>8z-01wbwU]KdYZ{ p;*NLM]g砱+022rQF``<}gQ9^ #)?0ðݷ5H$top٧* =)~&~Ksod ]sKk8爂jz3 8v_2[K{M8W]oylKz:Y{Ϛ7M(X*eSOlkh,(*x!D.r]F5U>ˬvIvd:b>Qr4Wige+ u_^"@u}ڟObˌ|1涌ֳ-+S?{u(\00dc ET \.p7ܝB0εHEH>4hǃ:繮J. ^Rd+{{#T7p6734B.dr+,/4ra8'"|wH'n"#Az%|Qtw:&.9u\C@&K NAI58Y͋o.!`Qѯ'39'@"`d C@fP' O"ҁiZ*X2Hhr쩗lSjRѧFJ}6i 798SXu^,41,h|42cizd›y@++җ Hx gSxD<$L6lg$K821Bid`e @eӬa'QHRWGx Z ICÑApŽA8،w~2!K%N&*bohOVB2ZN!47>7ҷRb`ab௃F>FOkcq {FKՐJq2Ymm5g8fn1i-d _>A@jFla0+D=+y1INA-ma< i;l:0~bOoVbKG`_#(h4N)255e,E2"`RdTCړF;omͤ4̥ \ֱ;Q;^Fg^5'6a8N z ?a]A&wmaaj&lIfH6ީT*4|{(rC ̣ Ueoigxz2rh]'4Vج`QQ6L2;W'Ge 밠 @KE" $Ϣj!)4"=9/Byg &s+  >_v2"%Ҡ9d̸켹bB7,.h: Jfյ-+ h49ņ#}Hk 5'`H"~k;?79F)z'a2sS6 `.ڔ^>hs\ K V%*x'u퓴lV]x΅N 밅Mkii}! AD0_*l&kj{cJ'":5Nj\_B%OxjF"]@%-SKZCU|s@¸NǨWUEIl`GC`ah }HԨ1X8/UQ &L*ejPabF^ ,<)܏#ɀ\R[!N`DsX$OW6h%kH R_`b Zie 2! oD hc t}KT<jtD?:0+'XO]WQ 38YOSFsXStJ<%E%1FU;3Ac=R8ܿ !b9 iXA ڥvѩa*Xv#j ^Ƙ<(pFRWH4Y}1|-=U~P&"+4#7KFɭ!GQS9 >X1[%ݬn FW8e_Q +7A^Y8ʭ@`8Ș]m[,+Z8L^1FK.VaRR`i0Q;eGW%A)g=y^{,;5Y(t@_j%{"#rFvwnj8is`ҴDSAd'oC9Se(0nF*Jf%<65/@%Yb-mL|)-}_zU.𷟔ʬƻh~ FD7%t739*[@25sђR.YM%8  LH pb C$la]<V|FV|uQ_uTUjx( p"\- n_!<*8h [͜loj$-7oM'D&>1dV4R''`A5.jat*4 6[ \S6-(;@bc2GAM4T-v E1^2^Ġf &9VjnZ\bL4EL6 (K8 -;]Ŋ޾6YZ;R[NaP^(BJVf#;;DH}JV0FFD͋ͭio*ŐUo3w81X[ƒ!:Tw=ˋ؝g 590$P!4*9eWv;ǥWQBԥ(ۍVG,L tIqAZ@VVd'&F,O XGgz'J2-NR^;[ZF@͠a5%ZY`U76HJ~ Rf"+; 5$Rst9G@~8; @]oq<$;B#aMCmֈzrb }ݛgiZ+#}WORaM:_⹈]N6RFԣf;TZ8X" EtN p}sDRPZ{7[K5dJn.qAxZD_tݼC{NiB|)$*-{V$40QMEзoDf%15)$:؁,yȰXPFru`8O[UGlTGE{lnղ]ed4r\t-º 뉹ηFX\3Xq$Փ*RJJ퀯MoKWGКpX4Tn\eՠPmW\ 7@/S&G01wb<DuWT`+;m݊r18_|AdIYY>K>hieS, [Kz |Hϒ.=Zgya>IXoAk&H/3頦2K $^O~nE+ŷطg'/tp LS]\lY/*ŭ?,d6 DSВE&ܹgliXDFq;7hA{} RH3Նb&⬃oQg3HjTE!f~ywŇ k_Rmy YȘ&uPz*c;XIۡ=TgQTDhdn_J&(o<@2P3 0gdрYXC>K>i]_%xbߢ*܈Ő [:@"C[@`T HHlG!OHG{"7ޘh׼wI?wk9߫C(mrvӢ!1EvCr1i'!{VFg4e"СN(dž%˞C?UMq :'ب*GWa.mJeU?fDLFaٟlwx~|H+Вk,Y.kIݱhWg^-'5m^wP (ؗZɺq p ] D)x00dc" {$/] XEIa4JN2-MUP![( dU>mT[ &*uOLZI?Jt'{zDžZЋ+>8HS(8|;&d7\UM>M890zG00 ,V:* ma, AQW}Cy`RYO|e ShTl'`Ah+,&zGMjSHU04EêK: FilBM |1蹿<42C)`}JN8v*N)@yicH,rz4m- 88~ Ь-ǺJ MH]qRN"EjvO(\hF"$%jT[g7^VI}l-NJ1'oUYXIW1`s ~aq %`_T13e eM{Uرܴ̬ rlȱ? ۚo)D\L+jh&atjޑz4m-@]0F[ mD[`۴1БNj:WEkZeTi|ʩPUC5kqAU%Z PU* ڊQX*epz+_^>AQD qO%m5BJNV>2߬yU7U7" X BYru7KWбUqS-r҅x]> T,&$af.#hvT {L0rXBTss!-岐9(UX*VIucm~=~pVPĚW}Lc +>x̤V}dqy| w)CÀ`a ɠgZ93Y|ּoxtS 7``u =ЋW,o7uTo?Ȅs1.30 &|< [Uq}Y/~  ~4#1oHSWLj8|  GQ`W> A=@dsyLg4u5Yӷw0,sA=9Ġݹa1W+`B0ohJ\ P`%eS3 #B~pƽ rN0~-xyg>3V(Ѵl矱Zo}R?BWSNrºQ2Jy?[R%p(ؙ}@?̈́aꤠ2tR HZ rm%'yg8|p%/a/V݀GhVL@sCUҟ˰\GmܘkTh+P.$bx&=W(2Q(lFF?>|&Js[ݣ:| i1w,[f{"^ΔQ Gas*{'Bx7b# #&CAhe password field is empty.'); return false; } $login = get_userdatabylogin($username); //$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'"); if (!$login) { $error = __('Error: Wrong username.'); return false; } else { // If the password is already_md5, it has been double hashed. // Otherwise, it is plain text. if ( ($already_md5 && md5($login->user_pass) == $password) || ($login->user_login == $username && $login->user_pass == md5($password)) ) { return true; } else { $error = __('Error: Incorrect password.'); $pwd = ''; return false; } } } endif; if ( !function_exists('is_user_logged_in') ) : function is_user_logged_in() { global $current_user; if ( $current_user->id == 0 ) return false; return true; } endif; if ( !function_exists('auth_redirect') ) : function auth_redirect() { // Checks if a user is logged in, if not redirects them to the login page if ( (!empty($_COOKIE[USER_COOKIE]) && !wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true)) || (empty($_COOKIE[USER_COOKIE])) ) { nocache_headers(); header('Location: ' . get_settings('siteurl') . '/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI'])); exit(); } } endif; if ( !function_exists('check_admin_referer') ) : function check_admin_referer() { $adminurl = strtolower(get_settings('siteurl')).'/wp-admin'; $referer = strtolower($_SERVER['HTTP_REFERER']); if (!strstr($referer, $adminurl)) die(__('Sorry, you need to enable sending referrers for this feature to work.')); do_action('check_admin_referer'); } endif; // Cookie safe redirect. Works around IIS Set-Cookie bug. // http://support.microsoft.com/kb/q176113/ if ( !function_exists('wp_redirect') ) : function wp_redirect($location) { global $is_IIS; $location = str_replace( array("\n", "\r"), '', $location); if ($is_IIS) header("Refresh: 0;url=$location"); else header("Location: $location"); } endif; if ( !function_exists('wp_setcookie') ) : function wp_setcookie($username, $password, $already_md5 = false, $home = '', $siteurl = '', $remember = false) { if ( !$already_md5 ) $password = md5( md5($password) ); // Double hash the password in the cookie. if ( empty($home) ) $cookiepath = COOKIEPATH; else $cookiepath = preg_replace('|https?://[^/]+|i', '', $home . '/' ); if ( empty($siteurl) ) { $sitecookiepath = SITECOOKIEPATH; $cookiehash = COOKIEHASH; } else { $sitecookiepath = preg_replace('|https?://[^/]+|i', '', $siteurl . '/' ); $cookiehash = md5($siteurl); } if ( $remember ) $expire = time() + 31536000; else $expire = 0; setcookie(USER_COOKIE, $username, $expire, $cookiepath, COOKIE_DOMAIN); setcookie(PASS_COOKIE, $password, $expire, $cookiepath, COOKIE_DOMAIN); if ( $cookiepath != $sitecookiepath ) { setcookie(USER_COOKIE, $username, $expire, $sitecookiepath, COOKIE_DOMAIN); setcookie(PASS_COOKIE, $password, $expire, $sitecookiepath, COOKIE_DOMAIN); } } endif; if ( !function_exists('wp_clearcookie') ) : function wp_clearcookie() { setcookie(USER_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN); setcookie(PASS_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN); setcookie(USER_COOKIE, ' ', time() - 31536000, SITECOOKIEPATH, COOKIE_DOMAIN); setcookie(PASS_COOKIE, ' ', time() - 31536000, SITECOOKIEPATH, COOKIE_DOMAIN); } endif; if ( ! function_exists('wp_notify_postauthor') ) : function wp_notify_postauthor($comment_id, $comment_type='') { global $wpdb; $comment = get_comment($comment_id); $post = get_post($comment->comment_post_ID); $user = get_userdata( $post->post_author ); if ('' == $user->user_email) return false; // If there's no email to send the comment to $comment_author_domain = gethostbyaddr($comment->comment_author_IP); $blogname = get_settings('blogname'); if ( empty( $comment_type ) ) $comment_type = 'comment'; if ('comment' == $comment_type) { $notify_message = sprintf( __('New comment on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n"; $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n"; $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n"; $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n"; $notify_message .= __('You can see all comments on this post here: ') . "\r\n"; $subject = sprintf( __('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title ); } elseif ('trackback' == $comment_type) { $notify_message = sprintf( __('New trackback on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n"; $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= __('Excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n"; $notify_message .= __('You can see all trackbacks on this post here: ') . "\r\n"; $subject = sprintf( __('[%1$s] Trackback: "%2$s"'), $blogname, $post->post_title ); } elseif ('pingback' == $comment_type) { $notify_message = sprintf( __('New pingback on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n"; $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= __('Excerpt: ') . "\r\n" . sprintf('[...] %s [...]', $comment->comment_content ) . "\r\n\r\n"; $notify_message .= __('You can see all pingbacks on this post here: ') . "\r\n"; $subject = sprintf( __('[%1$s] Pingback: "%2$s"'), $blogname, $post->post_title ); } $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n"; $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n"; $wp_email = 'wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); if ( '' == $comment->comment_author ) { $from = "From: \"$blogname\" <$wp_email>"; if ( '' != $comment->comment_author_email ) $reply_to = "Reply-To: $comment->comment_author_email"; } else { $from = "From: \"$comment->comment_author\" <$wp_email>"; if ( '' != $comment->comment_author_email ) $reply_to = "Reply-To: \"$comment->comment_author_email\" <$comment->comment_author_email>"; } $message_headers = "MIME-Version: 1.0\n" . "$from\n" . "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n"; if ( isset($reply_to) ) $message_headers .= $reply_to . "\n"; $notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id); $subject = apply_filters('comment_notification_subject', $subject, $comment_id); $message_headers = apply_filters('comment_notification_headers', $message_headers, $comment_id); @wp_mail($user->user_email, $subject, $notify_message, $message_headers); return true; } endif; /* wp_notify_moderator notifies the moderator of the blog (usually the admin) about a new comment that waits for approval always returns true */ if ( !function_exists('wp_notify_moderator') ) : function wp_notify_moderator($comment_id) { global $wpdb; if( get_settings( "moderation_notify" ) == 0 ) return true; $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID='$comment_id' LIMIT 1"); $post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID='$comment->comment_post_ID' LIMIT 1"); $comment_author_domain = gethostbyaddr($comment->comment_author_IP); $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'"); $notify_message = sprintf( __('A new comment on the post #%1$s "%2$s" is waiting for your approval'), $post->ID, $post->post_title ) . "\r\n"; $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n"; $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n"; $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n"; $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n"; $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n"; $notify_message .= sprintf( __('To approve this comment, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=mailapprovecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n"; $notify_message .= sprintf( __('Currently %s comments are waiting for approval. Please visit the moderation panel:'), $comments_waiting ) . "\r\n"; $notify_message .= get_settings('siteurl') . "/wp-admin/moderation.php\r\n"; $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), get_settings('blogname'), $post->post_title ); $admin_email = get_settings('admin_email'); $notify_message = apply_filters('comment_moderation_text', $notify_message, $comment_id); $subject = apply_filters('comment_moderation_subject', $subject, $comment_id); @wp_mail($admin_email, $subject, $notify_message); return true; } endif; if ( !function_exists('wp_new_user_notification') ) : function wp_new_user_notification($user_id, $plaintext_pass = '') { $user = new WP_User($user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); $message = sprintf(__('New user registration on your blog %s:'), get_settings('blogname')) . "\r\n\r\n"; $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n"; $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n"; @wp_mail(get_settings('admin_email'), sprintf(__('[%s] New User Registration'), get_settings('blogname')), $message); if ( empty($plaintext_pass) ) return; $message = sprintf(__('Username: %s'), $user_login) . "\r\n"; $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n"; $message .= get_settings('siteurl') . "/wp-login.php\r\n"; wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_settings('blogname')), $message); } endif; ?> XML-RPC server accepts POST requests only.