[dokuwiki] Update : FS#113, notify changes
- From: Steven Danz <steven-danz@xxxxxxxxx>
- To: dokuwiki@xxxxxxxxxxxxx
- Date: Sun, 26 Jun 2005 21:32:55 -0500
Hello
Catching up to the directory cleanup and taking advantage of the new
locking mechanism, here is a new attempt at the change monitoring
patch. I've added append and deleteFrom functions to the io.php since
changes to the mlist files need to happen as 'atomically' as possible to
prevent two people from updating the file at the same time, and it
seemed better to encapsulate the understanding of locks within the io
functions.
Let me know what you find.
Steven
New patches:
[track_changes.patch
Steven Danz <steven-danz@xxxxxxxxx>**20050627021748
Second go at including changes to allow users to sign up on
mailing lists so they may receive emails each time the page
they are interested in is updated.
] {
hunk ./inc/actions.php 35
+
+ //check if user is asking to track a page
+ if($ACT == 'track' || $ACT == 'ignore')
+ $ACT = act_track($ACT);
hunk ./inc/actions.php 104
- 'diff','recent','backlink','admin',)) === false
+
'diff','recent','backlink','admin','track','ignore',)) === false
hunk ./inc/actions.php 271
+
+ return 'show';
+}
+
+/**
+ * Handle 'track', 'ignore'
+ *
+ * @author Steven Danz <steven-danz@xxxxxxxxx>
+ */
+function act_track($act){
+ global $ID;
+ global $INFO;
+
+ $tracking = tracking($ID, $_SERVER['REMOTE_USER']);
+ $file=wikiMN($ID);
+ if ($act=='track' && !$tracking){
+ if ($INFO['userinfo']['mail']){
+ if (io_appendFile($file,$_SERVER['REMOTE_USER']."\n")) {
+ msg('Added '.$INFO['userinfo']['name'].' to tracking list for '.$ID,0);
+ } else {
+ msg('Error adding '.$INFO['userinfo']['name'].' to tracking list for
'.$ID,0);
+ }
+ } else {
+ msg('There is no address associated with your login, you cannot be added
to the tracking list',-1);
+ }
+ } elseif ($act=='ignore' && $tracking){
+ if (io_deleteFromFile($file,$_SERVER['REMOTE_USER']."\n")) {
+ msg('Removed '.$INFO['userinfo']['name'].' from the tracking list for
'.$ID,0);
+ } else {
+ msg('Error removing '.$INFO['userinfo']['name'].' to tracking list for
'.$ID,0);
+ }
+ }
hunk ./inc/common.php 580
+ $mfile=wikiMN($id);
+ if (file_exists($mfile)) {
+ @unlink($mfile);
+ }
hunk ./inc/common.php 636
- if(empty($conf['notify'])) return; //notify enabled?
+
+ $mlist = array();
+
+ $file=wikiMN($id);
+ if (file_exists($file)) {
+ $mlist = file($file);
+ }
+
+ if(empty($conf['notify']) && count($mlist) == 0) return; //notify enabled?
hunk ./inc/common.php 672
- mail_send($conf['notify'],$subject,$text,$conf['mailfrom']);
+ $bcc = '';
+ if(count($mlist) > 0) {
+ foreach ($mlist as $who) {
+ $who = rtrim($who);
+ $info = auth_getUserData($who);
+ $level = auth_aclcheck($id,$who,$info['grps']);
+ if ($level >= AUTH_READ) {
+ if (strcasecmp($info['mail'],$conf['notify']) != 0) {
+ if (empty($bcc)) {
+ $bcc = $info['mail'];
+ } else {
+ $bcc = "$bcc,".$info['mail'];
+ }
+ }
+ }
+ }
+ }
+
+ mail_send($conf['notify'],$subject,$text,$conf['mailfrom'],'',$bcc);
hunk ./inc/common.php 879
+/**
+ * Let us know if a user is tracking a page
+ *
+ * @author Steven Danz <steven-danz@xxxxxxxxx>
+ */
+function tracking($id,$uid){
+ $file=wikiMN($id);
+ if (file_exists($file)) {
+ $mlist = file($file);
+ foreach ($mlist as $who) {
+ $who = rtrim($who);
+ if ($who==$uid) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
hunk ./inc/io.php 83
+ * Appends $content to $file.
+ *
+ * Uses gzip if extension is .gz
+ *
+ * @author Steven Danz <steven-danz@xxxxxxxxx>
+ * @return bool true on success
+ */
+function io_appendFile($file,$content){
+ io_makeFileDir($file);
+ io_lock($file);
+ if(substr($file,-3) == '.gz'){
+ $fh = @gzopen($file,'ab9');
+ if(!$fh){
+ msg("Appending to $file failed",-1);
+ return false;
+ }
+ gzwrite($fh, $content);
+ gzclose($fh);
+ }else{
+ $fh = @fopen($file,'ab');
+ if(!$fh){
+ msg("Appending to $file failed",-1);
+ return false;
+ }
+ fwrite($fh, $content);
+ fclose($fh);
+ }
+ io_unlock($file);
+ return true;
+}
+
+/**
+ * Delete exact match for $content from $file.
+ *
+ * Uses gzip if extension is .gz
+ *
+ * @author Steven Danz <steven-danz@xxxxxxxxx>
+ * @return bool true on success
+ */
+function io_deleteFromFile($file,$remove){
+ if (@file_exists($file)) {
+ io_lock($file);
+ $content = '';
+ if(substr($file,-3) == '.gz'){
+ $mlist = gzfile($file);
+ }else{
+ $mlist = file($file);
+ }
+ foreach ($mlist as $entry) {
+ if ($entry != $remove) {
+ $content = $content . $entry;
+ }
+ }
+
+ if (!empty($content)) {
+ if(substr($file,-3) == '.gz'){
+ $fh = @gzopen($file,'wb9');
+ if(!$fh){
+ msg("Removing content from $file failed",-1);
+ return false;
+ }
+ gzwrite($fh, $content);
+ gzclose($fh);
+ }else{
+ $fh = @fopen($file,'wb');
+ if(!$fh){
+ msg("Removing content from $file failed",-1);
+ return false;
+ }
+ fwrite($fh, $content);
+ fclose($fh);
+ }
+ } else {
+ @unlink($file);
+ }
+
+ io_unlock($file);
+ }
+ return true;
+}
+
+/**
hunk ./inc/lang/en/lang.php 35
+$lang['btn_track'] = 'Email Changes';
+$lang['btn_ignore'] = 'End Changes Email';
hunk ./inc/pageutils.php 134
+ * returns the full path to the mailist specified by ID
+ *
+ * The filename is URL encoded to protect Unicode chars
+ *
+ * @author Steven Danz <steven-danz@xxxxxxxxx>
+ */
+function wikiMN($id){
+ global $conf;
+ $id = cleanID($id);
+ $id = str_replace(':','/',$id);
+ $fn = $conf['metadir'].'/'.utf8_encodeFN($id).'.mlist';
+ return $fn;
+}
+
+/**
hunk ./inc/template.php 106
+ case 'track':
+ html_track();
+ break;
+ case 'ignore':
+ html_ignore();
+ break;
hunk ./inc/template.php 268
+ global $ACT;
hunk ./inc/template.php 311
+ case 'track':
+ if($conf['useacl'] && $ACT == 'show'){
+ if($_SERVER['REMOTE_USER']){
+ if(tracking($ID,$_SERVER['REMOTE_USER'])){
+ print html_btn('ignore',$ID,'',array('do' => 'ignore',));
+ } else {
+ print html_btn('track',$ID,'',array('do' => 'track',));
+ }
+ }
+ }
+ break;
hunk ./inc/template.php 407
+ break;
+ case 'track':
+ if($conf['useacl'] && $ACT == 'show'){
+ if($_SERVER['REMOTE_USER']){
+ if(tracking($ID,$_SERVER['REMOTE_USER'])){
+
tpl_link(wl($ID,'do=ignore'),$pre.$lang['btn_ignore'].$suf,'class="action"');
+ } else {
+
tpl_link(wl($ID,'do=track'),$pre.$lang['btn_track'].$suf,'class="action"');
+ }
+ }
+ }
hunk ./lib/tpl/default/main.php 119
+ <?php tpl_button('track')?>
}
Context:
[slovenian language added
Jaka Kranjc <lynxlupodian@xxxxxxxxxxx>**20050626194505]
[small fix for separate cookie patch
andi@xxxxxxxxxxxxxx**20050626184105]
[separate cookies for multiple wikis on the same site
Sameer D. Sahasrabuddhe <sameerds@xxxxxxxxxxxxx>**20050625082204
auth.php now uses an md5 hash of the actual script location as cookie name.
This way, multiple wikis on the same site will not smother each other's
cookies.
]
[redefine reference check options
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050626153207
This patch correct the meaning of the reference check configuration
options. They become more logical.
refcheck boolean Enable/Disable the reference checker. If set
to '0' the existence of references is not
checked and vica versa.
recshow int defines how many references should be displayed
If set to '0' no references are shown at all.
This meaning is more logical. The first parameter switches the checker
on/off and the second would be set, if the user wanted to see where the
references are and how many should be displayed.
]
[added file locking support
andi@xxxxxxxxxxxxxx**20050626161253]
[plugin info added
andi@xxxxxxxxxxxxxx**20050626151617
Each plugin now needs to return some infos about it self. This
allows to display a list of installed plugins using the info
plugin.
]
[fix for paragraphtypes in plugins
andi@xxxxxxxxxxxxxx**20050626145055]
[paragraphtypes for syntax plugins
andi@xxxxxxxxxxxxxx**20050626111513]
[polish lang update
Grzegorz Zur <grzesiekzur@xxxxxxx>**20050626100609]
[directory cleanup
andi@xxxxxxxxxxxxxx**20050626100913
This cleans up the directory structure as discussed on the mailning
list. Users should delete their previous _cache directories to
recover diskspace.
]
[lithuanian language added
Linas Valiukas <shirshegsm@xxxxxxxxx>**20050625181426]
[fixed problem with TOC toggle and W3C validator
andi@xxxxxxxxxxxxxx**20050624134114]
[Correct invalid XHTML generated for list elements
chris@xxxxxxxxxxxxxxxxx**20050624130636
Change the <span> element used to differentiate the <ol> numbering from
list item text to a <div> element. A <div> is allowed to have children
with display:block (e.g. <pre>, <ol>, <ul>) whereas a span isn't.
]
[fixed upload form action link #418
andi@xxxxxxxxxxxxxx**20050624120023]
[ fix for broken realpath on windows #404 #417
andi@xxxxxxxxxxxxxx**20050624114602]
[do not use params parameter in call to mail() if unneeded #397
andi@xxxxxxxxxxxxxx**20050620203612]
[handle missing users.auth and acl.auth gracefully
andi@xxxxxxxxxxxxxx**20050620203400]
[ability to derefence ldap aliases #406
Holger Müller <zarath@xxxxxx>**20050620194652]
[basque update
xezpeleta@xxxxxxxxxxxxx**20050620193046]
[option merge of refcheck and refcount
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050617201556
The options refcheck and refcount were merged to refcheck. This reduces
configuration options and make the function more robust.
]
[japanese language files
Davilin <webmaster@xxxxxxxxxxx>**20050618071754]
[fixed bug for MySQL passcrypt
dave.winter@xxxxxxxxxxxxxxxxx**20050617124215
Write the long patch description into this file.
The first line of this file will be the patch name.
Everything in this file from the above ***DARCS*** line on will be ignored.
This patch contains the following changes:
M ./inc/auth/mysql.php -1 +2
]
[minor fixes
andi@xxxxxxxxxxxxxx**20050617175013]
[XML conformity for media reference dialog
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050617131041
XML has problems with the usual PHP shortcuts '<?' or '<?='.
This patch replaces such shortcuts with the XML compliant
versions in the mediafile references dialog. It is handled
separately because the reference check patch is not yet
merged to the upstream source
]
[make DokuWiki xml conform
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050617130335
XML has problems with usual PHP shortcuts like '<?' or '<?='.
This patch replaces such shortcuts with the XML compliant
versions:
'<?' -> '<?php'
'<?=' -> '<?php echo'
]
[locks must not survive logoff
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050617121838
If a user logout during editing an article, this article will be blocked
until end of timeout. This patch removes an open lock, if the user log off.
]
[search fix FS#395
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050617113855
This patch fixes FS#395 and another bug in the fulltext search
which accepts single '+' and '-' signs as search input.
]
[media file reference missing file fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050616171239
This file is missing in the media file reference checker patch
]
[media reference check part 2
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050616163425
Part 1 only checks for the existance of references.
Part 2 will show where this references are so that the user
could easily find them.
Both parts are configurable:
refcheck=1 enables the reference checker
refcount defines how much references were collected during a check run
refshow =1 enables that the collected references were shown.
]
[media reference check
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050605185038
This patch implements the first step of a media file reference
checker. Every time the user wanted to delete a media file
it would be ckecked for still existing references to this media
file. File deletion is denied if this media file is still in use.
]
[spellchecker fix for ignoring links
andi@xxxxxxxxxxxxxx**20050617094826]
[use $conf[title] in notify mails #374
andi@xxxxxxxxxxxxxx**20050617084820]
[spanish language update
Adrián Ariza <adrian_ariza.ciudad.com.ar>**20050616161741]
[correction of typos
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050615175208
A wrong variable name was used in the english language file and
an gramatically mistake in function comments was corrected.
]
[Norwegian Language Update
Jorge Barrera Grandon <jorge@xxxxxxxxxxxxxxxxx>**20050615083147]
[fix for interwiki gif icons
andi@xxxxxxxxxxxxxx**20050614175335]
[Spellchecker: use UTF-8 workaround only if needed
andi@xxxxxxxxxxxxxx**20050614174004
The spellchecker now tests the browsers UTF-8 compliance and only uses
the entitiy encoding if needed. This hopefully fixes problems with
Safari.
]
[spellchecker should not check links
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050613215834
The spellchecker should not check links because this are
mostly no real words. This patch installs some filters
so that links won't be transfered to the spellchecker.
]
[spellchecker button control
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050613182725
This patch replaces the big textual spellchecker controls with
a nice one using toolbar like buttons
]
[spellchecker fix for broken aspell
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050612154241
The current Aspell version has a bug that causes a corrupt output file.
Output lines beginning with '?' weren't terminated with a newline.
This patch fixes the broken output format.
It is not possible to detect automatically if a Aspell version handles
'?'-lines correctly. Therefore DokuWiki checks for Aspells version
number and corrects the output format accordingly if version <= 0.60.3.
This is todays latest release so that we must have an eye on this
problem and prove wether future Aspell versions would still have this
bug. If so, the number in the version number test in /inc/aspell.php
must be adapted.
]
[lexer support for subpatterns, fixed windowsshare links #368
andi@xxxxxxxxxxxxxx**20050612183557]
[mysql auth: added support for old passchecking method #359
andi@xxxxxxxxxxxxxx**20050612111044
This patch changes the mysql auth mechanism to support the old
method of password checking (leaving it to the DB) as well as
the new one. Which one is used is decided on which option is
defined:
$conf['auth']['mysql']['passcheck'] now behaves as in older
releases, You can use %u, %g and %p where %p contains the
cleartext password entered by the user. Access is granted
if the SQL statement returns one result row.
if $conf['auth']['mysql']['getpass'] is defined it is used
to fetch the crypted password from the database which is then
checked with auth_verifyPassword() - This is the preferred
method.
Users of the devel need to change their config by renaming
passcheck to getpass
]
[aspell error workaround
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050611144306
Aspell breaks its own output format due to undocumented features.
This patch worked around this error. Problems regarding freezing
of the spellchecker or jammed wiki pages through the spellchecker
are solved.
]
[Update and fix in Portuguese (Brazil) translation
loug85@xxxxxxxxx**20050611174723]
[small spellchecker fix for suggestions with spaces or singlequotes
andi@xxxxxxxxxxxxxx**20050611123804]
[spellchecker: compensate for aspell error and blocking problems
andi@xxxxxxxxxxxxxx**20050611121059
Sometimes Aspell seems to output not enough blank lines to signal
a line change. This patch tries to compensate for this by trying
the next two lines as well.
This patch also fixes a problem were reading from aspell could
produce a deadlock on the socket and would cause the spellchecker
to never return
]
[spellchecker fixes for Konqeror
andi@xxxxxxxxxxxxxx**20050611092916
Konqeror seems to ignore the charset=utf-8 header in XMLhttpRequests
responses as workaround all multibyte chars in answers from
spellcheck.php are now encoded as numeric entities and decoded back
on the clientside.
Spellchecking now works for me with Firefox 1.04, MSIE 6, Opera 8 and
Konqeror 3.3.2. It should also work with Safari and all current
Mozilla-based Browsers.
]
[Added option to manually change a misspelled word
andi@xxxxxxxxxxxxxx**20050609233643]
[Spellchecker fix for large files
andi@xxxxxxxxxxxxxx**20050609230143]
[spellchecker fix for eating whitespaces
andi@xxxxxxxxxxxxxx**20050609183709]
[danish language update
koeppe <koeppe@xxxxxxxx>**20050609170153]
[proper quoting of single quotes in spellcheck
andi@xxxxxxxxxxxxxx**20050609161958]
[spellchecker style fix for Safari
andi@xxxxxxxxxxxxxx**20050609111344]
[session_write_close added #364
andi@xxxxxxxxxxxxxx**20050608213514
I just learned that PHP does lock it's session objects. This is realy
bad if you have multiple images in a page as each one will call fetch.php
which locks the session, so everything can only be loaded sequentially.
The fix for this is to close the session after using it which is after doing
the auth and the breadcrumbs. I added the needed calls everywhere.
]
[Allow source view with read only permissions #383
andi@xxxxxxxxxxxxxx**20050608210912]
[fixed grammar in de lang file
andi@xxxxxxxxxxxxxx**20050608210819]
[da language update
andi@xxxxxxxxxxxxxx**20050608201217]
[nl language update
Jack van Klaren <dokuwiki@xxxxxxxxxxxxxxxxx>**20050608201144]
[heading buttons height adjustment
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050608172429
The editor buttons for the headlines were 1px to high. This patch
fixes that.
]
[fixed JS error when spellchecker is disabled
andi@xxxxxxxxxxxxxx**20050608194746]
[Spellchecker fixes
andi@xxxxxxxxxxxxxx**20050608182758
The spellchecker now works in IE6, Firefox and Opera 8 :-)
SACK was updated to the latest release (plus a minor fix)
Proper UTF-8 headers were added to the AJAX PHP backends
]
[et language update
Kaiko Kaur <kaiko@xxxxxxxxxxxxxx>**20050607200902]
[da update
koeppe <koeppe@xxxxxxxx>**20050607200309]
[IE secedit button fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050607164818
IE displays the sector edit buttons bigger than designed.
This is a known problem of the special Microsoft box model
the IE uses. This patch adjusts the buttons height to the
desired value but they are still too wide. As I understand
certain internet sources right: There is no solution for
this. Whatever, let's enjoy what we have.
]
[AJAX spellchecker #29
andi@xxxxxxxxxxxxxx**20050607194456
This is nearly a complete rewrite of the gmail like AJAX spellchecker
from http://www.broken-notebook.com/spell_checker/index.php
Here are the differences and features
* seemless integrated into DokuWiki
* no need for the pspell extension
* needs GNU aspell installed (not sure about the version I guess
0.60+ for UTF8)
* needs PHP 4.3.0+
* uses SACK for AJAX
* gets errors and suggestions in one transfer
So far only tested in Firefox. It should work in IE, Safari and
Opera 8, too. Please test and report back.
]
[TOC arrow with simple transparency
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050606163659
This patch exchanges the images for the TOC arrow from
PNG with alpha channel to GIF with transparent background.
This is done because the IE doesn't cope with transparent
PNG images very well. Shame on you Microsoft.
]
[IE text entry height adjustment
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050606165106
The height of text entry field look different in height between
IE and Firefox. This patch adjusts the CSS files that both look
the same.
]
[cache control header
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050606154420
This patch adds a cache control header to fetch.php. Without
this header media files can't be opened and viewed with third
party programs directly from the IE browser window. For eg.
Acrobat Reader will display an error message after clicking
on a link to a PDF file. Firefox will work without it.
]
[Extending useheading
chris@xxxxxxxxxxxxxxxxx**20050605132931
This patch will extend the useheading configuration setting to apply to
- search page
- backlinks page
- recent changes page
]
[fetch directory structure fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050605130154
fetch.php was not fully adapted to the new directory structure - fixed
]
[media popup directory structure fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050605125410
The media popup was not fully adapted to the new directory
structure - fixed
]
[moved lang directory into inc dir
andi@xxxxxxxxxxxxxx**20050605110714]
[Strike-through Quick Button
chris@xxxxxxxxxxxxx**20050605110302]
[extended search fix no. 2
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050605085854
The last patches confused darcs so we get a mixed up code.
This patch corrected the mess hopefully.
]
[directory layout cleanup !IMPORTANT
andi@xxxxxxxxxxxxxx**20050605103842
This patch changes the directory structure of dokuwiki as suggested
in http://www.freelists.org/archives/dokuwiki/06-2005/msg00045.html
As the changes.log is not managed through darcs you need to move it your
self to the new location in data/changes.log
I think I modified the code at all nessessary places, but I may have
forgotten a few things.
]
[extended search fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050604212026
This patch fixes a bug in the search code and did some
optimizations. Furtheron queries with only excluded
words will be rejected because they won't produce
usable output and waste only time.
]
[extended search fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx*-20050604194621
This patch fixes a bug in the search code and did some
small optimizations.
The possibility to start a search with _only_ excluded
words (only words start with a minus sign) was disabled
because this seem to crash PHP 4.3.10 (at least the ppc
version :-()
]
[much better Opera 8 AJAX fix (no fallback to GET needed)
andi@xxxxxxxxxxxxxx**20050604215355]
[AJAX fix for Opera 8
andi@xxxxxxxxxxxxxx**20050604211320]
[extended search fix
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050604194621
This patch fixes a bug in the search code and did some
small optimizations.
The possibility to start a search with _only_ excluded
words (only words start with a minus sign) was disabled
because this seem to crash PHP 4.3.10 (at least the ppc
version :-()
]
[removed SACK warning for older browsers #369
andi@xxxxxxxxxxxxxx**20050604185143
Older Browsers (Opera) got a warning from the new AJAX stuff. It's a bug
in SACK described at
http://twilightuniverse.com/2005/05/sack-of-ajax/#comment-594
I just removed it from tw-sack.js
I also added the line suggested at
http://twilightuniverse.com/2005/05/sack-of-ajax/#comment-597 - not
used yet but may come in handy
]
[nl update
Jack van Klaren <dokuwiki@xxxxxxxxxxxxxxxxx>**20050604184408]
[Mediafile Deletion and Overwrite Handling #200
andi@xxxxxxxxxxxxxx**20050603205501
This patch enhances the ACL feature by adding another Permission called DELETE
- this permission
allows a user to delete or overwrite existing mediafiles. Users with UPLOAD
permission are no longer
allowed to overwrite media files.
Users whith DELETE permissions now need to check an additional checkbox to
overwrite existing files,
this is to prevent accidently deletions.
Please note: If no ACL is used UPLOAD rights are assumed for everybody - not
DELETE rights. This
changes the behaviour from previous versions as UPLOAD does not allow
overwriting anymore.
]
[extended search function
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050603182746
The DokuWiki search function uses 'OR' to combine
multiple search words. This behaviour is unusual and
not very helpful to narrow the search results.
This patch changed the behaviour to 'AND'. Multiple
search words will reduce the count of search results.
It uses assertions now. This has the big advantage
that only one regular expression have to be processed
for each file and the behaviour can be changed easily.
The functionallity has been extended: Words with a
preceding minus sign (-) will be excluded from and
words with a preceding plus sign (+) will be included
in the search results. Is a preceding sign is missing
(+) is assumed.
]
[keep search input on search page
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050601163504
This patch modifies the search input form so that the search input
is kept as long as the user stays on the search page. This is pure
comfort because he is able to optimise his query step by step without
the need of typing in the query multiple times.
]
[String quoting in TOC toggle code
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050531193827
This patch changed the string quoting in the TOC toggle button code.
The HTML code looks better.
]
[toc toggle button
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050531184155
The TOC toggle button was very small and inconspicuous. This patch
replaces the old one with small arrows placed at the right border
of the TOC header.
Code cleanup in html.php: html_toc() and html_list_toc() are obsolete
and have been removed.
]
[add a back button to parent page
matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx**20050519174025
This patch extends the template functions with back
button linking to the current pages' parent if
available. Both tpl_button() and tpl_actionlink()
are supported.
For this to work the first page in the namespace must
have the same name as the namespace itself. The 'back'
button of every page in this namespace links to
namespace:namespace. The 'back' button of the page
namespace:namespace links to the first page of the
containing namespace and so forth until the start page
has been reached.
Because of the precondition decribed above, the default
template hasn't got the new 'back' button. It is reserved
for custom made templates and installations which take
care of the precondition.
]
[TAG develsnap 2005-05-31
andi@xxxxxxxxxxxxxx**20050531214447]
Patch bundle hash:
4ec061e3524c7ec5b59567b0d70a34152a1bd431
Other related posts:
- » [dokuwiki] Update : FS#113, notify changes