User:Woozle/blog/2010/04/22/2127 Mighty Are the Teeth of Josh: Difference between revisions
new page from form at http://wiki.hypertwins.org/HypertWiki:Forms/blog/post |
|||
(No difference)
|
Revision as of 21:54, 27 September 2011
<hide> <let name=data index=Title>Mighty Are the Teeth of Josh</let> <let name=data index=User>Woozle</let> <let name=data index=TopicsUser></let> <let name=data index=TopicsGlobal>\Josh\dentist</let> <let name=data index=TextAbove>Josh has never been to a dentist because he wouldn't "open wide" on command, much less sit calmly for minutes at a time while someone mucked about inside his mouth. It has always seemed pretty clear that he would need a general anaesthetic -- so as long as there was no clear need for dental attention, we put that fairly far down the list of Josh Priorities.</let> <let name=data index=TextBelow>Then last year, he started making these clicking noises with his jaw, and otherwise doing things which could easily be read as indicators of dental pain. Sandy was pretty sure it wasn't actually tooth pain, but stress -- he had made similar sounds over a year earlier, and tooth pain doesn't just go away for months at a time.
There was enough worry, however, that we finally started making inquiries in October about getting him an appointment at the UNC Dental Clinic to find out what they could do.
Much paperwork and many dropped balls later, in approximately February, Josh's caregiver at the foster home became convinced that Josh's teeth were rotten and he was crying out from the pain. She even sent us an email on a Friday when he was coming home with us after school, to warn us about this... but when he got here, he was fine, and continued to be fine all weekend.
(That should perhaps have been A Clue that Josh was not Entirely Happy with the foster home.)
Nevertheless, we decided it would be best to escalate the dental appointment and push it through. With some help from Josh's case manager, contacts were made and an initial appointment finally happened -- and as expected, Josh wouldn't open his mouth for even a brief dental survey.
So we started the paperwork to get him registered as a patient at UNC Hospital, which would handle the anaesthesia, and get him set up for an operation date. (From this point forward, we were no longer dealing with the Dental Clinic but with UNC Geriatrics and Special Care.)
We took him in this past Monday1 for a "pre-care" appointment where they get him into their computer system, take some vitals, and briefly discuss the real operation -- which was scheduled for what is now known as "today".
What happened today:
Here's the itinerary I wrote down last night:
- 4:45 a.m. Start prodding Josh to get up (offer clothes & try to dress him, but don't fight a losing battle)
- If no-go with the dressing, take everything out to the car (including his clothes), then
- Take Josh out to car.
- 5:00 a.m. If no luck getting Josh into car by this time, call the Emergency Grandma Service (he will always go places with her -- so far, anyway...)
Fortunately, we did not have to invoke the Emergency Grandma. He did refuse to get dressed, continued to refuse when we got to UNC, and fought very hard against getting out of the car.
Fortunately, we arrived way early (even after driving around a bit to kill some time) -- 5:30 or so, I think -- so I took my time working out how to get him out of the car. It eventually came down to a combination of lowering the back of the seat he was in (so he couldn't push against it to wedge his feet under the passenger-side dashboard) and lowering the window (so he couldn't put his foot against it to keep from being pulled further out).
He still wouldn't put any of his clothes on after being dragged out of the car -- not even shoes or a jacket.
That wasn't the fun part, however.
He walked in more or less peacefully. There was a brief moment of alarm when we noted that the main entrance was closed that early in the morning, but all we had to do was walk down a little bit to the "Children's Hospital Entrance" and then backtrack inside the building. Josh got to ride the escalator in his bare feet.
We got to the registration desk (pretty much the only thing open at that hour), and after only about 5 minutes they invited us to come back into the office area where you sit down and they type lots of stuff in.
At that point, Josh pulled his first (and only) escape. The office was essentially divided into a "behind the desk" area and a "customer" area, with two openings -- making a small island of cubicles which Josh could run around, always having an avenue to get away from me no matter which way I came. I had to pull Sandy off talking to the clerk to get her to block one of the routes so I could corner him (after some lady said "excuse me sir, you can't come back here" -- which was after I had already asked the front desk guy if I should go in after Josh or not, and he had said go ahead... she might have been talking to Josh or to me; it's not clear).
They suggested that I take Josh back out to the waiting room, so I did.
What was great about the Registration waiting room was that it was right next to the Pre-Care waiting room, which had a nice island in the middle for Josh to orbit and was TOTALLY EMPTY (and most of the exits locked), so Josh could freely orbit around and explore without bothering anybody...
...except that that was when the security guards suddenly showed up in force. (This is the fun part.) I'm guessing they saw this half-naked adult-looking person wandering around in an area where nobody should be, and decided that this was Not Okay. There were maybe half a dozen of them. They said he needed to get dressed. I explained that Josh was autistic and nonverbal. They said that they understood that but he still needed to get dressed. I explained that I could certainly try, but that he was strong and I couldn't physically force him to get dressed if he didn't want to.
I went to get his pants, saw that I didn't have them, came back, explained to them that his pants were with his mother who was in the computer area, which was locked. They somehow made the necessary connections to get her out with the pants, which I then tried to put on -- with completely predictable results, i.e. he was having none of it.
Although the security guards tried a little of the old authoritarian "put you clothes on now" stuff, at least they realized it was a losing battle and didn't push it. They obtained a hospital gown, and we were able to get that on him at least, which apparently was good enough.
Eventually it emerged that we could advance to the next stage of the game -- a few minutes later an orderly arrived with a wheelchair to escort us. I was afraid Josh would refuse to get in, but he didn't -- and pretty quickly it became clear that he really liked the wheelchair. So that was good.
We rode up to the 4th floor accompanied by about 4 security guards and were eventually wheeled into a waiting room where they took Josh's vitals yet again (he seems to have gotten used to this) and then we.......
.....waited.
Josh sat in the hospital bed/gurney, which was configured like a chair. When he started to slump (having not had his full sleep cycle), we turned off the lights and figured out how to make it more flat like a bed.
He slept pretty continuously from when we arrived in that room around 6:30 until about 7:15, when the operating team showed up. We spent a few minutes discussing plans for getting a sedative in him, and a lot of minutes waiting for them to prepare the oral dose -- which of course he refused.
Then we sat around waiting some more, with Josh growing increasingly restless. At one point, Josh saw another patient being wheeled off, and immediately got back onto the gurney -- and figured out how to get it back into the "chair" configuration the other patient's gurney was in. Fortunately, the operating team finally returned not long after that -- I think it was 7:45 or maybe 8:00 -- and decided to just wheel him into the operating room and inject him with the sedative. We thought at first they would need us, but no -- we weren't allowed back there (at this point, anyway).
So they wheeled him off, and we waited.
A few minutes later, the orderly came back and said that they had managed to get the needle in him with no problem, and we could now go back to the main surgical waiting room2.
So we did that, and settled in for the long haul.
I don't remember times much after that, but it was probably about an hour later when the dental surgeon came in and said that his teeth were basically fine -- "he has beautiful teeth!" -- but that his wisdom teeth had come in and were impacted, so they needed to be pulled.
Aside: It needs to be understood at this point that a certain group of people in the social service sector had been hinting broadly that Harena was an irresponsible mother for never having taken her kids to the dentist before. We have now had all three of them taken, and none had any cavities. Yes, we would like to have been taking them regularly all along, but what with the work involved in getting Josh services -- and not really being able to afford it until we got SCHIP for them last year -- plus Harena needing her own rather urgent and extensive dental work, it just hadn't happened. If we had had reason to believe it was urgent, we certainly would have done so -- but it has now been proven pretty conclusively that we were right not to spazz about it. (Here endeth the Aside.)
About another hour later, we loaded a very dizzy and uncoordinated Josh into the car -- he was having such a hard time that I was afraid he was going to miscalculate and hurt himself, but he never did -- and drove home.
On the way home, Josh (who was otherwise mostly dozing, with his head leaned over to one side) twice put his hand gently on my arm. It's really difficult to tell if it was the affectionate gesture that it seemed, or something more incidental.
He slept, on and off, for most of the afternoon. The holes where his wisdom teeth had been apparently stopped bleeding an hour or two after we got home. Right now he's walking around looking almost normal -- a bit chipmunk-cheeked, but not stumbling or anything.
We're probably not going to try to get him to school tomorrow; he should have some time to recover.
We're going to keep him here for maybe a week or so before we try to move him up to The Hughes Center, just so he can recover mentally from the mad pace of events this past week. (We do need to get him up there by the 30th, though, or certain paperwork will expire and we'll need to do more legwork.)
Update: Sandy has posted some further observations and corrections here.
Historical Notes
This was originally posted to LiveJournal on the day it all happened; Sandy posted some follow-up comments the next day. I'm cross-posting this here (backdated) so it can be more easily found along with the other Josh blog posts.
Footnotes
- 1. Monday was the day when I had to drive over to the foster home to try to get him to school, and while I was there the owner started yelling at me about how Josh needed to be on drugs to keep him under control. Harena and I mutually agreed that we were done with them, and that he was not going back there.
- 2. ...which actually had windows to the outside. Hey, the sun came up while we were in there! Who knew?</let>
<let name=data index=TimeStamp>2010-04-27 2127</let> </hide><if not flag=including>==GetLinkBrief()== <func GetLinkBrief>
<let name=links.out>
- </let>
<let name=links.out append copy=data[Date] /> <let name=links.out append> :[[</let> <let name=links.out append copy=pg_title /> <let name=links.out append>|more]]:[[Talk:</let> <let name=links.out append copy=pg_title /> <let name=links.out append>|talk]]: </let>
<if flag=$data[wpage]> <let name=wtLink>[[</let> <let name=wtLink append copy=data[wpage] /> <let name=wtLink append>|</let> <let name=wtLink append copy=data[Title] /> <let name=wtLink append>]] § </let> </if><else> <let name=wtLink>[</let> <let name=wtLink append copy=data[URL] /> <let name=wtLink append> </let> <let name=wtLink append copy=data[Title] /> <let name=wtLink append>]</let> </else>
<let name=links.out append copy=wtLink /> <let name=links.out append> § </let>
<let name=text copy=data[TextShort] /> <if flag=$text></if><else> <let name=text copy=data[Text] len=200 /> </else>
<let name=links.out append copy=text trim /> <let name=links.out append> [[</let> <let name=links.out append copy=pg_title /> <let name=links.out append>|more...]]</let>
</func>
ShowRecentLinks(max)
<func ShowRecentLinks max>
<let name=idx /> <let name=including val=1 /> <for table="qryW3_Titles_Catgs" where="(cl_to='Data/links') AND (page_namespace=0)" sort="page_title DESC" limit=$max name=pg hide> <let name=pg_title val="@row.page_title" /> <let name=idx inc /> <if not flag=$noLoad> <load page=$pg_title /> </if> <if flag=$data[Title]> <call GetLinkBrief /> </if><else> <let name=links.out>
- [[</let>
<let name=links.out append copy=pg_title /> <let name=links.out append>]]</let> </else> <let name=links.rtn append copy=links.out /> <let name=links.out /> <let name=data /> </for>
</func>
ShowTopic(iTopic,iMax)
This should eventually be able to show data in any format: news links, blog entries... <func ShowTopic iTopic iMax>
<let name=idx /> <let name=including val=1 /> <let name=topic farg=iTopic /> <if not flag=$topic> <let name=topic parse>Woozle/blog/2010/04/22/2127 Mighty Are the Teeth of Josh</let> </if> <let name=topic self with="_"> </let>
<let name=sqlWhere>(page_namespace=0) AND (cl_to='</let> <let name=sqlWhere append copy=topic /> <let name=sqlWhere append>')</let>
<for table="qryW3_Titles_Catgs" where=$sqlWhere sort="page_title DESC" name=pg empty="no items yet" limit=$iMax hide> <let name=pg_title val="@row.page_title" /> <let name=idx inc /> <if not flag=$noLoad> <load page=$pg_title local /> </if> <if flag=$data[Title]> <call GetBrief /> </if><else> <let name=links.out>
- [[</let>
<let name=links.out append copy=pg_title /> <let name=links.out append>]]</let> </else> <let name=exclude val=0 /> <let name=links.rtn append copy=links.out /> <let name=data null /> </for>
</func>
GetBlogEntryBrief()
<func GetBlogEntryBrief> INPUT:
data[*] - from blog entry page pg_name - full name of page being displayed (including namespace)
<if not flag=$noLoad> <load page=$pg_name /> </if>
<let name=e.out>
- </let>
<let name=e.out append copy=data[TimeStamp] /> <let name=e.out append> [[</let> <let name=e.out append copy=pg_name /> <let name=e.out append>|</let> <let name=e.out append copy=data[Title] /> <let name=e.out append>]] § </let>
<let name=text copy=data[TextAbove] /> <if flag=$text></if><else> <let name=text copy=data[TextBelow] len=200 /> </else>
<let name=e.out append copy=text trim /> <let name=e.out append> [[</let> <let name=e.out append copy=pg_name /> <let name=e.out append>|more...]]</let>
</func>
GetBlogEntryBriefChrisFormat()
<func GetBlogEntryBriefChrisFormat> INPUT:
data[*] - from blog entry page pg_name - full name of page being displayed (including namespace)
<if not flag=$noLoad> <load page=$pg_name /> </if>
<let name=e.out></let> <let name=e.out append>[[</let> <let name=e.out append copy=pg_name /> <let name=e.out append>|</let> <let name=e.out append copy=data[Title] /> <let name=e.out append>]], </let> <let name=e.out append copy=data[TimeStamp] /> <let name=e.out append>
</let>
<let name=text copy=data[TextAbove] /> <if flag=$text></if><else> <let name=text copy=data[TextBelow] len=200 /> </else>
<let name=e.out append copy=text trim /> <let name=e.out append> [[</let> <let name=e.out append copy=pg_name /> <let name=e.out append>|more...]]
</let> </func>
GetBlogEntryFull()
<func GetBlogEntryFull> INPUT:
data[*] - from blog entry page pg_name - full name of page being displayed (including namespace)
<if not flag=$noLoad> <load page=$pg_name /> </if>
<let name=e.out>
==</let>
<let name=e.out append copy=data[Title] /> <let name=e.out append>==
posted at </let>
<let name=e.out append copy=data[TimeStamp] /> <let name=e.out append>
</let>
<let name=e.out append copy=data[TextAbove] /> <let name=e.out append copy=BlogFoldDivider /> <let name=e.out append copy=data[TextBelow] />
-- category display
<let name=e.out append copy=BlogFoldDivider /> <let name=e.out append>
Categories –</let>
<let name=noCat val=1 /> <call MakeBlogCatgs /> <if flag=$wtCatGlob> <let name=e.out append> general: </let> <let name=e.out append copy=wtCatGlob> </if> <if flag=$wtCatUser> <let name=e.out append> user: </let> <let name=e.out append copy=wtCatUser> </if> <let name=e.out append></let>
</let> </func>
ShowRecentBlogEntries(max,funcEntry)
<func ShowRecentBlogEntries max funcEntry>
<let name=idx /> <if not flag=$funcEntry> <let name=funcEntry val="GetBlogEntryBrief" /> </if> <let name=including val=1 /> <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide> <let name=pg_nspace_code>{{ns:</let> <let name=pg_nspace_code append val=@row.page_namespace /> <let name=pg_nspace_code append>}}</let> <let name=pg_nspace copy=pg_nspace_code parse /> <let name=pg_title val="@row.page_title" /> <let name=pg_name copy=pg_nspace /> <let name=pg_name append>:</let> <let name=pg_name append copy=pg_title /> <let name=idx inc /> <call func=$funcEntry /> <let name=e.rtn append copy=e.out /> <let name=data /> </for>
</func>
ShowRecentBlogEntriesFull(max)
<func ShowRecentBlogEntriesFull max>
<let name=idx /> <let name=including val=1 /> <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide> <let name=pg_nspace_code>{{ns:</let> <let name=pg_nspace_code append val=@row.page_namespace /> <let name=pg_nspace_code append>}}</let> <let name=pg_nspace copy=pg_nspace_code parse /> <let name=pg_title val="@row.page_title" /> <let name=pg_name copy=pg_nspace /> <let name=pg_name append>:</let> <let name=pg_name append copy=pg_title /> <let name=idx inc /> <call GetBlogEntryFull /> <let name=e.rtn append copy=e.out /> <let name=data /> </for>
</func>
ShowRecentBlogEntriesByTopic(max,topic)
<func ShowRecentBlogEntriesByTopic max topic>
<let name=topic self with="_"> </let>
<let name=sql>(cl_to='</let> <let name=sql>SELECT q1.* FROM qryW3_Titles_Catgs AS q1 LEFT JOIN qryW3_Titles_Catgs AS q2 ON q1.cl_from=q2.cl_from WHERE (q1.cl_to='Data/blog/post') AND (q2.cl_to='</let> <let name=sql append copy=topic /> <let name=sql append>') ORDER BY page_title DESC LIMIT </let> <let name=sql append copy=max />
<for sql=$sql> <let name=pg_nspace_code>{{ns:</let> <let name=pg_nspace_code append val=@row.page_namespace /> <let name=pg_nspace_code append>}}</let> <let name=pg_nspace copy=pg_nspace_code parse /> <let name=pg_title val="@row.page_title" /> <let name=pg_name copy=pg_nspace /> <let name=pg_name append>:</let> <let name=pg_name append copy=pg_title /> <let name=idx inc /> <let name=data[Title] null /> <load page=$pg_name /> <if flag=$data[Title]> <call GetBlogEntryBrief /> <let name=e.rtn append copy=e.out /> </if> <let name=data /> </for>
</func>
MakeBlogCatgs()
<func MakeBlogCatgs>
<let name=catUser copy=data[TopicsUser] /> <let name=catGlob copy=data[TopicsGlobal] /> <let name=wtCatUser null /> <xploop list=$catUser var=topic> <let name=wtCatUser append> [[user:</let> <let name=wtCatUser append copy=data[User] /> <let name=wtCatUser append>/</let> <let name=wtCatUser append copy=topic /> <let name=wtCatUser append>|</let> <let name=wtCatUser append copy=topic /> <let name=wtCatUser append>]]</let>
<let name=wtCatUser append>[[:category:user/</let> <let name=wtCatUser append copy=data[User] /> <let name=wtCatUser append>/</let> <let name=wtCatUser append copy=topic /> <let name=wtCatUser append>|c]]</let>
<if not flag=$noCat> <let name=wtCatUser append> [[category:user/</let> <let name=wtCatUser append copy=data[User] /> <let name=wtCatUser append>/</let> <let name=wtCatUser append copy=topic /> <let name=wtCatUser append>|</let> <let name=wtCatUser append copy=topic /> <let name=wtCatUser append>]]</let> </if> </xploop> <let name=wtCatGlob null /> <xploop list=$catGlob var=topic> <let name=wtCatGlob append> [[</let> <let name=wtCatGlob append copy=topic /> <let name=wtCatGlob append>]]</let>
<let name=wtCatGlob append>[[:category:</let> <let name=wtCatGlob append copy=topic /> <let name=wtCatGlob append>|c]]</let>
<if not flag=$noCat> <let name=wtCatGlob append>[[category:</let> <let name=wtCatGlob append copy=topic /> <let name=wtCatGlob append>]]</let> </if>
</xploop>
</func>
ShowBlogPostPage()
<func ShowBlogPostPage>
<let name=PostDate copy=data[TimeStamp] len=10 /> <let name=wtDate>[[</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]] ([[:category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>|category]])</let>
<let name=wtDate append>[[category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]]</let>
<let name=wtTitle>
==</let>
<let name=wtTitle append copy=data[Title] /> <let name=wtTitle append>==</let> <if flag=$data[TextAbove]> <let name=wtTextBrief>
In Brief </let>
<let name=wtTextFull>
The Rest </let>
<let name=wtTextBrief append copy=data[TextAbove] /> </if><else> <let name=wtTextBrief null /> </else> <let name=wtTextFull append copy=data[TextBelow] />
<call MakeBlogCatgs />
General categories for blog posts: -- the fact that it's a post:
<let name=wtCatGlob append></let>
-- date:
<let name=wtCatGlob append>[[category:</let> <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category <let name=wtCatGlob append>|]]</let> <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting <let name=wtCatGlob append>]]</let>
<let name=user copy=data[User] /> <if flag=$user> <let name=wtUser>[[user:</let> <let name=wtUser append copy=user /> <let name=wtUser append>|</let> <let name=wtUser append copy=user /> <let name=wtUser append>]]</let> </if><else> <let name=wtUser>unknown</let> </else> <echo>
<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />
</func>
ShowBlogPostPage_v2()
<func ShowBlogPostPage_v2>
<let name=PostDate copy=data[TimeStamp] len=10 /> <let name=wtDate>[[</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]] ([[:category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>|category]])</let>
<let name=wtDate append>[[category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]]</let>
<let name=wtTitle>
==</let>
<let name=wtTitle append copy=data[Title] /> <let name=wtTitle append>==</let> <if flag=$data[TextAbove]> <let name=wtTextBrief>
In Brief </let>
<let name=wtTextFull>
The Rest </let>
<let name=wtTextBrief append copy=data[TextAbove] /> </if><else> <let name=wtTextBrief null /> </else> <let name=wtTextFull append copy=data[TextBelow] />
<call MakeBlogCatgs />
General categories for blog posts: -- the fact that it's a post:
<let name=wtCatGlob append></let>
-- date:
<let name=wtCatGlob append>[[category:</let> <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category <let name=wtCatGlob append>|]]</let> <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting <let name=wtCatGlob append>]]</let>
<let name=user copy=data[User] /> <if flag=$user> <let name=wtUser>[[user:</let> <let name=wtUser append copy=user /> <let name=wtUser append>|</let> <let name=wtUser append copy=user /> <let name=wtUser append>]]</let> </if><else> <let name=wtUser>unknown</let> </else> <echo>
<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />
Specs | |
Timestamp: | <get name=PostDate /> |
Author: | <get name=wtUser /> |
User topics: | <get name=wtCatUser /> |
Global topics: | <get name=wtCatGlob /> |
</func>
ShowBlogPostPage_v1()
<func ShowBlogPostPage_v1>
<let name=PostDate copy=data[TimeStamp] len=10 /> <let name=wtDate>[[</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]] ([[:category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>|category]])</let>
<let name=wtDate append>[[category:</let> <let name=wtDate append copy=PostDate /> <let name=wtDate append>]]</let>
<let name=wtTitle>
==</let>
<let name=wtTitle append copy=data[Title] /> <let name=wtTitle append>==</let> <if flag=$data[TextAbove]> <let name=wtTextBrief>
In Brief
</let>
<let name=wtTextFull>
Full Story
</let>
<let name=wtTextBrief append copy=data[TextAbove] /> </if><else> <let name=wtTextBrief null /> </else> <let name=wtTextFull append copy=data[TextBelow] />
<call MakeBlogCatgs />
General categories for blog posts: -- the fact that it's a post:
<let name=wtCatGlob append></let>
-- date:
<let name=wtCatGlob append>[[category:</let> <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category <let name=wtCatGlob append>|]]</let> <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting <let name=wtCatGlob append>]]</let>
<let name=user copy=data[User] /> <if flag=$user> <let name=wtUser>[[user:</let> <let name=wtUser append copy=user /> <let name=wtUser append>|</let> <let name=wtUser append copy=user /> <let name=wtUser append>]]</let> </if><else> <let name=wtUser>unknown</let> </else> <echo>
Specs
Timestamp: | <get name=PostDate /> |
Author: | <get name=wtUser /> |
User topics: | <get name=wtCatUser /> |
Global topics: | <get name=wtCatGlob /> |
<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull /></echo> </func><call ShowBlogPostPage></if>