From: <var...@us...> - 2025-03-15 10:17:31
|
Revision: 11185 http://sourceforge.net/p/phpwiki/code/11185 Author: vargenau Date: 2025-03-15 10:17:28 +0000 (Sat, 15 Mar 2025) Log Message: ----------- Use LF terminator Modified Paths: -------------- trunk/doc/INSTALL.windows trunk/lib/WikiDB/backend/PDO_sqlite.php trunk/themes/blog/jscalendar/bugtest-hidden-selects.html Modified: trunk/doc/INSTALL.windows =================================================================== --- trunk/doc/INSTALL.windows 2025-03-15 10:13:03 UTC (rev 11184) +++ trunk/doc/INSTALL.windows 2025-03-15 10:17:28 UTC (rev 11185) @@ -1,54 +1,54 @@ -== General instructions tested under Windows 11: == - -- Install Apache 2.4 -- Install php-8.4.4 -- Add these lines to php.ini: (substitute your path to the php extension dir) -{{{ -extension_dir = "c:/Apache24/php/ext" -extension=gettext -extension=mbstring -extension=dba -extension=zip -extension=mysqli -default_charset = utf-8 -internal_encoding=utf-8 -intl.default_locale=en -[mbstring] -mbstring.language = all -mbstring.encoding_translation = On -mbstring.substitute_character = none; -mbstring.func_overload = 0 -mbstring.strict_encoding = On - -max_execution_time = 60 - -}}} -- unzip phpwiki -- copy phpwiki-1.6.5 directory to c:\Apache24\htdocs\ or wherever you - installed apache and rename it to phpwiki -- copy phpwiki\config\config-dist.ini to phpwiki\config\config.ini - -Probably the quickest way to get up and running is with file database -instead downloading and installing a sql database. -- edit config.ini and search for these variables, removing the ; from - the start of the line: -{{{ -WIKI_NAME = "My PhpWiki" -ADMIN_USER =YourName -ADMIN_PASSWD ="password" -SESSION_SAVE_PATH = "/Apache24/htdocs/phpwiki_session" -USE_DB_SESSION = true -DATABASE_TYPE = file -DATABASE_PREFIX = phpwiki_ -DATABASE_DIRECTORY = "/Apache24/htdocs/phpwiki_db" -TEMP_DIR = -}}} - -Leaving TEMP_DIR blank will default to the TEMP env var -- Start apache -- Browse to http://localhost/phpwiki/index.php - -For more info read INSTALL in the main phpwiki dir and -doc\INSTALL.flatfile - -CarstenKlapp +== General instructions tested under Windows 11: == + +- Install Apache 2.4 +- Install php-8.4.4 +- Add these lines to php.ini: (substitute your path to the php extension dir) +{{{ +extension_dir = "c:/Apache24/php/ext" +extension=gettext +extension=mbstring +extension=dba +extension=zip +extension=mysqli +default_charset = utf-8 +internal_encoding=utf-8 +intl.default_locale=en +[mbstring] +mbstring.language = all +mbstring.encoding_translation = On +mbstring.substitute_character = none; +mbstring.func_overload = 0 +mbstring.strict_encoding = On + +max_execution_time = 60 + +}}} +- unzip phpwiki +- copy phpwiki-1.6.5 directory to c:\Apache24\htdocs\ or wherever you + installed apache and rename it to phpwiki +- copy phpwiki\config\config-dist.ini to phpwiki\config\config.ini + +Probably the quickest way to get up and running is with file database +instead downloading and installing a sql database. +- edit config.ini and search for these variables, removing the ; from + the start of the line: +{{{ +WIKI_NAME = "My PhpWiki" +ADMIN_USER =YourName +ADMIN_PASSWD ="password" +SESSION_SAVE_PATH = "/Apache24/htdocs/phpwiki_session" +USE_DB_SESSION = true +DATABASE_TYPE = file +DATABASE_PREFIX = phpwiki_ +DATABASE_DIRECTORY = "/Apache24/htdocs/phpwiki_db" +TEMP_DIR = +}}} + +Leaving TEMP_DIR blank will default to the TEMP env var +- Start apache +- Browse to http://localhost/phpwiki/index.php + +For more info read INSTALL in the main phpwiki dir and +doc\INSTALL.flatfile + +CarstenKlapp Modified: trunk/lib/WikiDB/backend/PDO_sqlite.php =================================================================== --- trunk/lib/WikiDB/backend/PDO_sqlite.php 2025-03-15 10:13:03 UTC (rev 11184) +++ trunk/lib/WikiDB/backend/PDO_sqlite.php 2025-03-15 10:17:28 UTC (rev 11185) @@ -1,60 +1,60 @@ -<?php -/** - * Copyright © 2023 $ThePhpWikiProgrammingTeam - * - * This file is part of PhpWiki. - * - * PhpWiki is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * PhpWiki is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with PhpWiki; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * SPDX-License-Identifier: GPL-2.0-or-later - * - */ - -/** - * @author: Christof Meerwald - */ -require_once 'lib/WikiDB/backend/PDO.php'; - -class WikiDB_backend_PDO_sqlite extends WikiDB_backend_PDO -{ - public function __construct($dbparams) - { - parent::__construct($dbparams); - } - - public function backendType() - { - return 'sqlite'; - } - - /* - * offset specific syntax within sqlite - * convert from,count to SQL "LIMIT $count OFFSET $from" - */ - public function _limit_sql($limit = false) - { - if ($limit) { - list($from, $count) = $this->limit($limit); - if ($from) { - $limit = " LIMIT $count OFFSET $from"; - } else { - $limit = " LIMIT $count"; - } - } else { - $limit = ''; - } - return $limit; - } -} +<?php +/** + * Copyright © 2023 $ThePhpWikiProgrammingTeam + * + * This file is part of PhpWiki. + * + * PhpWiki is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * PhpWiki is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with PhpWiki; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + */ + +/** + * @author: Christof Meerwald + */ +require_once 'lib/WikiDB/backend/PDO.php'; + +class WikiDB_backend_PDO_sqlite extends WikiDB_backend_PDO +{ + public function __construct($dbparams) + { + parent::__construct($dbparams); + } + + public function backendType() + { + return 'sqlite'; + } + + /* + * offset specific syntax within sqlite + * convert from,count to SQL "LIMIT $count OFFSET $from" + */ + public function _limit_sql($limit = false) + { + if ($limit) { + list($from, $count) = $this->limit($limit); + if ($from) { + $limit = " LIMIT $count OFFSET $from"; + } else { + $limit = " LIMIT $count"; + } + } else { + $limit = ''; + } + return $limit; + } +} Modified: trunk/themes/blog/jscalendar/bugtest-hidden-selects.html =================================================================== --- trunk/themes/blog/jscalendar/bugtest-hidden-selects.html 2025-03-15 10:13:03 UTC (rev 11184) +++ trunk/themes/blog/jscalendar/bugtest-hidden-selects.html 2025-03-15 10:17:28 UTC (rev 11185) @@ -1,108 +1,108 @@ -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro"> - -<head> -<title>Bug</title> -<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-1" /> - -<!-- import the calendar script --> -<script type="text/javascript" src="calendar.js"></script> - -<!-- import the language module --> -<script type="text/javascript" src="lang/calendar-en.js"></script> - -<!-- helper script that uses the calendar --> -<script type="text/javascript"> -// This function gets called when the end-user clicks on some date. -function selected(cal, date) { - cal.sel.value = date; // just update the date in the input field. - if (cal.sel.id == "sel1" || cal.sel.id == "sel3") - // if we add this call we close the calendar on single-click. - // just to exemplify both cases, we are using this only for the 1st - // and the 3rd field, while 2nd and 4th will still require double-click. - cal.callCloseHandler(); -} - -// And this gets called when the end-user clicks on the _selected_ date, -// or clicks on the "Close" button. It just hides the calendar without -// destroying it. -function closeHandler(cal) { - cal.hide(); // hide the calendar -} - -// This function shows the calendar under the element having the given id. -// It takes care of catching "mousedown" signals on document and hiding the -// calendar if the click was outside. -function showCalendar(id, format) { - var el = document.getElementById(id); - if (calendar != null) { - // we already have some calendar created - calendar.hide(); // so we hide it first. - } else { - // first-time call, create the calendar. - var cal = new Calendar(false, null, selected, closeHandler); - // uncomment the following line to hide the week numbers - // cal.weekNumbers = false; - calendar = cal; // remember it in the global var - cal.setRange(1900, 2070); // min/max year allowed. - cal.create(); - } - calendar.setDateFormat(format); // set the specified date format - calendar.parseDate(el.value); // try to parse the text in field - calendar.sel = el; // inform it what input field we use - calendar.showAtElement(el); // show the calendar below it - - return false; -} - -var MINUTE = 60 * 1000; -var HOUR = 60 * MINUTE; -var DAY = 24 * HOUR; -var WEEK = 7 * DAY; - -// If this handler returns true then the "date" given as -// parameter will be disabled. In this example we enable -// only days within a range of 10 days from the current -// date. -// You can use the functions date.getFullYear() -- returns the year -// as 4 digit number, date.getMonth() -- returns the month as 0..11, -// and date.getDate() -- returns the date of the month as 1..31, to -// make heavy calculations here. However, beware that this function -// should be very fast, as it is called for each day in a month when -// the calendar is (re)constructed. -function isDisabled(date) { - var today = new Date(); - return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10; -} -</script> -</head> - -<body> -<form> -<b>Date:</b> -<br> -<input type="text" name="date1" id="sel1" size="30"> -<input type="button" value="..." onclick="return showCalendar('sel1', 'y-m-d');"> -<p> -<br> -<br><b>Visible <select>, hides and unhides as expected</b> -<br> -<select name="foo" multiple> -<option value="1">can use the functions date.getFullYear() -- returns</option> -<option value="2">4 digit number, date.getMonth() -- returns the month</option> -<option value="3">heavy calculations here. However, beware that this</option> -</select> - -<p> -<br><b>Hidden <select>, it should stay hidden (but doesn't)</b> -<br> -<select name="foo2" multiple style="visibility: hidden"> -<option value="1">this should</option> -<option value="2">remain hidden right?</option> -</select> - -<p> -<br><b>Hidden textbox below, it stays hidden as expected</b> -<br> -<input type="text" name="foo3" value="this stays hidden just fine" style="visibility: hidden"> -</form> -</body></html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro"> + +<head> +<title>Bug</title> +<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-1" /> + +<!-- import the calendar script --> +<script type="text/javascript" src="calendar.js"></script> + +<!-- import the language module --> +<script type="text/javascript" src="lang/calendar-en.js"></script> + +<!-- helper script that uses the calendar --> +<script type="text/javascript"> +// This function gets called when the end-user clicks on some date. +function selected(cal, date) { + cal.sel.value = date; // just update the date in the input field. + if (cal.sel.id == "sel1" || cal.sel.id == "sel3") + // if we add this call we close the calendar on single-click. + // just to exemplify both cases, we are using this only for the 1st + // and the 3rd field, while 2nd and 4th will still require double-click. + cal.callCloseHandler(); +} + +// And this gets called when the end-user clicks on the _selected_ date, +// or clicks on the "Close" button. It just hides the calendar without +// destroying it. +function closeHandler(cal) { + cal.hide(); // hide the calendar +} + +// This function shows the calendar under the element having the given id. +// It takes care of catching "mousedown" signals on document and hiding the +// calendar if the click was outside. +function showCalendar(id, format) { + var el = document.getElementById(id); + if (calendar != null) { + // we already have some calendar created + calendar.hide(); // so we hide it first. + } else { + // first-time call, create the calendar. + var cal = new Calendar(false, null, selected, closeHandler); + // uncomment the following line to hide the week numbers + // cal.weekNumbers = false; + calendar = cal; // remember it in the global var + cal.setRange(1900, 2070); // min/max year allowed. + cal.create(); + } + calendar.setDateFormat(format); // set the specified date format + calendar.parseDate(el.value); // try to parse the text in field + calendar.sel = el; // inform it what input field we use + calendar.showAtElement(el); // show the calendar below it + + return false; +} + +var MINUTE = 60 * 1000; +var HOUR = 60 * MINUTE; +var DAY = 24 * HOUR; +var WEEK = 7 * DAY; + +// If this handler returns true then the "date" given as +// parameter will be disabled. In this example we enable +// only days within a range of 10 days from the current +// date. +// You can use the functions date.getFullYear() -- returns the year +// as 4 digit number, date.getMonth() -- returns the month as 0..11, +// and date.getDate() -- returns the date of the month as 1..31, to +// make heavy calculations here. However, beware that this function +// should be very fast, as it is called for each day in a month when +// the calendar is (re)constructed. +function isDisabled(date) { + var today = new Date(); + return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10; +} +</script> +</head> + +<body> +<form> +<b>Date:</b> +<br> +<input type="text" name="date1" id="sel1" size="30"> +<input type="button" value="..." onclick="return showCalendar('sel1', 'y-m-d');"> +<p> +<br> +<br><b>Visible <select>, hides and unhides as expected</b> +<br> +<select name="foo" multiple> +<option value="1">can use the functions date.getFullYear() -- returns</option> +<option value="2">4 digit number, date.getMonth() -- returns the month</option> +<option value="3">heavy calculations here. However, beware that this</option> +</select> + +<p> +<br><b>Hidden <select>, it should stay hidden (but doesn't)</b> +<br> +<select name="foo2" multiple style="visibility: hidden"> +<option value="1">this should</option> +<option value="2">remain hidden right?</option> +</select> + +<p> +<br><b>Hidden textbox below, it stays hidden as expected</b> +<br> +<input type="text" name="foo3" value="this stays hidden just fine" style="visibility: hidden"> +</form> +</body></html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |