New patches: [logfile matthiasgrimm@users.sourceforge.net**20060304224315 This patch adds a access log file to dokuwiki. It logs page and media file accesses in the common logfile format that could be read by many report generators. ] { hunk ./inc/init.php 104 - 'changelog' => 'changes.log'); + 'changelog' => 'changes.log', + 'accesslog' => 'access.log'); hunk ./inc/init.php 110 - if(!$conf[$c]) nice_die("The $c does not exist, isn't accessable or writable. - Check your config and permission settings!"); + if($c != 'accesslog' && !$conf[$c]) + nice_die("The $c does not exist, isn't accessable or writable. + Check your config and permission settings!"); addfile ./inc/logfile.php hunk ./inc/logfile.php 1 + + */ + + if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/'); + require_once(DOKU_CONF.'dokuwiki.php'); + +/** + * beautify a wiki page id for the log + * + * The wiki page id will be transformed to a filename like string + * utf8 codes will be encoded. + * + * @param $id wiki page id + * + * @author Matthias Grimm + */ +function prepareID($path){ + $path = cleanID($path); + $path = str_replace(':','/',$path); + $path = utf8_encodeFN($path); + return $path; +} + +/** + * checks if a file exists and returns an appropriate web + * server status + * + * @param $file complete filepath to check + * + * @author Matthias Grimm + */ +function getStatus($file){ + if(@file_exists($file)){ + $size = @filesize($file); + return "200 $size"; + }else + return "404 0"; +} + +/** + * logs access to a wiki page + * + * @param $id page id of the wiki page including namespace + * + * @author Matthias Grimm + */ +function logPageAccess($id){ + global $ACT; + + if ($ACT == 'show'){ + $page = prepareID($id); + + $crumbs = breadcrumbs(); // get last visited pages + $crumbs = array_keys($crumbs); // get raw page IDs + array_pop($crumbs); // skip current page + $referer = array_pop($crumbs); // get current page's predecessor + $referer = ($referer) ? prepareID($referer) : ''; + + logAccess($page,getStatus(wikiFN($id)),$referer); + } +} + +/** + * logs access to a media file (internally or externally) + * + * @param $media url or dokuwiki path of media + * @param $file full path to the media file + * + * @author Matthias Grimm + */ +function logMediaAccess($media,$file){ + if(!preg_match('#^(https?|ftp)://#i',$media)) + $media = prepareID($media); + + logAccess($media,getStatus($file)); +} + +/** + * creates a log file entry and writes it to the log + * + * This function writes access information of the current page to a log + * file. It uses the combined log file format that is also used by the + * apache web server. A whole bunch of available log analysers could be + * used to visualize the log. + * + * @param $page page name that was called + * @param $status HTTP status code followed by the file size + * @param $referer predecessor of $page (which page link to $page) + * Is this field empty, the functions tries to get + * the referer from the web server (HTTP_REFERER) + * + * @author Matthias Grimm + * + * combined log file format: + * [] "" + * "" ""\n + * + * IP of the client host (we don't do reverse host lookups) + * remote user identification or '-' if not available + * user id or '-' if not available + * time in format [01/Dec/2005:22:19:12 +0200] + * Requested protocol, for eg. GET or POST, requested page + * and protocol + * error code from server, for eg. 200 (OK) or 404 (file + * not found) + * size of the wiki page (only the bare text) + * page that called this one. We don't have this information + * and filled the dokuwiki script name in. + * identifying information that the client browser reports + * about itself + */ +function logAccess($page,$status,$referer=''){ + global $conf; + + if (!empty($conf['accesslog'])){ + $host = $_SERVER['REMOTE_ADDR']; + $user = isset($_SERVER['REMOTE_USER']) ? $_SERVER['REMOTE_USER'] : "-"; + $timestamp = date("[d/M/Y:H:i:s O]"); + $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : ""; + $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : ""; + $agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""; + + if (empty($referer)){ + if(isset($_SERVER['HTTP_REFERER'])){ + $cnt = preg_match('/\?id=((\w+\:*)+)/i',$_SERVER['HTTP_REFERER'], $match); + if($cnt == 1) + $referer = prepareID($match[1]); + } + } + + $logline = "$host - $user $timestamp \"$method $page $protocol\" $status \"$referer\" \"$agent\"\n"; + io_saveFile($conf['accesslog'], $logline, true); + } +} + +//Setup VIM: ex: et ts=2 enc=utf-8 : hunk ./inc/template.php 11 + require_once(DOKU_INC.'inc/logfile.php'); hunk ./inc/template.php 953 +} + +/** + * log this page to a log file + * + * This function writes access information of the current page to a log + * file. It uses the combined log file format that is also used by the + * apache web server. A whole bunch of available log analyzers could be + * used to generate reports. + * + * @author Matthias Grimm + * + */ +function tpl_logfile(){ + global $ID; + + logPageAccess(cleanID($ID)); hunk ./lib/exe/fetch.php 15 - //close sesseion + require_once(DOKU_INC.'inc/logfile.php'); + //close session hunk ./lib/exe/fetch.php 60 + //log media access + logMediaAccess($MEDIA, $FILE); + hunk ./lib/tpl/default/main.php 122 +
} Context: [added missing doctype and title for export_html Anika Henke **20060304204748] [german and english updates for config manager strings Andreas Gohr **20060304214637] [config manager fixes Andreas Gohr **20060304213457 This patch makes the default config widget a textarea, to avoid destroying multiline configs as used in the SQL auth backends. It also makes HTML in config descriptions possible and adds an accesskey to the savebutton. ] [allow HTML in config option descriptions Andreas Gohr **20060304200828] [russian translation update Denis Simakov **20060304174458] [hebrew translation (partial) Denis Simakov **20060304182215] [removed select style from lib/plugins/config/style.css Andreas Gohr **20060304183045] [styling fixes for user and config manager Anika Henke **20060304175117] [small fix for select box padding Andreas Gohr **20060304181132] [move content-type meta header above title tag Andreas Gohr **20060304164119 This is recommended here: http://www.joelonsoftware.com/articles/Unicode.html ] [simplified file permission handling Andreas Gohr **20060304154038 This patch simpliefies the configuration of the file and directory creation modes. There is no need to set the umask anymore. Only the wanted permissions for files and directories are set. An init function compares the wanted modes with the ones that would be choosen by the system automatically (consulting the system's umask) and sets the modes for chmod when needed. ] [fix for insertAtCarret in IE #730 Andreas Gohr **20060304132021] [make umask an empty string for system default Andreas Gohr **20060304001433] [umask/mode should not be commented out Guy Brand **20060303204706] [beautify user manager Anika Henke **20060303192711] [fixed phpfn interwiki link Andreas Gohr **20060303224553] [punbb backend dies when magic quotes enabled Andreas Gohr **20060303214459] [fix for missing spellchecker style when spellchecker is disabled Anika Henke **20060303182313] [last strictness for plugins Anika Henke **20060303173305] [nicer error messages for fatal errors Andreas Gohr **20060303180548] [changed styling for plugin manager Anika Henke **20060303170956] [better permission checking Andreas Gohr **20060303173252 init.php now checks for the accessability of the data directories (executebit on UNIX systems) ] [changed styling logic a bit for config manager Anika Henke **20060303122855] [japanese language update Yuji Takenaka **20060303130539] [lexer fix, change order of escaping . & \ chris@jalakai.co.uk**20060303100006] [revised wiki:dokuwiki page Andreas Gohr **20060303102012] [config manager update Andreas Gohr **20060303101859] [nicer russian romanization Denis Simakov **20060303032557] [hebrew romanization fix Denis Simakov **20060303031656] [more russian translation Denis Simakov **20060303012947] [russian translation - plugins Denis Simakov **20060303005940] [config plugin update for revised deaccent settings chris@jalakai.co.uk**20060303001007] [polish lang update Grzegorz Zur **20060302105617] [more Danish translation larsch8@m2.stud.ku.dk**20060302161308] [removed now unnessary Mac IE css hack Andreas Gohr **20060302144734] [load spellchecker styles only when needed fixes #539 Andreas Gohr **20060302143643] [no more document.write for progressbar Andreas Gohr **20060302140949] [FollowSymLinks option as suggested in #723 Andreas Gohr **20060302135549] [small patch for unique ids Andreas Gohr **20060302135001] [no default targets Andreas Gohr **20060302134306 Using the target attribute is considered bad practice. This patch removes the default targets from dokuwiki.conf and fixes the footer.html of the default template accordingly ] [small cosmetic fix for feed style Andreas Gohr **20060302131439] [fix for mediaselection from root namespace #555 Andreas Gohr **20060302130917] [fetch.php now understands partial and conditional requests, fix for #593 Andreas Gohr **20060302125020] [mimetypes and icons for opendocument formats #722 Andreas Gohr **20060302105634] [Allow non-ID names in ACLs Andreas Gohr **20060302101850 Some auth backends allow special chars like whitespaces in user and group names. This made problems with the existing ACL checks and ACL manager. This patch makes the ACL system work with these cases by (url)encoding all special chars below 128. ] [additional russian update Denis Simakov **20060302053204] [Postgres backend for new OO auth Andreas Gohr **20060301223021] [russian update Igor Tarasov **20060301192153] [Preliminary Danish localization for the rest of the plugins. Too tired to complete it right now... larsch8@m2.stud.ku.dk**20060301003307] [fixed problem with io_sweepNS() on windows systems Andreas Gohr **20060228224239] [Added Danish localization for usermanager plugin and fixed typos in ditto for acl plugin larsch8@m2.stud.ku.dk**20060228214036] [fixed Call to undefined function: html_buildlist in the feed Andreas Gohr **20060228210711] [unlock a page directly after deletion Andreas Gohr **20060228204811 This should fix a problem making sweepNS() never work ] [export_html instead of _xhtml in template.php FS#728 Tim Weber **20060228203550] [changed IDs to avoid name clashes Andreas Gohr **20060226172332] [fix for footnotes and toolbar pickers Anika Henke **20060226104314] [fix for disturbing css text alignment in text inputs Anika Henke **20060225223830] [Localized remainder of basic package to Danish larsch8@m2.stud.ku.dk**20060225163214] [removed obsolete toc unit test Andreas Gohr **20060225162230] [Fix umask bug and do a code cleanup of chmod/mkdir usage so set the correct permissions, this should also fix problems with dokuwiki making setuid files on some umasks. Troels Liebe Bentsen **20060224211655 * Don't set the umask() anymore, this is not good form and we don't really know what is it in the old code anyway as it was not done properly. * Retire the dmask config option introduce 2 new ones called fmode and dmode, this is more in line with posix and should make more sense. * Use chmod for setting the correct permissions but only if it's needed. * Set changing of permissions off by default as i should work properly in most Apache setups without and it does not make sense on windows anyway. ] [Fix wrong umask usage and so we set the correct file premissions. Troels Liebe Bentsen **20060218183753] [Fix wrong umask usage and so we set the correct file premissions. Troels Liebe Bentsen **20060218183251] [fix for export_html to look good again after my "css_in_dokuwiki_context.patch" Anika Henke **20060224223947] [GeSHi update to 1.0.7.7 Andreas Gohr **20060225142520 There's been a few more languages added, namely ColdFusion, T-SQL, Robots.txt, AutoIT and Java 5, and a couple of bug fixes. ] [admin styles removed to own plugin style file Anika Henke **20060224222256] [every css element in div.dokuwiki context (as suggested by Max Khitrov last December) Anika Henke **20060224215542] [english fix for #714 Andreas Gohr **20060224194246] [added type check in html_btn #715 Andreas Gohr **20060224192428] [fixed typo in HTTP client #726 Andreas Gohr **20060224192130] [commented out all entries in local.php.dist Andreas Gohr **20060224185810] [french config plugin strings gb@isis.u-strasbg.fr**20060224171715] [french strings update (issues #671, #233) gb@isis.u-strasbg.fr**20060224160957] [hierarchical breadcrumbs Sean Coates **20060224155631 This patch adds optional hierarchical breadcrumbs. This was discussed last december in http://www.freelists.org/archives/dokuwiki/12-2005/msg00112.html and followups. Many people where in favour of this. ] [parse error in renderer fixed Andreas Gohr **20060224154748] [removed deprecated TOC code Andreas Gohr **20060224151221] [english fixes for #671 and #233 Andreas Gohr **20060224124815] [config plugin update - fix choices for 'maxtoclevel' chris@jalakai.co.uk**20060223230053] [small enhancement for image insertion as suggested by Bob Baddeley Andreas Gohr **20060223210412] [endless loop fixed #727 Andreas Gohr **20060223205726] [fixes for utf-8 to/from unicode conversion Andreas Gohr **20060221212605 The functions utf8_to unicode and unicode_to_utf8 didn't work correctly with some 3 and 4 byte strings. This exchanges those functions against two more sophisticated ones. It also adds unit testing for them. ] [final (?) style for editbar Anika Henke **20060220213931] [Added Danish localization for profile updating larsch8@m2.stud.ku.dk**20060221011446] [some TOC fixes Andreas Gohr **20060219164726] [edit bar style for IE Anika Henke **20060219142833] [style for edit bar with chris' suggestion Anika Henke **20060219133545] [another try on styling the edit bar Anika Henke **20060219001944] [mor conservative chunksize for wordblock patternsize Andreas Gohr **20060218232226] [create unique IDs for sections Andreas Gohr **20060218230744 This patch finally completes the support for unique section IDs. To achive this the mechanism how the TOC is build was changed. The TOC now is build in the renderer only. Currently the TOC will be rendered in the end_document function and is then prepended to the doc. This should ensure compatibility with the rest of the code. Adding support for separating the TOC from the page should now be a simpler task in the future. TODO: - Update base class - remove commented old TOC code - make sure no other parts of the code use any of the old TOC code ] [Fixed a lot of typos in Danish localization. larsch8@m2.stud.ku.dk**20060218132147] [file cleanups Andreas Gohr **20060217222040 This patch cleans up the source code to satisfy the coding guidelines (see http://wiki.splitbrain.org/wiki:development#coding_style) It converts files to UNIX lineendings and removes tabs and trailing whitespace. Not all files were cleaned yet. ] [do not try to init auth object if useacl=0 #720 Andreas Gohr **20060217221221] [fixed password mail Andreas Gohr **20060217180715 There was an error which caused the mail aent on registration to contain the crypted password instead of the cleartext one. ] [fixed encoding in mailtext.txt of zh-tw translation Andreas Gohr **20060213202501] [updated auth_punbb Andreas Gohr **20060211180240] [romanization support in utf8 library Andreas Gohr **20060210200627 This patch addes basic romanization support to the utf-8 library. It converts non-latin languages to ASCII. The transliteration tables used where gathered from various places on the net. I do not speak any of those languages so I can't say how good they are. Any recommendations and fixes are welcome! This can be enabled for ID cleaning by setting the deaccent option to 2. It is also used in the XHTML renderer to generate section ids based on the header titles. Leading digits and any remaining non-ASCII chars are removed as well. This is the first step to make section ID always XHTML compatible. Making sure they are unique is not implemented yet. ] [hebrew language updates shmulik grandpa **20060208204036] [MySQL cando update matthiasgrimm@users.sourceforge.net**20060208185913 This patch fixed the cando capabilities array. ] [usermanager update for enhanced canDo chris@jalakai.co.uk**20060208020657] [simple performance patch for html_wikilink() Matthias Urlichs **20060207213425] [anchors inside headlines Anika Henke **20060206001131] [tableless edit form Anika Henke **20060205211548] [change only changed data matthiasgrimm@users.sourceforge.net**20060202192030 This patch changed the modifyUser function of the user manager so that it only forward data fields to the backend that the user really changed. Unchanged or empty fields will be skipped. ] [fix for FS#646 Anika Henke **20060204181446] [small fix of quick results Anika Henke **20060204172036] [more semantic search quick results Anika Henke **20060204171707] [serbian translation Filip Brcic **20060204144729] [fix special char ID handling Andreas Gohr **20060203153945 A given ID consisting of special chars only (either added manually in the URL or in the search box) will be ignored correctly now. ] [new way of auth module capability checking Andreas Gohr **20060203150302 This changes the way of how the capabilities of the used auth module are checked as suggested as first option in http://www.freelists.org/archives/dokuwiki/01-2006/msg00267.html The MySQL backend WAS NOT TESTED and probably needs some work. ] [fix for PHP5/Win, avoid initialising an array as a function parameter chris@jalakai.co.uk**20060202232249] [user manager fix, avoid calling getUserCount method when it isn't available chris@jalakai.co.uk**20060202022500] [plugin manager fix for php5/win bug chris@jalakai.co.uk**20060202022424] [show disabled user edit button in grey matthiasgrimm@users.sourceforge.net**20060201182902 This patch adds a grey image for the user edit button that indicates that the button is inactive and can't be triggered. ] [optional READ Lock matthiasgrimm@users.sourceforge.net**20060201181422 The option TablesToLock is no longer required for read operations. The small risk to feed invalid data into dokuwiki was accepted by the project leader. Nevertheless locks will be used for read operations too, if the option 'TablesToLock' is given. ] [some fix for getUserData in the LDAP auth backend Nathan Neulinger **20060131222058] [fix for feed.php and new auth mechanism Nathan Neulinger **20060131222019] [conflict resolving for plugin manager update Andreas Gohr **20060131211639] [update wl,ml,buildURLParams with optional separator string, update config plugin redirect with new wl(), add meta & lang details for $conf['resendpasswd'] chris@jalakai.co.uk**20060130232818] [plugin manager update - remove refresh command, strings & associated html chris@jalakai.co.uk**20060130222720] [config plugin - updated fix for redirect url construction chris@jalakai.co.uk**20060130215927] [language updates Andreas Gohr **20060130214840] [MySQL canDo() patch matthiasgrimm@users.sourceforge.net**20060130192750 This patch adds a canDo() function to the MySQL backend to give higher program levels the opportunity to find out what functions the MySQL backend provides. Furthermore the option encryptPass was renamed to forwardClearPass because the old name was misleading and not clear. Last but not least the mysql.conf.php was reorganized to make clear which SQL statements enable which functions. ] [config plugin - correct prev fix for redirect url chris@jalakai.co.uk**20060130142414] [config plugin fix for incorrect construction of redirect url chris@jalakai.co.uk**20060130141843] [config manager update - fix for missing $ID in URLs chris@jalakai.co.uk**20060130134210] [resendpasswd option added Andreas Gohr **20060129131054] [indonesian translation mubaidillah **20060129102109] [Several more french updates (UI and pluginsÃ) gb@isis.u-strasbg.fr**20060129001120] [Pagelocks are now refreshed in the background Andreas Gohr **20060128152139 An AJAX call is used to refresh the pagelock when keypresses in the textarea are detected (With a minimum wait of one minute between calls). ] [another try to fix spelling in wiki:syntax Andreas Gohr **20060128110645 Hopefully the last time I have to correct these "parentheses" ] [spell fixes for wiki:syntax Andreas Gohr **20060128090528] [config plugin update, fix php5 warnings + other improvements chris@jalakai.co.uk**20060128011605] [config plugin style change chris@jalakai.co.uk**20060127215330] [scroll to preview pane on preview Andreas Gohr **20060127211137] [further xhtml strictness -- part 3 Anika Henke **20060127193238] [Synced french lang.php gb@isis.u-strasbg.fr**20060127171834] [Minor typo in comment gb@isis.u-strasbg.fr**20060127171739] [Wrong text in search message (fix for FS#671) gb@isis.u-strasbg.fr**20060127133020] [moved translations for ACL manager Andreas Gohr **20060127141826] [Missing french messages gb@isis.u-strasbg.fr**20060127130334] [Missing french button translation gb@isis.u-strasbg.fr**20060127124938] [replaced form attr. 'name' by 'id' + prefixed values with 'dw__' for strictness Anika Henke **20060127112205] [functions for handling plugin settings with config manager Esther Brunner **20060127001636] [fixed indexer word counts for UTF-8 words #653 Osamu Higuchi **20060126233702] [closed in acl plugin Anika Henke **20060126225603] [MySQL getUserCount() optimizsation matthiasgrimm@users.sourceforge.net**20060126205715 The function getUserCount() uses SQL_CALC_FOUND_ROWS now if MySQL v4.0 or later is found. This will speed up this query with big user tables. ] [usermanager start value missing matthiasgrimm@users.sourceforge.net**20060126195356 The start value of the user list was corrupted, if in search mode but _REQUEST['search'] was empty. An empty start value passed to the authentication backends might cause an error (in MySQL backend for sure). This patch fixes this. ] [MySQL retrieveUsers() use LIMIT matthiasgrimm@users.sourceforge.net**20060126195109 The function retrieveUsers() uses the SQL statement LIMIT now to select a subset of tupel out of a result table instead of fetching the whole table and filter in PHP. ] [ldap auth fixes Andreas Gohr **20060126214935 Adds a config option for the key using in groups as suggested on the wiki. Makes the debug outputs distinct. Removes commented, nonimplemented functions. ] [scroll__here support Andreas Gohr **20060126212926 This adds a simple JavaScript behavior. When an element with the id 'scroll__here' is found in the document the browser will scroll this element into view. Useful to scroll to some output after form submitting. ] [java script changes Andreas Gohr **20060126203550 This adds a javascript confirmation for the delete button in the user manager. It also adds the $() shortcut function known from the prototype library. ] [$conf[sepchar] update for config plugin chris@jalakai.co.uk**20060126012607] [user manager update chris@jalakai.co.uk**20060126011718] [config plugin update & removal of $conf['pluginmanager'] option chris@jalakai.co.uk**20060126011342] [fix for broken $conf['typography'] Andreas Gohr **20060125211620] [hide lower toolbar while spellchecking Andreas Gohr **20060125205400] [config plugin chris@jalakai.co.uk**20060125001546] [user manager plugin chris@jalakai.co.uk**20060125000731] [oo auth update - remove legacy auth remnants, add auth->canDo chris@jalakai.co.uk**20060125000125] [more unit tests fixed - down to 8 fails Andreas Gohr **20060124213123] [MySQL modify user patch matthiasgrimm@users.sourceforge.net**20060124190625 This patch changed the function modifyUser(). Before this update each data change was applied by deleting and re-adding the complete user entry. The new function uses the UPDATE SQL statement. Furthermore all human readable error messages were removed. The calling procedure is in charge now to inform the user about failures. Internal debug messages were added. They can be enabled in the configuration file. Last but not least the module retrieves the database version now to handle incompatible features between different MySQL versions. ] [plugin manager styles update for css substitutions chris@jalakai.co.uk**20060124145255] [unittest fixes (28 still failing) Andreas Gohr **20060122160518] [MySQL backend code cleanup fix matthiasgrimm@users.sourceforge.net**20060122125327 This patch make the MySQL backend work again after Andi's code cleanup ;-) ] [GeSHi updated to 1.0.7.6 Andreas Gohr **20060122125327] [adds support for wordblock.local.conf chris@jalakai.co.uk**20060122011249] [CSS compressor fix Andreas Gohr **20060122124613] [Windows compatible rename #683 Andreas Gohr **20060121194539] [urlencode -> rawurlencode (related to #685) Andreas Gohr **20060121192747 This changes nearly all occurences of urlencode to rawurlencode. The latter encodes spaces as %20 while the former uses a + sign. For the use in browser URLs %20 is the correct form. ] [do not print background images #689 Andreas Gohr **20060121191053] [streamlining auth backends :!: Andreas Gohr **20060121181149 This patch is a start to make all the auth backend mor alike in configuration and to update all backend to the new OO method. This patch changed some config placeholders and thus may break existing configs! Here is a list of the new place holders used in MySQL and LDAP: %{user} - the login name %{group} - a group name %{pass} - the password (cleartext or crypted) %{dgroup} - the default group %{guid} - a group id %{uid} - a user id %{name} - full name of a user %{email} - email of a user %{dn} - DN for a user (LDAP only) The LDAP backend was enhanced a little bit. The default group now is always added to the list of returned groups. A different Server Port can be configured. More changes will follow. ] [spellfix for mysql auth backend Andreas Gohr **20060121152740] [removed graphical list bullet Andreas Gohr **20060121121435 Unordered lists used a graphic for the list bullet. Using the same technique as in the ordered lists we don't need an image just to have the color. This has two advantages: 1. The list bullets still have the correct color when colors are adjusted in style.ini 2. List bullets grow and shrink correctly with the fontsize It has a disadvantage as well: All list items need to be marked up like this:
  • item
  • This was already the case for most autogenerated lists anyway. Some plugins may need to be adjusted. ] [strip (incorrect but common) one line comments in CSS compressor Andreas Gohr **20060121114730] [output session info in debug output Andreas Gohr **20060121114041] [commented Options line in .htaccess.dist Andreas Gohr **20060121113438] [clear floats in preview pane Andreas Gohr **20060111101104] [more general alignment styles Andreas Gohr **20060111100242] [external authentication Andreas Gohr **20060110092903 This patch adds the functionality to override the usual auth_mechanism completely and replace it with your own. This can be used to authenticate against Apache auth mechanisms or third party software cookies. A very basic example for using PunBB's $pun_user variable is included. ] [stricter xhtml compliance -- part 2 Anika Henke **20060115183253] [use usleep in locking to avoid 100% CPU Erik Byström **20060115105943] [plugin manager update, remove js & css file aggregation, improve error handling chris@jalakai.co.uk**20060113023414] [add missing long open tags "**20060114163558] [css.php bugfix for unitialised arrays in php5 chris@jalakai.co.uk**20060111145922] [chinese language update FXCarl **20060109213129] [Small patch to recent changes list Wolfgang Ocker **20060109211929 In the "recent changes" list I've seen some artefacts. This patch fixes them. ] [arabic translation Mostafa Hussein **20060109211722] [mysql class password encryption bugfix matthiasgrimm@users.sourceforge.net**20060107114635 A syntax error in the checkpass() function prevented the module from using password encryption by the database. It always did the password encryption by itself - fixed. ] [confutils fix to allow '#' when immediately preceeded by'&' (# is a comment indicator otherwise) chris@jalakai.co.uk**20051213175633] [css fix for compatibility with older templates Andreas Gohr **20051212202103] [JS fixes Andreas Gohr **20051210204439] [unobstrusive JS for TOC, better onload handling Andreas Gohr **20051210193709 This path adds more unobstrusive JavaScript for the TOC handling. It also loads JavaScript initialiezers as soon as the DOM is parsed for Mozilla-based Browsers as described at http://dean.edwards.name/weblog/2005/09/busted/ - a IE solution was not chosen yet. ] [remove error supression for local.php (related to #659) Andreas Gohr **20051207194400] [more debugging code in indexer.php Andreas Gohr **20051207193507] [favicon to tpl steven-danz@kc.rr.com**20051207024650 Move the favicon.ico file from the DOKU_BASE to DOKU_TPL to make it easier for new templates to replace the image ] [polish language update Grzegorz Zur **20051204142522] [check for available memory in GD resizing #655 Andreas Gohr **20051203145501] [added debug options to indexer.php for sitemap stuff Andreas Gohr **20051203142519] [cleanups in resize_imageGD (maybe #631) Andreas Gohr **20051203133713] [fix for wrong include path #651 Andreas Gohr **20051203131815] [don't use named recipients in mails on Windows #652 Andreas Gohr **20051203131542] [automatic google ping after sitemap update Andreas Gohr **20051129223742] [slovak language Ondrej Vegh **20051129185404] [Wildcardsearch added #552 #632 Andreas Gohr **20051127180723 Now searching for word parts is possible by adding or prepending a * character to the searchword: 'foo*' searches for words beginning with 'foo' eg. 'foobar' '*foo' looks for words ending in 'foo' eg. 'barfoo' '*foo*' gets anything with 'foo' in it eg. 'barfoobaz' ] [Template stylesheets are now defined in sytle.ini Andreas Gohr **20051127121849 Which stylesheets should be loaded for a template is now defined in the style.ini file. IMPORTANT: template designers need to adjust their style.ini ] [fixed date format for google sitemaps Andreas Gohr **20051127110118] [Added Google sitemap support #371 Andreas Gohr **20051126234709 This patch addes the automatic creation of Google sitemaps. The map is created in the DokuWiki root dir and named sitemap.xml.gz if gzip compression is available - if not the gz extion is skipped. How often the map is recreated is defined through the $conf['sitemap'] option. It accepts a day value. ] [more fixes on spaces in spellcheck Andreas Gohr **20051126175521] [added greek character to special char picker Andreas Gohr **20051126143544] [preserve spaces in spellchecker #620 Andreas Gohr **20051126134156] [honor useheading in list feed mode #625 Andreas Gohr **20051126131800] [added export_xhtmlbody option #636 Andreas Gohr **20051126125627] [javascript fixes #641 Andreas Gohr **20051126124017] [Support for template specific JavaScript Andreas Gohr **20051125123839] [Automatic adding of feeds and alternative versions can be disabled in template Andreas Gohr **20051125123735] [option to send 404 header for missing pages Andreas Gohr **20051125123614] [lang_italian Roberto Bolli - http://www.rbnet.it/**20051119213830] [plugin manager, polish locale files (thanks Michal Tkacz) chris@jalakai.co.uk**20051120173922] [updated to GeShi 1.0.7.5 Andreas Gohr **20051123191014] [fixed a very rare problem with io_readfile and unserialize Andreas Gohr **20051118194856] [rpm file filetype added Andreas Gohr **20051118160203] [Display fileicons in Media Dialog Andreas Gohr **20051118154544] [turkish translation Selim Farsakogflu **20051116221055] [change username fix matthiasgrimm@users.sourceforge.net**20051111185816 This patch adds support for changing the username in modifyUser() which is needed by the user manager. ] [fix for comment stripping in CSS compression Andreas Gohr **20051112113822] [fix for bad characters in interwiki classes Andreas Gohr **20051111203902] [Fix for broken Prox Support #626 Andreas Gohr **20051111200646] [JavaScript Fixes for the toolbar #628 Andreas Gohr **20051111200142] [profile change feedback Matthias Grimm **20051111170122 This pathc adds a feedback for the user after changing his/her profile and the profile dialog will be closed. ] [insert bug in IE Matthias Grimm **20051111170349 This bug fixes a bug in the IE javascript code that prevent the toolbar from inserting text. ] [MySQL OO auth module bug fix Matthias Grimm **20051110173812 This patch fixes some bugs in the MySQL OO auth module regarding modifying user data. ] [html_hilight test cases fixed Andreas Gohr **20051108201701] [fixed two bugs reported by Timo Falk Andreas Gohr **20051108195013] [MySQL auth module documentation Matthias Grimm **20051107210740 This patch completes the documentation of the MySQL SQL statements that are necessary to run the mysql OO auth module in mysql.conf.php.example. Some pattern names in the code were not in line - fixed. ] [get_tests_running_1 hfuecks@gmail.com**20051106233800] [mock_functions_patch hfuecks@gmail.com**20051106221447] [xhtmlsummary_patch hfuecks@gmail.com**20051107000554] [fix_url.patch chinsan.tw@gmail.com**20051107030302] [some style fixes Andreas Gohr **20051106171939] [mysql extension for OO auth system Matthias Grimm **20051106130303 This patch adds the mysql extension to the OO auth system. The SQL statements are defined in conf/mysql.conf.php.example and needs to be adapted to the local database. The set of statements work with the database structure described in conf/mysql.conf.php.example. This module is beta and heavy testing in different environments is recommended. The documentation of the SQL statements is not complete yet ] [de_language_update Matthias Grimm **20051106111006 The german translation was updated and missing files were added. ] [en_language_update Matthias Grimm **20051106110259 This patch removes the autopasswd fix again, because all users may forget their password from time to time. The wording in the dialog changed a bit instead to make the feature more clear to the user. Furthermore some english texts were updated. ] [autopasswd_fix Matthias Grimm **20051105223311 Resending of a new password must depend on $conf['autopasswd']. Only if $conf['autopasswd'] = 1 resending of a new password is allowed. This patch fixed this. ] [OO_auth_fixes Matthias Grimm **20051105124932 This patch allows the OO auth module to fail. The basic class got a new property $success that is checked in auth.php. Derived classes might change this calue in their constructors. Beautifying the whitespaces in auth.php completes this patch. ] [transparency fixes for fileicons Andreas Gohr **20051105161316] [use classes for file icons like in interwiki links Andreas Gohr **20051105155911] [Table Syntax fixes #280 #591 Andreas Gohr **20051103162630] [fixed wrong color for spellchecker Andreas Gohr **20051103120246] [a small CSS hack to make the buttons work in IE5.2 Mac Andreas Gohr **20051103114701] [hidepages configoption Andreas Gohr **20051103101726 This new option accepts a RegExp to filter certain pages from all automatic listings (RSS, recent changes, search results, index). This is useful to exclude certain pages like the ones used in the sitebar templates. The regexp is matched against the full page ID with a leading colon. If it matches the page is assumed to be a hidden one. IMPORTANT: this is not related to ACL. A hidden page is still visible to all users (if not restricted by ACL) when linked or called directly. ] [some fixes in the testmanagement Andreas Gohr **20051102222604] [options for searchform template function Andreas Gohr **20051101223559] [added support for an additional style.css in a template Andreas Gohr **20051101190506] [html_highlight test cases Harry Fuecks **20051101184908] [added missing success.png Andreas Gohr **20051031182823] [Security fix for hmtl_hilight() #616 Andreas Gohr **20051030212242] [CSS replacement support Andreas Gohr **20051030193321 Template authors now can use placeholders in their stylesheets which will be replaced by the central CSS dispatcher. Placeholders and their replacements are defined in a style.ini file in the Template directory. This makes changing a colorset very easy. ] [Interwiki icons are set through CSS classes now Andreas Gohr **20051030152828] [unit test for CSS compressor Andreas Gohr **20051029191350] [More work on Javascript and CSS dispatchers Andreas Gohr **20051029185222] [JavaScript refactoring Andreas Gohr **20051029002652 This patch addes a first go on a central javascript and CSS dispatcher which builds a single script from all needed scripts, does optimizing and caching. ] [nicer style for notification messages Andreas Gohr **20051027183616] [fixed darcs patchset guessing in version check Andreas Gohr **20051027183521] [option for disabling debug output Andreas Gohr **20051027183410] [italian language updates Andreas Gohr **20051026194223] [lithunian language updates Andreas Gohr **20051026193756] [small toolbar fixes Andreas Gohr **20051024211946] [more tests fixed (down to 50) Andreas Gohr **20051023113004] [more test fixes (down to 55) Andreas Gohr **20051022220320] [some test fixes (down to 67 failing ones) Andreas Gohr **20051022210519] [fixes for wantedpages.php #558 Andreas Gohr **20051022112510] [use REMOTE_USER for username if nothing else available #587 Andreas Gohr **20051022100740] [nl update Koen Huybrechts **20051022092616] [GeSHi update to 1.0.7.4 Andreas Gohr **20051022092032] [moved parser tests to new test environment Andreas Gohr **20051021232328 The parser tests are outdated and need to be adjusted. Currently 71 tests fail. Others are probably missing. ] [fixed double encoding in feeds #603 Andreas Gohr **20051021224230] [fix for double encoding when using mailguard=hex #605 Andreas Gohr **20051021223434] [some fixes for getID and the detail page Andreas Gohr **20051021212304] [fix for XSS problem in searchbox Andreas Gohr **20051021112809] [fix script url for basedir and urlrewrite=2 jan@jandecaluwe.com**20051018093844] [unit test for basedir/urlrewrite=2 bug jan@jandecaluwe.com**20051020144832] [auth update, the missing localised text files chris@teacherscpd.co.uk**20051020190531] [auth update, incl. auth object, plain.class.php; resend password & update profile actions chris@teacherscpd.co.uk**20051020181434] [another XSS bugfix for #595 Andreas Gohr **20051018213436] [fix for XSS bug #595 Andreas Gohr **20051018200633] [spellcheck icon update Andreas Gohr **20051017204701] [added missing spellwait.gif Andreas Gohr **20051017200747] [removed mb_string requirement in JSON.php #592 Andreas Gohr **20051017200431] [moved file.png to correct place Andreas Gohr **20051017174715] [updated spellchecker toolbar icons Matthias Grimm **20051016211751] [make sure p_wiki_xhtml does not destroy the global $ID Andreas Gohr **20051016185709] [added command line utility to update the index Andreas Gohr **20051016001228] [improvement for baseurl detection tests added Andreas Gohr **20051015221719] [indexer_cleanid_patch hfuecks@gmail.com**20051015203821] [insert media with leading colon Andreas Gohr **20051015191850 fixes a bug when a mediafile from the top namespace is referenced in a subnamespace. Thanks to Otto Vainio for reporting ] [more unobstrusive javascript Andreas Gohr **20051015184404 The edit form now is free of inline event handlers. There are still other places where inline javascript and even document.write is used which should be fixed as well. Currently the window.onload event is used to initialize everything which may not the best way to do so. Dean Edwards may have a solution: http://dean.edwards.name/weblog/2005/09/busted/ ] [first go on unobstrusive javascript, new toolbar Andreas Gohr **20051008175404] [renamed test directory Andreas Gohr **20051015114545] [added missing file icon #589 Andreas Gohr **20051014193252] [Minor strings changes in french language files gb@isis.u-strasbg.fr**20051012190929] [testmananger_testname_fix hfuecks@gmail.com**20051013092242] [test_suite_tuning hfuecks@gmail.com**20051012081013] [back button fix matthiasgrimm@users.sourceforge.net**20051013170633 The back button corrupted the varable $ID which is used by the indexer. ] [removed PEAR:CLIOpts dependency from testframework Andreas Gohr **20051010194555] [fr-update gb@isis.u-strasbg.fr**20051010133224] [test_suite_kickoff hfuecks@gmail.com**20051006233837] [ignore regexp failures when handling asian chars Andreas Gohr **20051009124833 The new handling of asian chars as single words needs a recent PCRE library (PHP 4.3.10 is known work). If this support isn't available the regexp compilation will fail. This patch adds a workaround - this means the search will not work as expected with asian words on older PHP versions. ] [fixed typo in ja translation Andreas Gohr **20051006190239] [Finnish_translation_update mpo@iki.fi**20051004210109] [fixed $UTF8_UPPER_ACCENTS array Andreas Gohr **20051006175402] [load indexing include only when needed Andreas Gohr **20051006174104] [indexer_patch_flush_image hfuecks@gmail.com**20051006130651] [HTTP Client tweaks Andreas Gohr **20051002125421] [no subscribermails for minor edits Andreas Gohr **20051002125342] [minor edit checkbox Andreas Gohr **20051002113255 This patch adds a minor edit checkbox to the edit form for logged in users. Minor edits are displayed different in recent changes and the page revision history. The RSS feed excludes minor edits by default - this can be changed by adding a minor=1 parameter to the URL. Plugin developers: the getRecents function changed again (sorry) see the API docs how to call it. Template Designers: I changed the styling of the label tag. Now a label without a class is no longer styled in any way. To get the old default style (bold, block, 50%) a new class named 'block' was added where needed. Please adjust your templates accordingly. ] [fix for subscription feature in tpl_actionlink #576 Christopher Arndt **20051001135047] [spanish language update Andreas Gohr **20050930165456] [make sure $conf['start'] is a valid pagename #567 Andreas Gohr **20050930160928] [italian updates Andreas Gohr **20050930160500] [allow dots in interwiki names Robby Cornelissen **20050930155249] [rebuild $INFO array directly after lockout Andreas Gohr **20050930154739] [remove compress detection changes from tarlib, its handled in the wrapper chris@jalakai.co.uk**20050927223208] [remove (?u) from lexer -- its not a valid option chris@jalakai.co.uk**20050927223112] [japanese language update webmaster@davilin.com**20050930152223] [mkdir compatibility fix in indexer #575 Andreas Gohr **20050930151407] [asian language support for the indexer #563 Andreas Gohr **20050925175451 Asian languages do not use spaces to seperate words. The indexer however does a word based lookup. Splitting for example Japanese texts into real words is only possible with complicated natural language processing, something completely out of scope for DokuWiki. This patch solves the problem by treating all asian characters as single words. When an asian word (consisting of multiple characters) is searched it is treated as a phrase search, looking up each charcter by it self first, then checking for the phrase in found documents. ] [fix for backlinks Andreas Gohr **20050925102211] [SECURITY FIX: acl check in _getRecents added Andreas Gohr **20050925095612 ACLs weren't checked in the new getRecent function. Recent Changes and the RSS/ATOM feeds displayed all changes regardless of user permissions. ] [TAG rel 2005-09-22 Andreas Gohr **20050922171939] Patch bundle hash: a864ce3b696d0c3ede46e4a8176b8cd163c5faa4