| 1 | <cfsetting enablecfoutputonly=true> |
|---|
| 2 | <cfprocessingdirective pageencoding="utf-8"> |
|---|
| 3 | <!--- |
|---|
| 4 | Name : Stats |
|---|
| 5 | Author : Raymond Camden |
|---|
| 6 | Created : November 19, 2004 |
|---|
| 7 | Last Updated : April 13, 2007 |
|---|
| 8 | History : reset for 5.0 |
|---|
| 9 | : gettopviews didnt filter by blog. gettotalviews added (rkc 7/17/06) |
|---|
| 10 | : rb use, and subscriber count wsn't filtering by verified (rkc 8/20/06) |
|---|
| 11 | : comment mod support (rkc 12/7/06) |
|---|
| 12 | : top commenters support (rkc 2/28/07) |
|---|
| 13 | : fix MS Access (rkc 3/2/07) |
|---|
| 14 | : just formatting (rkc 4/13/07) |
|---|
| 15 | Purpose : Stats |
|---|
| 16 | ---> |
|---|
| 17 | |
|---|
| 18 | <cfmodule template="tags/layout.cfm" title="#rb("stats")#"> |
|---|
| 19 | |
|---|
| 20 | <cfset dsn = application.blog.getProperty("dsn")> |
|---|
| 21 | <cfset dbtype = application.blog.getProperty("blogdbtype")> |
|---|
| 22 | <cfset blog = application.blog.getProperty("name")> |
|---|
| 23 | <cfset username = application.blog.getProperty("username")> |
|---|
| 24 | <cfset password = application.blog.getProperty("password")> |
|---|
| 25 | |
|---|
| 26 | <!--- get a bunch of crap ---> |
|---|
| 27 | <cfquery name="getTotalEntries" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 28 | select count(id) as totalentries, |
|---|
| 29 | min(posted) as firstentry, |
|---|
| 30 | max(posted) as lastentry |
|---|
| 31 | from tblblogentries |
|---|
| 32 | where tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 33 | </cfquery> |
|---|
| 34 | |
|---|
| 35 | <cfquery name="getTotalSubscribers" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 36 | select count(email) as totalsubscribers |
|---|
| 37 | from tblblogsubscribers |
|---|
| 38 | where tblblogsubscribers.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 39 | and verified = 1 |
|---|
| 40 | </cfquery> |
|---|
| 41 | |
|---|
| 42 | <cfquery name="getTotalViews" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 43 | select sum(views) as total |
|---|
| 44 | from tblblogentries |
|---|
| 45 | where tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 46 | </cfquery> |
|---|
| 47 | |
|---|
| 48 | <cfquery name="getTopViews" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 49 | select <cfif not listFindNoCase("mysql,oracle",dbtype)>top 10 </cfif> id, title, views |
|---|
| 50 | from tblblogentries |
|---|
| 51 | where tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 52 | <cfif dbtype is "oracle"> |
|---|
| 53 | and rownum <= 10 |
|---|
| 54 | </cfif> |
|---|
| 55 | order by views desc |
|---|
| 56 | <cfif dbtype is "mysql">limit 10</cfif> |
|---|
| 57 | </cfquery> |
|---|
| 58 | |
|---|
| 59 | <!--- get last 30 ---> |
|---|
| 60 | <cfset thirtyDaysAgo = dateAdd("d", -30, now())> |
|---|
| 61 | <cfquery name="last30" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 62 | select count(id) as totalentries |
|---|
| 63 | from tblblogentries |
|---|
| 64 | where tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 65 | and posted >= <cfqueryparam cfsqltype="cf_sql_date" value="#thirtyDaysAgo#"> |
|---|
| 66 | </cfquery> |
|---|
| 67 | |
|---|
| 68 | <cfquery name="getTotalComments" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 69 | select count(tblblogcomments.id) as totalcomments |
|---|
| 70 | from tblblogcomments, tblblogentries |
|---|
| 71 | where tblblogcomments.entryidfk = tblblogentries.id |
|---|
| 72 | and tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 73 | <cfif application.commentmoderation> |
|---|
| 74 | and tblblogcomments.moderated = 1 |
|---|
| 75 | </cfif> |
|---|
| 76 | </cfquery> |
|---|
| 77 | |
|---|
| 78 | <cfif application.blog.getProperty("allowtrackbacks")> |
|---|
| 79 | <!--- RBB: 1/20/2006: get trackbacks ---> |
|---|
| 80 | <cfquery name="getTotalTrackbacks" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 81 | select count(tblblogtrackbacks.id) as totaltrackbacks |
|---|
| 82 | from tblblogtrackbacks, tblblogentries |
|---|
| 83 | where tblblogtrackbacks.entryid = tblblogentries.id |
|---|
| 84 | and tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 85 | </cfquery> |
|---|
| 86 | </cfif> |
|---|
| 87 | |
|---|
| 88 | <!--- gets num of entries per category ---> |
|---|
| 89 | <cfquery name="getCategoryCount" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 90 | select categoryid, categoryname, count(categoryidfk) as total |
|---|
| 91 | from tblblogcategories, tblblogentriescategories |
|---|
| 92 | where tblblogentriescategories.categoryidfk = tblblogcategories.categoryid |
|---|
| 93 | and tblblogcategories.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 94 | group by tblblogcategories.categoryid, tblblogcategories.categoryname |
|---|
| 95 | <cfif dbtype is not "msaccess"> |
|---|
| 96 | order by total desc |
|---|
| 97 | <cfelse> |
|---|
| 98 | order by count(categoryidfk) desc |
|---|
| 99 | </cfif> |
|---|
| 100 | </cfquery> |
|---|
| 101 | |
|---|
| 102 | <!--- gets num of comments per entry, top 10 ---> |
|---|
| 103 | <cfquery name="topCommentedEntries" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 104 | select |
|---|
| 105 | <cfif not listFindNoCase("mysql,oracle",dbtype)>top 10 </cfif> |
|---|
| 106 | tblblogentries.id, tblblogentries.title, count(tblblogcomments.id) as commentcount |
|---|
| 107 | from tblblogentries, tblblogcomments |
|---|
| 108 | where tblblogcomments.entryidfk = tblblogentries.id |
|---|
| 109 | <cfif dbtype is "oracle"> |
|---|
| 110 | and rownum <= 10 |
|---|
| 111 | </cfif> |
|---|
| 112 | and tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 113 | <cfif application.commentmoderation> |
|---|
| 114 | and tblblogcomments.moderated = 1 |
|---|
| 115 | </cfif> |
|---|
| 116 | |
|---|
| 117 | group by tblblogentries.id, tblblogentries.title |
|---|
| 118 | <cfif dbtype is not "msaccess"> |
|---|
| 119 | order by commentcount desc |
|---|
| 120 | <cfelse> |
|---|
| 121 | order by count(tblblogcomments.id) desc |
|---|
| 122 | </cfif> |
|---|
| 123 | <cfif dbtype is "mysql">limit 10</cfif> |
|---|
| 124 | </cfquery> |
|---|
| 125 | |
|---|
| 126 | <!--- gets num of comments per category, top 10 ---> |
|---|
| 127 | <cfquery name="topCommentedCategories" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 128 | select |
|---|
| 129 | <cfif not listFindNoCase("mysql,oracle",dbtype)>top 10 </cfif> |
|---|
| 130 | tblblogcategories.categoryid, |
|---|
| 131 | tblblogcategories.categoryname, |
|---|
| 132 | count(tblblogcomments.id) as commentcount |
|---|
| 133 | from tblblogcategories, tblblogcomments, tblblogentriescategories |
|---|
| 134 | where tblblogcomments.entryidfk = tblblogentriescategories.entryidfk |
|---|
| 135 | <cfif dbtype is "oracle"> |
|---|
| 136 | and rownum <= 10 |
|---|
| 137 | </cfif> |
|---|
| 138 | and tblblogentriescategories.categoryidfk = tblblogcategories.categoryid |
|---|
| 139 | and tblblogcategories.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 140 | <cfif application.commentmoderation> |
|---|
| 141 | and tblblogcomments.moderated = 1 |
|---|
| 142 | </cfif> |
|---|
| 143 | group by tblblogcategories.categoryid, tblblogcategories.categoryname |
|---|
| 144 | <cfif dbtype is not "msaccess"> |
|---|
| 145 | order by commentcount desc |
|---|
| 146 | <cfelse> |
|---|
| 147 | order by count(tblblogcomments.id) desc |
|---|
| 148 | </cfif> |
|---|
| 149 | <cfif dbtype is "mysql">limit 10</cfif> |
|---|
| 150 | </cfquery> |
|---|
| 151 | |
|---|
| 152 | <cfif application.blog.getProperty("allowtrackbacks")> |
|---|
| 153 | <!--- RBB 1/20/2006: gets num of trackbacks per entry, top 10 ---> |
|---|
| 154 | <cfquery name="topTrackbackedEntries" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 155 | select |
|---|
| 156 | <cfif not listFindNoCase("mysql,oracle",dbtype)>top 10 </cfif> |
|---|
| 157 | tblblogentries.id, tblblogentries.title, count(tblblogtrackbacks.id) as trackbackcount |
|---|
| 158 | from tblblogentries, tblblogtrackbacks |
|---|
| 159 | where tblblogtrackbacks.entryid = tblblogentries.id |
|---|
| 160 | and tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 161 | <cfif dbtype is "oracle"> |
|---|
| 162 | and rownum <= 10 |
|---|
| 163 | </cfif> |
|---|
| 164 | group by tblblogentries.id, tblblogentries.title |
|---|
| 165 | <cfif dbtype is not "msaccess"> |
|---|
| 166 | order by trackbackcount desc |
|---|
| 167 | <cfelse> |
|---|
| 168 | order by count(tblblogtrackbacks.id) desc |
|---|
| 169 | </cfif> |
|---|
| 170 | <cfif dbtype is "mysql">limit 10</cfif> |
|---|
| 171 | </cfquery> |
|---|
| 172 | </cfif> |
|---|
| 173 | |
|---|
| 174 | <cfquery name="topSearchTerms" datasource="#dsn#" username="#username#" password="#password#"> |
|---|
| 175 | select |
|---|
| 176 | <cfif not listFindNoCase("mysql,oracle",dbtype)>top 10 </cfif> |
|---|
| 177 | searchterm, count(searchterm) as total |
|---|
| 178 | from tblblogsearchstats |
|---|
| 179 | where blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 180 | <cfif dbtype is "oracle"> |
|---|
| 181 | and rownum <= 10 |
|---|
| 182 | </cfif> |
|---|
| 183 | group by searchterm |
|---|
| 184 | <cfif dbtype is not "msaccess"> |
|---|
| 185 | order by total desc |
|---|
| 186 | <cfelse> |
|---|
| 187 | order by count(searchterm) desc |
|---|
| 188 | </cfif> |
|---|
| 189 | <cfif dbtype is "mysql">limit 10</cfif> |
|---|
| 190 | </cfquery> |
|---|
| 191 | |
|---|
| 192 | <cfquery name="topCommenters" datasource="#dsn#" username="#username#" password="#password#" maxrows="10"> |
|---|
| 193 | select count(tblblogcomments.email) as emailCount, email, tblblogcomments.name |
|---|
| 194 | from tblblogcomments, tblblogentries |
|---|
| 195 | where tblblogcomments.entryidfk = tblblogentries.id |
|---|
| 196 | and tblblogentries.blog = <cfqueryparam cfsqltype="cf_sql_varchar" value="#blog#"> |
|---|
| 197 | group by tblblogcomments.email, tblblogcomments.name |
|---|
| 198 | <cfif dbtype is not "msaccess"> |
|---|
| 199 | order by emailCount desc |
|---|
| 200 | <cfelse> |
|---|
| 201 | order by count(tblblogcomments.email) desc |
|---|
| 202 | </cfif> |
|---|
| 203 | </cfquery> |
|---|
| 204 | |
|---|
| 205 | <cfset averageCommentsPerEntry = 0> |
|---|
| 206 | <cfif getTotalEntries.totalEntries> |
|---|
| 207 | <cfset dur = dateDiff("d",getTotalEntries.firstEntry, now())> |
|---|
| 208 | <cfset averageCommentsPerEntry = getTotalComments.totalComments / getTotalEntries.totalEntries> |
|---|
| 209 | </cfif> |
|---|
| 210 | |
|---|
| 211 | <cfoutput> |
|---|
| 212 | <div class="date"><b>#rb("contents")#</b></div> |
|---|
| 213 | <div class="body"> |
|---|
| 214 | <a href="##generalstats">#rb("generalstats")#</a><br> |
|---|
| 215 | <a href="##topviews">#rb("topviews")#</a><br> |
|---|
| 216 | <a href="##categorystats">#rb("categorystats")#</a><br> |
|---|
| 217 | <a href="##topentriesbycomments">#rb("topentriesbycomments")#</a><br> |
|---|
| 218 | <a href="##topcategoriesbycomments">#rb("topcategoriesbycomments")#</a><br> |
|---|
| 219 | <cfif application.blog.getProperty("allowtrackbacks")><a href="##topentriesbytrackbacks">#rb("topentriesbytrackbacks")#</a><br></cfif> |
|---|
| 220 | <a href="##topsearchterms">#rb("topsearchterms")#</a><br> |
|---|
| 221 | <a href="##topcommenters">#rb("topcommenters")#</a><br> |
|---|
| 222 | |
|---|
| 223 | </div> |
|---|
| 224 | |
|---|
| 225 | <p /> |
|---|
| 226 | |
|---|
| 227 | <div class="date"><a name="generalstats"></a><b>#rb("generalstats")#</b></div> |
|---|
| 228 | <div class="body"> |
|---|
| 229 | <table border="1" width="100%"> |
|---|
| 230 | <tr> |
|---|
| 231 | <td width="50%"><b>#rb("totalnumentries")#:</b></td> |
|---|
| 232 | <td align="right">#getTotalEntries.totalEntries#</td> |
|---|
| 233 | </tr> |
|---|
| 234 | <tr> |
|---|
| 235 | <td width="50%"><b>#rb("last30")#:</b></td> |
|---|
| 236 | <td align="right">#last30.totalEntries#</td> |
|---|
| 237 | </tr> |
|---|
| 238 | <tr> |
|---|
| 239 | <td width="50%"><b>#rb("last30avg")#:</b></td> |
|---|
| 240 | <td align="right"><cfif last30.totalentries gt 0>#numberFormat(last30.totalEntries/30,"999.99")#<cfelse> </cfif></td> |
|---|
| 241 | </tr> |
|---|
| 242 | <tr> |
|---|
| 243 | <td width="50%"><b>#rb("firstentry")#:</b></td> |
|---|
| 244 | <td align="right"><cfif len(getTotalEntries.firstEntry)>#dateFormat(getTotalEntries.firstEntry,"mm/dd/yy")#<cfelse> </cfif></td> |
|---|
| 245 | </tr> |
|---|
| 246 | <tr> |
|---|
| 247 | <td width="50%"><b>#rb("lastentry")#:</b></td> |
|---|
| 248 | <td align="right"><cfif len(getTotalEntries.lastEntry)>#dateFormat(getTotalEntries.lastEntry,"mm/dd/yy")#<cfelse> </cfif></td> |
|---|
| 249 | </tr> |
|---|
| 250 | <tr> |
|---|
| 251 | <td width="50%"><b>#rb("bloggingfor")#:</b></td> |
|---|
| 252 | <td align="right"><cfif isDefined("dur")>#dur# #rb("days")#<cfelse> </cfif></td> |
|---|
| 253 | </tr> |
|---|
| 254 | <tr> |
|---|
| 255 | <td width="50%"><b>#rb("totalcomments")#:</b></td> |
|---|
| 256 | <td align="right">#getTotalComments.totalComments#</td> |
|---|
| 257 | </tr> |
|---|
| 258 | <tr> |
|---|
| 259 | <td width="50%"><b>#rb("avgcommentsperentry")#:</b></td> |
|---|
| 260 | <td align="right">#numberFormat(averageCommentsPerEntry,"999.99")#</td> |
|---|
| 261 | </tr> |
|---|
| 262 | <cfif application.blog.getProperty("allowtrackbacks")> |
|---|
| 263 | <!--- RBB: 1/20/06: Added total trackbacks ---> |
|---|
| 264 | <tr> |
|---|
| 265 | <td width="50%"><b>#rb("totaltrackbacks")#:</b></td> |
|---|
| 266 | <td align="right">#getTotalTrackbacks.totalTrackbacks#</td> |
|---|
| 267 | </tr> |
|---|
| 268 | </cfif> |
|---|
| 269 | <tr> |
|---|
| 270 | <td width="50%"><b>#rb("totalviews")#:</b></td> |
|---|
| 271 | <td align="right">#getTotalViews.total#</td> |
|---|
| 272 | </tr> |
|---|
| 273 | <tr> |
|---|
| 274 | <td width="50%"><b>#rb("avgviews")#:</b></td> |
|---|
| 275 | <td align="right"> |
|---|
| 276 | <cfif gettotalentries.totalentries gt 0 and gettotalviews.total gt 0> |
|---|
| 277 | #numberFormat(gettotalviews.total/gettotalentries.totalentries,"999.99")# |
|---|
| 278 | <cfelse> |
|---|
| 279 | 0 |
|---|
| 280 | </cfif> |
|---|
| 281 | </td> |
|---|
| 282 | </tr> |
|---|
| 283 | <tr> |
|---|
| 284 | <td width="50%"><b>#rb("totalsubscribers")#:</b></td> |
|---|
| 285 | <td align="right">#getTotalSubscribers.totalsubscribers#</td> |
|---|
| 286 | </tr> |
|---|
| 287 | |
|---|
| 288 | </table> |
|---|
| 289 | </div> |
|---|
| 290 | |
|---|
| 291 | <p /> |
|---|
| 292 | |
|---|
| 293 | <div class="date"><a name="topviews"></a><b>#rb("topviews")#</b></div> |
|---|
| 294 | <div class="body"> |
|---|
| 295 | <table border="1" width="100%"> |
|---|
| 296 | <cfloop query="getTopViews"> |
|---|
| 297 | <tr> |
|---|
| 298 | <td width="50%"><b><a href="#application.blog.makeLink(id)#" rel="nofollow">#title#</a></b></td> |
|---|
| 299 | <td align="right">#views#</td> |
|---|
| 300 | </tr> |
|---|
| 301 | </cfloop> |
|---|
| 302 | </table> |
|---|
| 303 | </div> |
|---|
| 304 | |
|---|
| 305 | <p /> |
|---|
| 306 | |
|---|
| 307 | <div class="date"><a name="categorystats"></a><b>#rb("categorystats")#</b></div> |
|---|
| 308 | <div class="body"> |
|---|
| 309 | <table border="1" width="100%"> |
|---|
| 310 | <cfloop query="getCategoryCount"> |
|---|
| 311 | <tr> |
|---|
| 312 | <td width="50%"><a href="#application.blog.makeCategoryLink(categoryid)#">#categoryname#</a></td> |
|---|
| 313 | <td align="right">#total#</td> |
|---|
| 314 | </tr> |
|---|
| 315 | </cfloop> |
|---|
| 316 | </table> |
|---|
| 317 | </div> |
|---|
| 318 | |
|---|
| 319 | <p /> |
|---|
| 320 | |
|---|
| 321 | <div class="date"><a name="topentriesbycomments"></a><b>#rb("topentriesbycomments")#</b></div> |
|---|
| 322 | <div class="body"> |
|---|
| 323 | <table border="1" width="100%"> |
|---|
| 324 | <cfloop query="topCommentedEntries"> |
|---|
| 325 | <tr> |
|---|
| 326 | <td width="50%"><b><a href="#application.blog.makeLink(id)#" rel="nofollow">#title#</a></b></td> |
|---|
| 327 | <td align="right">#commentCount#</td> |
|---|
| 328 | </tr> |
|---|
| 329 | </cfloop> |
|---|
| 330 | </table> |
|---|
| 331 | </div> |
|---|
| 332 | |
|---|
| 333 | <p /> |
|---|
| 334 | |
|---|
| 335 | <div class="date"><a name="topcategoriesbycomments"></a><b>#rb("topcategoriesbycomments")#</b></div> |
|---|
| 336 | <div class="body"> |
|---|
| 337 | <table border="1" width="100%"> |
|---|
| 338 | <cfloop query="topCommentedCategories"> |
|---|
| 339 | <!--- |
|---|
| 340 | This is ugly code. |
|---|
| 341 | I want to find the avg number of posts |
|---|
| 342 | per entry for this category. |
|---|
| 343 | ---> |
|---|
| 344 | <cfquery name="getTotalForThisCat" dbtype="query"> |
|---|
| 345 | select total |
|---|
| 346 | from getCategoryCount |
|---|
| 347 | where categoryid = '#categoryid#' |
|---|
| 348 | </cfquery> |
|---|
| 349 | <cfset avg = commentCount / getTotalForThisCat.total> |
|---|
| 350 | <cfset avg = numberFormat(avg,"___.___")> |
|---|
| 351 | <tr> |
|---|
| 352 | <td width="50%"><b><a href="index.cfm?mode=cat&catid=#categoryid#" rel="nofollow">#categoryname#</a></b></td> |
|---|
| 353 | <td align="right">#commentCount# (#rb("avgcommentperentry")#: #avg#)</td> |
|---|
| 354 | </tr> |
|---|
| 355 | </cfloop> |
|---|
| 356 | </table> |
|---|
| 357 | </div> |
|---|
| 358 | |
|---|
| 359 | <p /> |
|---|
| 360 | |
|---|
| 361 | <cfif application.blog.getProperty("allowtrackbacks")> |
|---|
| 362 | <!--- RBB 1/20/2006: Added top entriex by trackbacks ---> |
|---|
| 363 | <div class="date"><a name="topentriesbytrackbacks"></a><b>#rb("topentriesbytrackbacks")#</b></div> |
|---|
| 364 | <div class="body"> |
|---|
| 365 | <table border="1" width="100%"> |
|---|
| 366 | <cfloop query="topTrackbackedEntries"> |
|---|
| 367 | <tr> |
|---|
| 368 | <td width="50%"><b><a href="#application.blog.makeLink(id)#" rel="nofollow">#title#</a></b></td> |
|---|
| 369 | <td align="right">#trackbackCount#</td> |
|---|
| 370 | </tr> |
|---|
| 371 | </cfloop> |
|---|
| 372 | </table> |
|---|
| 373 | </div> |
|---|
| 374 | |
|---|
| 375 | <p /> |
|---|
| 376 | </cfif> |
|---|
| 377 | |
|---|
| 378 | <div class="date"><a name="topsearchterms"></a><b>#rb("topsearchterms")#</b></div> |
|---|
| 379 | <div class="body"> |
|---|
| 380 | <table border="1" width="100%"> |
|---|
| 381 | <cfloop query="topSearchTerms"> |
|---|
| 382 | <tr> |
|---|
| 383 | <td width="50%"><b><a href="#application.rooturl#/index.cfm?mode=search&search=#urlEncodedFormat(searchterm)#" rel="nofollow">#searchterm#</a></b></td> |
|---|
| 384 | <td align="right">#total#</td> |
|---|
| 385 | </tr> |
|---|
| 386 | </cfloop> |
|---|
| 387 | </table> |
|---|
| 388 | </div> |
|---|
| 389 | |
|---|
| 390 | <p /> |
|---|
| 391 | <div class="date"><a name="topcommenters"></a><b>#rb("topcommenters")#</b></div> |
|---|
| 392 | <div class="body"> |
|---|
| 393 | <table border="1" width="100%"> |
|---|
| 394 | <cfloop query="topCommenters"> |
|---|
| 395 | <tr> |
|---|
| 396 | <td width="50%"><b>#name#</b></td> |
|---|
| 397 | <td align="right">#emailcount#</td> |
|---|
| 398 | </tr> |
|---|
| 399 | </cfloop> |
|---|
| 400 | </table> |
|---|
| 401 | </div> |
|---|
| 402 | |
|---|
| 403 | </cfoutput> |
|---|
| 404 | |
|---|
| 405 | </cfmodule> |
|---|
| 406 | |
|---|
| 407 | <cfsetting enablecfoutputonly=false> |
|---|