-
Notifications
You must be signed in to change notification settings - Fork 19
/
theme.html
1467 lines (1276 loc) · 85.3 KB
/
theme.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Geeklog Documentation - Theme How-To</title>
<link rel="stylesheet" type="text/css" href="../docstyle.css" title="Dev Stylesheet" />
</head>
<body>
<p><a href="https://www.geeklog.net/" style="background:transparent"><img src="../images/newlogo.gif" alt="Geeklog" width="243" height="90" /></a></p>
<div class="menu"><a href="index.html">Geeklog Documentation</a> - Theme How-To</div>
<p><small>(see below for a list of <a href="#changes">theme changes</a> in
recent Geeklog versions)</small></p>
<h1>Creating a Theme for Geeklog</h1>
<p>Creating a theme for Geeklog is easy and quite fast. If you can
manipulate HTML files then you can create a theme! There's no need to learn
PHP.</p>
<h2>Creating a theme</h2>
<p>First, copy an existing theme that is most similar to what you want to
implement (if one exists). If what you will do is radically different (and we
hope so!) then copying any one will do. Copy the existing theme to the name you
want your theme to have (please, <em>no</em> spaces in the theme name):</p>
<p><kbd>cp -R /path/to/geeklog/public_html/layout/professional /path/to/geeklog/public_html/layout/My_Theme_Name_No_Spaces</kbd></p>
<p>Change into your new theme directory:</p>
<p><kbd>cd /path/to/geeklog/public_html/layout/My_Theme_Name_No_Spaces</kbd></p>
<p>Now edit the templates to suit your needs. Keep in mind that templates,
generally are partial HTML files. The directory you just created holds ALL
templates Geeklog needs but you will only need to modify a small few to
make a huge impact on the look.</p>
<p>In particular these are the templates you will undoubtedly want to
change:</p>
<ul>
<li>header.thtml</li>
<li>footer.thtml</li>
<li>blockheader.thtml</li>
<li>blockfooter.thtml</li>
<li>storytext.thtml</li>
<li>storybodytext.thtml</li>
<li>featuredstorytext.thtml</li>
<li>featuredstorybodytext.thtml</li>
<li>archivestorytext.thtml</li>
<li>archivestorybodytext.thtml</li>
<li>style.css</li>
</ul>
<h3><a name="how-themes-work">How themes work</a></h3>
<p>When rendering a theme, Geeklog starts with <span class="tt">header.thtml</span> which
builds the site's header and then goes on to include the left column of blocks
(look for the variable {left_blocks} and the <span class="tt">leftblocks.thtml</span> file).
The middle part of a site consists of the stories which are built using the
<span class="tt">storytext.thtml</span> and <span class="tt">storybodytext.thtml</span> (for normal stories)
and <span class="tt">featuredstorytext.thtml</span> and <span class="tt">featuredstorybodytext.thtml</span>
(for featured stories) template files. The <span class="tt">footer.thtml</span> file then
builds the right column of blocks (variable {right_blocks}, file
<span class="tt">right_blocks.thtml</span>) and the site's footer. Blocks themselves consist
of the <span class="tt">blockheader.thtml</span> and <span class="tt">blockfooter.thtml</span> files.</p>
<p>The above only describes how Geeklog's main page and stories are rendered.
More templates exist for the various editors and lists you will see in Geeklog,
as well as for the calendar and almost every other part of Geeklog.</p>
<p>There is currently no complete list available that explains which template
file is used for which part of Geeklog. However, in most cases the use should
be obvious when you have a look at the file and directory names in your theme's
layout directory. If you're unsure which template file is used to render a
certain part of Geeklog, have a look at the URL. You will notice the name of
a PHP file there, e.g. the <span class="tt">users.php</span> file when you view a user's
profile. Open that file and search for '<kbd>.thtml</kbd>'. For the profile
you will find these lines (in <code>function userprofile()</code>):</p>
<pre style="margin-left:4em;"><code>$user_templates = new Template ($_CONF['path_layout'] . 'users');
$user_templates->set_file (array ('profile'=>'profile.thtml', 'row'=>'commentrow.thtml', 'strow'=>'storyrow.thtml'));</code></pre>
<p>You don't need to understand PHP code to see that this uses the template
files <span class="tt">profile.thtml</span>, <span class="tt">commentrow.thtml</span>, and
<span class="tt">storyrow.thtml</span>. The first line also indicates that these are taken
from the <span class="tt">users</span> directory within the theme's layout directory.</p>
<p>An <a href="themevars.html">incomplete list of variables</a> that can be
used in templates files is also included.</p>
<h3><a name="testing">Testing a theme and further information</a></h3>
<p>After you have edited your themes, you are now ready to test it out.
Simply go to http://mygeeklogsite/usersettings.php?mode=preferences - in the
theme drop-down select your newly created theme (note the name of your theme is
the <em>same</em> name as the directory for your theme).</p>
<p>Finally, you may want to update the logo and other images in your
theme's images directory.</p>
<p>For the template system we are using PHPLib's template class (<a
href="http://phplib.sourceforge.net/">http://phplib.sourceforge.net/</a>).
Read their documentation and, optionally, look at
/path/to/geeklog/system/classes/template.class.php to see how it is
implemented. Even with this knowledge it may not be clear which templates
are used in conjunction with one another (i.e. <span class="tt">storytext.thtml</span> and
<span class="tt">storybodytext.thtml</span> together make up the complete format of a
<em>single</em>
story). If you have questions join our mailing list at <a
href="http://lists.geeklog.net/listinfo/geeklog-users">http://lists.geeklog.net/listinfo/geeklog-users</a>
or check us out in IRC at irc.freenode.net in #geeklog.</p>
<h3><a name="tips">Tips and tricks</a></h3>
<p><strong><a name="wysiwyg">Themes and WYSIWYG editors:</a></strong>
The template files used by Geeklog are not complete HTML files - they contain
only parts of the HTML that Geeklog puts together to build a proper HTML
document. This, however, seems to confuse some WYSIWYG HTML editors and some of
them tend to add the HTML which they think is missing from the file, thus
making it unusable for Geeklog.<br />
We suggest you use a simple text editor to edit your themes.</p>
<p><strong><a name="xhtml">XHTML:</a></strong>
Geeklog will create XHTML-compliant tags when asked to do so. You can also
create themes that are both HTML and XHTML compliant. Please see the article
<a href="http://wiki.geeklog.net/index.php/Themes_and_XHTML">Themes and
XHTML</a> entry on the Geeklog Wiki for more information.</p>
<p><strong><a name="php">PHP in themes:</a></strong>
You can use PHP in the <em>header</em> of a theme, i.e. in the
<span class="tt">header.thtml</span> file. If you want to use custom PHP functions, you can
put them in the file <span class="tt">functions.php</span> within your themes directory.</p>
<p><strong><a name="different-look">Different look for left and right blocks:</a></strong>
You can give the blocks on the left and right a different look. See
<a href="https://www.geeklog.net/forum/viewtopic.php?showtopic=21070">this story on the Geeklog homepage</a> for details.</p>
<p><strong><a name="polls">Polls:</a></strong>
To use multi-colored bars in the graphical display of poll results, you can use
the <code>{answer_counter}</code> and <code>{answer_odd}</code> variables in
the <span class="tt">pollbooth/pollvotes_bar.thtml</span> template file.
<code>{answer_counter}</code> will be replaced with a running number for each
answer, hence <code>bar{answer_counter}.gif</code> would result in
<span class="tt">bar1.gif</span>, <span class="tt">bar2.gif</span>, etc. Giving each of those GIFs a different
color would give you a different color for each answer.<br />
<code>{answer_odd}</code> will alternate between 0 and 1 for every answer, hence
<code>bar{answer_odd}.gif</code> will result in <span class="tt">bar0.gif</span> for the first,
third, fifth, etc. answer and <span class="tt">bar1.gif</span> for the second, fourth, etc.
answer.</p>
<p><strong><a name="left-blocks">Left blocks in the right column:</a></strong>
<code>$_CONF['left_blocks_in_footer']</code> is a
rather curious option. It makes the <code>{left_blocks}</code> variable
available in the site's footer (i.e. <span class="tt">footer.thtml</span>) while at the same
time disabling it in the header (<span class="tt">header.thtml</span>).<br />
The idea is that this can be used for two-column layouts (one column for the
blocks and one column for the content) but when you want to have the blocks
on the right side. Simply moving all blocks to the right will not work as
expected, as you'd end up with <em>no blocks</em> at all on those pages that
normally only display the left blocks (e.g. <span class="tt">article.php</span> or the
admin pages). Setting <code>$_CONF['left_blocks_in_footer'] = 1</code> will
fix this, so that the blocks, while internally still treated as <em>left</em>
blocks, will actually be displayed on the <em>right</em>.<br />
The theme's <span class="tt">header.thtml</span>, <span class="tt">footer.thtml</span>, and
<span class="tt">leftblocks.thtml</span> will probably need some adjustments. The
'left_blocks_in_footer' option is therefore not available in the main
configuration but should instead be set in the theme's <span class="tt">functions.php</span>
file. That way, you can even leave your users a choice between, for example,
a "normal" theme and one with the blocks on the right.</p>
<p><strong><a name="error-message">Error Message:</a></strong>
Since Geeklog 1.4.1 it is possible to control what HTML is displayed to
non-root users in the event of an error occurring (a crash bug). To do
so, you need to change the function <code>CUSTOM_handleError</code> in
lib-custom.php to output any HTML you like.</p>
<p><strong><a name="permalink">Adding a "permalink" to stories:</a></strong>
Many websites offer a so-called permalink, i.e. a link to a permanent URL for
the story. In Geeklog's default Professional theme, the article's headline
already provides the same functionality - it links to a permanent URL for the
story (pointing to article.php). However, since this is not very obvious and
since visitors often expect to find a "permalink" somewhere on the page, here's
how to add one yourself:</p>
<ol>
<li>Find a place in the story template files. The "story-footer" section in
<span class="tt">storytext.thtml</span> may be a good place since it already contains quite a
few story-related links.</li>
<li>Once you've found a place to put the permalink entry, enter this piece of
code:<br />
<code style="margin-left:2em"><a href="{article_url}">{lang_permalink}<a></code><br />
This will add a link to the article (<code>article_url</code>) using the word
"Permalink" from the current language file (<code>lang_permalink</code>).</li>
<li>Try it out. Be aware that at this point, your permalink entry only shows up
for non-featured articles. You may want to tweak the appearance a bit (using
CSS) or move the link around.</li>
<li>Add the same piece of code to the <span class="tt">featuredstorytext.thtml</span> and
<span class="tt">archivestorytext.thtml</span> templates so that the link also appears for
featured and archived stories.</li>
</ol>
<h2><a id="changes">Changes</a></h2>
<h2><a name="changes220">Theme changes in Geeklog 2.2.0</a></h2>
<ul>
<li>Added "record_edit" block and {record_edit} template variable to <span class="tt">commentform.thtml</span> and <span class="tt">commentform_advanced.thtml</span>. This allows Comment Moderators to bypass recording when a comment edit is done and by whom.</li>
<li>Added "comment_signature" and "comment_edit" blocks and {comment_signature} and {comment_edit} template variable to <span class="tt">comment.thtml</span>. This allows comment signatures and user edits to by styled easier and removes some hardcoded CSS from the code.</li>
<li>Removed {block_help} template variable from all blockheader template files (blockheader.thtml, blockheader-left.thtml, etc..) Added {help_title} template variable and included help icon and link directly into template files. Use {help_url} variable for template if statement to check if it needs to be displayed or not.</li>
</ul>
<h2><a name="changes213">Theme changes in Geeklog 2.1.3</a></h2>
<ul>
<li>Removed {copyright_notice} from <span class="tt">footer.thtml</span> since it contained embedded HTML tags and the same message can be created from {copyright_msg} and {trademark_msg} template variables.</li>
<li>Removed from the users directory the files <span class="tt">storyrow.thtml</span>, <span class="tt">commentrow.thtml</span>, and <span class="tt">email.thtml</span>. Added additional blocks to <span class="tt">profile.thtml</span> to take into account removed files.</li>
<li>Added 3 blocks to <span class="tt">storytext.thtml</span>, <span class="tt">featuredstorytext.thtml</span>, and <span class="tt">archivestorytext.thtml</span> to control how left aligned, right aligned, and non aligned images are displayed in articles (using the [imageX], [imageX_right], and [imageX_left] tags).</li>
<li>Removed from the Polls Plugin the files for the denim and default templates <span class="tt">pollanswer.thtml</span>, <span class="tt">pollquestions.thtml</span>, <span class="tt">pollvotes_bar.thtml</span>, <span class="tt">pollvotes_num.thtml</span>, and <span class="tt">pollquestion.thtml</span>. Added additional blocks to <span class="tt">pollblock.thtml</span> and <span class="tt">pollresult.thtml</span> to take into account removed files.</li>
</ul>
<h2><a name="changes212">Theme changes in Geeklog 2.1.2</a></h2>
<ul>
<li>Replaced {lang_side} with {lang_position} and added {none_selected} option to position field for <span class="tt">blockeditor.thtml</span> and <span class="tt">defaultblockeditor.thtml</span></li>
<li>Added Device field (with 3 radio inputs) to <span class="tt">blockeditor.thtml</span> and <span class="tt">defaultblockeditor.thtml</span></li>
<li>Added an ability to change article template file with the topic. Suppose you would like to change
article templates with the "Geeklog" topic. Create a directory [path_layout]/topics/Geeklog and
copy storytext.thtml, storybodytext.thtml, featuredstorytext.thtml, featuredstorybodytext.thtml,
archivestorytext.thtml, archivestorybodytext.thtml under the [path_layout] directory over to
[path_layout]/topics/Geeklog and edit the files as you like.</li>
<li>Added {device_mobile} for all template files which returns true if user device viewing the page is considered a mobile device (phone and tablet)</li>
</ul>
<h2><a name="changes211">Theme changes in Geeklog 2.1.1</a></h2>
<p>New template functionality for plugins has been added to Geeklog which when supported allow for specific theme templates for plugins. This means a plugin or theme can include plugin templates designed for individual themes.
These templates can be included with either the plugin itself, or the theme, or in both places at once. All of Geeklogs core plugins support this new feature. To find out more please visit the Geeklog Wiki about <a href="http://wiki.geeklog.net/index.php/Theme_Developers_Guide#Theme_Specific_Plugin_Templates">Theme Specific Plugin Templates</a>.</p>
<h3>General Changes</h3>
<ul>
<li>Added the UIkit framework (v2.24.0) which can be accessed by themes if needed</li>
<li>Moved <span class="tt">breadcrumbs.thtml</span> from breadcrumbs directory to root directory. Added a number of blocks to the template.</li>
<li>Removed <span class="tt">breadcrumb.thtml</span>, <span class="tt">breadcrumb_child.thtml</span>, <span class="tt">breadcrumb_nolink.thtml</span>, and <span class="tt">breadcrumb_root.thtml</span>.</li>
<li>Removed <span class="tt">breadcrumbs directory</span> from theme root directory.</li>
</ul>
<h2><a name="changes210">Theme changes in Geeklog 2.1.0</a></h2>
<ul>
<li>Added the template variable {related_topics} to <span class="tt">featuredstorytext.thtml</span> and <span class="tt">storytext.thtml</span></li>
<li>Added <span class="tt">topicrelated.thtml</span> which displays related topics for articles.</li>
<li>Removed <span class="tt">topicoption.thtml</span> and <span class="tt">topicoption_off.thtml</span>.
Added <span class="tt">topicnavigation.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Renamed <span class="tt">page_navigation.thtml</span> to <span class="tt">pagenavigation.thtml</span>
to be consistent.</li>
<li>Removed <span class="tt">menuitem.thtml</span>, <span class="tt">menuitem_last.thtml</span> and <span class="tt">menuitem_none.thtml</span>.
Added <span class="tt">menunavigation.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Removed <span class="tt">adminoption.thtml</span> and <span class="tt">adminoption_off.thtml</span>.
Added <span class="tt">adminavigation.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Removed <span class="tt">adminoption.thtml</span> and <span class="tt">adminoption_off.thtml</span>.
Added <span class="tt">adminavigation.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Removed <span class="tt">useroption.thtml</span> and <span class="tt">useroption.thtml</span>.
Added <span class="tt">usernavigation.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Removed <span class="tt">listitem.thtml</span>. <span class="tt">list.thtml</span> now uses blocks to reduce the number of template files.</li>
<li>Removed <span class="tt">admin/moderation/moderation.thtml</span>, <span class="tt">admin/moderation/ccitem.thtml</span> and <span class="tt">admin/moderation/ccrow.thtml</span>.
Added <span class="tt">admin/commandcontrol.thtml</span> which uses blocks to reduce the number of template files.</li>
<li>Added <span class="tt">/images/icons/moderation.png</span>image for Admin Moderation page.</li>
<li>Changed list id of "admin-moderation" to "admin-commandcontrol". This affects the Denim, Modern Curve and Proffesional CSS themes.</li>
<li>Moved all images from <span class="tt">/tooltips/images/</span> to <span class="tt">/images/tooltips/</span> and updated all tooltip template files under the <span class="tt">/tooltips/</span> directory to reflect the change.</li>
<li>Moved all images from <span class="tt">/navbar/images/</span> to <span class="tt">/images/navbar/</span> and updated required css files (different for each theme). Removed unused images for navbar from Denim and Modern Curve themes.</li>
<li>Updated <span class="tt">/admin/blocks/blockeditor.thtml</span> and added in cache_time labels and input for all themes.</li>
<li>Updated <span class="tt">/admin/common/edit_topics.thtml</span> so it can use jQuery (by adding ids to a number of elements) for all themes.</li>
<li>Added <span class="tt">/admin/envcheck.thtml</span> and related css for the Enviroment Check Admin page.</li>
<li>Updated <span class="tt">/admin/topic/storyeditor.thtml</span>, <span class="tt">/admin/topic/storyeditor_advanced.thtml</span> and <span class="tt">/admin/topic/topiceditor.thtml</span>. Ids can now be upto 128 characters long so changed max length (for Topic Name as well). Also added javascript which runs topic_2_id.js which converts titles to nice looking ids.</li>
<li>Added the template variable {titletoid} to the story editor, topic editor and staticpage editor template files. It enables/disables the use of javascript to automatic update the ids when the title is changed.</li>
<li>In the template file <span class="tt">/comment/commentbar.thtml</span> removed template variable {show_link_to_commenteditform}. Added the template block commenteditform_jumplink and the template variable {jump_link_for_commenteditform}.</li>
</ul>
<h2><a name="changes200">Theme changes in Geeklog 2.0.0</a></h2>
<p>As of Geeklog 2.0.0 there are now 2 theme engines in Geeklog. Currently the themes Demin and Modern Curve use the 2.0.0 theme engine. The Professional and Professional CSS themes use the 1.8.1 engine.
The 1.8.1 theme engine will eventually be removed from Geeklog so if you are developing a new theme it is best to use the new engine. To find out more about this please visit the Geeklog Wiki <a href="http://wiki.geeklog.net/index.php/Theme_Developers_Guide">Theme Developers Guide</a>.</p>
<h3>General Changes</h3>
<ul>
<li>HTML 5 DOCTYPE added.</li>
<li>A minimal theme API is now available. It can be used to override defaults, load CSS files and load JavaScript files. See the Geeklog Wiki for more details. New functions are function theme_config_mytheme(), function theme_css_mytheme(), function theme_js_libs_mytheme(), function theme_js_files_mytheme(), and function theme_init_mytheme().</li>
<li>New breadcrumbs folder. New files in folder include breadcrumbs.html, breadcrumb_root.thtml, breadcrumb.thtml, breadcrumb_nolink.thtml, and breadcrumb_child.thtml.</li>
<li>To display breadcrumbs for topics, articles and staticpages add {breadcrumb_trail} template variable to your header.thtml.</li>
<li>New file edit_topics.thtml for topic selection found in /admin/common folder.</li>
<li>Updated topicoption.thtml and topicoption_off.thtml files found in root of theme folder.</li>
<li>Replace topic folder in admin folder. Lots of changes with these files.</li>
<li>For topic selection control you need to add the template variable {topic_selection} to the files /admin/block/blockeditor.thtml, /admin/block/defaultblockeditor.thtml, /admin/article/articleeditor.thtml, /admin/article/articleeditor_advenced.thtml, /submit/submitstory.thtml, and /submit/submitstory_advanced.thtml.</li>
<li>Comments on same page changed a lot of things. Copy paste the complete comment folder and custom the commentbar.thtml and comment.thtml files as necessary.</li>
<li>The page navigation uses a new file called page_navigation.thtml.</li>
<li>New css for static pages, stories and blocks editors.</li>
</ul>
<h3>Theme Engine 2.0.0 Specific Changes</h3>
<ul>
<li>New template variable {layout_columns} sets the class of the body tag which is found in header.thtml. This is needed to set the number of Geeklog columns on a given page.</li>
<li>New Javscript file /javascript/fix_html.js required when plugin doesn't support the 2.0.0 theme engine.</li>
<li>Javascript code that runs <code>FixHTML('leftblocks', 'centerblocks', 'rightblocks');</code> needs to be added to the footer.thtml file.</li>
</ul>
<h3>Theme Engine 1.8.1 Specific Changes</h3>
<ul>
<li>None.</li>
</ul>
<h2><a name="changes180">Theme changes in Geeklog 1.8.0</a></h2>
<ul>
<li>Added a new variable <code>{plg_footercode}</code> to <span class="tt">footer.thtml</span>.
Allows for adding code, e.g. JavaScript code, to the end of a page.</li>
<li>Added a robots meta tag to the printable story page,
<span class="tt">article/printable.thtml</span>, so that it isn't indexed by search
engines.</li>
<li>Added a robots meta tag to the printable Static Pages page,
<span class="tt">templates/printable.thtml</span>, so that it isn't indexed by search
engines.</li>
<li>Added a new <span class="tt">tooltips</span> directory that contains templates for various
forms of tooltips (used e.g. for displaying autotag descriptions). Also
required some changes in the <code>tooltip</code> classes and introduced
new classes (<span class="tt">classic</span>, <span class="tt">help</span>, etc.) in the stylesheet,
<span class="tt">style.css</span>.</li>
</ul>
<h2><a name="changes171">Theme changes in Geeklog 1.7.1</a></h2>
<h3>Admin templates</h3>
<ul>
<li>Changed the <code>chk_grpdefault</code> and <code>chk_applydefault</code>
checkboxes in <span class="tt">admin/group/groupeditor.thtml</span> so that the "apply
Default Group change" option only shows up when the state of the Default
Group checkbox changes (requires an additional piece of JavaScript in
<span class="tt">javascript/common.js</span>).</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>The comment submission forms will now display Cancel and Delete buttons,
depending on context (e.g. when reviewing a comment submission). Changes in
<span class="tt">comment/commentform.thtml</span> and <span class="tt">comment/commentform_advanced.thtml</span> for the new elements.</li>
<li>Fixed a closing <span class="tt"></div></span> tag in <span class="tt">loginform_openid.thtml</span>.</li>
<li>Cosmetics: Removed the 1px border from the <span class="tt">block-bg-left</span> and
<span class="tt">block-bg-right</span> classes in the stylesheet.</li>
<li>Cosmetics: Added a <span class="tt">border="0"</span> to the main table in
<span class="tt">header.thtml</span>.</li>
</ul>
<h2><a name="changes170">Theme changes in Geeklog 1.7.0</a></h2>
<h3>Admin templates</h3>
<ul>
<li>New variable <code>{hide_meta}</code> in the Topic editor template,
<span class="tt">admin/topic/topiceditor.thtml</span>, to hide the text entry fields for
the meta description and meta keywords when meta tag support is
disabled.</li>
<li>In the Topic editor template, <span class="tt">admin/topic/topiceditor.thtml</span>,
display the max. size of the topic icon and whether it will be scaled down
(new variable <code>{icon_max_dimensions}</code>).</li>
<li>Added a hidden field "<span class="tt">old_tid</span>" to the Topic editor template file,
<span class="tt">admin/topic/topiceditor.thtml</span>, to allow changing the topic id.</li>
<li>New variable <code>{hide_meta}</code> in the Story editor templates,
<span class="tt">admin/topic/storyeditor.thtml</span> and
<span class="tt">admin/topic/storyeditor_advanced.thtml</span>, to hide the text entry
fields for the meta description and meta keywords when meta tag support is
disabled.</li>
<li>Removed the <code>display:{show_htmleditor};</code> CSS snippet from the
<code><div id="editor-mode"></code> in
<span class="tt">admin/topic/storyeditor_advanced.thtml</span> to ensure that the list of
allowed HTML tags and autotags is always visible.</li>
<li>All <span class="tt">onclick</span> events in the Configuration templates should return
<code>false</code>. In <span class="tt">admin/config/menu_element.thtml</span>, the return
statement was missing for the <code>open_group</code> and
<code>open_subgroup</code> calls.
In <span class="tt">admin/config/config_element.thtml</span>, it was missing for the
<span class="tt">unset-param</span> case (i.e. the call to <code>restore</code>).</li>
<li>Added a new textarea section to <span class="tt">admin/config/config_element.thtml</span>
to allow for configuration options to use a multi-line text entry
field.</li>
<li>In <span class="tt">admin/config/config_element.thtml</span>, in the section for the
<code>select-element</code>, <code>{hide_row}</code> was added for the
table row and a <code>{delete}</code> option was added after the
<code>select</code>. These changes are required to allow dynamic addition /
removal of dropdowns, e.g. for <code>$_CONF['menu_elements']</code>.</li>
<li>The Group editor template, <span class="tt">admin/group/groupeditor.thtml</span>, has two
new options for default groups (<span class="tt">chk_grpdefault</span> and
<span class="tt">chk_applydefault</span> checkboxes + language variables).</li>
<li>The <span class="tt">fieldhelp</span> class was changed to include left and right padding
so that the hard-coded padding could be removed from the Group editor
template, <span class="tt">admin/group/groupeditor.thtml</span>.</li>
<li>For consistency: The template variables for the headline texts in
<span class="tt">admin/common/edit_permissions.thtml</span> are now also available with a
<code>lang_</code> prefix (<code>{lang_owner}</code>, etc).</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>When editing a comment or comment submission, the "Logout" link is now
hidden. This is done by adding a <code>span</code> around the link and a
new template variable, <span class="tt">{hidewhenediting}</span>, that will contain CSS to
hide the <code>span</code> when a comment is edited (but not when it's
submitted). Changed files: <span class="tt">comment/commentform.thtml</span> and
<span class="tt">comment/commentform_advanced.thtml</span>.</li>
<li>In the profile template, <span class="tt">users/profile.thtml</span>, the link to "Find
all postings by <em>User</em>" was shortened, as it contained a lot of
unnecessary parameters for the search.</li>
<li>In <span class="tt">loginform_openid.thtml</span>, the input field was missing a
<code>id="identity_url"</code> (since the <label> tag refers to an id,
not a name).</li>
<li>A new variable <span class="tt">{option_attributes}</span> is available in the
<span class="tt">topicoption.thtml</span> template file. It is currently only used to add
a <code>rel="home"</code> attribute to the Home link in the Topics
block.</li>
<li>A new option in My Account allows users to enable/disable the Advanced
Editor. Requires a new template variable <span class="tt">{advanced_editor_option}</span>
in <span class="tt">preferences/displayblock.thtml</span> and a <strong>new template file</strong>
<span class="tt">preferences/editor.thtml</span> for the actual option (the option remains
hidden unless Advanced Editor is enabled globally in the Configuration).</li>
<li>Added some padding to the <code><li></code> element in
<span class="tt">comment/thread.thtml</span> so that follow-up comments in threaded mode
are a bit more apart and easier to read.</li>
<li>The template file <span class="tt">submit/submitloginrequired.thtml</span> is no longer
needed and has been removed.</li>
</ul>
<h2><a name="changes161">Theme changes in Geeklog 1.6.1</a></h2>
<ul>
<li>Added rules for the <span class="tt">token-expirynotice</span> and
<span class="tt">token-expirytime</span> ids (<em>not</em> classes!) to the stylesheet.
These are used to format the new notice in the editors, informing the user
when the security token will expire.</li>
<li>Added an icon, <span class="tt">images/update.png</span>, to be displayed in the admin's
list of plugins when a plugin needs to be updated. The icon should have the
same size as the "edit" icon (16x16 pixel in the Professional theme).</li>
<li>The Topic Editor now contains a line displaying the number of stories in
the current topic. New variables in <span class="tt">admin/topic/topiceditor.thtml</span>:
<code>{lang_num_stories}</code>, <code>{num_stories}</code></li>
<li>Added a link back to the story to the "Mail Story to a Friend" form,
<span class="tt">profiles/contactauthorform.thtml</span>. Available variables:
<span class="tt">{lang_title}</span>, <span class="tt">{story_title}</span>, <span class="tt">{story_url}</span>,
<span class="tt">{story_link}</span>.</li>
<li>Added a "send copy to myself" option to
<span class="tt">profiles/contactauthorform.thtml</span></li>
<li>Added textarea fields for meta description and meta keywords to the Story
Editor (<span class="tt">admin/article/articleeditor.thtml</span>,
<span class="tt">admin/story/storyeditor_advanced.thtml</span>).</li>
<li>Added textarea fields for meta description and meta keywords to the Topic
Editor (<span class="tt">admin/topic/topiceditor.thtml</span>).</li>
<li>Added a <code>{remoteservice}</code> variable in
<span class="tt">admin/user/edituser.thtml</span> to optionally display the name of the
service a Remote User was using to log in.</li>
<li>Added a <code>{title_checked}</code> variable to <span class="tt">search/searchform.thtml</span>, so that the "Refine search" option can keep the status of the "Titles
Only" checkbox.</li>
<li>Moved hard-coded green color for the byline of search results in "Google"
style to the stylesheet: New class <code>searchresult-byline</code>.</li>
</ul>
<h3>Cosmetic changes</h3>
<p>These changes are mostly cosmetic and won't affect the functionality of a
theme if not applied:</p>
<ul>
<li>Cosmetics: Made the look and layout of the "Send mail to user"
(<span class="tt">profiles/contactuserform.thtml</span>), "Mail Story to a Friend"
(<span class="tt">profiles/contactauthorform.thtml</span>), and "Mail Users"
(<span class="tt">admin/mail/mailform.thtml</span>) dialogs more consistent (alignment,
size of input fields).</li>
<li>Cosmetics: Fixed the position of the story preview when using the
advanced editor (was slightly shifted to the right, <a
href="http://project.geeklog.net/tracking/view.php?id=963">bug #0000963</a>). Changes to the <code><div id="preview"></code> in
<span class="tt">admin/story/storyeditor_advanced.thtml</span>.</li>
<li>Cosmetics: Removed <code>font-size:larger;</code> for the header fields of
the admin lists from the stylesheet, but added some top/bottom padding
(<a href="http://project.geeklog.net/tracking/view.php?id=956">bug #0000956</a>).</li>
<li>Cosmetics: Removed a <code>width="180"</code> from the Block editor template
(<span class="tt">admin/block/blockeditor.thtml</span>) that pushed the first column too
far to the right.</li>
<li>Cosmetics: Made the permission checkboxes look more like an Admin list,
<span class="tt">admin/common/edit_permissions.thtml</span>. Introduced new CSS class
<span class="tt">admin-list-smalltable</span>, which is almost identical to
<span class="tt">admin-list-table</span> but without the <code>width:100%;</code></li>
</ul>
<h3>Changes to plugin templates</h3>
<p>Note that plugin template files are kept in a directory
<span class="tt">plugins/<em>pluginnname</em>/templates</span> and not in the <span class="tt">layout</span>
directory.</p>
<ul>
<li>Links: Removed a <code>width="150"</code> from the Category editor template
(<span class="tt">admin/categoryeditor.thtml</span>) that pushed the first column too far
to the right.</li>
<li>Static Pages: Added new input fields for a meta description and meta
keywords to the Static Pages editor.</li>
<li>Static Pages: In the Static Pages editor, moved the Hits display below
the Last Updated entry (<span class="tt">admin/editor.thtml</span>,
<span class="tt">admin/editor_advanced.thtml</span>).</li>
<li>Static Pages: Added textarea fileds for meta description and meta keywords
in the Static Pages editor (<span class="tt">admin/editor.thtml</span>,
<span class="tt">admin/editor_advanced.thtml</span>).</li>
<li>Polls: Added new input fields for a meta description and meta keywords to
the Polls editor.</li>
<li>Polls: Added new CSS classes <span class="tt">poll-autotag-message</span>,
<span class="tt">poll-autotag</span>, <span class="tt">poll-autotag-left</span>, used when embedding polls
via the new autotags.</li>
</ul>
<h2><a name="changes160">Theme changes in Geeklog 1.6.0</a></h2>
<ul>
<li>Themes can now opt to use a <span class="tt">{doctype}</span> variable in their
<span class="tt">header.thtml</span> instead of using a hard-coded DOCTYPE declaration.
The DOCTYPE will then be set from the configuration (currently available:
HTML 4.01 Strict and Transitional, XHTML 1.0 Strict and Transitional). Such
a theme should <em>not</em> set the <code>XHTML</code> constant in its
<span class="tt">functions.php</span> file!</li>
<li>When using <a href="#xhtml">XHTML</a>, the variable <span class="tt">{xmlns}</span> now
contains <span class="tt">xmlns="http://www.w3.org/1999/xhtml"</span> for XHTML compliance
(to be used in the <span class="tt"><html></span> element).</li>
<li>Added a space between a story's intro text and body text when using the
<span class="tt">{story_text_no_br}</span> variable.</li>
<li>The story templates in the Professional theme now use
<span class="tt">{story_text_no_br}</span> instead of <span class="tt">{story_introtext}</span>, i.e.
there are no <span class="tt"><br></span> tags between a story's intro text and
body text any more. This allows for greater flexibility in formatting a
story (e.g. when using the intro text for teasers) but may result in older
stories being displayed differently now (no visible separation between intro
text and body text).</li>
<li>Bugfix: The variables <span class="tt">{contributedby_user}</span> and
<span class="tt">{contributedby_fullname}</span> were always empty.</li>
<li>The two variables <span class="tt">{start_contributedby_anchortag}</span> and
<span class="tt">{end_contributedby_anchortag}</span> were not set any more (since Geeklog
1.5.0). Instead, the link to the author's profile was added to
<span class="tt">{contributedby_author}</span>, so that the combination of these three
variables (as used in the story templates) still seemed to work. Geeklog
1.6.0 reinstates the old definitions, i.e. the anchortag variables contain
the opening and closing tag to link to the author's profile and
<span class="tt">{contributedby_author}</span> contains only the author's name.</li>
<li>New variable <span class="tt">{photo_max_dimensions}</span> to inform users about the
max. dimensions of a userphoto: <span class="tt">preferences/userphoto.thtml</span></li>
<li>Added a <span class="tt">print.css</span> stylesheet to be used by the
<span class="tt">printable.thtml</span> template files for articles and the static pages
plugin.</li>
<li>The plugin editor can now show a plugin's "display name" (or a beautified
version of the directory name) when using the new variable
<code>{pi_display_name}</code> in <span class="tt">admin/plugins/editor.thtml</span>.
This is a purely cosmetic change.</li>
<li>New template file <span class="tt">admin/lists/inline.thtml</span>, used when embedding
lists into an existing HTML <code><form></code> (e.g. the new Groups
editor).</li>
<li>Added a "send copy to myself" option to
<span class="tt">profiles/contactuserform.thtml</span></li>
<li>Cosmetic changes to the <span class="tt">admin/mail/mailform.thtml</span> template file:
Removed <code>{startblock_email}</code> and <code>{endblock_email}</code>
and the top table. These elements are now added automatically to make the
the mail form look more consistent with the other admin panels.</li>
<li>A new checkbox has been added to <span class="tt">search/searchform.thtml</span> to allow
for a search in the title only.</li>
<li>Cosmetic changes to the <span class="tt">admin/group/groupmembers.thtml</span> template
file: The header (including the icon, links, and the instructions) is now
generated by Geeklog. The <span class="tt"><table></span> that contained these
elements has been removed from the template file.</li>
<li>Configuration: <span class="tt">config_element.thtml</span> was missing a closing
<code></option></code> tag; the <code><col></code> tags in
<span class="tt">configuration.thtml</span> were not XHTML compliant.</li>
</ul>
<h3>Search</h3>
<p>The templates for the search form and search results have been changed and
new template files have been added for the new display modes of the search
results. We suggest to replace the entire <span class="tt">search</span> subdirectory in your
theme with a copy of the directory from the Professional theme as it ships
with Geeklog.</p>
<h3>Comments</h3>
<p>The <span class="tt">commentform.thtml</span> and <span class="tt">commentform_advanced.thtml</span>
template files were changed to include a security token and a
<code>{notification}</code> variable (for the new option to be notified of
followup comments).</p>
<h3>Plugins</h3>
<ul>
<li>The template file for the Polls editor has been changed to allow up to 40
characters for the poll id (pid):
<span class="tt">plugins/polls/templates/admin/polleditor.thtml</span></li>
<li>The <span class="tt">printable.thtml</span> template file for the static pages plugin now
uses <span class="tt">print.css</span> (see above). It also uses the HTML Strict doctype
now.</li>
</ul>
<h3>Permissions Editor</h3>
<p>The various instances of the Permissions Editor (where you can set the Read
/ Edit permissions for Owner, Group, Members, Anonymous) were using slightly
different template variable names. From now on, the following names are defined
everywhere:</p>
<ul>
<li><span class="tt">{lang_permissions}</span> (headline)</li>
<li><span class="tt">{lang_perm_key}</span> (legend: R = read, ...)</li>
<li><span class="tt">{permissions_editor}</span> (the actual checkboxes)</li>
<li><span class="tt">{lang_permissions_msg}</span> (Note: members is all logged in member ...)</li>
</ul>
<p>Template files using the alternative names will continue to work, but new
files should use the above names from now on.</p>
<h2><a name="changes152">Theme changes in Geeklog 1.5.2</a></h2>
<p>Note: Themes made for Geeklog 1.5.0 or 1.5.1 should work just fine with
Geeklog 1.5.2. In this release, we only fixed a few problems in the themes
(detailed below) that also affected 1.5.0 and 1.5.1. The other changes listed
here are optional.</p>
<h3>Bugfixes</h3>
<p>These changes are actual bugs in the template files that also exist in
Geeklog 1.5.0 and 1.5.1. We recommend making these changes to all custom
themes.</p>
<ul>
<li>The security token was missing from the trackback editor template file,
<span class="tt">admin/trackback/trackbackeditor.thtml</span></li>
<li>The <code>{start_storylink_anchortag}</code> variable in the story templates
was missing the closing '>'. This caused the story title to disappear
on some themes. (This was a bug in Geeklog's code, so no theme changes
required)</li>
<li>The <code>{site_admin_url}</code> was missing from the Configuration form
action in <span class="tt">admin/config/configuration.thtml</span>. This may have caused
problems making configuration changes on some setups.</li>
<li>Added a hidden <code>old_pid</code> input field to the polls editor template
file, <span class="tt">plugins/polls/templates/admin/polleditor.thtml</span>, to fix
problems when changing a poll's ID.</li>
</ul>
<h3>Other changes</h3>
<p>These changes are optional. They fix cosmetic issues or issues that only
affect some setups.</p>
<ul>
<li>Cosmetics: In the Professional theme, the last menu entry isn't different
from the other entries, so the
<code>.header-navigation-container li.last</code> rule in <span class="tt">style.css</span>
is not needed for this theme.</li>
<li>Internationalisation: The language direction variable,
<code>{direction}</code>, was not available in the printer-friendly
templates for articles and static pages.</li>
</ul>
<h2><a name="changes151">Theme changes in Geeklog 1.5.1</a></h2>
<p>Note: Themes made for Geeklog 1.5.0 are mostly compatible with Geeklog 1.5.1. We only made one mandatory change (for the Configuration admin panel) - all the other changes listed below are optional or adjustments for special setups (e.g. multi-language sites, right-to-left languages). See details below.</p>
<h3>Important change: Configuration</h3>
<p>The JavaScript code used for the Configuration admin panel used a generic name which caused conflicts with other JavaScript code. You should update the file <span class="tt">admin/config/config_element.thtml</span> to make sure your theme works with Geeklog 1.5.1.</p>
<h3>Multilingual blocks</h3>
<p>The multi-language support for blocks introduced in Geeklog 1.5.1 relies on
<em>disabled</em> blocks being swapped in dynamically. If you are using
Geeklog's multi-language support, you may need to modify the piece of PHP code
in your theme's <span class="tt">functions.php</span> so that it picks the correct templates
for these multilingual blocks:</p>
<pre style="margin-left:4em;"><code>$lang = COM_getLanguageId();
if (empty($lang)) {
$result = DB_query("SELECT onleft,name FROM {$_TABLES['blocks']} WHERE is_enabled = 1");
} else {
$result = DB_query("SELECT onleft,name FROM {$_TABLES['blocks']}");
}</code></pre>
<p>Prior to Geeklog 1.5.1, you will probably only find the first SQL request
in your <span class="tt">functions.php</span> file.</p>
<h3>Other changes</h3>
<ul>
<li>In Geeklog 1.5.0, the behaviour of the variable <code>{page_title}</code>
(in <span class="tt">header.thtml</span>) changed so that it now only contains the actual
page title or the site's slogan (in earlier versions, it contained both the
site's name and either the page title or the site's slogan). This was done
so that the combination <code>{page_title}{page_site_splitter}{site_name}</code>
could be used to place the page title before the site's name for better <a
href="http://en.wikipedia.org/wiki/Search_engine_optimization"
class="wikipedia" title="Search Engine Optimization">SEO</a>. If you prefer
to have the site's name first on the index page and the page title first on
all other pages, you can now use the new variable
<code>{page_title_and_site_name}</code></li>
<li>In the Links plugin, links have an icon indicating that it's an external
link (taking the user away from the current site). This icon did not show
up properly for RTL languages (e.g Hebrew), making the link text unreadable.
Since we could not find a way to make it show up properly in this case, the
icon is not displayed when the text direction is switched to 'rtl'
(for now).</li>
<li>Added an optional <code>feed-link</code> class to be used for links to
feeds (e.g. the new Story Option entry for topic feeds). In the Professional
theme, a small feed icon (<span class="tt">images/feed.png</span>) is used as a background
image for these links.</li>
<li>An optional change to the <span class="tt">comment/commentbar.thtml</span> template file
and the <code>commentbar-line2</code> class in <span class="tt">style.css</span> to make
the "Post a comment" button float to the left and easier to see. There were
no changes in functionality and other commentbar layouts will continue to
work as before.</li>
<li>The story template files <span class="tt">archivestorytext.thtml</span>,
<span class="tt">featuredstorytext.thtml</span>, and <span class="tt">storytext.thtml</span> are now
using the <code>{story_text_no_br}</code> variable to refer to the story
text. Template files that use <code>{story_introtext}</code> here will
continue to work as before.</li>
</ul>
<h2><a name="changes150">Theme changes in Geeklog 1.5.0</a></h2>
<h3><a name="xhtml-support">XHTML support</a></h3>
<p>Geeklog now supports XHTML compliant themes. These themes should define the
following constant in their <span class="tt">functions.php</span> file:</p>
<pre style="margin-left:4em;"><code>define('XHTML', ' /');</code></pre>
<p>This will ensure that Geeklog switches to XHTML internally. If you want your
theme be working both as an HTML and an XHTML theme, you should use the
<code>{xhtml}</code> variable wherever XHTML requires a self-closing tag,
e.g. <code><br /></code> would be written as <code><br{xhtml}></code>. If you don't plan to use the theme for HTML, feel free to hard-code your
theme for XHTML only.</p>
<p><strong>Note:</strong> If you're using XHTML, it is your responsibility to
ensure that your site's content (stories, comments, etc.) is XHTML compliant.
Geeklog does <em>not</em> convert your content to XHTML.</p>
<h3><a name="story-submission">"Contribute" - User submitted stories</a></h3>
<p>Geeklog 1.5.0 supports the ability for users to specify story intro text
and body text seperately rather than just the intro text. This can be
turned on and off by changing the templates. The files:</p>
<ul>
<li>submit/submitstory.thtml</li>
<li>submit/submitstory_advanced.thtml</li>
</ul>
<p>Contain table rows containing the bodytext inputs. Simply removing these
inputs returns behaviour to the original.</p>
<h3><a name="admin-menu">Admin Menu, User Menu & Topic List</a></h3>
<p>All the above mentioned items are now lists, using <code>ul</code> and
<code>li</code> tags (and a new CSS class, <span class="tt">blocklist</span>, to hide the list
bullets). Two new template files have been added to create these blocks:</p>
<ul>
<li>blockheader-list.thtml</li>
<li>blockfooter-list.thtml</li>
</ul>
<p>Please note that the <code>{blockid}</code> variable that was present in
pre-release versions of Geeklog 1.5.0 has since been removed.</p>
<h3><a name="gltoken">Security Changes</a></h3>
<p>Many forms, particularly in the admin section of the site need a new hidden
form field in order for saving the form/processing the action to work. Add:</p>
<pre style="margin-left:4em;"><code><input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}></code></pre>
<p>To the following templates:</p>
<ul>
<li>admin/block/blockeditor.thtml</li>
<li>admin/block/defaultblockeditor.thtml</li>
<li>admin/config/configuration.thtml (new theme file for 1.5)</li>
<li>admin/group/groupeditor.thtml</li>
<li>admin/group/groupmembers.thtml</li>
<li>admin/mail/mailform.thtml</li>
<li>admin/plugins/editor.thtml</li>
<li>admin/article/articleeditor.thtml</li>
<li>admin/article/articleeditor_advanced.thtml</li>
<li>admin/syndication/feededitor.thtml</li>
<li>admin/topic/topiceditor.thtml</li>
<li>admin/trackback/pingbackform.thtml</li>
<li>admin/trackback/pingform.thtml</li>
<li>admin/trackback/serviceeditor.thtml</li>
<li>admin/user/edituser.thtml</li>
<li>comment/reportcomment.thtml</li>
</ul>
<p>Some plugin specific templates have also been changed, you may also need to
check:</p>
<ul>
<li>plugins/calendar/templates/addevent.thtml</li>
<li>plugins/calendar/templates/editpersonalevent.thtml</li>
<li>plugins/calendar/templates/dayview/quickaddform.thtml</li>
<li>plugins/calendar/templates/submitevent.thtml (<code>{hidden_fields}</code> variable)</li>
<li>plugins/links/templates/admin/categoryeditor.thtml (new theme file for 1.5)</li>
<li>plugins/links/templates/admin/linkeditor.thtml</li>
<li>plugins/polls/templates/admin/polleditor.thtml</li>
<li>plugins/staticpages/templates/admin/editor.thtml</li>
<li>plugins/staticpages/templates/admin/editor_advanced.thtml</li>
</ul>
<h3><a name="removed">Removed Files</a></h3>
<p>The following template files have been removed and are no longer needed:</p>
<ul>
<li>admin/lists/menufields.thtml</li>
<li>admin/lists/topmenu_nosearch.thtml</li>
<li>admin/plugins/newlistitem.thtml</li>
<li>admin/plugins/newpluginlist.thtml</li>
</ul>
<h3><a name="sysmessage">System Message</a></h3>
<p>The previously hard-coded CSS for the System Messages has been moved to the
stylesheet (new CSS class <span class="tt">sysmessage</span>).</p>
<h2><a name="changes141">Theme changes in Geeklog 1.4.1</a></h2>
<p>The css in 1.4.1 has been changed to a wider extent. More and more layout
components are beeing moved to the stylesheet so more change in looks can be
achieved with less change in the files. There is a reduction of tables and DIV,
and a stronger focus on semantics and consistency. Please also notice that the
styles.css includes additional documentation on the use of classes now.</p>
<p>As usual, any missing new theme files can simply be copied over from the
default theme (Professional) that ships with Geeklog.</p>
<h3>Header-Tags</h3>
<p>From now on, all headlines in blocks & stories are made with header-tags. The
biggest title in a story is always h1, in a block always h2.</p>
<h3>Story layout</h3>
<p>The blocks for stories have no more tables, and the classes have been renamed
for consistency. There is a box now around the story called class "story" or
"story-featured". The components inside that box are story-icons,
story-information, story-body and story-footer. The title is a h1-tag. For
featured stories, only the outer box has a different class, the rest has to be
cascaded for changes.</p>
<h3>Blocks</h3>
<p>The blocks changed in the same way as the stories. There are no more tables,
only one div-tag as a frame around called block-box, block-box-left or
block-box-right. The title is a h2-tag and the help icon for the block is a span
with a class called block-helpicon. Sub-titles in blocks have the h3-tag (such
such as in the What's new or Older Stories block). The changes affect (next to
styles.css) the follwing files:</p>
<ul>
<li>blockfooter-left.thtml</li>
<li>blockfooter-related.thtml</li>
<li>blockfooter-right.thtml</li>
<li>blockfooter.thtml</li>
<li>blockheader-left.thtml</li>
<li>blockheader-message.thtml</li>
<li>blockheader-related.thtml</li>
<li>blockheader-right.thtml</li>
<li>blockheader.thtml</li>
</ul>
<h3>Admin templates</h3>
<p>Many of the admin template files have had minor changes to tweak appearance
or functionality. If you didn't modify the admin templates in your theme, the
easiest way to upgrade your theme's admin templates is to simply replace the
entire 'admin' directory with the one from Geeklog's Professional theme.</p>
<ul>
<li>All the "delete" buttons in the admin's editors (story editor, etc.) now
pop up a JavaScript confirmation box as a simple measure against
accidental deletion. If you'd rather not have that confirmation box,
replace the <code>{delete_option}</code> variable with
<code>{delete_option_no_confirmation}</code> in the admin templates.</li>
<li>The order of the save / cancel / delete buttons is now consistent across
all admin template files (changed <span class="tt">group/groupeditor.thtml</span> and
<span class="tt">user/edituser.thtml</span>).</li>
<li>Changed the top links in <span class="tt">lists/topmenu_nosearch.thtml</span> and
<span class="tt">topic/topiclist.thtml</span> to be consistent with the other admin areas
(i.e. the links are no longer enclosed in square brackets).</li>
<li>To enable changing the group ownership of "gldefault" blocks, the
<span class="tt">defaultblockeditor.thtml</span> has to be changed to include a
<code>{group_dropdown}</code> variable.</li>
</ul>
<h3>Other theme changes</h3>
<ul>
<li>There was a div for spreading the with of the blocks to a minimum in the
files leftblocks.thtml and rightblocks.thtml. The format of those has been
transferred to the stylesheet with the class name block-bg-spreader</li>
<li>The template for the Polls-plugin has renamed classes block-vote-results to
poll-vote-results and block-vote to poll-vote to avoid confustion with
block-related classes.</li>
<li>The template files used by the Calendar plugin are now located in the
plugin's directory, (<span class="tt">/path/to/geeklog/plugins/calendar/templates</span>),
so the entire 'calendar' directory can be removed from the theme
directory.<br />
The <span class="tt">submitevent.thtml</span>, <span class="tt">editpersonalevent.thtml</span>,
<span class="tt">admin/eventeditor.thtml</span>, and <span class="tt">dayview/quickaddform.thtml</span>
have also been changed to (optionally) support entering the time in <a
href="calendar.html#desc_hour_mode">24 hour mode</a>: A hidden input field
"hour_mode" is now required, the am/pm dropdowns are available as variables
<code>{startampm_selection}</code>, <code>{endampm_selection}</code>,
<code>{ampm_selection}</code>, depending on the template file), and the
dropdowns for the minutes are available as variables
(<code>{startminute_options}</code>, <code>{endminute_options}</code>,
<code>{minute_options}</code>, depending on the template file).</li>
<li>The variables <code>{author}</code> and <code>{owner}</code> are now
available in every template where an object's author (e.g. story or
comment author) or owner (e.g. owner of a block) name can be displayed.
They will also respect the <a
href="config.html#desc_show_fullname">$_CONF['show_fullname']</a> setting,
i.e. display either the user's full name or username.</li>
<li>The Article Author's tag in <span class="tt">storytext.thtml</span> and
<span class="tt">featuredstorytext.thtml</span> is now called
<code>{contributedby_author}.</code></li>
<li>To enable a remarks field in the answer to polls, the
<span class="tt">pollvotes_bar.thtml</span>, <span class="tt">pollansweroption.thtml</span> and
<span class="tt">polleditor.thtml</span> were changed. The
<span class="tt">pollvotes_bar.thtml</span> is now colored and has two lines, a class
for color coding each line and the <code>{answer_text}</code>. The
<span class="tt">polleditor.thtml</span> has an aditional field to enter the remarks,
same as the <span class="tt">pollansweroption.thtml</span>.</li>
<li>A user's Account Information page has been redesigned. While there were no
technical changes (i.e. template files from earlier versions will still
work), some options have been rearranged and a note has been added to tell
the user that the current password is required to change those. Affected
files in the <span class="tt">preferences</span> directory: <span class="tt">profile.thtml</span>,
<span class="tt">username.thtml</span>, and <span class="tt">userphoto.thtml</span>.</li>
<li>The <span class="tt">navbar</span> directory now contains four files,
<span class="tt">menuitem.thtml</span>,<span class="tt">navbar.thtml</span>,<span class="tt">breadcrumbs.thtml</span>,<span class="tt">breadcrumb_link</span> as well as two images,
<span class="tt">button.gif</span> and <span class="tt">button_over.gif</span>.</li>
<li>A <a name="captcha"><code>{captcha}</code></a> variable has been added to
the following files:
<ul>
<li><span class="tt">comment/commentform.thtml</span></li>
<li><span class="tt">comment/commentform_advanced.thtml</span></li>
<li><span class="tt">profiles/contactauthorform.thtml</span></li>
<li><span class="tt">profiles/contactuserform.thtml</span></li>
<li><span class="tt">submit/submitstory.thtml</span></li>
<li><span class="tt">submit/submitstory_advanced.thtml</span></li>
<li><span class="tt">users/registrationform.thtml</span></li>
</ul>
This variable is supposed to be used by a plugin that implements <a
href="http://en.wikipedia.org/wiki/CAPTCHA" class="wikipedia">CAPTCHA</a>s
and will simply be empty when no such plugin is installed.</li>
</ul>
<h3>Professional theme</h3>
<p>The following changes are specific to the Professional theme. There is
probably no need to port them over to other themes.</p>
<ul>
<li>The theme now uses CSS everywhere for spacing and dividers instead of
relying on a 1x1 pixel transparent GIF image (<span class="tt">speck.gif</span>).</li>
<li>The amount of nested tables has been reduced, e.g. in the block
headers.</li>
<li>Two unused template files, <span class="tt">customlogin-header.thtml</span> and
<span class="tt">customlogin-footer.thtml</span>, have been removed.</li>
</ul>
<h2><a name="changes140">Theme changes in Geeklog 1.4.0</a></h2>
<p>As usual, any missing new theme files can simply be copied over from the
default theme (Professional) that ships with Geeklog.</p>
<h3>Admin templates</h3>
<p>Geeklog 1.4.0 comes with revamped Admin sections which required a lot of
theme changes. We therefore suggest that you simply replace the entire
<span class="tt">admin</span> directory of your theme with the <span class="tt">admin</span> directory
from Geeklog's default theme (Professional) as it ships with Geeklog 1.4.0
and apply any modfications you may have made to your Admin templates again
afterwards.</p>
<p><strong>Note:</strong> The new icons for "Command and Control"
(<span class="tt">moderation.php</span>) in the Professional theme use a white background.
For themes with a dark (or other non-white) background, you can <a
href="https://www.geeklog.net/filemgmt/singlefile.php?lid=623">download</a> these
icons as PNGs with alpha transparency (note that Internet Explorer can not
display images with alpha transparency unless you include a JavaScript "<a
href="http://homepage.ntlworld.com/bobosola/">hack</a>" into your theme, so you
may want to convert those icons to normal transparency or simply set the
background to that of your theme).</p>
<h3>Advanced editor</h3>
<p>To use the included advanced editor (FCKeditor) you will need the following