-
Notifications
You must be signed in to change notification settings - Fork 5
/
changes.txt
executable file
·1322 lines (1253 loc) · 75.9 KB
/
changes.txt
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
Changes in 5.0.2-stable
- Fixed <br> tags being added to <pre> content in Xed in Firefox.
- Fixed an issue with Xed's htmlentities decoding.
- Added automatic support for gzip compression of AJAX responses.
- Fixed potential issue with template selector missing templates.
- Fixed an error on cancelling new css files in SiteTemplate.
- Fixed issue with many team permissions - NOTE: Requires upgrade utility run.
- Removed change history from browse if page is locked/not editable.
- All related collections can now be disabled with their apps.
- Fixed an encoding issue with international characters in Xed.
Changes in 5.0.1-stable
- Added basic support for multi-column primary keys to Rex editing.
- Fixed ampersand issue in Xed editor.
- Fixed case of Session::getUser() failing when simulating logins.
- Updated user manual after testing Sitellite in Google Chrome.
Changes in 5.0.0-stable
- Fixed a double-quote escaping issue in Xed.
- Fixed a bug detecting external vs local links in the Xed link editor.
- Added prepend/append options to textarea widget.
- Sitellite meta tag now obeys the send_version_header setting too.
- Fixed a bug causing the menu cache to fail to save.
- Updated default settings and db schema.
- Added basic many-to-many table join widget, called Joiner.
- Added basic many-to-many table join facet for collections.
- Updated installer to be more flexible with updating the config files.
Changes in 4.3.5-rc
- Improved the column name output in the Change History view.
- Removed PHPDocumentor in favour of new 'docs' app, reducing code size.
- Removed extra pages from default site install.
- Removed 'toc' box from default site templates.
- Added the ability to enable/disable non-core apps in the admin menu.
- Added new Sitellite 5 logo and colours.
- Added all GPL add-ons into the inc/app folder. You can now enable/disable each
as needed.
- Fixed a conflict between a new filter change in SimpleTemplate and the Generic
object generation.
- Added prepend and append properties to the Text MailForm widget.
- Fixed a small table rendering issue with the Textarea MailForm widget.
- Fixed CGI::parseUri() mapping of /foo.html to the page ID 'foo'.
- Fixed a potential path issue in xed.
- Updated the default site contents.
- Added the manuals to the install and updated the built in docs.
- Fixed page template inheritance conflicts with the new menu loading.
Changes in 4.3.4-beta
- Fixed a bug in the folder browser related to loading order in the Javascript.
- Fixed some UTF-8 encoding issues in the js/rpc AJAX library.
- Added multi-column (up to 4) suport in the checkbox and radio MailForm widgets.
- Added missing update script for 4.2.x to 4.3.0 in the upgrade utility.
- Fixed mod_rewrite warnings in the main htaccess file.
- Fixed error notices on indexing apps with no translatable strings.
- Added i18n calls to the upgrade utility.
- Fixed a bug stripping out the window.close() on the 'close preview window' link.
- Removed default French translations in the sitellite (Utilities) app.
- Fixed an issue with the upgrade utility changelog view.
- Fixed a conflict between the default site's /manual page and Apache's /manual alias.
- You can now specify filters via {varname|filter1|filter2} in .spt files.
- Fixed a single-quote issue in the page browser javascript for the French language.
- Patched saf.I18n.Builder to catch more translation strings in inline spt templates.
- Added new 'same as current page' option to where to place new pages in the tree.
- Added conversion of accented chars to unaccented ones for suggested page ID values.
- Added a new 'url' language negotiation method which adds a /fr/ to page URLs.
- Added a new setInvalid() method to saf.MailForm for easier custom form handling.
- Added intl_get() around a few missing strings in inc/app/cms/conf/properties.php.
- Fixed an issue with the cancel not clearing autosave drafts intermittently.
- Fixed an issue causing help manual editing in AppDoc to go blank.
- Added new logo design to Sitellite and the installer.
Changes in 4.3.3-beta
- Fixed a bug in the Date::add() and Date::subtract() functions when passed
incomplete date info.
- Added Quebec to the provinces in inc/conf/properties.php -- not sure why it wasn't
there already...
- Fixed a warning for an array_merge() call in the cms.Workflow package.
- Fixed a warning for an array_merge() call in the saf.I18n package.
- Changed the logo/style of the installer to match the new Sitellite 5 design.
- Specified latin1 for sitellite_filesystem(_sv|_download) file name fields, which
fixes issues with utf-8 and the field lengths.
- Fixed an issue where the default template set setting stopped having any effect.
- Fixed a bug in Safari with the superscript/subscript buttons in Xed.
- Fixed a bug in Safari with the undo history of links in Xed.
- Added the jQuery tooltip plugin to the /js libraries.
- Modified Xed to use a CSS sprite instead of individual images for its toolbar.
- Modified the update utility to handle releases without updates to apply.
Changes in 4.3.2-beta
- Added 'section index' field to web pages search parameter list.
- saf.XML.RSS.Simple switches between cURL and file() now.
- Added sitellite/nav/init to sitellite/sidebar so it can find section indexes.
- Removed a warning of an undefined property in saf.XML.Sloppy.
- Improved the parsing and writing of ini files in saf.Misc.Ini.
- Wrote a test of saf.Misc.Ini in saf/tests/misc_ini.phpt.
- Fixed a bug that caused Sitellite's version header setting to toggle incorrectly.
- Fixed a bug in newer versions of PHP that caused Web Files uploads to fail.
- Added optional default mime type to saf.Functions' mime() function.
- Removed SAF version and powered-by header. One (Sitellite) is enough.
- Fixed a bug preventing 0 byte files from being uploaded into Web Files.
- Browse screen was adding extra columns for lock user and expiry time.
- Set default limit to 30, added 50 and 100 to preferences options.
- Added ability to store files without file extensions in Web Files.
- Added the ability to download specific versions of Web Files via rid parameter.
- Fixed change history view for Web Files to show download links of files.
- Added optional gzip encoding for browsers that support it (requires zlib ext).
- Fixed pagebrowser to allow more than one on a page at a time.
- Added boxchooser into the main Sitellite tree.
- Added formchooser into the main Sitellite tree.
- Added filechooser into the main Sitellite tree.
- Added Xed pro into main Sitellite tree.
- Added xed.Widget.Linker widget to the page properties > external alias field.
- Added boxchooser.widget.Boxchooser to the sidebar properties > alias field.
- Updated colours for web files folder selector popup.
- Fixed a missing permission check causing history restore links to show incorrectly.
- Fixed a new problem with the keyword popup's remove button.
- Session authentication now cross-references the user agent for added security.
- Added password recovery tool on the CMS login page.
- Added autocomplete=off to passwords in user add/edit forms.
- Added password change capability to preferences form for admin users.
- Added a new 'Duplicate this page' button to the Web View.
- Added check for symbolic links to saf.File.Directory's rmdirRecursive().
- Fixed an error causing Dir::build() to report false on successes.
- Added new modified, created and token fields to cms.Workflow.Lock, requires
database update -- please refer to Tools > Upgrade Utility for updating sites.
- Web Files directory listings now publish alternative meta tags for RSS discovery.
- Web Files links now take the form /cms-filesystem-action/path/to/file.txt.
- Solved issues with files having spaces in the names causing download quirks.
- Fixed an issue with select boxes and the new application settings editor.
- Fixed an issue in Xed in Adobe AIR where links could be clicked in the editor.
- js/rpc now uses the JSON library for parsing values instead of eval() for added
security.
- All scripts in /js/ folder now compressed using the YUI Compressor for added
performance. Just call /js/library-compressed.js instead of /js/library.js.
- Added REST API for Web Files at /cms-filesystem-rest-action, docs to follow.
- Improved the look of the form help.
- Added dynamic treeview to sitellite/nav/sitemap box using jQuery treeview plugin.
- Added site map to the box chooser.
- Added language selector to the box chooser.
- Preview now correctly filters page contents through saf.HTML.Messy HTML cleaner.
- Fixed the file chooser widget to correctly return paths with the new url scheme.
- Xed now uses its own multilevel undo instead of the browser's, works much better.
- Added edit form to image manager to allow for file moving and renaming.
- You must now delete images in the image manager, not the selector.
- Links to pages and files that are renamed are automatically updated.
- Added a new 'pre-delete' workflow trigger so services can be called before deletion.
- Added a new session source that lets a user log in from multiple places/devices at once.
- Fixed a conflicting var/method name in saf.Misc.Document causing warnings.
- Fixed harmless but unnecessary warnings in various libraries: saf.Parser, saf.XML.XT,
saf.XML.XT.Expression, saf.Loader, saf.Session.Acl.
- Added workflow triggers to the new Web Files REST API.
- New folders are now trimmed for leading or trailing spaces.
- Added a setting to inc/app/cms/conf/properties.php to hide disabled panel options
instead of showing them greyed out in the control panel.
- Added more documentation to the saf.Loader package.
- Added new appconf_default_settings() function to the saf.Loader package.
- Fixed a bug in how Sitellite read the list of cacheable/non-cacheable pages.
- Added ability to include SimpleTemplate tags in values in conf/settings.ini.php files.
- Added a conf/settings.ini.php file to the news app.
- Updated the info in the various docs files in the docs folder.
- Increased the field lengths in Web Files to support longer file names.
- Fixed cgi_rewrite_filter() to not filter /index/ from external URLs.
- Suppressed a potential getimagesize() error in the image chooser.
- Updated the installer and upgrade tool to install an alternate schema for MySQL 4.1
and earlier with smaller field lengths in the sitellite_filesystem tables.
Changes in 4.3.1-alpha
- Updated the license notice throughout the SAF packages.
- Added new Tinyarea MailForm widget which integrates the TinyMCE WYSIWYG editor for
cases where the full Xed editor may be overkill (e.g., public-facing custom apps).
- Added login support for adobe air.
- Added htmlentities property to Info form widget to allow HTML info values.
- Fixed an AJAX problem causing errors in recursive asynchronous requests.
- Fixed another AJAX problem causing rare 'invalid label' errors.
- Fixed a problem with mapping AJAX POST requests to object method requests.
- Fixed a bug causing web files file names with spaces in them to be truncated.
- Added nomenu option to web files requests to improve performance.
- Improved RSS performance in news and other apps.
- Added current page to list in page chooser/browser, allowing easier selection.
- Improved document cleaning compatibility with copy/paste from Word documents.
- Cancel was showing a 'page added' notice in the control panel.
- Fixed clear cache error when cache is not enabled.
- Added a clearer error message when you click delete with no items selected.
- Fixed a compatibility issue with saf.GUI.DataGrid and PHP 5.2+.
- Fixed a missing base64_decode in the login url forwarding chain of events.
- Added lock info on hover over lock icon (owner, expires).
- Fixed a problem of hidden save/cancel buttons in source view on Firefox/Windows.
- Fixed a problem with admin-level logins through the public login not forwarding
correctly.
- Moved the menu object initializations into their own box which is auto-loaded
by all built-in sitellite/nav boxes. This eliminates the loading of the menu
tree from the sitellite_page table on all requests that don't require it,
improving load time on many areas of Sitellite.
- Fixed a bug in the permissions that caused some team members to be restricted
from their own team.
- Web page aliases/forwards now maintain the https on secure requests.
- Fixed a bug causing the security letters to appear very light in Firefox/Windows.
- Improved automatic entity parsing for XSS prevention.
- Added test-generator script to generate the outline of a test for each of the SAF
libraries.
- Added outlines of tests for each SAF library, now to turn those into complete
tests...
- Alert dialogues from /js/prompt.js now hide select boxes behind them in IE.
- Fixed problems with the autosave feature, now it works as expected and should
clear properly on save/cancel and also work with Xed content.
Changes in 4.3.0-alpha
- Added 'BUILD DOCS' file to SAF explaining how to regenerate API docs.
- New admin interface colour scheme.
- New example site design.
- Global remove_index setting is now on by default.
- Fixed an issue with adding/editing users.
- Added Xed pro link chooser to Xed basic.
- Help now generates a message instead of an error if it doesn't exist for an app.
- Fixed a bug causing edit form tabs to fail.
- Removed the PHP5 warning from the installer.
- Updated the default resources and role definitions.
- You can now limit access to the file chooser, form chooser, and box chooser.
- Fixed a possible cross-site scripting attack in Rex::renderFacets().
- Added Rex::addFacet() to make custom use of this outside of collections easier.
- Fixed a potential bug in PHP5 with the appconf() and conf() functions.
- Added support for Camino on Mac.
- Added new features to the news/headlines box to be usable in more contexts.
- Added a new news/single box which can be used for lead-ins to single stories.
- Password in user add/edit forms is no longer prefilled automatically by Firefox.
- Added 'add' resource to restrict the ability to add items, updated auth settings.
- Fixed a bug causing the index page to always load on some systems with remove_index.
- Fixed a bug in sitemember/logout pertaining to the new remove_index feature.
- Fixed broken reference to install/installed and added ability to remove the install
folder completely.
- Selector widget now shows options in alphabetical order.
- Fixed a bug where XT's error value wasn't reset for subsequent template calls.
- Fixed the sorting order of templates and other display data in the admin areas.
- Fixed missing output filtering in meta tag values.
- Fixed a problem allowing one to rename one page, sidebar or file over another.
- Added a linkmapper.js script which adds external and file css attributes to links.
- Added a parameter to automatically locate new pages beneath the current page by default.
- Added improved escaping of values passed to the server in the js/rpc library.
- Added POST capabilities to js/rpc library as well as new parse_form() method for
auto-filling POST requests from form data.
- Added autosave capability to MailForm, enabled on all collection edit forms.
- Added sitellite_mail() function to saf.Functions which uses Sitellite's internal
messaging system.
- Updated the workflow notification service to use Sitellite's internal messaging.
- Improved Sitellite's internal messaging system and simplified its interface.
- Integrated the autosave/drafts interface into the control panel index.
- Minor enhancements to saf.Date.Calendar.Simple.
- Fixed broken RSS feeds in PHP5.
- Changed the default for facets not to do a count, improves performance on large
data sets.
- Fixed potential broken links on custom content types in the web view editing buttons.
- Delete return handling now avoids returning to URLs with the deleted ID in them.
- Added conditions around clone() calls in appconf() and conf() functions, eliminating
several warning messages when the clone()'d variable is not an object.
- Added several new lingering Word tags to the cleaner in saf.HTML.Messy.
- Fixed a bug in the saf.Database.LDAP package causing getEntries() to fail.
- Added the ability to send emails to the form submissions lists, giving it basic
newsletter capabilities.
- Fixed spacing issue with custom browse links.
- Added ability to export form submissions contact info in CSV format.
- Added ability to export users in CSV format from the user browse screen.
- Added new source mode editor with basic utility buttons including find and replace.
- Added new template_parse_body() function to saf.XML.XT which more efficiently
parses page contents for boxes and forms and for the 'toc' feature.
- New documents now correctly set their default team ownership.
- Fixed a missing team permission check in the control panel.
- Fixed Sitellite's basic built-in search to choose the new SiteSearch or Ysearch
if installed.
- Fixed a problem with special characters and search term highlighting.
- Added optional 'Clear' button to the file upload widget to clear existing values.
- Added a message showing the external link instead of forwarding if user is admin.
- Fixed the approved/draft switching so it uses the new template_parse_body function.
- Fixed the sidebar boxes to all use the new template_parse_body function.
- Added new sitellite/util/snippet box for pasting HTML snippets into the box chooser.
- Added the ability to embed boxes into news stories via the box chooser.
- Added new sitellite_translation and sitellite_translation_sv tables for upcoming
multilingual additions.
- Added reference capabilities to the text and textarea widgets for translators.
- Added intl_default_lang() function to saf.I18n.
- Added multilingual app which provides an interface for editing languages.
- Added new translator role and multilingual app to the resources.
- Updated collection definitions to work with the new multilingual translation tool.
- Added multilingual support to web pages and sidebars.
- Fixed a bug in cms.Versioning.Rex causing multiple getList() calls to fail.
- Added workflow services to notify translators of new documents and document updates.
- Updated AppDoc to eliminate existing translation tools at that location.
- Updated saf.I18n to improve the index builder.
- Added template/application translation features from appdoc to the multilingual app.
- Added support for translators to the web view editing buttons.
- New set of web view icons.
- Translation index builder will now index fields in specific database tables, based
on a new conf/translate.ini.php file in each app.
- Improved database connection error handling in saf.Database packages.
- Fixed control panel drop menu positioning in Firefox.
- Fixed an MSIE bug in the page chooser dialogue so pages are listed accurately.
- Fixed a bug causing the easy/advanced mode switching to fail in MSIE.
- Fixed the new top frame design in MSIE.
- Added translation support in the site navigation.
- Navigation caching now works with translation support.
- Page cache now works with translation support.
- Fixed a bug in saf.Loader causing translation calls to fail in properties.php files.
- Updated news app to be multilingual.
- SAF libraries can now be indexed and translated via the 'Sitellite Libraries' app
in the translator.
- New pages can now appear at the top level or under the current page as a global
site setting.
- Added a fix to the sitellite/nav/common box to better show parent levels -- thanks
to hennevl for the fix!
- Added a fix to the xed_get_html() function that corrects output of certain elements
(Bug ID #71) -- thanks to hennevl for the fix!
- Fixed a bug causing saved renamed pages to redirect to the old ID (Bug ID #67)
- Fixed a bug causing renamed pages not to be able to be renamed back.
- Fixed a bug causing pages not to render if they end in -form (Bug ID #69)
- Fixed a problem with the image chooser and open_basedir restrictions on some systems.
- Increased several field sizes related to access/status info from 16 to 32 characters.
- Fixed a URL too long error in the new Xed source editor.
- Fixed Xed insert before delete bug.
- Added preliminary support for Safari and Opera browser users.
- Added width/height/border editing for images in Xed.
- Added dialog template to admin set.
- Broken a potential infinite loop in sitellite/sidebar.
- Added application settings editor to Control Panel - Admin menu.
- Added fontsize.js script for easily allowing font size control in your pages.
- Fixed a bug in the xt:intl tag rendering causing translations to fail on ampersands.
- Fixed instances of the menu hierarchy failing on multiple levels of non-visible pages.
- Improved localdate() function and made saf.Date now use it throughout.
Changes in 4.2.12-stable
- cms/filesystem box had change that was not checked in in 4.2.11.
- News comments and submissions now verify the sender to help prevent abuse.
- Fixed a conflict between the File and Xed form widgets.
- Fixed a bug with the File widget when web_path isn't set.
- Xed source button now opens a popup, fixing the missing cursor bug.
- js/prompt.js now supports textarea prompt popups.
- Added a box that lets you select a single sidebar item in the box chooser.
- Limited access to IE7 while we work out compatibility issues with the editor.
- You can now specify multi-function filters in .spt files using the syntax
{filter strtoupper/strrev/trim}{somevar}{end filter} which will apply the
filters in sequence from right-to-left.
- Added optional feature to prevent 'slashdot effect' and 'digg effect' by
relying on a 3rd-party cache for such requests. Simply include the box
'sitellite/util/slashcache' into your template or page and you're covered.
- Added new site_name() function to package saf.Site which simply returns the
domain name minus the 'www.'.
- Added images.php file to default template set. This file when present in a
template set allows you to specify a maximum width and height for an image
in the various collections which correspond to areas in the web page. This
ensures that images automatically meet the constraints of the web page,
since the max-height/max-width CSS properties are not supported in MSIE 6.
- Added basic download stats to Web Files so you can see how many times a file
has been downloaded.
- Added upgrade script for the 4.2.12 database schema changes.
- Doubled the size of the sitellite_access and sitellite_status fields to 32.
- Admin forms now enforce max on user/team/role/status/access/etc. field lengths.
- Added clean_input option to saf.MailForm which strips all HTML and PHP from
input. This setting is enabled on the default contact and customizable forms.
- Added sitellite_form_blacklist table which blacklists IP addresses from
submitting forms, helping to prevent repeat abuse from one source.
- Default forms (contact and customizable) now enforce max on field lengths.
- saf.MailForm checks for cookie support as another step in rejecting spambots.
- Added new 'security' widget which performs one of two types of CAPTCHA
verifications for forms. The default method requires no PHP extension to
be installed.
- Added security test to comments in the news app.
- Centralized admin-specific CSS in Web View to extra.css in admin template set.
- Added new 'remove_index' property in inc/conf/config.ini.php which causes
Sitellite to automatically remove /index/ from the URLs. This feature is
BETA, and requires Apache mod_rewrite. Feedback from users would be
appreciated.
- Web View now provides visual signs for content not in approved state, also
extends the Approved/Draft preview links to sidebars.
- Moved menu caching into saf.GUI.Menu and fixed an issue causing potentially
incorrect cache data based on incorrect user privilege checking.
- Add page form in Web View was returning to previous page after creation not
to the newly created page.
- Fixed an issue in saf.Cache causing potentially incorrect cache data based
on incorrect user privilege checking.
- Added 'Clear Cache' button to Cache Settings page, as well as two new cache
workflow services clearing a page's cache after changes, or clearing the entire
cache after changes. The latter option enables sites to use the cache to
significantly improve performance while keeping their site always up to the
second accurate.
- Edit mode (easy/advanced) switching is now dynamic using Javascript/AJAX so
they no longer lose current changes.
- Replaced current tab (Edit/Properties/State) implementation with a newer and
improved version.
- Fixed template preview in page add/edit forms to be more like the one in
SiteTemplate.
- Finished IE7 compatibility testing -- add forms were broken.
- Added allowUppercaseKey property to collections, to make the lowercase
text keys optional (but still enabled by default).
- Added google maps box to the utilities app for the box chooser.
- Added goto parameter to sitemember/index box.
- Integrated image manager with snipshot.com for in-browser touchups.
- Fixed an issue with double-quotes in text widgets.
- Fixed the home link in the breadcrumbs to point to /index not directly
to /index/index for sites with altered default_handler settings.
- Fixed sidebar edit buttons return value on altered default_handler sites.
- Fixed cancel button on selector widget.
- Added prototype.js 1.5 and scriptaculous 1.7 to js libraries.
- Replaced prompt() and alert() with in-browser dynamic equivalents to improve
the user experience. Included via new saf.GUI.Prompt library in Sitellite.
- Added 'googlesitemap' task to scheduler which generates a Google site map of
the website based on the collection definition files.
- Fixed preview button for sites with non-document default_handler settings.
- Fixed saf.Misc.RPC to work in remove_index mode.
- Fixed folder chooser to work with new prompt windows.
- Fixed custom forms output.
Changes in 4.2.11-stable
- ignoreEmpty fields are now unset in the default collection edit form so as
to preserve their current values.
- Some primary keys were not passed on to workflow correctly on add forms.
- Added filter property to info mailform widgets to make their display prettier.
- chmod is now properly set on uploaded files by saf.MailForm.Widget.File.
- Added cms/services/phonehome workflow service to track Sitellite version stats.
- Added ' plus ' and ' x ' to SimpleTemplate shorthand for {php} blocks.
- Abstracted product identification marks to eliminate repetition of common text.
- Resource list now shows app or collection name so it's less technical for users.
- Added new keywords selector which uses a textarea and popup, much simpler.
- Minor update to saf.Misc.Search to remove slashes in search results.
- Fixed a typecasting error in the value comparison in several form widgets.
- Added ability to execute multiple queries at once to DB Manager's SQL Shell.
- Added ability to back up from DB Manager in SQL and CSV formats.
- mediumtext and longtext fields now show as textareas by default.
- Increased the length of the firstname, lastname, role, and team fields for users.
- Missing intl_get() in DevFiles added.
- Fixed a bug in Xed causing the table layout of subsequent widgets to break.
- Added page_head_title() and page_nav_title() functions to saf.Misc.Document.
- Web Files downloads now support partial downloads and pause/resume capabilities.
- saf.Database.LDAP now properly closes connections on bind failure.
- Changed the default error handler to output a nicer message, moved the old one
to sitellite/error/apache
- Fixed an issue with object cloning in XT causing blank screens in PHP 5.1+
- Folders are now forced to lowercase in web files.
- File size is now shown on web files browse screen.
- Created a basic upgrade utility app which makes upgrading Sitellite a little
easier and more flexible too.
- Fixed a bug in IE causing the expand button in the page browser to fail.
Changes in 4.2.10-stable
- Fixed a problem with ampersands in links causing XT parsing failures.
- Added sitellite/nav/common box with navigation similar to simian.ca
- cms.Versioning.Rev now forces text IDs to lowercase and so does the
page edit form.
- Fixed a missing CSS problem in H1-H6 tags in XT as a result of the toc feature.
- Fixed a bug causing pages not to show up in the link chooser.
- Made the new default menu in the example site the new sitellite/nav/common.
- Fixed i18n issues with the new sitellite/util/custom form builder.
- Fixed a problem with missing field values in easy mode creation of new pages.
- Added the new improved email validation to the SiteMember registration form.
- Added missing library sitellite.CustomForm
- Fixed permission checking for deleting images, causing permission denials.
- Fixed cms.Versioning.Rev to not strtolower() for pkeys on non-versioned tables.
- Made the sitellite/sidebar box selectable through the box chooser.
- Added a sitellite/sidebar/randomizer box which shows one random sidebar.
- Added image manager to the tools menu as an extension of the image chooser.
- Added new function menu_is_child_of() to the saf.GUI.Menu package.
- The page edit form now prevents the creation of circular referencing in the
website hierarchy.
- Web Files downloads now use readfile_chunked() to avoid PHP5 readfile() limits.
Changes in 4.2.9-stable
- Fixed a missing return value on the add item link in the control panel.
- Fixed the sitellite/util/contact box when embedded in pages.
- Changed the mime types of powerpoint and excel files to more general ones.
- Added error triggered on hacked from field in MailForm's default handler.
- Updated mime type list to be more inclusive of popular file formats in use.
- session_authorize() can now authorize based on ID as well as user/pass.
- Facets now properly lazy-load options, which improves admin screen performance.
- Fixed an issue with infinite loops in saf.CGI
- Changed Description to Alt/Description for images in image chooser/Xed.
- Moved dropmenu.js to the /js/ folder for easier reuse of SAF across sites.
- Added mime() function to remove reliance on sometimes-flaky mime_content_type().
- Pre-formatting of text now works properly in Xed.
- Added PHP5 replacement for readfile() called readfile_chunked() in saf.Functions.
- Fixed a bug in the browse template causing broken links in the change history.
- If the installer hasn't been run, then a database connection error sends you there.
- Fixed an odd bug in saf.GUI.Menu causing infinite loops.
- Username field focuses automatically on loading of the Sitellite login page.
- Increased team, role, firstname, and lastname field lengths in sitellite_user table.
- Minor fix for the public [y/n] checkbox on member preferences form.
- Fixed a bug in saf.MailForm.Widget.Team causing All to display instead of team list.
- Added new security measures to saf.MailForm for verifying request method, referrer,
email address formatting, and other fields that may be used to inject extra mail
headers.
- Secured the built-in contact form with the new saf.MailForm security measures.
- Added a whole new folder selector popup dialogue to the Web Files collection.
- You can now specify 'add = no' in a collection to remove the add item link.
- New customizable form box under sitellite utilities allows common form creation.
- Contact and customizable forms can save to new collection 'Form Submissions'.
Changes in 4.2.8-stable
- Added proper 404 error handling on nonexistent box/form requests. Previously
they simply generated a blank web page.
- Added automatic input validation via settings.php files (previously only used
for metadata and the box chooser). This separates the input validation from
the application logic, and makes its execution automatic using the same
simple but powerful rules used in form data validation.
- Fixed cancel button on Add Keywords under add/edit web pages.
- Removing a missing workflow action which caused edit saves to show an error.
Note that the saving of the documents still happened successfully, so no data
loss occurred as a result of this bug, however the error message was
obviously disconcerting for users.
- Fixed an issue with single quotes causing invalid translation files.
- Added missing files for easy/advanced mode browse levels.
- Added pagebrowser app which implements a dynamic page selector to replace
the current tree view select box.
- Added the pagebrowser to the Location in Website field when adding/editing
web pages.
- Page ID now auto-fills based on title if left blank in the add page form.
- Image chooser path is now reset to /pix after an app changes it for its own
use.
- Fixed another bug causing radiogroup widgets not to correctly set selected
values on form redrawing. -- thanks Brian!
- Fixed an encoding issue with character entities in XT. This simplifies and
corrects i18n issues in Sitellite content.
- Changed the defaults of sitemember home and profile to what they should be.
- Added localdate() function to saf.Functions which is a date() replacement
which respects the setlocale() setting.
- Fixed reference to incorrect file name in DB connection error -- thanks Oleg!
- Fixed a problem hiding the form help -- thanks Clay!
Changes in 4.2.7-stable
- Fixed a bug in rpc_decode in js/rpc.js
- Added new method rpc.get_xml in js/rpc.js
- Fixed a bug causing pending/rejected document notices to be sent from Apache
instead of from the address specified in the site settings.
- Fixed a bug in Rex when going from approved to draft to archived. Note that
this requires a small database schema change, found in the file
upgrade/4.2.6-4.2.7.sql -- thanks Oliver!
- Fixed missing case of '<xt:' tag at start of body contents in xed_init
- When you log in as an administrator from the SiteMember login forms, it now
opens Sitellite but sends you back to the last page you were at before you
logged in.
- One can now use the resource 'sitellite_keyword' to restrict access to
adding/editing web page keywords.
- Fixed a CSS error in the admin template set.
- Replaced the former SAF test suite with one based on the 'pear run-tests'
command.
- You can now specify 'advanced = yes' on any MailForm field and it will be
automatically hidden from users whose browse level preference is not set
to 'advanced'.
- You can now specify 'safe = no' in Xed widgets and Xed will allow elements
such as javascript, onclick attributes and embedded object tags in its
output, even if cleaning is turned on (the default). This allows you to
keep the XHTML conformance without the security restrictions.
- The Xed links to switch between editor/source are now shown only for users
in the advanced mode/browse level.
- Updated examples app with new examples and updates to existing examples.
- Created a new default template set which is cleaner and which provides more
help by way of comments within the templates themselves to help get new users
up to speed faster.
- Created new example website content to help users get off to a faster start.
- Added username/password to the registration confirmation email.
- Eliminated 'Call-time pass-by-reference' warning in PEAR/Net/Geo.
- Added a $session->authorize() method and session_authorize() function to
saf.Session for easy authorization without completing the login process.
- Fixed a problem with saf.GUI.Menu's getTree() and matching page id and
below_page values.
- Password recovery message now specifies username, in case they forgot that
as well.
- The default for Xed has now been changed to allow Javascript and other
dynamic elements, but to still clean the document for syntax errors.
Changes in 4.2.6-stable
- Fixed saf.Database.Generic to properly pleuralize object names ending in 'x'.
- Fixed saf.Database.LDAP to use TLS if $secure is set to true.
- Removed a rule preventing content greater than 65535 in the page body.
- Fixed a case of MailForm getting the wrong default action on rare and
unusual server configurations.
- Fixed session_user_get_email() assuming it receives an array instead of an
object.
- User browse screen now checks if you're using a read-only session source
driver and disables itself with a notice.
- Added forceHttps() and forceHttp() methods to saf.CGI as well as alias
functions cgi_force_https() and cgi_force_http().
- saf.Loader now checks for the value 'sitellite_secure' in access.php files.
If set to on/yes, the box/form must be viewed under SSL, if set to off/no,
the box/form must be viewed without SSL. If not set, the box/form may be
viewed under either. This allows per-box and per-form granularity of
turning SSL on or off.
- Fixed a bug preventing multiple image chooser widgets in the same form.
- Added missing 'ignoreEmpty = no' on password fields in the
sitemember/register form.
- Fixed saf.MailForm.Widget.Radiogroup so it now properly sets selected
values on form regeneration (ie. from a rule failure in another field).
- Updated the MailForm Tie widget to work a little easier and to include
more up-to-date documentation.
- Fixed error that occurs when modes.php is missing from the active template
set.
- Fixed PHP5-related errors in numerous places related to object passing and
case sensitivity in get_class().
- Fixed RSS feeds in news app so they don't force links to be under SSL when
SSL is enabled.
- Fixed the back button when coming from the Change History screens.
- Fixed bug where deleted pages link was showing for collections without
versioning.
- Added the ability to specify custom links next to the 'Add' link on the
collection browse page.
- Fixed some issues with getTree() in saf.GUI.Menu -- thanks Russ!
- Added workflow action to relocate child pages of a deleted page to the
parent of the deleted page.
- Fixed a _return parameter 404 error on deleted pages in the Web View.
- Changed the installer to point to alternative configurations for web
servers other than PHP as an Apache module (ie. CGI-mode, FastCGI, IIS).
Changes in 4.2.5-stable
- Fixed table type for sitellite_news for MySQL 4.1+ -- thanks Oliver!
- Fixed a reference to $this->current outside of an object.
- Fixed saf.Database.Manager to properly call mysql_select_db() on setCurrent()
for multiple MySQL connections.
- Added new methods and functions to saf.Session.Source including:
getActive() method and session_user_get_active() function, as well as
session_user_is_unique() and session_user_get_email().
- Fixed cms/filesystem box to handle file sizes that take longer than 30
seconds to download.
- Total users in sitemember/list just a count of $users array, eliminates
two database calls.
Changes in 4.2.4-stable
- Removed warning from passing a reference to array_shift() in
saf.MailForm.Widget.
- Added set_time_limit(0) in Web Files add/edit forms to allow for larger
file uploads. Note that upload sizes may still be limited by PHP's
settings such as max_upload_filesize, post_max_size, and max_input_time.
- Removed an error when a user double-clicks the log out button.
- head_title and nav_title now show title for boxes and forms if not set
explicitly themselves.
- Added improvements to default handler in MailForm.
- Actually checked in the formhelp fix from 4.2.3 -- argh!
- Added session_get_roles() to saf.Session.Acl to match session_get_teams().
Changes in 4.2.3-stable
- Added workflow action to reset the menu cache whenever a page is added,
modified, or deleted. This allows you to set the menu cache to store
cache changes for a much longer period of time, and guarantees the cache
is always in sync with the site.
- Added the ability to delete images in the imagechooser app. Permission
to delete images is controlled by the "imagechooser_delete" resource.
- Imagechooser delete checks if the image is in use in any web page before
allowing the delete.
- Form help tips now obey the form help on/off preference.
- Added 'delete' property to the [Collection] block of the collection
definition files, similar to the 'add' and 'edit' properties.
- Removed duplicate declaration of $pkey in saf.Database.Table.
- Added optional thumbnail images to the news app.
- Made imagechooser able to be called twice from the same page without
conflicts.
- Fixed missing login failure notice in SiteMember.
- Added missing intl_get() calls in MailForm.
- Fixed broken external links with protocols other than http (ie. https, ftp).
- Added a test for allow_url_fopen so that the DirectoryIndex tests could be
skipped but that a note would still be displayed in that case.
- Updated file headers to point to the new license page.
- Fixed viewing your rejected story submissions.
- Fixed error handling on deleting pages.
- Added title attribute to links created with page_add_link().
Changes in 4.2.2-stable
- Fixed a problem in saf.Misc.RPC where carriage returns weren't being properly
escaped -- thanks Jon for the fix!
- Fixed a missing {site/prefix} in imagechooser -- thanks Jon for the fix!
- Added option to continue installation process even if requirements checking
fails.
- Sidebar section selector now shows 5 instead of 3.
- Improved MS Word pasting.
- Fixed a bug with using Xed in collection hints instead of custom forms.
- Added ability to call setRules = "eval: formrules_get ('rule_name')" in
settings.php files now.
- Added standard contact form which can be selected in the box chooser via
Sitellite Utilities > Contact Form.
- Added parsing for body_parts in sitemember/homepage, so you can still break
up a page into multiple areas just like an ordinary page.
- Renamed Database::abstract() to abstractSql() to avoid the PHP5 reserved
word. PHP5 support is still a long way away, but this does bring us one
small step closer.
- Added menucaching to the cache settings form.
- Added proper file naming to downloads from the cms/filesystem box.
- Fixed SiteTracker integration in cms/filesystem box.
- Added links to manual and developer references in the help files.
- Fixed broken images of screenshots in the help files.
- Fixed a problem with SimpleTemplate caused by a bug in the file_exists()
function in PHP 4.3.11.
- Added convenience methods action, append_field, and update_field to js/rpc.js
- Fixed the version number in the admin template set.
Changes in 4.2.1-stable
- Removed extra site_prefix() in Xed and Imagechooser.
- Fixed error in cms/buttons causing team check to fail.
- Added a cURL wrapper script to saf.Misc.Curl which wraps around the command-
line utility when the cURL PHP extension is unavailable.
- Added a sitemember/homepage box and Member Pages collection, which allows
you to configure a user homepage feature into SiteMember just by changing a
few options.
Changes in 4.2.0-stable
- Added modes.php support to ext.htmldoc. See saf/lib/Ext/htmldoc/htmldoc.php
for sample usage for creating a PDF output mode of Sitellite.
- Added import and extends values to Generic dynamic objects.
- Fixed typo in default MailForm::onSubmit() handler.
- Fixed a discrepancy in the template selection box in the page add/edit forms.
- Loosened some over-zealous permission checking in saf.Loader.
- Fixed case where a box at the start of a Xed editor still caused problems.
- XT failed to add attributes to the bind path list, which caused attributes
to occasionally fail to bind at all.
- Added a Cache-control:private header to cms/filesystem which fixes an issue
with PDFs in the MSIE Acrobat plugin -- thanks Oliver for the fix!
Changes in 4.2.0-rc3
- Fixed bug causing box chooser to fail to load in the WYSIWYG editor of the
sidebar forms.
- Added support for MailForm rules in the [hint:field_name] blocks of
collection definition files.
- Fixed bug causing a Javascript error in SiteTemplate while adding a new
template.
- Fixed file permissions on newly created templates, CSS files, and images
in SiteTemplate.
- Added disabled, public, and allowed teams facets to user browse screen.
- When secure is on, meaning SSL is available, Sitellite requires SSL to
log in at /sitellite.
- Fixed permission errors for certain cases that should have been allowed
but were not, specifically when 'All' was checked for just read or just
write and the other was checked for the other value.
- Improved CSS compliance of SiteTemplate example CSS and included more
comments in the default template as well. Also fixed a few default
template errors.
- Fixed a bug causing sv_revision values to be reset. To patch from a
previous release candidate, see the file upgrade/4.0.14-4.0.15.sql
- In cms/buttons added a new UI element that, if there is a draft or
pending version of the current page available, allows you to toggle
between the approved and draft versions within the page itself. This
should aid in allowing editors to see that the page has a new pending
change, and to view it without having to go through the edit form to
do so.
- Changed the MySQL column type for page bodies from 'text' to 'mediumtext',
which allows for significantly longer page bodies. This change, in
combination with the recent body_parts change, enables some new ways
of controlling the display of page contents.
- Fixed a problem with image paths improperly including the full url.
- Fixed a bug in evaluating the 'editable' check in cms/buttons.
- Added some new methods to the saf.Database.Generic class, enabling
basic querying and management of relations between multiple tables.
Also defines a new method load() which allows multiple objects and their
relationships to be defined in a single INI file in your app's lib
folder and imported in the same standard manner as ordinary packages.
See saf/lib/Database/Generic.php for more information.
- Bug in Radio widget fixed -- thanks Oliver for the patch!
- Eliminated possible access to PhpDocumentor by adding a .htaccess
'deny from all' file to PhpDocumentor folder -- thanks Anthony!
- Sorting order of Deleted Items is now descending by revision ID instead
of the other way around.
- Added 'anonymous' role to allow customization of which statuses and
other permissions are accessible to public visitors. An example use
would be to allow archived news stories to be visible to the public.
- Added a 'delete' resource, which is checked to determine whether the
current user can access the delete functions of Sitellite.
- Fixed a bug in the Selector widget causing the /js/prompt.js file to
fail to be loaded under certain circumstances, which affected the
SiteFAQ, SiteBanner, and SiteLinks in recent releases.
Changes in 4.2.0-rc2
- Added 'include in search?' field to web pages collection.
- Added title of news stories to URLs for search engine optimization.
- Added title of events to URLs for search engine optimization.
- Changed 'Templates' to 'Content Templates' in Xed, to avoid confusion.
- Fixed some rendering issues on the user add/edit forms.
Changes in 4.2.0-beta and rc1
- Updated install & requirements docs.
- Added LDAP session driver to saf.Session.Source.LDAP.
- Fixed a bug causing dashes to be misinterpreted in the URL.
- New Xed 2 WYSIWYG editor.
- Fixed permissions on new files added via the imagechooser.
- Improved the built-in workflow services.
- Fixed a bug in the add and edit forms.
- Fixed a bug where a sole XT box in the Xed body would cause errors loading
in MSIE.
- Added a new XT include type "virtual" for including CGI and other types
of scripts from different sources than PHP.
- Fixed a bug in bold/italic/underline in Firefox/Mozilla.
- Added new configuration file 'cache.php' and new logic in is_cacheable()
which allows subsequent rules to override previous ones.
- Added SiteTracker inclusion automatically on all page requests, eliminating
the need for the sitetracker/bug inclusion, and fixing the problem with
tracking on cached pages.
- Fixed toc anchors causing extra space around headings in XT.
- Added examples to inc/conf/cache.php as well as non-caching for apps.
- Added additional mime types to the mime_content_type() emulator function.
- Replaced the Control Panel select boxes with JS drop menus showing 2 columns.
- Fixed a bug where images selected in Firefox were being entered in as the
'delete' icon.
- Added fuzzy matching (rLike instead of rEqual) for select facets.
- Added new facets to sitellite_page: template, include, keywords,
sitellite_owner, and sitellite_team
- Added inc/html to chmod list in install instructions - necessary for
SiteTemplate to work.
- Integrated formhelp into MailForm via 'formhelp = on' in [Form] blocks
and 'formhelp = Message...' in widget blocks.
- Added cache.info.php and config.info.php with descriptions of the settings,
since the descriptions will only appear in the settings forms now.
- Added HTML table rendering class.
- Fixed missing label ID in password widget.
- Added cache settings form.
- Added site settings form.
- Added activity log browser.
- Added workflow services selection form.
- Fixed missing vCard export of users.
- Renaming teams and roles maintains user associations now.
- Renaming a page ID maintains child page associations now.
- Fixed JS bug in folder creation in Web Files.
- Added beginnings of a string helper Javascript package.
- Fixed JS bug in position creation in Sidebars.
- Added saf.GUI.Tagger, which shows a list of items with the size showing how
popular each item is.
- Fixed XHTML validity of output for the sitellite/sidebar box -- thanks Oleg!
- Added more detailed form help to the sort_weight field.
- Fixed caching for CLI.
- Added caption and home_link fields to the sitellite/nav/breadcrumb box as
parameters and in the chooser.
- Fixed escaping problem in rLike searches.
- Fixed occassional sorting order bug in getTree() method of the saf.GUI.Menu
package -- thanks Oliver!
- Section pages that are not top-level pages now show up correctly in the
getSections() method of saf.GUI.Menu.
- Added new rules to saf.HTML.Messy to improve MS Word cleaning, and also
to improve the cross-site scripting attack (XSS) protection in the parser.
For XSS protection, the following new attributes are no longer allowed:
dataformatas, data, datafld, datasrc, and dynsrc, and the following tags
are now also stripped as well: applet, object, iframe, frame, frameset,
layer, ilayer, embed, bgsound, link, meta, and xml, and any attribute
with javascript:, vbscript:, or about: in it is stripped as well.
- Added body_parts property to global $page object, which breaks the page
body into an array based on <hr /> tags in it. This allows for multi-column
and multi-part pages in a simple manner.
- Added OO interface to doing Javascript RPC requests based on the
XMLHttpRequest object. This is an extension to the existing js/rpc.js and
saf.Misc.RPC packages, which allows for more powerful and complex RPC-based
applications to be developed.
- Added children, siblings, and tree boxes to sitellite/nav/*.
- Added key bindings for undo/redo to Xed's multi-level history.
Changes in 4.0.14
- Added template, page_below, and page_alias properties to the news app.
- Added a new feature called tag binding to XT, and changed saf.Misc.Document
to use it instead, eliminating several copy & paste tags from templates.
- Made the $saveas value in sitellite/util/pdfmaker false by default.
- Fixed newline issue affecting some documents with non-standard newline
characters.
- Added id="sitellite-menu-current" to the current page's list item in
saf.GUI.MenuItem
- Added error message display on PHPShorthand errors in XTE.
- Added auto-detection of section root to sitellite/nav/section box.
- Added defaulting of head_title and nav_title to normal title field.
- Added getBoxAccess() and getFormAccess() to saf.Loader, and fixed some
other methods. Also provided aliases loader_box_get_access() and
loader_form_get_access().
- Added $page->addStyle() and page_add_style() to saf.Misc.Document.
- Fixed /js/rpc.js and saf.Misc.RPC to handle multi-line and HTML content
in send and return values.
- Added default teams/all=rw in saf.Session.Manager to the user add form.
- If weight is unspecified for collections, they are now sorted secondarily
in alphabetical order.
- Added function is_assoc() to saf.Functions.
- Added adminRoles() method and session_admin_roles() function to
saf.Session.ACL.
- Forms can now be submitted by submit buttons from inside template widgets,
but only when those buttons are listed in the template widget's
submitButtons property.
- Fixed the saf.Misc.Search docs to refer to the template set modes.php files.
- Upgraded PHPUnit to 1.0.1.
- Silenced the error message when the 'Not Installed' tools fails to connect
to simian.ca
- Added collection config settings order_by and sorting_order for specifying
the default of both in the browse view.
- Fixed an error on the deleted items screen when viewing a collection without
versioning.
- Default scheduler-app call now displays help instructions.
- Changed the default writer role to restrict him from writing to the queue
(a way to bypass their inability to approve documents themselves).
- Fixed a bug that let you set a new password without verifying it in the
user manager.
- Removed sitellite_tab_list table from install-mysql.sql, since it is not
in use for anything.
- Fixed a mistake in the docs/REQUIREMENTS file.
- Added workflow triggers to the default add/edit forms, as well as for the
Web Pages, Web Files, Sidebars, and News Stories collections (ie. all of the
default collections).
- Fixed a bug in saf.Database.Generic's single() method -- thanks to Shane
for the bug report.
- Added menu structure caching to the content server, which should improve
the speed of sites with large numbers of pages.
- Added display_title field to Web Files collection.
- Added new class to SAF: saf.HTML.CSS_Parser -- a simple CSS parser that
correctly handles most CSS cases, and allows you to easily extract
information about any CSS data/file.
- Fixed rename ID of page error (#0000004) -- thanks to kozmoz for the fix!
- Fixed news browse view showing wrong date (#0000005) -- thanks to kozmoz for
the fix!
- Fixed double-slash error in subdir installs (#0000007) -- thanks to kozmoz
for the fix!
- Fixed missing site_prefix () references in imagechooser, default template
set, and xed (#0000010) -- thanks to kozmoz for the fix!
- Fixed a bug in is_assoc() method in saf.Functions.
- Fixed a bug in saf.Session causing sitemember/register to fail.
- Fixed a bug in saf.Misc.Search causing search term highlighting to break
existing HTML tags, such as links. Also adds automatic highlighting of
terms coming from the major search engines. Thanks to kozmoz for the fix!
- Fixed a bug in SiteMember's list box causing names that don't start with A-Z
not to display at all -- thanks to kozmoz for the fix!
- Fixed a bug causing news story comment notices to fail to be sent -- thanks
to kozmoz for the fix!
- Fixed a bug in sitellite/nav/top causing the currently active drop menu to
output incorrect HTML when dropmenus is on.
- Fixed a bug where the id and below_page field sizes weren't the same in the
sitellite_page table.
- Added a new sorting weight field to the web pages, to allow control over the
sorting of pages other than alphabetically.
- Added limit option to news/rss/viewer.
- Added new status of 'pending' to the existing list of default settings.
Changes in 4.0.13
- Added Owner and Team MailForm widget types. The first is similar to the
Info widget, except it defaults to session_username (), and the second
displays either an Info field (if you're not allowed to change the team),
or the teams you can change it to if you're the owner, or all teams if
you're a master admin.
- Added an $alt field to saf.Date.Calendar.Simple, which fills an alternate
title text for displaying on mouse hovers.
- Changed the web pages, news, sidebars, and web files collections to use
the new Owner and Team widgets.
- Fixed a bug in saf.Ext.IXR -- thanks to Greg for the fix!
- Added error comments when XT include files contain syntax errors. Thanks
to Pat for the discovery!
- Added new database function db_pairs() which is ultra handy. See
http://www.sitellite.org/docs/ for more info.
- Added a check for the context of the news/rss/viewer box, and in 'action'
context it displays the news feed's title.
- Added a new menu_get_sections() function and getSections() method to the
saf.GUI.Menu package/class, which retrieves a list of sections of the site.
- Added a new property to the [browse:field_name] blocks in the Rex definition
files: virtual. The virtual property allows you to specify a filter that
doesn't transform the value, but calculate an otherwise nonexistent value
based on the object as a whole (for that row in the browse screen). This
is handy for doing things like statistical columns.
- htmlentities() is only called on field values with no filters in the browse
view now.
- Fixed the sitemember account activation where sometimes it would fail due
to a false value being sent instead of a null value. Thanks to Pat for the
discovery!
- Added sitellite_log table, cms/services/log box, and cms.Workflow class,
which implements the ability to trigger services registered to occur on
certain actions or document status transitions within the system. Services
are simply Sitellite boxes or forms, allowing a great deal of flexibility
within them. cms/services/log is registered as a default global service, as
well as a default error service, so Sitellite now logs all actions
automatically. To add admin notices, simply write a quick
mail('admin@example.com', 'wake up!', 'error: ' . $parameters['message'])
box and add it to the error list in inc/app/cms/conf/services/error.php.
- Loader now checks for permissions on all contexts other than normal, not
just action and inline any more. This allows you to limit access to custom
contexts in addition to the defaults.
- sitellite/sidebar now calls alias boxes with the 'sidebar' context.
cms.Workflow::trigger() calls them with the context 'service'. So there
are now 5 built-in contexts: normal, inline, action, sidebar, and service.
- Added single() and shift() methods to saf.Database.Generic, mimicking the
db_shift() and db_single() functions.
- Added the ability to pass an object or array to cms/buttons instead of
specifying the id, status, access, and team properties individually. The
new parameter is named 'object'.
- cms/services/log has its own access.php file now, allowing it to be called
from public actions as well, but not directly from the url (so people can't
abuse it if they knew it was there).