1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-24 15:23:11 +02:00

2878 Commits

Author SHA1 Message Date
Ryan Cramer
44fcf13ea2 Bump version to 3.0.246 2025-02-14 10:10:03 -05:00
Ryan Cramer
69270a31b0 Fix issue processwire/processwire-issues#2039 2025-02-14 10:00:01 -05:00
Ryan Cramer
f88350baa5 Fix issue processwire/processwire-issues#2040 2025-02-14 09:57:42 -05:00
Ryan Cramer
c7ba08ecb9 Update ProcessController::jsonMessage() method so that it supports array argument, primarily for internal debugging purposes 2025-02-07 14:21:58 -05:00
Ryan Cramer
59ae7f4c7f Fix issue processwire/processwire-issues#2023 2025-02-06 11:04:21 -05:00
Ryan Cramer
0708865081 Update min PHP version in composer.json file. processwire/processwire-issues#2024 2025-02-06 10:50:17 -05:00
Ryan Cramer
6ae349b4ec Fix issue processwire/processwire-issues#2024 2025-02-06 10:35:22 -05:00
Ryan Cramer
30b34c70b3 Fix issue processwire/processwire-issues#2025 2025-02-06 10:31:22 -05:00
Ryan Cramer
e6dbc3e8eb Fix issue processwire/processwire-issues#2026 2025-02-06 10:06:10 -05:00
Ryan Cramer
a959afc422 Fix issue processwire/processwire-issues#2029 2025-02-06 09:04:08 -05:00
Ryan Cramer
4a9b904b77 Fix issue processwire/processwire-issues#2030 2025-02-06 08:48:36 -05:00
Ryan Cramer
8b5d96f1b6 Fix issue processwire/processwire-issues#2035 plus some related additions to help identify and fix pages that might incorrectly have trash status 2025-02-05 14:45:05 -05:00
Ryan Cramer
eddd6cb8ad Bump version to 3.0.245 2025-01-29 15:22:03 -05:00
Ryan Cramer
e1e938591d Updates to ProcessPageList to make some parts more hookable 2025-01-29 10:02:06 -05:00
Ryan Cramer
1805ad0a59 Improvements to FieldtypePage set of string value(s) to pages, so that it recognizes title and name for setting purposes. 2025-01-29 09:55:22 -05:00
Ryan Cramer
f22739a54c Bump version to 3.0.244 2025-01-10 14:13:34 -05:00
Ryan Cramer
4e678c1584 Various minor updates 2025-01-10 10:27:09 -05:00
Ryan Cramer
4604c09abc More updates for processwire/processwire-issues#2015 2025-01-09 11:44:20 -05:00
Ryan Cramer
be3d17b9c2 Fix issue processwire/processwire-issues#2022 2025-01-09 10:20:07 -05:00
Ryan Cramer
54e75701c1 Fix issue processwire/processwire-issues#2021 2025-01-09 10:09:20 -05:00
Ryan Cramer
29b1fa0e45 Update installer with changes similar to PR #300 to avoid PHP session warnings in some environments
Co-authored-by: poljpocket <mail@poljpocket.com>
2025-01-08 10:50:47 -05:00
Ryan Cramer
870284072c Some more improvements to UTF-8 page names, also related to processwire/processwire-issues#2015 2025-01-08 10:09:39 -05:00
Ryan Cramer
552fd7180e Fix issue processwire/processwire-issues#1950 2025-01-07 10:42:38 -05:00
Ryan Cramer
9db14e6aef Fix issue processwire/processwire-issues#1915 using fix suggested from @michaellenaghan 2025-01-05 11:57:02 -05:00
matjazpotocnik
8d2ad63ce7 Fix issue processwire/processwire-issues#1916 2025-01-05 11:48:54 -05:00
Ryan Cramer
f1819b5cd8 Fix issue processwire/processwire-issues#1914 2025-01-05 11:40:49 -05:00
Ryan Cramer
807e94e22a Installer updates, make utf8mb4 and InnoDB the default settings for MySQL (rather than utf8 and MyISAM) 2025-01-05 11:21:52 -05:00
Ryan Cramer
bd5200dfb2 Fix issue processwire/processwire-issues#1966 2025-01-05 10:54:17 -05:00
Ryan Cramer
00a6baaac9 Update for processwire/processwire-issues#2015 2025-01-05 10:11:20 -05:00
Ryan Cramer
e6ace73c02 Additional updates for processwire/processwire-issues#2015 2025-01-03 12:43:17 -05:00
Ryan Cramer
4be389067d Fix issue processwire/processwire-issues#2015 2024-12-31 10:59:47 -05:00
Ryan Cramer
fa47338eed Fix ProcessPageList label issue reported in ryancramerdesign/PageListCustomChildren#1 2024-12-27 12:54:15 -05:00
Ryan Cramer
cef47391ee Fix issue processwire/processwire-issues#1875 2024-12-27 12:44:02 -05:00
Ryan Cramer
86fc754ffb Add collapsed options back for InputfieldWrapper/InputfieldFieldset per processwire/processwire-issues#1953 2024-12-27 12:17:25 -05:00
Ryan Cramer
6036118b15 Fix phpdoc example for MarkupHTMLPurifier processwire/processwire-issues#226 2024-12-23 11:57:30 -05:00
Ryan Cramer
16d70048c1 Fix issue processwire/processwire-issues#1934 2024-12-23 11:52:06 -05:00
Ryan Cramer
1f7d039b3e Fix issue processwire/processwire-issues#1927 2024-12-23 11:35:34 -05:00
Ryan Cramer
94bc7c346e Bump version to 3.0.243 2024-12-20 16:03:28 -05:00
Ryan Cramer
b7238605e4 Minor code optimizations to the PagesExportImport modules 2024-12-20 15:15:51 -05:00
Ryan Cramer
1fc3cf414a Fix issue where the config.maxUrlSegments wasn't working, plus add new config.longUrlResponse where you can define the http response that should be used when there is an overflow of URL length, segments, or depth. 2024-12-20 15:14:37 -05:00
Ryan Cramer
9bc02399e5 Fix issue processwire/processwire-issues#2007 2024-12-13 10:20:32 -05:00
Ryan Cramer
68fa2b47f6 Fix issue processwire/processwire-issues#2005 2024-12-13 09:10:37 -05:00
Ryan Cramer
2361b90739 Fix issue processwire/processwire-issues#2002 2024-11-29 13:43:26 -05:00
Ryan Cramer
1c5f2f7e3c Updates for PHP 8.4 support per processwire/processwire-issues#2000 Also note that these changes require we adjust our minimum required PHP version from 7.0 up to 7.1, with PHP 8.x still recommended. 2024-11-29 13:29:28 -05:00
Ryan Cramer
ac4dfebfab Update Fields class to keep an index of Field flags that can be read before fields are loaded. Also added a findByFlag() method that uses the index. 2024-11-29 13:00:09 -05:00
Ryan Cramer
405da182d5 Fix issue processwire/processwire-issues#2004 2024-11-29 11:08:08 -05:00
Ryan Cramer
0ea71c3e1d Fix issue processwire/processwire-issues#1097 2024-11-22 15:10:22 -05:00
Ryan Cramer
ede080e2a8 Fix issue processwire/processwire-issues#1962 2024-11-22 14:37:00 -05:00
Ryan Cramer
496509c39f Fix issue processwire/processwire-issues#1960 2024-11-22 14:22:52 -05:00
Ryan Cramer
7b893abba3 Add suggested fix for processwire/processwire-issues#1975 2024-11-22 14:12:32 -05:00
Ryan Cramer
cf0abe538a Additional updates for processwire/processwire-issues#1467 2024-11-22 10:57:01 -05:00
Ryan Cramer
3bd27723b2 Fix issue processwire/processwire-issues#1999 2024-11-22 10:44:30 -05:00
Ryan Cramer
1a5760a5e8 Fix issue processwire/processwire-issues#1997 2024-11-22 09:42:13 -05:00
Ryan Cramer
5ca977f6df Fix issue processwire/processwire-issues#1996 2024-11-22 09:37:23 -05:00
Ryan Cramer
57388db576 Fix issue processwire/processwire-issues#1993 2024-11-22 09:32:33 -05:00
Ryan Cramer
fb641fae89 Change default of ProcessModule 'allowClasses' option to true so that it shows class names below module titles. 2024-11-15 18:19:31 -05:00
Ryan Cramer
a14398b4a3 Update phpdoc related to return value and options for the page preload methods 2024-11-15 15:37:22 -05:00
Ryan Cramer
8a1ba87298 Update to the viewable permission check in ProcessPageEditLink module 2024-11-15 14:33:24 -05:00
Ryan Cramer
53b7aa39eb Update PagesLoader.preloadPage() method to support a loadPageRefs option which loads page references separately and as a group. Not yet certain this will remain though, as it seems like the FieldtypePage loader is already fast enough 2024-11-15 14:31:03 -05:00
Ryan Cramer
ca74514288 Update InputfieldSelector to support a "children…" selection that works similarly to the "parent…" selection 2024-11-15 14:30:08 -05:00
Ryan Cramer
06ac399319 Fix on the modules install screen when entering a module name with trailing whitespace so that it doesn't get converted to underscore and result in unknown module message 2024-11-15 14:28:44 -05:00
Ryan Cramer
b374ed83e2 Minor phpdoc update in Template class 2024-11-15 14:28:08 -05:00
Ryan Cramer
6c8ca289ba Add new $pages->cache()->hasCache($page_id) method 2024-11-15 14:27:30 -05:00
Ryan Cramer
ec8943c26d Fix option order issue in $pages->getByIDs() method 2024-11-15 14:26:40 -05:00
Ryan Cramer
5a8732f1e1 Update InputfieldWrapper for Inputfield::skipLabelFor property to fix processwire/processwire-issues#1982 2024-11-15 12:41:10 -05:00
Ryan Cramer
1191c164a2 Fix issue processwire/processwire-issues#1988 2024-11-14 14:26:37 -05:00
Ryan Cramer
d84d40e84c Attempt fix issue processwire/processwire-issues#1992 2024-11-14 14:12:09 -05:00
Ryan Cramer
5481d713ab Add new $page->preload([ 'field1', 'field2', 'etc.' ]); method that preloads multiple fields in a single query. This is kind of like autojoin except that it can be called on an already-loaded page. 2024-11-08 15:23:37 -05:00
Ryan Cramer
af5cbd7e3c Bump version to 3.0.242 2024-11-01 14:59:38 -04:00
Ryan Cramer
4d6589bdc8 Fix issue processwire/processwire-issues#1980 2024-11-01 10:57:53 -04:00
Ryan Cramer
b2b810f181 Fix issue processwire/processwire-issues#1984 2024-11-01 10:27:29 -04:00
Ryan Cramer
5e91b745e1 Add hookable method in ProcessPageSearchLive to enable overriding what gets searched in the admin search box at runtime. This is also useful if you want to search fields that the interactive module configuration may not let you configure, such as "field.property". 2024-11-01 09:12:36 -04:00
Ryan Cramer
6cd8516a6f Add several methods to SelectableOptionArray class, which represents FieldtypeOptions field values (checkboxes, radios, selects, etc.). Now it is much simpler to get, add, remove options from the selection by referring to the option ID, vlue or title. The added methods include: getByID($id), getByValue($value), getByTitle($title), addByID($id), addByValue($value), addByTitle($title), removeByID($id), removeByValue($value), removeByTitle($title) 2024-10-11 16:20:01 -04:00
Ryan Cramer
9dbd7dd079 Add $page->saveFields([ 'field1, 'field2', 'etc.' ]) method as a front-end to the added $pages->saveFields($page, [ … ]) method 2024-10-11 16:15:27 -04:00
Ryan Cramer
0ef8a4de0b Add new $pages->saveFields([ 'field1', 'field2', 'etc.' ]); method that enables you to save multiple fields on a page. Previously you could only save the entire page, or 1 field at a time. 2024-10-11 16:13:36 -04:00
Ryan Cramer
1c0aa2d248 Attempt fix for processwire/processwire-issues#1974 2024-10-04 15:19:48 -04:00
Ryan Cramer
4f7161fd49 Fix issue processwire/processwire-issues#1976 2024-10-04 14:35:31 -04:00
Ryan Cramer
5abf2077c7 Fix issue processwire/processwire-issues#1977 2024-10-04 14:30:31 -04:00
Ryan Cramer
6d479ba52c Update WireCacheDatabase to improve the efficiency of the general cache maintenance by adding a custom maintenance() method rather than relying on the slower one in WireCache. This also corrects the issue of past caches with an 0000-00-00 expiration date that would never expire, ensuring they don't stick around any longer. 2024-09-19 11:45:06 -04:00
BernhardBaumrock
fef2a76f39 Add PR #302 feat: add support for ajaxParams in ProcessPageList() 2024-09-13 14:03:25 -04:00
Ryan Cramer
965f956bc3 Add support for matching data attributes in show-if conditions. Also updated FieldtypeOptions to add data-if-value attribute to select <option> tags as a way use it. This attribute contains the option value (when separate option values and labels are used). This enables you to match by value rather than by option ID. Example show-if selector: colors.data-if-value=blue. Previously you could only match by option ID, i.e. colors=123. Maybe we'll add something similar for page refernce fields so that you can match by page name or path, rather than by ID. 2024-09-13 13:29:09 -04:00
Ryan Cramer
754b1fffb7 Update ProcessTemplate not to detect hidden files when checking for new templates 2024-09-06 15:09:36 -04:00
Ryan Cramer
fae4fac013 Minor fix in InputfieldTinyMCESettings class 2024-09-06 15:07:55 -04:00
Ryan Cramer
c4257ee646 Typo fix in the phpdoc of InputfieldDatetime 2024-09-06 15:06:37 -04:00
Ryan Cramer
d9399bc673 Typo fix in phpdoc of WireMarkupRegions 2024-09-06 15:04:22 -04:00
Ryan Cramer
6ff9109583 Typo fix in phpdoc of Module.php 2024-09-06 15:03:44 -04:00
Ryan Cramer
ffddd85566 Add /vendor/ to default exclusion list of FileCompiler 2024-09-06 15:03:17 -04:00
Ryan Cramer
67da683ff6 Fix issue processwire/processwire-issues#1965 2024-09-06 14:53:49 -04:00
Ryan Cramer
fcc0e72868 Fix issue in PageFrontEdit when two different pages being saved at the same time 2024-09-05 17:35:00 -04:00
Ryan Cramer
842eca45b9 Fix issue in InputfieldSelector where it could display primary field label rather than template-context field label (when present) in situation where only one template is allowed and 'showFieldLabels' option is enabled. 2024-09-01 11:15:03 -04:00
Ryan Cramer
80f425f9da Minor adjustment for header actions in inputfields.js 2024-08-23 14:24:06 -04:00
Ryan Cramer
e51ece23fe Update the column width slider in the fields list in ProcessTemplate to work more easily. I'm talking about the part where you click and hold the percent and then drag your mouse left/right or up/down to adjust the column width value. It's now using 5% increments (plus 33%, 34% and 66%), and [when or if needed] you can now double click the percent to open the dedicated range slider in a modal, for more specific column width numbers. 2024-08-23 14:20:38 -04:00
Ryan Cramer
95bd1d426c Update asmSelect to trigger 'asmItemUpdated' JS event when the text in one of selected items is modified 2024-08-23 14:06:18 -04:00
Ryan Cramer
9e8ffac63f Some refactoring in InputfieldWrapper to improve markup attribute population. This should also fix processwire/processwire-issues#1958 2024-08-16 11:22:23 -04:00
Ryan Cramer
f77dd242dc Bump version to 3.0.241 2024-08-09 14:59:04 -04:00
Ryan Cramer
ce01e699e3 Fix issue processwire/processwire-issues#1925 using something like PR #288 via @daun
Co-authored-by: daun <post@philippdaun.net>
2024-08-09 14:29:13 -04:00
tobaco
1fdc61dc41 Add PR #291 - remove php version check for strftime call in WireDateTime 2024-08-09 14:20:15 -04:00
Ryan Cramer
6e93844c19 Update FieldtypeFloat to support configurable column type of either 'float' or 'double'. Previously it only supported 'float' unless you manually changed the DB to use double. 2024-08-09 14:07:57 -04:00
Ryan Cramer
2a84f12018 Add new PageFrontEdit::getAjaxPostUrl() hookable method 2024-07-30 11:39:18 -04:00
Ryan Cramer
137b2aa50b Accidentally added some unused code in the last commit so this one removes it. 2024-07-30 11:21:51 -04:00
Ryan Cramer
19fb83201d Update PagesEditor::delete() method to track already-deleted pages to prevent duplicate calls from nested repeaters and such. 2024-07-30 11:20:16 -04:00
Ryan Cramer
bda807a574 Add a getPageInfo method to PagesRequest class per request 2024-07-19 12:45:30 -04:00
Ryan Cramer
5b0e37e3ae Add support for Inputfield header dropdown menu actions. These expand upon the existing Inputfield header actions added in 3.0.240 and enable you to have dropdown menus contain more actions within them. 2024-07-19 12:43:41 -04:00
Ryan Cramer
962d26a749 Small improvements to the pw-dropdowns code in /wire/templates-admin/main.js. Fixes one jQuery 3.x error, adds code to prevent double initialization, and adds code to trigger a pw-show-dropdown JS event when a dropdown is shown. 2024-07-19 12:14:30 -04:00
Ryan Cramer
e508cfa2a7 Minor optimization to Page::setAndSave 2024-07-11 12:15:58 -04:00
Ryan Cramer
4ee947d237 Minor optimization to WireCache 2024-07-11 12:15:45 -04:00
Ryan Cramer
acc7ca2d91 Minor fix to PagesEditor::saveStatus() method 2024-07-05 15:49:14 -04:00
Ryan Cramer
e08fa2e957 Add support for an experimental $config->userOutputFormatting setting and update ProcessProfile to support. 2024-07-05 15:48:25 -04:00
Ryan Cramer
18084dd8ef Forgot to add this file in the last commit 2024-07-05 12:11:48 -04:00
Ryan Cramer
899ffd186a Fix issue processwire/processwire-issues#1944 2024-07-05 12:00:26 -04:00
Ryan Cramer
36227dc778 Fix issue processwire/processwire-issues#1948 2024-07-05 11:35:51 -04:00
Ryan Cramer
2690115966 Several updates for processwire/processwire-issues#1467 2024-07-05 09:50:01 -04:00
Ryan Cramer
98968d796f Fix issue processwire/processwire-issues#1930 2024-07-01 12:24:27 -04:00
Ryan Cramer
dff3e8aaeb Refactor the Templates::getParentPage() method. This should hopefully fix processwire/processwire-issues#1929 ... also removed the Template::noShortcut check from that method since it didn't really belong there, and moved it to ProcessPageList and ProcessPageLister. Some phpdoc updates as well. 2024-07-01 10:59:20 -04:00
Ryan Cramer
d5faf861dc Minor phpdoc updates 2024-06-28 17:15:17 -04:00
Ryan Cramer
0500293f96 Adjustment to Lister to make the spinner more selective about when it spins 2024-06-23 11:19:47 -04:00
Ryan Cramer
7a43790412 Add a checkSystemTimes() method to SystemUpdaterChecks to compare the PHP time to the database time once per superuser session and warn when they differ, with instructions on how to fix it (Thanks Bernhard for the suggestion). 2024-06-20 15:32:09 -04:00
Ryan Cramer
b29e6a45c0 Correction to previous commit 2024-06-20 13:36:46 -04:00
Ryan Cramer
d48588f508 Fix issue processwire/processwire-issues#1927 2024-06-20 13:24:25 -04:00
Ryan Cramer
1222a1598b Attempt fix for processwire/processwire-issues#1926 2024-06-20 12:46:43 -04:00
Ryan Cramer
5609fde13a Fix issue processwire/processwire-issues#1941 2024-06-20 11:56:43 -04:00
Ryan Cramer
92afe679b9 Fix issue processwire/processwire-issues#1936 2024-06-20 10:58:28 -04:00
Ryan Cramer
061170204b Update Lister/ListerPro for improved support of subfield labels 2024-06-20 09:47:45 -04:00
Ryan Cramer
6d225f3c99 Update InputfieldTextTags to support page selection for pages having digit-only titles (such as "2024"). Plus add support for single-page selection mode (previously it only supported multi-page selection mode). 2024-06-20 09:41:40 -04:00
Ryan Cramer
38a5320f61 Bump version to 3.0.240 2024-06-14 15:53:39 -04:00
Ryan Cramer
abe1216c89 Minor fixes 2024-06-14 15:52:28 -04:00
Ryan Cramer
cf0832c330 Add support for custom live search results in the admin search 2024-06-14 15:51:28 -04:00
Ryan Cramer
34c10a5417 Update InputfieldTinyMCE.js to support "saved" and "saveReady" JS events to ensure that TinyMCE content gets populated to original input/textarea elements. Seems to be necessary for LRP but likely to come in handy elsewhere too. 2024-06-14 10:56:34 -04:00
Ryan Cramer
cc79223bc8 Fix issue processwire/processwire-issues#1931 2024-06-07 12:57:33 -04:00
Ryan Cramer
13221c3bd5 Fix issue processwire/processwire-issues#1934 2024-06-07 12:33:43 -04:00
Ryan Cramer
e78ada8854 Update for subfield labels in column headings (primarily for ListerPro) 2024-06-02 12:17:02 -04:00
Ryan Cramer
48f85faced Optimizations to $modules loader 2024-05-31 14:35:46 -04:00
Ryan Cramer
f6a1ea781b Improve support where fields in repeaters (or other embedded types) can have dependencies reference fields outside the repeater by using the "forpage.field_name=..." syntax in teh depedency. For instance, if you want a field in a repeater to only appear if editing a page using template ID 123 then you could use showIf dependency "forpage.template=123". 2024-05-31 14:33:16 -04:00
Ryan Cramer
7988319c72 Adjustment to Paths class 2024-05-31 14:32:28 -04:00
Ryan Cramer
7c85b089dd Update Inputfield class so that dependencies can be supported on many ajax-loaded Inputfields before they are… ajax-loaded. 2024-05-31 14:30:33 -04:00
Ryan Cramer
34bca47a07 Optimizations to WireArray and some descending classes 2024-05-31 14:27:23 -04:00
Ryan Cramer
b9d8a741ee Minor optimizations to ProcessPageEdit 2024-05-31 14:24:08 -04:00
Ryan Cramer
d50cc127cc Minor issue fix in ProcessPageLister.js 2024-05-24 14:52:31 -04:00
Ryan Cramer
904c227cce Optimizations and improvements to $config->demo mode. 2024-05-24 14:51:42 -04:00
Ryan Cramer
00ae62059b Various minor updates in ProcessProfile 2024-05-24 14:49:48 -04:00
Ryan Cramer
9803df9401 Update $database API to have new reset() and close() methods. The reset() method closes and resets the DB connection, while the close() method just closes it. Also updated the execute($query) method to use the reset() method to retry a failed query due to loss of connection. 2024-05-24 14:47:53 -04:00
Ryan Cramer
3c5205721b Add support for PHP-defined header actions for Inputfields as requested by @Toutouwai. These work the same as those defined in JS via Inputfields.addHeaderAction() except the method can now also be called from Inputfield objects in PHP. Also added support for 'link' type actions that open a link in either the current or a modal window. 2024-05-24 14:42:23 -04:00
Ryan Cramer
049efa7c3b Bump version to 3.0.239 2024-05-17 13:41:53 -04:00
Ryan Cramer
212d2b361b Fix issue processwire/processwire-issues#1920 2024-05-17 12:07:39 -04:00
Ryan Cramer
7c89b2b647 Fix issue processwire/processwire-issues#1921 2024-05-17 12:03:16 -04:00
Ryan Cramer
9eb58ead01 Minor phpdoc update in Config.php 2024-05-17 11:11:43 -04:00
Ryan Cramer
faf27c8fa1 Update TemplateFile halt() method to optionally accept string argument to output before halt of template file rendering. For instance: return $this->halt('<h1>See ya</h2>'); from a template file. 2024-05-17 11:09:57 -04:00
Ryan Cramer
764153732e Add new InputfieldWrapper getByField() and getByProperty() methods 2024-05-17 11:09:03 -04:00
Ryan Cramer
172ad1c812 Make the Page::getInputfields() method hookable 2024-05-17 11:08:33 -04:00
Ryan Cramer
eaed402cfb Fix issue processwire/processwire-issues#1918 2024-05-10 12:21:31 -04:00
Ryan Cramer
397bb0b382 Lots of updates to the Inputfield Javascript API (inputfields.js) with several new methods including icon() which can get or set the Inputfield icon, header() which returns the InputfieldHeader element, content() which returns the InputfieldContent element, and addHeaderAction() which lets you add custom icon actions to any Inputfield. Also updated the existing label() method to allow for setting the Inputfield label/header text (previously it could only get). The addHeaderAction() method is the most significant addition, so I'll write more about that in the weekly update. 2024-05-10 11:58:56 -04:00
Ryan Cramer
d77b23adbb Add a new $page->cloneable() method that returns true if the user is allowed to clone the page. Or use $page->cloneable(true) if the user is allowed to clone the page and its children together. This moves the logic was was previously in the ProcessPageClone module into a method that can be more widely used where needed. Also updated the ProcessPageClone module to use it. 2024-05-10 11:52:41 -04:00
Ryan Cramer
4e2ef8f8fd Minor fix in inputfields.js where it wasn't always triggering the 'opened' event when it should 2024-05-03 13:57:13 -04:00
Ryan Cramer
bbaa5570fb Update InputfieldFile and InputfieldImage to support file_context so that the same file/image field can appear more than once in the same editor. This was already supported with for repeaters, but now can be supported by other cases (and is used by PageEditChildren module). This also includes some minor refactoring in InputfieldFile. 2024-05-03 13:54:22 -04:00
Ryan Cramer
dcd820064b Update InputfieldRepeater.js to support more context options beyond nested repeaters and ListerPro. 2024-05-03 13:50:28 -04:00
Ryan Cramer
bae44f93ce Update Page::editUrl() method to support a 'vars' (array) option that contains additional query string variables that it should bundle in to returned URL 2024-05-03 13:48:32 -04:00
Ryan Cramer
c38c204824 Update Fieldgroup::getPageInputfields() to support user-specified $container element (InputfieldWrapper) rather than creating one (as used by PageEditChildren module) 2024-05-03 13:47:50 -04:00
Ryan Cramer
38eadb46d8 Bump version to 3.0.238 2024-04-19 14:44:42 -04:00
Ryan Cramer
4e2d798d49 Add support for custom jQuery UI datepicker settings in InputfieldDatetime per processwire/processwire-requests#523 and also makes several new options interactively configurable in the field settings (Input tab > Datepicker settings fieldset). 2024-04-19 14:37:18 -04:00
Ryan Cramer
a37f237900 Update installer to exclude some $config settings when already supplied by site profile's config.php, so that it's not duplicating any settings when writing /site/config.php 2024-04-19 12:02:01 -04:00
Ryan Cramer
29ecddadeb Update the ProcessWire.alert() javascript function to support an expiration time after which the alert will automatically close. 2024-04-19 11:59:43 -04:00
Ryan Cramer
57b23ef9fe Add $inputfield->setLanguageValue($language, $value) and $inputfield->getLanguageValue($language) to Inputfield class when LanguageSupport is installed. This provides a nicer API for getting/setting multi-language values with Inputfields (where supported). Previously you could only get/set by dealing with "value1234" type settings where 1234 is language ID. 2024-04-19 11:57:39 -04:00
Ryan Cramer
3c0e9f3c43 Add a $datetime->strtodate() function which works like strtotime($str, $format) but returns a formatted date string rather than a timestamp. Also update the $datetime->strtotime() function to accept an inputFormat option which lets you specify the format the given date string is in, for cases when it may not be recognized by PHP based purely on format; and an outputFormat option which lets you specify the format it should return in rather than a timestamp (essentially delegating to the new strtodate method). 2024-04-19 11:53:44 -04:00
Ryan Cramer
def74f7b6d Minor refactor of WireArray::__toString() method 2024-04-19 11:48:07 -04:00
Ryan Cramer
7a85039896 phpdoc improvement in Template.php 2024-04-19 11:47:31 -04:00
Ryan Cramer
432e369990 Minor adjustments in ProcessPageTrash 2024-04-19 11:46:34 -04:00
Ryan Cramer
9a6963a644 Add feature request processwire/processwire-requests#186 which adds the configurable option to always use the full clone form. Also updated it to show a count of how many pages would be cloned when cloning children, and added dropdown options to the submit button so that you can optionally edit a page after cloning. Added icons to all inputs as well. 2024-04-18 11:33:24 -04:00
Ryan Cramer
76388b48e6 Fix ProcessPageClone issue processwire/processwire-issues#1909 plus add option to choose whether children/granchidren/etc are unpublished, and make the getSuggestedNameAndTitle() method hookable 2024-04-18 10:33:13 -04:00
Ryan Cramer
d8ae8f9177 Fix issue processwire/processwire-issues#1904 2024-04-18 09:13:01 -04:00
Ryan Cramer
9e6b89cf93 Fix issue in PagePathFinder where LanguageSupportPageNames module in use without using homepage language segments, combined with multi-language PagePathHistory module, could result in default language incorrectly detected from URL. 2024-04-08 09:08:19 -04:00
Ryan Cramer
7438ae90ca Fix issue processwire/processwire-issues#1903 2024-04-05 13:00:26 -04:00
Ryan Cramer
6aa698343b Fix issue processwire/processwire-issues#1902 plus some code for an unrelated feature I hadn't yet committed 2024-04-05 12:01:51 -04:00
Ryan Cramer
9eb9f88090 Update "Parent" section field in page editor to provide contextual options based on template family settings and access control, when available. This means it now gives you a <select> of allowed parents (when known by family settings) rather than a PageListSelect. This is preferable because a PageListSelect doesn't know about which parent pages are allowed until after submitting the page edit form. 2024-04-05 11:14:00 -04:00
Ryan Cramer
9737b4e15d Update Page::moveable method to also consider its template.parentTemplates setting so that it can return false when no potential parents exist using allowed templates. Also should fix processwire/processwire-issues#1901 2024-04-05 09:56:50 -04:00
Ryan Cramer
37416f8bcc Update PageList to add new classes to items: 'PageListNotPublic' when page is not public for viewing to guest user, 'PageListNoFile' when page has no template file. Plus some other minor optimizationsin while there. 2024-04-03 10:24:48 -04:00
Ryan Cramer
e0f67aa55e Bump version to 3.0.237 2024-03-28 13:24:09 -04:00
Ryan Cramer
91c15f666a Fix issue processwire/processwire-issues#1898 2024-03-28 10:57:16 -04:00
Ryan Cramer
ffdd9729e4 Fix issue processwire/processwire-issues#1892 2024-03-28 10:36:30 -04:00
Ryan Cramer
718c93b056 Fix issue processwire/processwire-issues#1894 2024-03-28 10:30:36 -04:00
Ryan Cramer
68d9ec9b42 Fix issue processwire/processwire-issues#1895 2024-03-28 10:23:18 -04:00
Ryan Cramer
fb12fb7750 Fix issue processwire/processwire-issues#1896 2024-03-28 10:03:16 -04:00
Ryan Cramer
6e1d7b166d Fix issue processwire/processwire-issues#1897 2024-03-28 09:35:40 -04:00
Ryan Cramer
21949387b4 Various minor updates 2024-03-28 09:01:54 -04:00
Ryan Cramer
0852242866 Update default AdminTheme.scss to limit align left/right/center classes to img, figure, div, etc. 2024-03-28 08:59:51 -04:00
Ryan Cramer
4f55480fc7 Update PageValues class to call $page->getField() rather than $this->getField() since it may be overridden by descending Page object (RepeaterMatrixPage for example) 2024-03-28 08:48:21 -04:00
Ryan Cramer
3256cb9000 Update installer so that it works if site profile is already installed in /site/ rather than /site-name/ 2024-03-28 08:36:56 -04:00
Ryan Cramer
55a241e2f1 Fix issue processwire/processwire-issues#1893 2024-03-22 14:45:24 -04:00
Ryan Cramer
5b257c6031 Fix issue processwire/processwire-issues#1899 2024-03-22 14:33:45 -04:00
Ryan Cramer
38757b1baa Fix behavior of PageFinder when selector has multiple fields before a != operator and no values after the operator, i.e. a|b|c!= 2024-03-15 15:50:12 -04:00
Ryan Cramer
d7502b669a New methods for LanguageTranslator class (Note for examples: $translator = $user->language->translator()) - $translator->getTranslationInfo($textdomain, $text) returns verbose array of information about the translation, where it came from, etc. $translator->getTranslationOrFalse($textdomain, $text) returns translation text if translated, or false if not (rather than default language value). $translator->findTranslations($text) searches across all translated files to find all translations for given text. $translator->findTranslation($text) searches across all translated files to find the first available translation for given text. 2024-03-15 15:41:09 -04:00
Ryan Cramer
5fe181c315 Update ProcessPageSearchLive to simplify id searches when using single equals sign 2024-03-01 15:57:20 -05:00
Ryan Cramer
4b55979624 Update ProcessModule to improve the readme URL generation 2024-03-01 15:56:31 -05:00
Ryan Cramer
4099035708 Update PagesVersions to force singular mode 2024-03-01 15:56:08 -05:00
Ryan Cramer
9770138eee Update PageFinder so that joinType ('join' or 'leftjoin') can be modified by the fieldtype when/if needed 2024-03-01 15:55:32 -05:00
Ryan Cramer
04041bb54a Fix issue processwire/processwire-issues#1890 2024-03-01 09:37:50 -05:00
Ryan Cramer
128538fcd8 Refactor of FieldtypeToggle module getMatchQuery() method to add more potential match possibilities but also to fix processwire/processwire-issues#1887 2024-02-29 12:01:53 -05:00
Ryan Cramer
76ad3ab984 Add feature request processwire/processwire-requests#519 2024-02-23 14:17:09 -05:00
Ryan Cramer
f893cec515 Add feature request processwire/processwire-requests#520 - ability do disable (hide) image items in a multiple image field 2024-02-23 13:20:37 -05:00
Ryan Cramer
837a8fd32a Add feature request processwire/processwire-requests#522 which adds the ability to delete webp variations independently of jpg/png variations, including for the main/non-resized image. 2024-02-23 10:57:03 -05:00
Ryan Cramer
37ef2c9070 Add pasteFilter tests in TinyMCE readme file for later reference 2024-02-23 09:36:25 -05:00
Ryan Cramer
9c14e27576 Minor pasteFilter update in InputfieldTinyMCE.js 2024-02-23 09:35:55 -05:00
Ryan Cramer
d5116166d0 Phpdoc documentation updates in RepeaterPageArray.php file 2024-02-23 09:34:04 -05:00
Ryan Cramer
47c639617c Fix issue processwire/processwire-issues#1878 2024-02-21 11:08:07 -05:00
Ryan Cramer
1f2d597f52 Fix issue processwire/processwire-issues#1886 2024-02-21 10:09:47 -05:00
Ryan Cramer
c6dc986f9c Fix issue in PagesPathFinder where it could return a 200 rather than 301 in some cases for multi-language URLs that were missing the leading language segment and 'verbose' mode was disabled. 2024-02-21 09:31:59 -05:00
Ryan Cramer
b5d8a91e49 Fix issue processwire/processwire-issues#1882 2024-02-20 11:08:58 -05:00
Ryan Cramer
f3e614640b Fix issue processwire/processwire-issues#1881 2024-02-20 09:31:26 -05:00
Ryan Cramer
3e90cb74fa Fix issue processwire/processwire-issues#1879 2024-02-20 09:03:47 -05:00
Ryan Cramer
71a1e9c9d9 Bump version to 3.0.236 2024-02-16 08:31:41 -05:00
Ryan Cramer
a53b4e5310 Update inputfields.js dependences so that they can work with Page selection fields (PageAutocomplete, PageListSelect, etc.) when used outside of an InputfieldPage, such as in a module config, field config, etc. Related to processwire/processwire-issues#1873 2024-02-15 12:39:16 -05:00
Ryan Cramer
3ab315dca4 Add an update for processwire/processwire-issues#1873 2024-02-15 12:34:09 -05:00
adrianbj
94653012be Add PR #255 - updates inputfields.js to add support for repeater 'forpage' selectors in showIf dependencies 2024-02-15 10:50:19 -05:00
erikmh
f801fef42b Add PR #279 which fixes a ParseDown extra PHP 8.2 deprecation notice 2024-02-15 10:26:00 -05:00
Ryan Cramer
caa8e7e421 Some upgrades to Repeater and RepeaterMatrix: Added processwire/processwire-requests#474 which enables open/close for family groups of repeater items together, so that when using depths, and you open (or close) a repeater item, items that are visually children of it also open (or close). To enable, see the field "Details" tab setting in "Repeater depths/indents" > "Open/close items as a family?". Also added a configuration setting that enables you do disable the automatic scrolling to newly added items, as requested by @hiboudev 2024-02-14 12:13:54 -05:00
Ryan Cramer
a5f6cabbcf Fix for processwire/processwire-issues#1873 2024-02-13 11:26:02 -05:00
Ryan Cramer
db358ee4db Add loading="lazy" option for <img> tags in Textarea fields (TinyMCE, CKEditor) that is inserted at runtime when output formatting enabled. To turn this on, edit your Textarea field and on the Details tab, see the HTML options. This was added for processwire/processwire-requests#455 2024-02-09 14:28:59 -05:00
Ryan Cramer
215010386f Page::render() and PageRender::renderPage() documentation updates per processwire/processwire-requests#459 2024-02-09 13:23:59 -05:00
Ryan Cramer
97db8e8783 Add hookable InputfieldPage::renderPageLabel() method for processwire/processwire-requests#460 2024-02-09 12:09:45 -05:00
Ryan Cramer
9fe7e95840 Add processwire/processwire-requests#466 which fixes template order in InputfieldSelector. While there, I also updated it to correct field and option order in a couple other spots. 2024-02-09 10:40:50 -05:00
Ryan Cramer
d2fccd84af Update to Page API for getting/setting multi-language values. Added $page->setLanguageValues() and $page->getLanguageValues() for setting and getting values from multiple languages at once. Added $page->setLanguageStatus() and $page->getLanguageStatus() for setting/getting the active status of a language or multiple languages at once (replaces odd calls like $page->status1234 = true). Added $page->setLanguageName() and $page->getLanguageName() for setting/getting the name of a page in a particular language or languages (replaces odd calls like $page->name1234 = 'page-name-in-spanish'). See the method descriptions in the Page class for details on usage. There are also examples of usage in the hook method implemenations in LanguageSupport.module and LanguageSupportPageNames.module. This was added for processwire/processwire-requests#475 but ended up taking it a little further. 2024-02-08 13:15:57 -05:00
Ryan Cramer
660ea79496 Add a few new LazyCron methods: getTimeFuncs(), getTimeFuncName($seconds), adn getTimeFuncSeconds($timeFuncName) for processwire/processwire-requests#485 2024-02-07 10:39:24 -05:00
Ryan Cramer
0a926b58fa Additional updates for ProcessModule README viewer for processwire/processwire-requests#498. Now if you have a ModuleName.README.md file, it will display automatically above the module config settings. This update also makes any relative <a href=/url/> or <img src=file.jpg automatically point to the module's /site/modules/ location, so that an <img src="file.jpg"> automatically updates to <img src="/site/modules/ModuleName/file.jpg">. Links to README.md or CHANGES.md are updated to use the built in-viewer. Other links are converted to target=_blank links, so that they don't take over the iframe used by the modal. You can use {MODULE_INFO.NAME}, {MODULE_INFO.TITLE}, and so on for any module info property, to have it convert automatically to the appropriate value (this was requested by Bernhard). Lastly, this update also adds support for text-only files like README.txt, CHANGELOG.txt, LICENSE.txt. 2024-02-06 12:06:38 -05:00
Ryan Cramer
a3f884146f Add README markdown viewer to ProcessModule per request processwire/processwire-requests#498 2024-02-02 15:07:17 -05:00
Ryan Cramer
8c80c524b1 Add OPTIONS, CONNECT and TRACE to alowed HTTP methods in WireHttp class per processwire/processwire-requests#505 2024-02-02 13:55:42 -05:00
Toutouwai
f02393e538 Add PR #278 which adds new imSaveReady() hookable method to ImageSizerEngineIMagick module 2024-02-02 13:02:20 -05:00
Ryan Cramer
9af0aaf2b2 Add support for <hr> elements in InputfieldSelect/InputfieldSelectMultiple per processwire/processwire-requests#508 2024-02-02 12:50:38 -05:00
Ryan Cramer
ddbbbcc4e6 Optimization in MarkupFieldtype to prevent triggering WireClassLoader unnecessarily 2024-02-02 10:53:04 -05:00
Ryan Cramer
ef3ee4645f Improve error messages in PageValues class when given Page does not have a template assigned. When in debug mode, it also becomes a non-fatal error so that you can more easily fix it. 2024-01-26 14:30:07 -05:00
Ryan Cramer
b41c0dd098 Fix issue processwire/processwire-issues#1870 2024-01-26 14:07:35 -05:00
Ryan Cramer
95e10b89b9 InputfieldTinyMCE: Add support for new "remove all style attributes" option to the Markup Toggle settings. Plus refactoring of the pasteFilter JS in attempt to fix processwire/processwire-issues#1866 which should improve pasting from MS Word. 2024-01-26 13:45:08 -05:00
Ryan Cramer
d37b2d40d7 Bump version to 3.0.235 2024-01-19 16:09:33 -05:00
Ryan Cramer
db04f2d2e6 Reverse CKEditor version change as the new one seems to have some issues and it attempts outbound http requests to ckeditor.com (presumably version checks but may be tracking) 2024-01-19 15:01:05 -05:00
Ryan Cramer
091d875f50 Upgrade CKEditor version from 4.19.0 to 4.22.1 (for InputfieldCKEditor module) 2024-01-19 14:55:17 -05:00
Ryan Cramer
bc888f8b52 Update TinyMCE version from 6.4.1 to 6.8.2 (for InputfieldTinyMCE module) 2024-01-19 14:34:12 -05:00
Ryan Cramer
91eff3074d Add DB socket support to PW installer per request processwire/processwire-issues#1850 2024-01-19 13:53:08 -05:00
Ryan Cramer
511f237429 Add note about default timeout value in WireHttp per processwire/processwire-issues#1868 2024-01-19 10:39:53 -05:00
Ryan Cramer
a3aa5c4dd0 Attempt fix for issue processwire/processwire-issues#1867 2024-01-19 10:31:41 -05:00
Ryan Cramer
3856a200ea Update ProcessPageEdit to show what Page class is being used on the Settings tab > Info fieldset. 2024-01-18 11:26:58 -05:00
Ryan Cramer
1647690bc8 phpdoc updates in FieldtypeRepeater 2024-01-18 11:26:03 -05:00
Ryan Cramer
50a7b4c7c4 Additional update for custom page classes for repeater page items. processwire/processwire-requests#239 2024-01-18 11:24:37 -05:00
Ryan Cramer
1216340a46 Update to previous commit 2024-01-14 11:54:25 -05:00
Ryan Cramer
3717a85f3b Fix issue in InputfieldInteger where it could show an unnecessary error message when using min/max settings and no value has yet been set 2024-01-14 10:25:39 -05:00
Ryan Cramer
bad69efd8e Fix typo in phpdoc since tags 2024-01-12 13:25:47 -05:00
Ryan Cramer
275651bb5a Add support for custom page classes for repeaters (RepeaterPage items). See instructions in the new getCustomPageClass() and setCustomPageClass() methods in FieldtypeRepeater.module. This also is in response to processwire/processwire-requests#239 though a little different than what was discussed in that thread 2024-01-12 13:23:05 -05:00
Ryan Cramer
52da051446 Fix issue in ProcessTemplate where importing fields from another template didn't also import their field-template context customizations 2024-01-12 12:12:16 -05:00
Ryan Cramer
9dec9782e1 Fix issue in file/image fieldtypes presets where default textformatters weren't defined properly 2024-01-12 11:53:05 -05:00
Ryan Cramer
32d425aead Update copyright date in installer footer 2024-01-12 11:52:43 -05:00
Ryan Cramer
baf05a8777 Improvements and fixes to ProcessPageSort module. This should also fix processwire/processwire-issues#1848 2024-01-12 11:51:48 -05:00
Ryan Cramer
8a1f706be9 Add new $pages moveReady(), restoreReady(), and renameReady() hooks. Add option for callback hook on $pages->save(). Improvements to PagesTrash class. Update $pages class so restored() hook does not ever need to be called manually, and update ProcessPageEdit to reflect that. 2024-01-12 11:49:51 -05:00
Ryan Cramer
98fe7f94a0 Add support for a $page->sortPrevious property, which is populated with the old value when a page's sort value is changed at runtime. 2024-01-12 11:45:31 -05:00
Ryan Cramer
ef4444dd7f Bump version to 3.0.234 2024-01-05 15:38:03 -05:00
Ryan Cramer
409c0c0a68 Fix issue processwire/processwire-issues#1851 2024-01-04 13:27:05 -05:00
Ryan Cramer
2cc3960c68 Fix issue processwire/processwire-issues#1852 2024-01-04 13:23:01 -05:00
Ryan Cramer
dd146a4be8 Add PR #274 via @hiboudev which fixes issue processwire/processwire-issues#1855 in InputfieldPageAutocomplete.js
Co-authored-by: hiboudev <hiboudev@gmail.com>
2024-01-04 11:55:51 -05:00
Ryan Cramer
50cf963c88 Upgrade Uikit version in AdminThemeUikit to latest (3.17.11 / Nov 2023) 2024-01-04 11:19:16 -05:00
Ryan Cramer
b61da8575a Fix issue processwire/processwire-issues#1856 to properly support pw-panel tabs in AdminThemeUikit 2024-01-04 10:07:25 -05:00
Ryan Cramer
ee217ee3bd Fix issue processwire/processwire-issues#1857 2024-01-03 12:20:42 -05:00
Ryan Cramer
3220b7dc40 Fix issue processwire/processwire-issues#1862 2024-01-03 11:21:43 -05:00
Ryan Cramer
86c0af08d0 Bump version to 3.0.233 2023-12-22 12:50:08 -05:00
Ryan Cramer
a02020cef0 Various upgrades to the PagesVersions module with the biggest being the addition of partial save/restore. This provides the ability to save or restore some fields and not others. Previously you could only save/restore the entire page version at once. This version also adds support for ProFields Table fields so long as they are non-paginated, and adds partial support for PageTable fields. Note that if a FieldtypeTable or FieldtypeCombo field is using any file/image fields, those don't yet support partial versions, but I have new versions of both that do, which will be released in ProFields soon. 2023-12-22 12:09:36 -05:00
Ryan Cramer
c205d475bf Minor unrelated adjustments 2023-12-22 12:08:28 -05:00
Ryan Cramer
dcb1f47ae3 Update PageTable field for partial version support. Specifically, added or deleted PageTable items are not versioned, but existing items in the PageTable are. Full support should come later. 2023-12-22 12:05:45 -05:00
Ryan Cramer
2e62550133 Update Pagefile, Pagefiles, Pageimage, FieldtypeFile and FieldtypeImage classes to support getFiles() methods that return all files connected with the field, whether originals, variations or extras. 2023-12-22 12:02:34 -05:00
Ryan Cramer
dabc56043f Bump version to 3.0.232 2023-12-15 14:43:00 -05:00
Ryan Cramer
7e7a760b88 Add PagesVersions module to core, which provides an API for managing page versions 2023-12-15 14:17:15 -05:00
Ryan Cramer
99a1d0f81d Update InputfieldImage and ProcessPageEditImageSelect to recognize version in URLs 2023-12-15 13:38:40 -05:00
Ryan Cramer
019d5c6014 Add a removeClass() method to MarkupAdminDataTable 2023-12-15 13:37:28 -05:00
Ryan Cramer
b3d84f15e1 Update TinyMCE and CKEditor modules to recognize versions in URLs 2023-12-15 13:37:01 -05:00
Ryan Cramer
8c11a9939c Add version support to FieldtypeFieldsetPage 2023-12-15 13:34:52 -05:00
Ryan Cramer
d82194816f Move version support in FieldtypeRepeater to separate class, plus add support for nested repeater versions 2023-12-15 13:34:19 -05:00
Ryan Cramer
c62deb7946 Minor fix in PagesEditor class 2023-12-15 13:33:11 -05:00
Ryan Cramer
100711c2f4 Updates to MarkupFieldtype for better handling of Repeater and FieldsetPage markup value rendering 2023-12-15 13:32:42 -05:00
Ryan Cramer
7a512a15a6 Minor adjustment to ProcessPageEdit 2023-12-08 13:51:57 -05:00
Ryan Cramer
92ea8eb074 Update FieldtypeRepeater to implement the FieldtypeDoesVersions interface, and related updates to InputfieldRepeater. This commit also moves some of the export/import methods to a separate FieldtypeRepeaterPorter class. 2023-12-08 13:50:35 -05:00
Ryan Cramer
3e323e5f2f Add the FieldtypeDoesVersions interface for Fieldtypes that support handling versions of their own page data 2023-12-08 13:39:48 -05:00
Ryan Cramer
993b5cc162 Bump version to 3.0.231 2023-11-17 14:21:11 -05:00
Ryan Cramer
4aa7104378 Update Punycode class to not require PHP's mb_string 2023-11-15 12:00:14 -05:00
Ryan Cramer
adac6a1e30 Update PageFrontEdit to behave better with InputfieldTextarea fields that do not support HTML. 2023-11-15 11:58:55 -05:00
Ryan Cramer
8343fd2365 Fix issue processwire/processwire-issues#1818 fix for front-end editor (PageFrontEdit) plain text paste
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2023-11-15 11:48:30 -05:00
Ryan Cramer
c86d39f146 Fix issue processwire/processwire-issues#1832 2023-11-15 09:10:18 -05:00
Ryan Cramer
c2d7b47e12 Fix issue processwire/processwire-issues#1833 2023-11-15 08:33:02 -05:00
Ryan Cramer
ae3287ed33 Fix issue processwire/processwire-issues#1834 2023-11-15 08:27:01 -05:00
Ryan Cramer
260e0f228e Fix issue processwire/processwire-issues#1839 which corrects ProcessLogin refresh issue when client and server have different times for UTC/GMT. 2023-11-14 09:51:33 -05:00
Ryan Cramer
c1df78b0a6 Minor adjustment in ProcessPageEdit 2023-11-10 13:07:58 -05:00
Ryan Cramer
4ffde04a5c Improvements to value rendering mode of InputfieldPageListSelect, InputfieldPageListSelectMultiple, as well as InputfieldSelect and InputfieldText, which are inherited by several others. 2023-11-10 13:06:04 -05:00
Ryan Cramer
3cbae7da97 A couple of minor fixes 2023-11-03 12:30:03 -04:00
Ryan Cramer
e172dd011b Minor phpdoc fix and additions 2023-10-27 14:31:05 -04:00
Ryan Cramer
233a66f846 Update the MarkupQA abstract link feature so that it gets URLs directly from Page objects when the Page::path method is hooked. Previously it would use the $pages->getPath() method which is not aware of hooks to the Page::path method, so could return a different result. 2023-10-27 14:02:44 -04:00
Ryan Cramer
3a6e8ffcda Add OR-group support to Selectors::matches() method so it can be used also with non-page matching in-memory selectors 2023-10-27 13:28:16 -04:00
Ryan Cramer
e53552d8c4 Upgrade Page matching in-memory selectors by adding support for OR-groups, sub-selectors, and same (1) item group matches. 2023-10-27 13:26:24 -04:00
Ryan Cramer
78aea1eedf Bump version to 3.0.230 2023-10-20 15:37:52 -04:00
mpsn
8974100c42 Add PR #276 - add support for certain override options in Pageimage::webp() method 2023-10-19 11:14:41 -04:00
mpsn
db2112defd Add PR #277 unquote setTimeout function calls in inputfields.js 2023-10-19 10:35:14 -04:00
Ryan Cramer
463dd01e66 Various minor unrelated updates 2023-10-19 10:26:23 -04:00
Ryan Cramer
88ad063af1 Minor improvements to ProcessLogger module 2023-10-19 10:21:08 -04:00
Ryan Cramer
996a1b6854 Rewrite of wireIconMarkup() function to expand its capabilities and flexibility 2023-10-19 10:19:02 -04:00
Ryan Cramer
ee6f88dec2 Update for processwire/processwire-issues#1812 2023-10-19 10:07:13 -04:00
Ryan Cramer
1f4d32ded9 Fix issue processwire/processwire-issues#1829 2023-10-19 09:39:26 -04:00
romaincazier
8571be1b23 Fix issue processwire/processwire-issues#1825 2023-10-11 10:37:52 -04:00
Ryan Cramer
6d2c8bf795 Fix issue processwire/processwire-issues#1819 2023-10-06 11:24:14 -04:00
Ryan Cramer
173f1b1b29 Fix issue processwire/processwire-issues#1824 2023-10-06 10:52:48 -04:00
Ryan Cramer
3cc76cc886 Fix the 'Add' label in InputfieldTextTags 2023-09-29 16:46:40 -04:00
Ryan Cramer
3ff60a289c Fix issue processwire/processwire-issues#1821 2023-09-29 16:34:11 -04:00
Ryan Cramer
390ad61ce3 Bump version to 3.0.229 2023-09-29 15:37:24 -04:00
Ryan Cramer
4355654d16 Updates for processwire/processwire-issues#1467 2023-09-29 15:09:30 -04:00
Ryan Cramer
d68c782c8d Adjustment to InputfieldImage filename tooltip 2023-09-29 10:28:57 -04:00
Ryan Cramer
96c7ecfb34 Fix issue processwire/processwire-issues#1817 by adding support for translatable 'Add' label in InputfieldTextTags module 2023-09-29 08:59:05 -04:00
Ryan Cramer
3ba7e2f483 Fix issue processwire/processwire-issues#1816 by adding support for cloning fieldgroup/field context settings in Fieldgroups class 2023-09-29 08:27:27 -04:00
Ryan Cramer
ec2777432d Fix PHP8 deprecation notice in InputfieldInteger 2023-09-29 07:59:34 -04:00
Ryan Cramer
a1ebb5d0df Fix issue in InputfieldSelector with Lister bookmark fields containing field.subfield in OR conditions 2023-09-29 07:56:13 -04:00
Ryan Cramer
5609935e4e Bump version to 3.0.228 2023-09-22 15:28:08 -04:00
Ryan Cramer
17e07e7859 Minor code updates in various classes 2023-09-22 15:26:45 -04:00
Toutouwai
a0fabd6811 Add faster width/height detection for SVG images in Pageimage class 2023-09-22 09:54:33 -04:00
Ryan Cramer
21e370b7ee Fix issue processwire/processwire-issues#1813 2023-09-22 09:48:36 -04:00
Toutouwai
17d6def379 Update for display of SVG thumbnails in admin InputfieldImage 2023-09-20 09:40:29 -04:00
Ryan Cramer
c6844af963 Fix issue processwire/processwire-issues#1812 2023-09-20 09:09:56 -04:00
Ryan Cramer
6050a7139c Additional updates for processwire/processwire-issues#1814 2023-09-19 10:06:51 -04:00
Ryan Cramer
cb5579a8c9 Fix issue processwire/processwire-issues#1814 2023-09-18 14:23:17 -04:00
Ryan Cramer
dd8f2a5c63 Fix issue processwire/processwire-issues#1811 2023-09-15 14:27:17 -04:00
Ryan Cramer
b0414278f8 Update PagesEditor to throw descriptive exception when attempting to save a NullPage. This is to fix what were previously ambiguous error messages. 2023-09-15 08:22:09 -04:00
Ryan Cramer
36580883d7 Update InputfieldTinyMCE to trigger change events for formatting and image resize actions. This is so that they can be detected by PageAutosave, ProDrafts, UserActivity, or other modules that might track change events. 2023-09-15 08:19:59 -04:00
Ryan Cramer
2ea60ee7d5 README updates and bump version to 3.0.227 2023-09-12 10:59:21 -04:00
Ryan Cramer
41adc02373 Various minor code and phpdoc updates in several classes 2023-09-11 12:12:56 -04:00
Ryan Cramer
4bb5dbf4a6 Fix issue processwire/processwire-issues#1809 2023-09-11 10:42:43 -04:00
Ryan Cramer
013231acda Additional updates for processwire/processwire-issues#1791 admin asset file version urlsj 2023-09-11 10:21:07 -04:00
Ryan Cramer
7dc8ddc9af Add $config->versionUrls() method for versioned file URLs and update the admin themes to use it 2023-09-08 11:58:38 -04:00
Ryan Cramer
deccd2c8eb Refactor and improve $datetime->elapsedTimeStr() method to add new features and fix the plural issue. Also adds feature requested in processwire/processwire-issues#1328 2023-09-08 10:29:24 -04:00
Ryan Cramer
5b76d4e340 Fix issue processwire/processwire-issues#1808 2023-09-07 10:29:44 -04:00
Ryan Cramer
6df11e5e46 Fix issue processwire/processwire-issues#1805 2023-09-07 09:39:12 -04:00
Ryan Cramer
7ed74281ad Add suggestion from processwire/processwire-issues#1806 2023-09-07 08:35:01 -04:00
Ryan Cramer
b824f645a9 Fix issue where Lister wasn't 100% width in AdminThemeDefault or AdminThemeReno. Note that we had to disable the resizable columns in default/reno admin themes to fix it, as the current version of jquery-tablesorter-resizable doesn't seem to allow for full width tables unless you drag it to be full width. 2023-09-04 11:02:46 -04:00
Ryan Cramer
002c2d15db Additional updates for processwire/processwire-issues#1467 2023-09-01 09:35:23 -04:00
Ryan Cramer
fbf2f140a7 Fix issue processwire/processwire-issues#1804 2023-09-01 09:30:56 -04:00
Ryan Cramer
fdb5a19941 Bump version to 3.0.226 2023-08-25 14:32:50 -04:00
Ryan Cramer
571c2dd1c2 Minor CSS adjustment for InputfieldRepeater, fixes issue where wrong background color could appear on depth-enabled repeater in fieldset 2023-08-25 08:44:08 -04:00
Ryan Cramer
d61436256e Replace PHP 8.2 deprecated mb_convert_encoding() call in Sanitizer 2023-08-25 08:43:35 -04:00
Ryan Cramer
92eef72fc1 Fix issue processwire/processwire-issues#1803 2023-08-25 08:37:50 -04:00
Ryan Cramer
8292e7d8f0 Update for processwire/processwire-issues#1467 2023-08-22 11:13:02 -04:00
Ryan Cramer
359c048862 Fix issue processwire/processwire-issues#1801 2023-08-22 11:05:45 -04:00
Ryan Cramer
088cd57160 Fix issue processwire/processwire-issues#1802 2023-08-22 09:49:16 -04:00
Ryan Cramer
af80005a9c Bump version to 3.0.225 2023-08-18 15:00:22 -04:00
matjazpotocnik
a8894391a2 Fix issue processwire/processwire-issues#1571 which adds support for adding _END fieldset item with ProcessTemplateFieldCreator 2023-08-18 09:00:47 -04:00
Ryan Cramer
754fb2b1fd Add Page::matchesDatabase() method to accompany existing matches() method but query the database rather than in memory 2023-08-17 12:09:01 -04:00
Ryan Cramer
1ff6f147f8 Various minor unrelated updates 2023-08-17 11:58:59 -04:00
matjazpotocnik
efbe13ae9d Fix issue processwire/processwire-issues#1644 2023-08-17 10:57:30 -04:00
Ryan Cramer
3ce686d1e3 Update for processwire/processwire-issues#1730
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-08-17 10:29:59 -04:00
Ryan Cramer
db88618e2d Fix issue processwire/processwire-issues#1730
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-08-17 10:28:18 -04:00
Ryan Cramer
0efd5eec99 Fix issue processwire/processwire-issues#1462 2023-08-17 08:56:54 -04:00
Ryan Cramer
a0200795a5 Fix issue processwire/processwire-issues#901 2023-08-11 11:16:27 -04:00
Ryan Cramer
27fd0bf93e Fix issue processwire/processwire-issues#1201 2023-08-11 10:54:25 -04:00
Ryan Cramer
5a50ca01d8 Update for processwire/processwire-issues#1791 2023-08-07 09:46:53 -04:00
Ryan Cramer
0cdba2e307 Update for processwire/processwire-issues#1701 2023-08-07 09:23:32 -04:00
Ryan Cramer
7afe6fa9cf Bump version to 3.0.224 2023-08-04 14:34:36 -04:00
Ryan Cramer
0f8615bf88 phpdoc typo fix in Selectors.php 2023-08-04 11:46:57 -04:00
Ryan Cramer
044175df04 Fix issue processwire/processwire-issues#1492 2023-08-04 11:39:52 -04:00
Ryan Cramer
d6a0df74d6 Add wirePageId() and pageId() functions per processwire/processwire-issues#896 2023-08-04 10:33:50 -04:00
Ryan Cramer
13114afe08 Update Page::matches() to perform comparison with database rather than in-memory per processwire/processwire-issues#1701 2023-08-04 10:30:56 -04:00
Ryan Cramer
6266d1d86b PHP 8.1+ updates per processwire/processwire-issues#1664 2023-08-04 08:35:33 -04:00
Ryan Cramer
b7c232972e Fix issue processwire/processwire-issues#800 2023-08-03 10:58:05 -04:00
Ryan Cramer
3b5e1adb7d Update URLs for cache busting per processwire/processwire-issues#1518 2023-08-03 10:22:36 -04:00
Ryan Cramer
2f60f98992 Update to previous commit 2023-08-03 10:16:26 -04:00
Ryan Cramer
166ac1d703 Remove unused module names from wire/core/install.sql and site-blank/install/install.sql per processwire/processwire-issues#1307 2023-08-03 10:14:18 -04:00
Ryan Cramer
09300ebb96 Update PagesLoader::count() method to fully support selectors argument that is instanceof Selectors object 2023-08-02 10:14:46 -04:00
Ryan Cramer
223c0e79be Minor unrelated adjustments 2023-08-01 11:19:29 -04:00
Ryan Cramer
1271fa684a Add support for processwire/processwire-issues#1795 2023-08-01 11:15:30 -04:00
Ryan Cramer
df08140712 Update for processwire/processwire-issues#1793 2023-08-01 09:31:24 -04:00
Ryan Cramer
0245895d39 Fix issue processwire/processwire-issues#1793 2023-07-31 09:36:32 -04:00
Ryan Cramer
a2d5d62131 Fix issue processwire/processwire-issues#1792 2023-07-27 09:57:15 -04:00
Ryan Cramer
308ca91daf Fix issue processwire/processwire-issues#1762 2023-07-27 09:41:06 -04:00
Ryan Cramer
d6ca1232e2 Fix issue processwire/processwire-issues#1657 2023-07-27 09:24:40 -04:00
Ryan Cramer
b656b254e8 phpdoc update and hook example in wire/core/Users.php 2023-07-26 14:04:47 -04:00
Ryan Cramer
3dc00d6c15 Small update in InputfieldPageAutocomplete 2023-07-26 13:57:27 -04:00
Ryan Cramer
5e9a62e405 Add support for autocomplete in selecting page created user in page editor settings tab, related to processwire/processwire-issues#1318
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-07-26 13:54:17 -04:00
Ryan Cramer
838d4363bf Fix issue processwire/processwire-issues#1788 2023-07-26 11:16:53 -04:00
Ryan Cramer
b170dfec16 Updates for processwire/processwire-issues#1664 2023-07-25 09:37:57 -04:00
Ryan Cramer
e81da24679 Fix issue processwire/processwire-issues#1518 2023-07-25 09:34:57 -04:00
Ryan Cramer
c1a939be0c Fix issue processwire/processwire-issues#1790 2023-07-24 11:37:28 -04:00
Ryan Cramer
98aa3b2dab Bump version to 3.0.223 2023-07-21 15:18:41 -04:00
Ryan Cramer
cdba83f115 Update for processwire/processwire-issues#1443 2023-07-21 11:47:10 -04:00
Ryan Cramer
4c6c2b7c89 Fix issue processwire/processwire-issues#889 2023-07-21 11:05:27 -04:00
Ryan Cramer
3b1e349a4a Add 4 new hookable methods to ProcessLogin 2023-07-21 10:06:02 -04:00
Ryan Cramer
1c70f8b5e3 Improve InputfieldPageAutoComplete so that it can use more selector features for fewer limitations on what/how you can match pages. This is to support features requested in processwire/processwire-issues#550 2023-07-21 08:51:55 -04:00
Ryan Cramer
211dd04c81 Various improvements to ProcessPageSearch module, including support for search selectors that don't pass through user input, opening more search options (see next commit with autocomplete improvements, which uses it) 2023-07-21 08:49:35 -04:00
Ryan Cramer
879b482b6a Updates to user-admin-[role] permission logic in PagePermissions.module. This (and the previous 2 commits) hopefully also fixes processwire/processwire-issues#1737 2023-07-19 14:44:45 -04:00
Ryan Cramer
05cdf08949 Update Role and User classes to use new $permissions->getDelegatedMethod() where appropriate 2023-07-19 14:29:36 -04:00
Ryan Cramer
bf144afd65 Add new methods to Permissions class ($permissions API var): getPermissionNameIds(), getDelegatedPermission(), and getDelegatedMethod() 2023-07-19 14:26:44 -04:00
Ryan Cramer
f835d8ecf9 Update for processwire/processwire-issues#1568 - clone tags with fieldset_END fields, and suppress showing fieldset_END field lists unless system or advanced mode 2023-07-19 10:14:14 -04:00
Ryan Cramer
bde089afd3 Attempt fix for issue that could cause one autoload module requiring another to load in incorrect order under certain cases 2023-07-16 10:52:44 -04:00
Ryan Cramer
407ec4b11d Various minor code updates primarily in Process modules. 2023-07-14 14:44:45 -04:00
Ryan Cramer
b77d7f98c6 Add null argument option to InputfieldForm::getErrors(null) which adds support for clearing internal errors cache 2023-07-14 14:21:05 -04:00
Ryan Cramer
67b6f5817b Fix issue processwire/processwire-issues#1784 2023-07-12 16:23:53 -04:00
Ryan Cramer
fa5fae9c58 Update for processwire/processwire-issues#1780 2023-07-12 11:27:35 -04:00
Ryan Cramer
a53e809fc4 Add support for sorting by page path or URL to PageFinder (requires PagePaths module be installed) 2023-07-10 13:39:20 -04:00
Ryan Cramer
206cd8c280 Fix issue processwire/processwire-issues#1780 2023-07-10 10:11:21 -04:00
Ryan Cramer
3b0462271d Update for processwire/processwire-issues#1757 2023-07-10 09:33:27 -04:00
Ryan Cramer
e0239d0381 Bump version to 3.0.222 2023-07-07 15:04:02 -04:00
Ryan Cramer
1d295ad04b Make ProcessPageEditLink::getFilesPage() method hookable per @Toutouwai 2023-07-07 15:03:10 -04:00
Ryan Cramer
44e5a29e0c Fix issue where files listed in ProcessLanguageTranslator were unsorted 2023-07-07 15:00:58 -04:00
Ryan Cramer
47437ced0d Fix issue processwire/processwire-issues#1403 2023-07-07 14:45:29 -04:00
Ryan Cramer
20d5016017 Minor updates in ProcessLogger, plus this should fix processwire/processwire-issues#1084 2023-07-07 14:43:35 -04:00
Ryan Cramer
203488bd4a Add support for conditional hooks that match by argument type. More details here: https://processwire.com/docs/modules/hooks/#conditional-hooks-by-type 2023-07-07 11:37:52 -04:00
Ryan Cramer
52ac627506 Fix issue in PageFrontEdit.js where trigger() was being called on non-jQuery element, converted to JS click() 2023-07-06 12:32:37 -04:00
Ryan Cramer
2759109de5 Fix issue processwire/processwire-issues#1777 2023-07-05 11:35:03 -04:00
Ryan Cramer
530a2c4ecd WireHttp upgrades and fixes from processwire/processwire-issues#1090 - the main upgrade is adding support for buffered download to the downloadFopen method. Also fixes cleanup issue when download method fails and a backup method takes over 2023-07-03 10:38:36 -04:00
Ryan Cramer
3f184f9c14 Add support for multi-language translatable months and days (full and abbreviated) to WireDateTime class. This is necessary in PHP 8.1+ since PHP dropped the strftime() function. This is also related to the request in processwire/processwire-issues#1774 2023-07-03 09:28:24 -04:00
Ryan Cramer
5169693f57 Fix issue processwire/processwire-issues#1776 2023-07-03 08:30:13 -04:00
Ryan Cramer
91184cefb3 Fix issue processwire/processwire-issues#1773 2023-06-30 10:10:48 -04:00
Ryan Cramer
834ddfba75 Add delete(), patch() and put() methods to WireHttp 2023-06-30 09:59:46 -04:00
Ryan Cramer
2349599aa8 Fix issue processwire/processwire-issues#1770 2023-06-29 15:10:43 -04:00
Ryan Cramer
19be4b3b90 Fix issue processwire/processwire-issues#1771 2023-06-29 13:56:55 -04:00
Ryan Cramer
6339410283 Fix issue processwire/processwire-issues#1769 2023-06-28 09:26:25 -04:00
Ryan Cramer
1749ba17ac Fix issue processwire/processwire-issues#1767 2023-06-28 09:14:22 -04:00
Ryan Cramer
c8e9b6c65a Fix issue processwire/processwire-issues#1766 2023-06-26 10:33:56 -04:00
Ryan Cramer
c049dd4f58 Fix issue processwire/processwire-issues#1768 2023-06-26 10:11:30 -04:00
Ryan Cramer
1830bf124b Fix issue in ProcessPageLister/ProcessPageListerPro where it wasn't allowing header click-to-sort on all columns where it was supported 2023-06-25 09:10:26 -04:00
Ryan Cramer
3fa65dfc83 Bump version to 3.0.221 2023-06-23 13:49:33 -04:00
Ryan Cramer
18d2fdf94a Update ProcessPageEditImageSelect to use proper HTML class name attributes for checkbox and radio buttons when used with AdminThemeUikit. Plus other minor code improvements 2023-06-23 13:47:34 -04:00
Ryan Cramer
d6ba21fcaf Attempt fix for processwire/processwire-issues#1760 2023-06-23 12:43:23 -04:00
Ryan Cramer
3e98166a2a Attempt fix for issue processwire/processwire-issues#1756 2023-06-23 11:32:25 -04:00
Ryan Cramer
a6795b61ce Add feature request processwire/processwire-issues#1757 which adds support for non-plural translations of 0 quantities in the _n('%d item', %d items', 0); translation function. To use, translate the file wire/modules/LanguageSupport/LanguageTranslator.php and edi the "Is zero (0) plural or singular?" setting at the top. 2023-06-23 11:03:44 -04:00
Ryan Cramer
a01b922efb Add support for InputfieldSelect and InputfieldRadios that can be specified in language translation comment, i.e. __('Red'); // Color to use for this language? options=[Red,Blue,Green] type=radios 2023-06-23 10:55:14 -04:00
Ryan Cramer
73ab10658c Fix issue processwire/processwire-issues#1761 2023-06-22 12:44:04 -04:00
Ryan Cramer
ead96474c6 Fix issue processwire/processwire-issues#1763 2023-06-22 11:40:23 -04:00
Ryan Cramer
d089e07a63 Attempt fix for processwire/processwire-issues#1764 2023-06-22 11:31:35 -04:00
Ryan Cramer
fc5b67508f Fix issue processwire/processwire-issues#1765 2023-06-22 10:44:41 -04:00
Ryan Cramer
f1c20282f6 Minor code updates in ProcessPageAdd 2023-06-16 12:16:24 -04:00
Ryan Cramer
9353a8ea43 Add PR #273 Make error messages translatable in ProcessPageAdd
Co-authored-by: jmartsch <jmartsch@gmail.com>
2023-06-16 11:59:11 -04:00
Ryan Cramer
3fd4073f34 Minor code improvements to PageTable, plus add PR #266
Co-authored-by: jmartsch <jmartsch@gmail.com>
2023-06-16 11:45:58 -04:00
Ryan Cramer
fde9c1c2e2 Fix issue processwire/processwire-issues#1755 2023-06-16 09:02:23 -04:00
Ryan Cramer
55ec568070 Fix issue processwire/processwire-issues#1753
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-06-15 09:11:29 -04:00
Ryan Cramer
0040345932 Fix issue processwire/processwire-issues#1751 2023-06-13 11:58:16 -04:00
Ryan Cramer
c8c5b46e77 Fix issue ryancramerdesign/InputfieldTinyMCE#20 TinyMCE when used with blank object properties in custom JSON settings 2023-06-13 11:39:36 -04:00
Ryan Cramer
dfcbb10f9d Bump version to 3.0.220 2023-06-09 15:28:28 -04:00
Ryan Cramer
b8da82d5c2 Fix issue processwire/processwire-issues#1738 2023-06-09 10:56:48 -04:00
Ryan Cramer
e59a44a83d Fix issue processwire/processwire-issues#1743 2023-06-08 16:42:34 -04:00
Ryan Cramer
16d0d77d4c Fix issue processwire/processwire-issues#1617 using suggestion from @BitPoet
Co-authored-by: BitPoet <BitPoet@users.noreply.github.com>
2023-06-08 16:31:52 -04:00
Ryan Cramer
2d790b6c64 Small fix to hookable saveModuleConfigData() in Modules.php 2023-06-08 15:27:45 -04:00
Ryan Cramer
6fe5c10dde Fix issue processwire/processwire-issues#1744 2023-06-07 12:47:01 -04:00
Ryan Cramer
bc3cd4615e Fix issue processwire/processwire-issues#1750 2023-06-07 12:40:28 -04:00
Ryan Cramer
3f14a29ff3 Fix issue processwire/processwire-issues#1664 ModulePlaceholder class mentioned by @designconcepts 2023-06-06 12:03:10 -04:00
Ryan Cramer
8129d4a6e1 Fix issue processwire/processwire-issues#1742 2023-06-06 09:43:37 -04:00
Ryan Cramer
176bd8eeac Minor updates in various classes 2023-06-05 13:35:04 -04:00
Ryan Cramer
aef78c9ca4 Fix issue processwire/processwire-issues#1747 2023-06-05 13:31:02 -04:00
Ryan Cramer
ac0239e5be Fix issue processwire/processwire-issues#1748 2023-06-05 13:25:45 -04:00
Ryan Cramer
50db3684fb Minor code updates in InputfieldSelector 2023-06-03 11:01:14 -04:00
Ryan Cramer
3b5bad2c58 Update in Modules to correct fatal error when upgrading from a much older version of ProcessWire 2023-06-03 10:31:39 -04:00
Ryan Cramer
0503a1bf68 Fix typo in Modules.php 2023-06-02 18:34:06 -04:00
Ryan Cramer
5f4da6e8f8 Bump version to 3.0.219 2023-06-02 14:55:00 -04:00
Ryan Cramer
3afdc531e0 Fix issue processwire/processwire-issues#1745 2023-06-02 14:54:21 -04:00
Ryan Cramer
e2179a6ec1 Major overhaul of Modules class, splitting it up into 6 other more focused classes 2023-06-02 14:53:12 -04:00
Ryan Cramer
02e3e0cd1b Add support for a WireCacheInterface::maintenance($obj) method as mentioned by @BitPoet 2023-05-30 15:28:03 -04:00
Ryan Cramer
f3a0b265ee Fix issue processwire/processwire-issues#1741 2023-05-30 13:45:00 -04:00
Ryan Cramer
8046f1989b Additional performance optimizations to Modules class, plus fix issue with some moduleInfo properties falling back to default value when they weren't supposed to 2023-05-30 12:02:16 -04:00
Ryan Cramer
caed81876e Bump version to 3.0.218 2023-05-26 13:50:45 -04:00
Ryan Cramer
ce06ffa496 Additional improvements to WireCache, WireCacheInterface and WireCacheDatabase 2023-05-26 13:35:30 -04:00
Ryan Cramer
0747c54ddf Update Modules class to use its own internal caches rather than using those from $cache API var. Now it only uses $cache as a backup. This means you can now safely omit the 'caches' table from DB exports, or you delete the caches table, and it'll get re-created etc. After upgrading to this version, you'll have to do a 'Modules > Refresh' before it'll start using its own caches. 2023-05-26 13:29:02 -04:00
Ryan Cramer
797d6c9b37 Fix typo in Modules.php that makes moduleInfo[versionStr] return 0.0.0 rather than correct version string 2023-05-22 16:06:05 -04:00
Ryan Cramer
d455ab71cb Add $pages->loader()->findCache() method - Find pages and cache the result for specified period of time. This is an experimental method that may find it's way to the public $pages API but is currently behind $pages->loader() while we experiment with it more and make sure it's worthwhile. 2023-05-19 14:54:04 -04:00
Ryan Cramer
481f6bbbdb Various improvements to the Modules class for improved module loading and boot time performance 2023-05-19 11:18:55 -04:00
Ryan Cramer
6981e3009e Major refactor of WireCache which now isolates the cache getting/saving/deleting to a separate module/class implementing the WireCacheInterface interface. Eventually this will enable one to modify/replace where and how PW's cache data is stored. For instance, file system, Redis, Memcache, etc. The default class is WireCacheDatabase which stores cache data in the database, as WireCache did prior to this update. 2023-05-19 11:12:49 -04:00
Ryan Cramer
a76e54193e Fix issue processwire/processwire-issues#1735 2023-05-18 11:50:29 -04:00
Ryan Cramer
3598fb113b Fix issue processwire/processwire-issues#1732 2023-05-18 09:41:08 -04:00
Ryan Cramer
47086751d2 Bump version to 3.0.217 2023-05-05 13:00:14 -04:00
Ryan Cramer
013f9ebade Add an additional check to WireDatabaseBackup so that a non-readable DB file doesn't cause a fatal exception 2023-05-05 08:53:15 -04:00
Ryan Cramer
6661f0490a Update ProcessPageEditLink by adding a ___buildForm() method so that one can manipulate what the "edit link" form shows by hooking that new method 2023-05-05 08:51:44 -04:00
Ryan Cramer
daeb6d4087 Fix jQuery 3.x issue where modal dialog buttons weren't displaying when launched from asmSelect edit links 2023-05-05 08:50:13 -04:00
Ryan Cramer
3b2c456c1a Fix issue processwire/processwire-issues#1729 2023-05-05 08:45:32 -04:00
Ryan Cramer
f2a72ad8ea Fix issue processwire/processwire-issues#1716 2023-05-03 14:05:58 -04:00
Ryan Cramer
a9b656c45e Minor adjustments in MarkupFieldtype class 2023-05-03 11:07:00 -04:00
Ryan Cramer
9bfce99352 Fix issue processwire/processwire-issues#1719 2023-05-03 11:03:34 -04:00
Ryan Cramer
f6c2ad6ed5 Fix issue processwire/processwire-issues#1726 2023-05-03 10:31:10 -04:00
Ryan Cramer
3658efd3af Fix issue processwire/processwire-issues#1727 2023-05-03 10:21:55 -04:00
netcarver
580641d69f Add PR #270 - fix missing apostrophe in a phpdoc section of WireInput 2023-05-02 10:06:58 -04:00
Ryan Cramer
d832982228 Add PR #269 for support of overriding browser title in AdminThemeFramework class
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2023-05-02 10:02:08 -04:00
Ryan Cramer
908479d786 Fix issue where Inputfield showIf condition that matches a single period "." was not working correctly due to jQuery adjustments from a couple weeks ago 2023-05-02 09:08:59 -04:00
Ryan Cramer
2fcb2f4bda Fix issue in Lister where displaying File (single) > Count displayed blank rather than 0 or 1. 2023-05-01 08:30:33 -04:00
Ryan Cramer
28eb798c9c Fix issue processwire/processwire-issues#1720 2023-04-25 10:46:06 -04:00
Ryan Cramer
665a462501 Bump version to 3.0.216 plus some other minor updates 2023-04-21 14:48:00 -04:00
Ryan Cramer
0d2346baab Update Vex version to to 4.1.0 2023-04-21 10:50:31 -04:00
Ryan Cramer
749d64a756 Upgrade jQuery Magnific popup version to 1.1.0 and modify for jQuery 3.x deprecations
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-04-21 10:32:45 -04:00
Ryan Cramer
3052f0c77d Update jQuery UI timepicker addon to latest version
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-04-21 09:33:53 -04:00
Ryan Cramer
3d6278e23d Additional .js file updates for jQuery 3.6 2023-04-21 09:16:12 -04:00
Ryan Cramer
3fc952f674 Other minor unrelated updates 2023-04-20 12:24:40 -04:00
Ryan Cramer
3430610092 Add new $modules->getModuleInstallUrl('ModuleName'); method that returns the URL to install given module name 2023-04-20 11:02:40 -04:00
Ryan Cramer
440f649e39 Minor updates to site-blank profile, primarily to replace default rich-text editor with TinyMCE for new site-blank installs 2023-04-20 11:01:51 -04:00
Ryan Cramer
e307eab3f3 Add InputfieldTinyMCE to core 2023-04-20 10:31:59 -04:00
Ryan Cramer
844a45ff2f Upgrade jQuery TableSorter version to 2.31.3
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-04-19 10:11:34 -04:00
Ryan Cramer
1d7f029fa5 Update many other .js files for jQuery 3.x deprecations 2023-04-19 10:08:54 -04:00
Ryan Cramer
3f2488de7d Fix inputfields.js JS issue mentioned in forum via @matjazpotocnik
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-04-16 09:58:51 -04:00
Ryan Cramer
318bc0aba3 Bump version to 3.0.215 2023-04-14 15:54:35 -04:00
Ryan Cramer
1e60c69b97 Additional .js file updates for newer jQuery 2023-04-14 15:15:22 -04:00
Ryan Cramer
bd0253477e Update lots of core .js files for jQuery 3.6.4 support 2023-04-14 11:54:28 -04:00
Ryan Cramer
f11843562a Add support for latest version of jQuery UI (v1.13.2). This is used when $config->debug = 'dev'; in /site/config.php. Expect occasional JS/output issues when using this latest version of jQuery UI. We'll be upgrading the default core version to this over a period of time, which is why it's only used if $config->debug=='dev'; at present. 2023-04-14 09:25:25 -04:00
Ryan Cramer
885e94733a Update core jQuery versions to 1.12.4 and 3.6.4 (dev/latest). Note the dev version is used in the admin when $config->debug='dev'; 2023-04-13 09:49:21 -04:00
Ryan Cramer
0d18728523 Update InputfieldPage to support dynamic page properties in selector when used without FieldtypePage 2023-04-10 10:04:22 -04:00
Ryan Cramer
f4a05789f1 Attempt fix for issue #1714, plus a couple other minor unrelated class code improvements that were already in the queue 2023-04-07 09:34:18 -04:00
Ryan Cramer
de8307a2a9 Add method to MarkupAdminDataTable for specifying that a particular column is not sortable in an otherwise sortable table 2023-03-31 11:08:35 -04:00
Ryan Cramer
4f75a7e81c Minor code updates for various core classes 2023-03-31 11:06:33 -04:00
Ryan Cramer
57a9d224de Minor code improvements in ProcessPageList module files 2023-03-31 10:18:54 -04:00
Ryan Cramer
dad712ebb2 Updated PaginatedArray::getTotal() method to return the count() quantity when no total has been set (previously it returned 0 if not set) 2023-03-31 09:42:26 -04:00
Ryan Cramer
134edd9445 Fix issue processwire/processwire-issues#1713 2023-03-31 09:05:32 -04:00
Ryan Cramer
7352d1d7f3 Fix issue processwire/processwire-issues#1712 2023-03-30 09:28:24 -04:00
Ryan Cramer
371ea35036 Fix issue processwire/processwire-issues#1711 2023-03-30 08:46:17 -04:00
Ryan Cramer
5c23e85a79 Fix issue processwire/processwire-issues#1705
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-03-30 07:47:35 -04:00
Ryan Cramer
b7bec30fb7 Minor adjustment to preparation of table + column helper in WireDatabasePDO 2023-03-24 13:12:56 -04:00
Ryan Cramer
43aa000f02 Fix issue processwire/processwire-issues#1709 2023-03-24 11:33:10 -04:00
Ryan Cramer
16be65c454 Correct issue with all logs returning same mtime and size in ProcessLogger 2023-03-24 10:59:22 -04:00
Ryan Cramer
f7ee00d785 Fix issue with WireLog::getLogs() returning regular PHP array rather than associative array indexed by log name 2023-03-22 14:29:59 -04:00
Ryan Cramer
547fb4cf71 Bump version to 3.0.214 2023-03-17 14:46:13 -04:00
Ryan Cramer
504dd173a1 Minor code improvements to MarkupQA class 2023-03-17 14:43:43 -04:00
Ryan Cramer
e36742528f Fix issue processwire/processwire-issues#1703 PageFrontEdit and InputfieldTinyMCE 2023-03-17 12:15:51 -04:00
Ryan Cramer
3af565ccc3 Add a new $files->size($path) method that returns the size (bytes) of the given $path (file or directory). When given a directory, it returns the combined size of all files in the directory, recursively. 2023-03-17 09:41:05 -04:00
Ryan Cramer
b41fc7feff Minor improvements to WireDatabaseBackup class 2023-03-17 09:40:28 -04:00
Ryan Cramer
4960d8f891 Improve documentation for $session->close(); method, explaining in detail when you might use the method. 2023-03-17 09:39:08 -04:00
Ryan Cramer
f2a1ebb7b4 Various improvements to FileLog and WireLog classes. Plus add new deleteAll() and pruneAll() methods to WireLog class. 2023-03-17 09:37:33 -04:00
Ryan Cramer
7021347dec Move logic for wireBytesStr() function into WireNumberTools class bytesToStr() method, while also making improvements to the method. Also add a strTobytes() method that does the opposite of bytesToStr. This also incorporates the addition of terabytes support submitted in another PR from @matjazpotocnik. 2023-03-10 13:03:30 -05:00
Ryan Cramer
42e56c5f3e Add PR #260 which makes improvements to MarkupPagerNav pagination
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2023-03-09 11:14:53 -05:00
netcarver
edcfa915d8 Add PR #262 - Fix potentially missed else conditionals 2023-03-09 10:26:06 -05:00
chriswthomson
dafceffc6f Add PR #261 - Added page-edit-redirects optional permission 2023-03-09 10:17:41 -05:00
Ryan Cramer
fb980f24c7 Additional update to previous commit that prevents field_repeater.count=0 from matching any pages that don't have field_repeater, even if template not specified in the selector. 2023-03-09 09:21:54 -05:00
Ryan Cramer
4f00c1f6f1 Add pages.find selector support for matching repeaters with no row present in field_repeater table. Examples: repeater_field.count=0, repeater_field.count<2, repeater_field.count!=1, repeater_field.count>=0, etc. Previously these would only match if the page having the repeater field had been saved at least once since the repeater field was added (and thus it had a DB row to match). Now it no longer needs a DB row present to match 0 count. Related to processwire/processwire-issues#1701 2023-03-09 09:02:14 -05:00
Ryan Cramer
09163d2a76 Attempt fix issue processwire/processwire-issues#1689 2023-03-08 11:40:09 -05:00
Ryan Cramer
1c8ac461f2 Fix issue processwire/processwire-issues#1697 2023-03-08 11:02:01 -05:00
Ryan Cramer
bd6fe70347 Fix issue processwire/processwire-issues#1699 2023-03-08 10:22:30 -05:00
Ryan Cramer
592a443bf1 Fix issue in InputfieldSelect where non-default language label for optional "Please select" label was not translated when options are added using a newline-separated string. 2023-03-08 07:59:02 -05:00
Ryan Cramer
d2cde11e4d Bump version to 3.0.213 2023-02-24 14:06:06 -05:00
Ryan Cramer
2b47a39950 Add a new WireNumberTools core class. More will be added later, but this class starts with one method for unique number/ID generation. This is useful for generating unique IDs for things that may not already have them, and ensuring that the ID remains unique for the lifetime of the installation. 2023-02-24 10:23:23 -05:00
Ryan Cramer
80f700096a Add support for Fieldtype::getFieldSetups() to ProcessField. Also add some additional grouping logic to the field Type selection when creating new fields. In addition to the new optgroups shown, it also shows an optgroup for uninstalled Fieldtypes. 2023-02-24 10:20:22 -05:00
Ryan Cramer
5855c8c8b6 Implement new getFieldSetups() method in these Fieldtypes: Datetime, File, Image, Options, Page, and Textarea. 2023-02-24 10:19:32 -05:00
Ryan Cramer
b3913a8791 Add a new hookable Fieldtype::___getFieldSetups() that lets any Fieldtype specify different configurations available when creating new fields. These configurations will be selectable when creating a new field in the admin, or when setting the $field->type = 'FieldtypeName.setupName"; 2023-02-24 10:15:05 -05:00
Ryan Cramer
91f4b7cd6e Bump version to 3.0.212 2023-02-17 10:43:54 -05:00
Ryan Cramer
5a4ac84301 Additional updates for ProcessPageEditLink module 2023-02-17 09:45:52 -05:00
Ryan Cramer
7fa8fd21f0 Add new uploadName() method/property to Pagefile/Pageimage that returns original unsanitized uploaded filename. This works only for files uploaded following this commit, since we didn't previously record the info. This is to answer the feature request in processwire/processwire-requests#56 and this uploadName idea was suggested by @BernhardBaumrock 2023-02-17 08:52:52 -05:00
Ryan Cramer
a716232172 Add feature request processwire/processwire-requests#480 to support other file extensions for translatable files in ProcessLanguageTranslator.module as a module config setting 2023-02-16 09:21:53 -05:00
Ryan Cramer
b155596089 Add 2 new methods to $sanitizer: htmlClass() and htmlClasses(), for sanitizing HTML class attribute values. 2023-02-15 10:26:11 -05:00
Ryan Cramer
a29da160af Upgrades to ProcessPageEditLink with most notable addition being support for using link classes specified in the TinyMCE/CKEditor rather having to also add them to the ProcessPageEditLink module configuration 2023-02-15 10:22:50 -05:00
Ryan Cramer
d272fc9b09 Updates to InputfieldEmail that were supposed to be in the previous commit 2023-02-15 08:33:59 -05:00
Ryan Cramer
1a633a74ae Add support for IDN email and UTF-8 local-part emails to InputfieldEmail per processwire/processwire-issues#1680 and PR #259
Co-authored-by: poljpocket <poljpocket@gmail.com>
2023-02-14 11:52:20 -05:00
Ryan Cramer
104c1cddbe Add feature request processwire/processwire-requests#479 2023-02-14 11:29:57 -05:00
Ryan Cramer
c3b9c72df9 Additional updates for processwire/processwire-issues#1467 2023-02-14 09:28:03 -05:00
Ryan Cramer
ff1ba95e37 Fix issue processwire/processwire-issues#1687 2023-02-14 09:00:21 -05:00
Ryan Cramer
a1a72e5ca3 Fix issue processwire/processwire-issues#1684 2023-02-14 08:57:09 -05:00
Ryan Cramer
0f6cd3c148 Add a session cache for column options, optimization in ProcessPageLister 2023-02-09 13:55:23 -05:00
Ryan Cramer
792eff6d41 Fix issue processwire/processwire-issues#1683 2023-02-09 11:56:29 -05:00
Ryan Cramer
b289cb03aa Update FieldtypeText to automatically add "HTML Entity Encoder" textformatter to newly created text fields (and descending types). Also update it to add warning when editing an existing field and it allows HTML in formatted output, and we aren't sure that's intended. Lastly, update FieldtypeTextarea to identify when the HTML Entity Encoder has been added to a field where HTML is clearly intended and warn the user that they should remove that from the Text formatters. (This is necessary since it may have been automatically added when the field was created.) 2023-02-09 10:49:06 -05:00
Ryan Cramer
1171241f5d Add new Fieldtype::saveFieldReady(Field $field) hook that is called right before a Field object is about to be saved. For newly created fields, the given $field will have $field->id==0 2023-02-09 09:54:28 -05:00
Ryan Cramer
e86eb7fcf8 Code improvements to ProcessPageEdit link module, plus add feature request processwire/processwire-requests#477 2023-02-03 14:00:31 -05:00
Ryan Cramer
b1313438ea Add PR #257 which replaces deprecated utf8_encode() with mb_convert_encoding() in PWPNG.php
Co-authored-by: jnessier <jnessier@users.noreply.github.com>
2023-02-03 10:13:34 -05:00
Ryan Cramer
a3fa73aec6 A few phpdoc updates in config.php 2023-02-03 09:29:04 -05:00
Ryan Cramer
0e709b148c Fix issue processwire/processwire-issues#1677 while also optimizing the debug mode detection code in ProcessWire.php 2023-02-03 09:27:11 -05:00
Ryan Cramer
36bb44e0a5 Fix issue processwire/processwire-issues#1675 2023-02-03 08:15:43 -05:00
Ryan Cramer
83dfad0199 Fix issue processwire/processwire-issues#1673 2023-02-03 08:07:21 -05:00
Ryan Cramer
d5c59e7f10 Fix issue processwire/processwire-issues#1678 2023-02-03 07:48:32 -05:00
Ryan Cramer
22250b483f Update so that requests containing a double slash at the end of the path get redirected to the single slash (or no-slash) version 2023-02-02 14:21:53 -05:00
Ryan Cramer
dd93de3f91 Add getAccessTemplate() method to RepeaterPage class to fix issue where some repeater permissions did not always inherit from the page that owns it, resulting in a case where files in repeater using 'secureFiles' option could be blocked when they should have been available. 2023-02-02 14:19:53 -05:00
Ryan Cramer
b74f6ca359 Attempt fix for processwire/processwire-issues#1459 and processwire/processwire-issues#1297 by rewriting code that builds pages_parents table and requires fewer changes to the table. This is called on page parent changes and clone operations. Needs further testing on installation with 1+ million pages to compare with previous and confirm performance improvement while maintaining same accuracy. 2023-02-02 13:54:51 -05:00
Ryan Cramer
7997a40e21 Minor code improvements 2023-01-27 15:41:30 -05:00
JanRomero
15e8a4d0e6 Add PR #236 - Fix sanitizer()->date() outputting NULL for valid but falsey values 2023-01-27 15:37:53 -05:00
Ryan Cramer
3e81b0fc4d Hookable upgrades to InputfieldImage, including the ability to add thumbnail icon actions, the ability to add new buttons in image-edit mode, and full working examples in the phpdoc, plus add an EXIF working example for the image actions dropdown. This originated from PR #251 which added a Download button. But I decided we didn't really need a download button (since you can right click on image in image-edit mode and "Save as...") and instead took the additions from the PR and turned it into a hookable feature so you can add any needed actions relatively easily, whether download or something else.
Co-authored-by: JanRomero <JanRomero@users.noreply.github.com>
2023-01-27 10:58:20 -05:00
Ryan Cramer
474e31b2be Fix issue processwire/processwire-issues#1671 2023-01-26 10:15:34 -05:00
Ryan Cramer
47f1e8a089 Fix issue processwire/processwire-issues#1670 plus minor optimizations to template importing 2023-01-26 09:55:19 -05:00
Ryan Cramer
2ebb0055be Fix issue processwire/processwire-issues#1669 2023-01-26 09:06:33 -05:00
Ryan Cramer
3094bd952a Fix issue with protected files not being available to user with access when file was in repeater and page owning repeater had no template file. 2023-01-26 08:01:41 -05:00
Ryan Cramer
bc2749b76c Bump version to 3.0.211 2023-01-20 15:52:21 -05:00
Ryan Cramer
cc99fc3c92 Minor optimizations to PagePermissions module 2023-01-20 09:22:49 -05:00
Ryan Cramer
df81fdfd0b Minor optimizations and improvements to WireUpload class 2023-01-20 09:21:29 -05:00
Ryan Cramer
a435e9291c Fix issue where sometimes language tabs were pre-selecting the wrong language, or showing a selected tab that didn't match the input language. This might also be related to and fix processwire/processwire-issues#1411 (?) 2023-01-20 09:18:50 -05:00
Ryan Cramer
0b79e38d9d Fix issue processwire/processwire-issues#1118 fixes to multi-language textarea and file/image fields when template has 'noLang' option set and user is editing page in non-default language 2023-01-20 09:10:33 -05:00
hiboudev
e34a190eeb Add PR #223 WireMail: Use 'fromName' from config 2023-01-19 13:10:21 -05:00
FlipZoomMedia
e0af32189e Add PR #224 which adds a config option to ProcessPageEditLink to disable the link text editing feature, thereby enabling support for links containing existing markup 2023-01-19 11:59:29 -05:00
FlipZoomMedia
47d7aabe28 Add PR #225 to convert some count() calls to wireCount() calls in ProcessPageEditImageSelect 2023-01-19 11:30:56 -05:00
pine3ree
4d27f2a9ea Add PR #229 to fix processwire/processwire-issues#1586 sub-issue 1 in InputfieldFile file replacement logic 2023-01-19 11:21:14 -05:00
pine3ree
a5869294fb Add PR #231 simpler arrayToCSV builder in MarkupPagerNav 2023-01-19 11:13:08 -05:00
Ryan Cramer
5fb52e9d1c Add suggestion from PR #237 to support custom rows definition for translatable fields and have it use that when the user is editing the translation text. To use, specify "rows=3" somewhere in the translation comment, i.e. __('text'); // rows=3. Also added support for type=name in the comment, that lets you specify what Inputfield type to use. To use, replace the name part with "text", "textarea", "email", etc. Or if you prefer you can use the full Inputfield name, i.e. InputfieldText, InputfieldTextarea, etc.
Co-authored-by: pine3ree <pine3ree@gmail.com>
2023-01-19 10:47:09 -05:00
pine3ree
4c71204073 Add PR #238 allow custom precision float to be returned from Pageimage::ratio() 2023-01-19 10:19:27 -05:00
pine3ree
a5a2532a7d Add PR #239 fix typo in /wire/config.php for sessionAllow property 2023-01-19 10:12:40 -05:00
Ryan Cramer
b1d735170f Add updates to MarkupRSS similar to those suggested in PR #252 which allows for the option of item descriptions to contain HTML. Applies only if itemDescriptionLength=0 2023-01-19 09:16:18 -05:00
Ryan Cramer
6e4cfb9d03 Combined two "opened" event handlers in InputfieldImage.js into one 2023-01-19 07:45:04 -05:00
Ryan Cramer
45c85311b3 Optimization to prevent overhead when PagesRaw.find() matches no pages 2023-01-19 07:43:02 -05:00
Ryan Cramer
2c65cbaa5b Fix issue processwire/processwire-issues#1465 for "InputfieldImage proportional thumbnails not displayed properly in some situations" by adding suggested fix by @Toutouwai 2023-01-13 10:06:34 -05:00
Ryan Cramer
a0b91e4472 Upgrade htmlpurifier to 4.15.0, should also resolve processwire/processwire-issues#1664 2023-01-13 08:54:36 -05:00
Ryan Cramer
11a16d5693 Fix issue processwire/processwire-issues#1663 2023-01-13 08:37:20 -05:00
Ryan Cramer
b12c7e9031 Refactor repeater.js to use data-name instead of ID as needed for module by @BernhardBaumrock and PR #253
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2023-01-13 08:24:52 -05:00
Ryan Cramer
6ff498f503 Happy New Year 2023-01-06 13:28:52 -05:00
Ryan Cramer
cc43f8e676 Bump version to 3.0.210, plus some minor documentation updates 2023-01-06 13:22:30 -05:00
Ryan Cramer
d45a6be4df Fix issue processwire/processwire-issues#1642 2023-01-06 08:50:10 -05:00
Ryan Cramer
834f3507d5 Fix issue processwire/processwire-issues#1662 2023-01-06 07:56:27 -05:00
Ryan Cramer
e7edfad27a Update for processwire/processwire-issues#1651 2023-01-04 10:38:42 -05:00
Ryan Cramer
68feea5d4e Fix issue processwire/processwire-issues#1661 2023-01-04 09:51:55 -05:00
Ryan Cramer
5ba7706747 Bump version to 3.0.209 2022-12-30 13:50:45 -05:00
Ryan Cramer
483b63d496 Various minor updates 2022-12-30 12:24:04 -05:00
Ryan Cramer
28bd6cdeec Minor code optimizations to InputfieldImage 2022-12-30 12:00:35 -05:00
Ryan Cramer
77c7e401da Attempt fix for processwire/processwire-issues#1600 2022-12-30 11:47:45 -05:00
Ryan Cramer
f57a07e15a Attempt fix for processwire/processwire-issues#1299 using @adrianbj suggestion 2022-12-29 12:20:20 -05:00
Ryan Cramer
1b76b92f8c Update CKEditor links per processwire/processwire-issues#797 @napengam 2022-12-29 10:13:09 -05:00
Ryan Cramer
90fc86f7cb Updates for processwire/processwire-issues#1588 2022-12-29 09:55:12 -05:00
Ryan Cramer
d6c54bda6a Attempt fix for processwire/processwire-issues#1467 maxFilesize PHP 8.2 notice per @matjazpotocnik 2022-12-29 09:31:59 -05:00
Ryan Cramer
b7e5d338f7 Fix issue processwire/processwire-issues#1651 2022-12-29 08:51:13 -05:00
Ryan Cramer
7e25c73728 Fix issue processwire/processwire-issues#1658 using solution suggested by @netcarver 2022-12-29 08:24:17 -05:00
Ryan Cramer
6018c1fbc4 Fix issue processwire/processwire-issues#1653 2022-12-09 13:35:50 -05:00
Ryan Cramer
adcee84904 Fix issue processwire/processwire-issues#1652 2022-12-09 13:16:04 -05:00
Ryan Cramer
a3cc73bd87 Bump version to 3.0.208, plus minor optimizations in FieldtypePage 2022-12-02 14:55:29 -05:00
Ryan Cramer
adf43d28df Several improvements to Notices: 1) now you can include separate label and notice text by calling message/warning/error like this: $this->message([ 'Notice label' => 'Notice text' ]); 2) new support for a Notice::allowDuplicate flag which allows duplicate notices to appear when rendered. To use, specify it in the flags argument: $this->message('notice text', 'duplicate'); or $this->message('notice text', Notice::duplicate); 3) improved debugging output when passed object or array values for message text. 4) notice icon can now be specified in the notice flags, if using a flags string, i.e. $this->message('notice text', 'icon-eye-slash'); These can be combined with other flags of course, i.e. $this->message('notice text', 'markdown duplicate icon-home'); 2022-12-02 14:07:41 -05:00
Ryan Cramer
a8b3c772d9 Add a Debug::toStr() method for dumping any variable to a string (for debugging purposes) 2022-12-02 14:04:53 -05:00
Ryan Cramer
b85c1c48b0 Fix issue processwire/processwire-issues#1649 2022-12-02 10:45:13 -05:00
Ryan Cramer
bceb0160b7 Attempt fix for processwire/processwire-issues#1645 2022-12-02 08:13:06 -05:00
Ryan Cramer
56e999dddb Updates for processwire/processwire-issues#1643 2022-12-02 08:02:49 -05:00
Ryan Cramer
b18ce642ef Add hookable getPage() method to PageFrontEdit module 2022-11-30 09:42:08 -05:00
Ryan Cramer
9c3d03c4a1 Various minor updates 2022-11-25 14:27:36 -05:00
Ryan Cramer
9bb9d71729 Update $sanitizer->email() method to add IDN, UTF-8, ASCII, and DNS support options. Also updates for processwire/processwire-issues#1647 2022-11-24 10:58:15 -05:00
Ryan Cramer
3e9d8e95da Fix issue processwire/processwire-issues#1648 2022-11-23 12:07:31 -05:00
Ryan Cramer
59cf5040f1 Update PageFrontEdit module to add support for InputfieldTinyMCE. Requires v6.0.7+ of InputfieldTinyMCE. cc @BernhardBaumrock 2022-11-22 12:15:40 -05:00
Ryan Cramer
c36adc9397 Minor updates to ProcessTemplate, with the most noticable addition being that when you add one (1) new template, it now goes straight to edit the template, rather than back to the template list. 2022-11-18 15:21:30 -05:00
Ryan Cramer
b0d5f14a27 Fixes for processwire/processwire-issues#1467 2022-11-18 12:42:02 -05:00
Ryan Cramer
2aedd2b6f5 Docs typo fixes per processwire/processwire-issues#797 2022-11-18 12:17:23 -05:00
Ryan Cramer
3d1c64f7e0 Update core dev JqueryCore version from 1.11.1 to 1.12.4 per processwire/processwire-issues#1643 2022-11-18 11:39:50 -05:00
Ryan Cramer
880ead3521 Bump version to 3.0.207 2022-11-11 14:06:16 -05:00
Ryan Cramer
ca344c838d Update $templates->delete($template) method to also delete fieldgroup (when not used elsewhere) 2022-11-11 14:04:56 -05:00
Ryan Cramer
eb94a38f75 Minor code updates in PagefilesManager 2022-11-11 13:59:27 -05:00
Ryan Cramer
aa842d8741 Fix issue processwire/processwire-issues#1638 2022-11-10 11:52:59 -05:00
Ryan Cramer
5aa0126b39 Fix issue processwire/processwire-issues#1637
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2022-11-10 11:44:29 -05:00
Ryan Cramer
78c2ca736d Fix issue processwire/processwire-issues#1629 2022-11-10 11:05:05 -05:00
Ryan Cramer
9f39514376 Attempt fix for processwire/processwire-issues#1610 2022-11-10 10:40:53 -05:00
Ryan Cramer
c2eaa0a8da Fix issue processwire/processwire-issues#1632 with suggestion by @Notanotherdotcom 2022-11-04 15:42:27 -04:00
Ryan Cramer
d9bfba5c74 Fix issue processwire/processwire-issues#1630 2022-11-04 15:34:27 -04:00
Ryan Cramer
3d5561c7af Minor adjustment in LanguageTabs.js 2022-11-04 14:50:53 -04:00
Ryan Cramer
b4124435e4 Remove/comment-out some old code referring to TinyMCE 3.x in InputfieldRepeater.js 2022-11-04 14:34:01 -04:00
Ryan Cramer
715f029657 Minor code optimizations in Modules class plus fix processwire/processwire-issues#1634 as mentioned by @Toutouwai 2022-11-04 14:30:51 -04:00
BernhardBaumrock
701d24258c Updates to rock.less per PR #245 2022-10-13 10:29:41 -04:00
Ryan Cramer
050c9c19c3 Bump version to 3.0.206 2022-10-09 09:30:38 -04:00
Ryan Cramer
ec8555545e Update ProcessLogin to auto-refresh the login form every 5 minutes of non-activity. This helps to avoid cases where a login form sits for a long period and has its CSRF key expire. It can prevent this error at login: "This request was aborted because it appears to be forged." 2022-10-06 13:31:51 -04:00
Ryan Cramer
47f24e6ff0 Add allowProcessInput() hook to InputfieldWrapper class. This enables hooks to control whether a given Inputfield can be excluded from input processing at runtime 2022-10-06 13:21:09 -04:00
Ryan Cramer
d2bdf70ecd Minor JS adjustments 2022-10-06 13:20:17 -04:00
Ryan Cramer
96bb90bb2e Update inputfields.js for better error handling and improved reload support 2022-10-06 13:14:55 -04:00
Ryan Cramer
32d7a09cfd Add JS events to InputfieldRepeater: 'repeaterdelete' and 'repeaterundelete' 2022-09-30 12:04:44 -04:00
Ryan Cramer
c1e1cecf93 Minor code updates in FieldtypeOptions and supporting classes 2022-09-30 12:04:03 -04:00
Ryan Cramer
cce5073969 Fix example in InputfieldTextTags for cases where it is used without a Fieldtype 2022-09-30 12:02:53 -04:00
Ryan Cramer
5d86dc8dec Add support for a $page->getPageListLabel(); method which enables custom page classes to return custom markup for the page's label in the page-list. 2022-09-30 12:01:46 -04:00
Ryan Cramer
127ef175b7 Add support for $items[] = $item; append syntax to WireArray/PageArray 2022-09-30 12:00:02 -04:00
Ryan Cramer
a3e67b299b Add support for a data-field-name attribute on Inputfields that use names that differ from the relevant field name (likes inputfields in repeaters). This makes the source field discoverable from JS in cases where it previously wasn't. 2022-09-30 11:57:08 -04:00
Ryan Cramer
bd6b63c616 Correct phpdoc for $wire var in site-blank profile 2022-09-30 11:55:09 -04:00
Ryan Cramer
b87566d0b3 Minor code improvements and housekeeping for various core classes and modules 2022-09-23 11:19:51 -04:00
Ryan Cramer
d6d68d8cc0 Also add memory_limit check to SystemUpdaterChecks (system checks performed after superuser login) related to processwire/processwire-requests#449 2022-09-23 09:45:44 -04:00
Ryan Cramer
ab7c86da21 Add memory_limit check to PW installer per processwire/processwire-requests#449 2022-09-23 09:25:48 -04:00
Ryan Cramer
c3ea89cf03 Add feature request processwire/processwire-requests#457 - support for returning template property values (name template.name, etc) in $pages->findRaw() 2022-09-20 12:20:14 -04:00
matjazpotocnik
f510392e7e Fix issue #1623 2022-09-20 11:20:18 -04:00
Ryan Cramer
df3a603d66 Bump version to 3.0.205, plus additional minor code updates/improvements in multiple classes 2022-09-16 14:08:57 -04:00
Ryan Cramer
8748c72696 Minor code and phpdoc improvements to various core classes 2022-09-16 13:14:54 -04:00
FlipZoomMedia
5fecec74ec Add PR #244 - remember language tabs focus between requests after a double-click on a language tab 2022-09-16 11:46:32 -04:00
Ryan Cramer
96848654a4 Add PR #228 loop code optimization plus other minor code adjustments in WireFileTools
Co-authored-by: pine3ree <pine3ree@gmail.com>
2022-09-16 10:49:04 -04:00
pine3ree
330be8c05a Add PR #230 fix typo in comments of site-blank _init.php template file 2022-09-16 10:42:40 -04:00
pine3ree
a2614b1a46 Add PR #240 fix phpdoc return type in LanguagesPageFieldValue::getLanguageValue() method 2022-09-16 10:31:19 -04:00
dadish
d02efe55f2 Add PR #241 support pages.find() joinFields option for FieldtypeOptions fields 2022-09-16 09:24:34 -04:00
Ryan Cramer
71e9c50a57 Fix issue processwire/processwire-issues#1618 prevent exif_read_data call on non-jpg images in Pageimage.php 2022-09-16 09:08:43 -04:00
Ryan Cramer
2d29cf935e Fix issue processwire/processwire-issues#1619 by improving the error message when encountering an unsupported name for a module 2022-09-16 08:57:34 -04:00
Ryan Cramer
7711418a12 Update admin.php ajax response to populate new argument in ProcessController::jsonMessage() 2022-09-12 11:26:55 -04:00
Ryan Cramer
95bdbf76ba Add a csrf check to the Lister bookmarks form and make markup disallowed by default (with optional argument to enable it) in ProcessController ajax notification response generator (as used by some Lister errors).
Co-authored-by: filipaze <filipaze98@gmail.com>
Co-authored-by: rondons <guilhermetamagnini@gmail.com>
2022-09-12 11:24:05 -04:00
Ryan Cramer
f6558c25ac Minor code improvements in various classes, mostly phpdoc related 2022-09-12 11:15:53 -04:00
Ryan Cramer
6262fcdff8 Code improvements to ProcessPageEdit module and refactor of change-template form within it. 2022-09-12 09:36:01 -04:00
Ryan Cramer
4aa75a7d17 Update LanguageSupportPageNames module to support fallback to default pagination prefix 'page' when in the admin. This is to resolve an issue in Lister when the default language pagination prefix has been overridden. 2022-09-11 10:12:17 -04:00
Ryan Cramer
818d86feea Minor code updates in ProcessPageListerBookmarks 2022-09-09 14:58:50 -04:00
Ryan Cramer
a04548a814 Update InputfieldWrapper to have an error method that enables you get get Inputfields having errors rather than just getting error messages. 2022-09-09 13:51:36 -04:00
Ryan Cramer
cb026ccc4e Improvements to InputfieldForm module, including a new isSubmitted() method for a better way to check form submission, among other minor updates. 2022-09-09 13:49:25 -04:00
Ryan Cramer
94ca2b8e9a Fix issue where repeater family-friendly depth setting wasn't working when depth setting in field config was set to 1. Previously it only worked when depth setting was set to 2 or higher. 2022-09-05 09:24:07 -04:00
Ryan Cramer
6ca5eac61b Fix additional issues introduced on Friday in Page and PageValues classes 2022-09-04 10:05:23 -04:00
Ryan Cramer
68badf4658 Fix PagesLoaderCache error that appears when TravyDebugger installed 2022-09-04 09:08:40 -04:00
Ryan Cramer
ad4e359bca Major refactor of base Page class, moving a lot of code into a separate PageValues class, reducing the size of the base Page class. Also added new options for the get() method including full support of dot syntax (regardless of output formatting state) (i.e. "field_name.subfield_name.title") and support for brackets[] to force multi-value (i.e. "field_name[]") , indexes (i.e. field_name[0] to get first item), and bracketed selectors (i.e. "some_multi_value_field[title%=design]") and the ability to combine any of these. 2022-09-02 13:14:35 -04:00
Ryan Cramer
a2da7f1a22 Various minor updates 2022-09-02 13:13:08 -04:00
Ryan Cramer
96dae07160 Update to allow for Combo fields within Repeaters to support file/image fields 2022-08-28 10:43:44 -04:00
Ryan Cramer
cbb5133d46 Bump version to 3.0.204 2022-08-26 14:01:35 -04:00
Ryan Cramer
e8219ba71a Additional updates for PHP 8.1+ processwire/processwire-issues#1467 2022-08-26 12:19:06 -04:00
Ryan Cramer
866f91424f Fix issue processwire/processwire-issues#1611 where single-language site using multi-language fields in repeaters were not saving 2022-08-26 11:38:39 -04:00
Ryan Cramer
36702d7b57 Upgrades to Inputfield class: new renderFlags option letting you specify that a given Inputfield should render at the top of bottom of its siblings, regardless of its position (like a sticky attribute); new methods to support adding classes to different elements (wrap, header, content, input) in one call via a string (see addClass method phpdoc for details); new ability to configure classes for for those elements interactively in the Inputfield configuration, which can be useful in FormBuilder, LoginRegisterPro, and other instances; various minor code improvements as well. 2022-08-26 10:39:09 -04:00
Ryan Cramer
647c45d454 Adjustments in ProcessPageEditImageSelect 2022-08-19 15:00:58 -04:00
Ryan Cramer
79cfdd5f38 Minor adjustments in PagesEditor class 2022-08-19 15:00:07 -04:00
Ryan Cramer
38b2dd0732 Minor adjustments and phpdoc updates in Pagefile/Pageimage and related classes 2022-08-19 14:59:41 -04:00
Ryan Cramer
5f0da8067c Minor adjustments and phpdoc updates in Fieldtype and FieldtypeMulti base classes 2022-08-19 14:58:02 -04:00
Ryan Cramer
d0acf570a3 Add FieldtypeHasPagefiles and FieldtypeHasPageimages interfaces and update FieldtypeFile/Image to support them. These interfaces enable a Fieldtype communicate that it manages Pagefile/Pageimage objects and provides a method for retrieving them. 2022-08-19 14:56:36 -04:00
Ryan Cramer
8303efd303 Fix issue processwire/processwire-issues#1605 2022-08-14 10:09:10 -04:00
Ryan Cramer
9bb55785f8 Add owner selector support in ProcessPageSearch per request and code suggestion 2022-08-12 13:35:00 -04:00
Ryan Cramer
03de771b53 Various minor updates, mostly phpdoc related 2022-08-12 13:34:42 -04:00
Ryan Cramer
93b88c6ec3 Additional updates in InputfieldFile to support CKEditor custom fields in files/images. 2022-08-11 10:25:16 -04:00
Ryan Cramer
8daaedc809 Fix issue processwire/processwire-issues#1603 2022-08-05 12:21:26 -04:00
Ryan Cramer
79eebb5210 Additional minor updates to ProcessCommentsManager 2022-08-04 07:55:25 -04:00
Ryan Cramer
eec0975eda Add fix/update for processwire/processwire-issues#1597 using suggested fix provided by @Toutouwai 2022-07-29 12:53:48 -04:00
Ryan Cramer
7fd517dcb4 Add fix for processwire/processwire-issues#1602 using fix provided by @Toutouwai 2022-07-29 12:41:12 -04:00
Ryan Cramer
f27f11fbf6 New additions to ProcessCommentsManager including a new separate dedicated comment editor and the ability to add new comments or replies from within the module. There are still more additions to make to the dedicated comment editor including the ability to select page and parent (though these are already available in the comment list editing screen in this module). 2022-07-29 11:43:48 -04:00
Ryan Cramer
92fefa5476 Update comments.js to allow for de-selection of stars in cases where a user might accidentally click on a stars input and want to revert to no-selection. 2022-07-29 11:37:49 -04:00
Ryan Cramer
94babead9d Various minor updates 2022-07-29 11:37:32 -04:00
Ryan Cramer
67d937b081 Add $hookable option to wireMethodExists() function, enabling it to detect cases where the method may exist in a ___hookable() variation 2022-07-29 11:35:04 -04:00
Ryan Cramer
f71c417c15 Add new allowChildren() method to Comment class indicating whether or not replies are allowed to the comment. Update the editUrl() method to point to ProcessCommentsManager comment editor, when installed. 2022-07-29 11:33:52 -04:00
Ryan Cramer
fe9417dcfc Minor update to CommentArray 2022-07-16 15:03:42 -04:00
Ryan Cramer
25c110818e Bump version to 3.0.203 2022-07-15 16:08:42 -04:00
Ryan Cramer
69a63c1572 Various minor code and documentation updates 2022-07-15 15:30:08 -04:00
Ryan Cramer
c48ed61e06 Upgrade CKEditor version to 4.19.0 2022-07-15 15:27:55 -04:00
Ryan Cramer
2e6dc4426b Upgrade FieldtypeComments to support custom fields via new meta functions. Also upgrade ProcessCommentsManager and InputfieldCommentsAdmin for support. InputfieldCommentsAdmin was also upgraded with an option to link to the comments manager rather than making comments editable in the page editor (see "Input" tab for that config option). 2022-07-15 15:24:00 -04:00
Ryan Cramer
969dc8ebc4 Bump version to 3.0.202 2022-07-08 16:12:47 -04:00
Ryan Cramer
c1aa04b1fe Update for processwire/processwire-issues#1341 add inputmode=decimal attribute to FieldtypeFloat when in decimal input mode 2022-07-08 13:12:07 -04:00
Ryan Cramer
2da2c45382 Additional updates for processwire/processwire-issues#1467 2022-07-08 13:02:33 -04:00
Ryan Cramer
03acb77306 Fix issue processwire/processwire-issues#1595 2022-07-08 12:13:59 -04:00
Ryan Cramer
5d9ee59036 Attempt fix for processwire/processwire-issues#1594 2022-07-08 12:09:18 -04:00
Ryan Cramer
2e76df1a89 Fix issue processwire/processwire-issues#1593 2022-07-08 11:24:29 -04:00
Ryan Cramer
6a9dfe654d Update in WireHttp to correct issue where curl POST method sometimes did not work due to 'expect' header that CURL adds to some requests, plus an extra boundary CURL adds to content-type 2022-07-08 09:43:14 -04:00
Ryan Cramer
d4e2a39940 Update PagesPathFinder to provide 301 redirect for paths ending with "/index.php" rather than responding with a 404 code 2022-07-08 09:30:11 -04:00
Ryan Cramer
31ede89079 Minor updates in Debug class including documentation additions and removeSavedTimer methods 2022-07-08 09:28:26 -04:00
Ryan Cramer
e6a29cb051 Fix issue in WireInput where setUrlSegments() didn't reset all segments when given array of segments smaller than what was previously set. 2022-07-08 09:26:57 -04:00
Ryan Cramer
af950078ed Typo fix in module description for PagePathHistory 2022-06-24 13:32:16 -04:00
Ryan Cramer
f4b938146d Fix issue in the new ProcessPageList "hidden" pages option where it wasn't always working as intended. 2022-06-24 13:31:32 -04:00
Ryan Cramer
818b78a42c Fix issue in WireHttp where it didn't reset the HTTP code description text (like "OK" or "Page Not Found" or "Internal Server Error" between multiple requests. 2022-06-24 13:30:22 -04:00
Ryan Cramer
5d3367846e Fix issue processwire/processwire-issues#1588 2022-06-24 11:07:19 -04:00
Ryan Cramer
c697be7ddd Add partial fix for processwire/processwire-issues#1586
Co-authored-by: pine3ree <pine3ree@gmail.com>
2022-06-24 10:49:26 -04:00
Ryan Cramer
116219292c Fix issue processwire/processwire-issues#1584 2022-06-24 10:29:20 -04:00
Ryan Cramer
b46b29aa8e Fix issue processwire/processwire-issues#1582 2022-06-24 10:04:49 -04:00
Ryan Cramer
4f63edf25e Fix issue processwire/processwire-issues#1575 2022-06-24 09:31:44 -04:00
Ryan Cramer
356cde2d5c Add empty check to Page::get() method to avoid potential illegal offset-type error 2022-06-20 16:03:32 -04:00
Ryan Cramer
be134e1e65 Fix issue in InputfieldSelect.module where optionLabel() method didn't return labels for option values within optgroups 2022-06-20 15:57:40 -04:00
Ryan Cramer
773a344a2f Fix issue in ProcessPageLister where clicking column headings to sort results didn't work when in minimal (modal or frame) mode. 2022-06-03 15:00:33 -04:00
Ryan Cramer
431944c3b2 Add new configuration option to ProcessPageList where you can select pages that should not be shown in the page list (optionally conditional). This is useful for hiding pages like "404 Page Not Found", "Admin" and others that you may not need to appear in the page list. 2022-06-03 14:58:20 -04:00
Ryan Cramer
73a31ef2f9 Add processwire/processwire-requests#445 - Add usage fieldset/info on field edit page primary tab 2022-06-03 14:55:45 -04:00
Ryan Cramer
f0d06cbf8a Bump version to 3.0.201 2022-05-27 13:09:14 -04:00
Ryan Cramer
8d57d0c126 Fix typo in $page->getMultiple() method phpdoc 2022-05-27 11:20:04 -04:00
Ryan Cramer
f0bc888355 Fix issue processwire/processwire-issues#1576 2022-05-27 11:00:58 -04:00
Ryan Cramer
2cf811f76c Fix issue processwire/processwire-issues#1572 2022-05-27 10:47:26 -04:00
Ryan Cramer
6667caa1d0 Add new page editor Inputfield visibility mode 'Tab' which makes any Inputfield display as a page editor tab. Options included for 'Tab', 'Tab (AJAX)', and 'Tab (locked)'. 2022-05-27 10:40:58 -04:00
Ryan Cramer
23a4cb455d Add a new $page->getMultiple($keys); method where $keys can be array or CSV string of properties/fields to return in an array. Returns non-associative array by default, specify $page->getMultiple($keys, true); get to get can associative array indexed by given key names. 2022-05-27 10:35:12 -04:00
Ryan Cramer
3acd7709c1 Update for processwire/processwire-issues#1467 2022-05-20 10:54:23 -04:00
Ryan Cramer
c84a21a9a2 Fix issue processwire/processwire-issues#1568 2022-05-20 10:49:51 -04:00
Ryan Cramer
c686a8e5ea Fix issue processwire/processwire-issues#1569 2022-05-20 09:57:13 -04:00
Ryan Cramer
761e83a5f3 Add @netcarver PR #226 to fix unintentional assignment in conditional, plus minor phpdoc update in InputfieldWrapper
Co-authored-by: netcarver
2022-05-20 08:42:39 -04:00
Ryan Cramer
a0adc207de Fix issue processwire/processwire-issues#1567 2022-05-17 11:25:04 -04:00
Ryan Cramer
924f932145 Update InputfieldImage to auto-generate upload name when client does not provide it (like images dragged into CKE 4.18.0) 2022-05-13 14:54:08 -04:00
Ryan Cramer
3f8e1f6a7a Bump version to 3.0.200 2022-05-13 13:43:43 -04:00
Ryan Cramer
5636a81d15 Various pre-merge documentation and housekeeping updates 2022-05-13 10:34:30 -04:00
Ryan Cramer
b164bc3e23 Upgrade CKEditor version from 4.16.0 to 4.18.0 2022-05-10 15:12:45 -04:00
Ryan Cramer
5a63b7eed7 Fix issue processwire/processwire-issues#1566 2022-05-10 09:46:45 -04:00
Ryan Cramer
1523eba59c Add support for '_custom=...' selector to ProcessPagesExportImport module 2022-05-10 08:27:04 -04:00
Ryan Cramer
bf80df04e9 Various minor code updates 2022-05-10 08:24:50 -04:00
Ryan Cramer
14a9b92c70 Additional updates for processwire/processwire-issues#1467 2022-05-09 11:56:53 -04:00
Ryan Cramer
d3a5b4170a Fix typos in documentation per processwire/processwire-issues#797 2022-05-09 11:05:55 -04:00
Ryan Cramer
c8ecf3f51d Add @matjazpotocnik suggested fix for processwire/processwire-issues#916
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2022-05-09 10:18:20 -04:00
Ryan Cramer
fa3fb8ec89 Various minor code improvements to several core classes primarily aimed at improved IDE inspection and debugging 2022-05-06 14:04:14 -04:00
Ryan Cramer
e4eaf30e8a Add autocomplete=off attribute to InputfieldDatetime inputs using datepicker 2022-05-03 10:43:13 -04:00
Ryan Cramer
a32c574106 Updates to InputfieldPage behavior of selectors containing keyword 'page' like 'field=page.id', like when using dependent selects or referring to page being edited, by adding the alternative 'field=item.id' (using 'item' rather than 'page') to refer to the repeater item. In cases where the field appears outside of a repeater item then the keyword 'item' behaves the same as 'page'. 2022-05-03 10:19:19 -04:00
Ryan Cramer
634c97aa0f Update Lister and InputfieldSelector option to display Template labels (vs Template names) have additional logic as to when they display both, and be consistent with one another. They now take into account the Lister "useColumnLabels" setting as well. 2022-05-02 10:10:11 -04:00
Ryan Cramer
5651742660 Bump version to 3.0.199 2022-04-29 15:06:33 -04:00
Ryan Cramer
01223be0dc Fix issue processwire/processwire-issues#1561 - non-superuser when uploading image in repeater was producing a "no access" error 2022-04-29 11:27:32 -04:00
Ryan Cramer
e0b43606b3 Add cache buster to PWImageResizer.js URL per processwire/processwire-issues#1154 2022-04-29 08:59:21 -04:00
Ryan Cramer
15ae6b938d Refactor of $sanitizer->pagePathName() to make consistent with pageName() per processwire/processwire-issues#1160 2022-04-28 11:37:13 -04:00
Ryan Cramer
c2383feb04 Remove references to autoRotate in PWImageResizer.js per @Toutouwai processwire/processwire-issues#1154 2022-04-28 07:40:33 -04:00
Toutouwai
bc99de09f2 Update PWImageResizer.js to replace exif.js with piexif.js which corrects an issue with client-side image resize orientation 2022-04-27 10:57:00 -04:00
Ryan Cramer
f9f29d2663 Update for processwire/processwire-issues#1467 2022-04-27 10:25:14 -04:00
Ryan Cramer
311a2c9e79 Fix issue processwire/processwire-issues#1560 2022-04-27 10:23:05 -04:00
Ryan Cramer
4ced00d0f9 Attempt fix for issue processwire/processwire-issues#1550 2022-04-27 10:06:17 -04:00
Ryan Cramer
cde0f53ad6 Fix issue processwire/processwire-issues#1536 2022-04-27 08:38:46 -04:00
Ryan Cramer
6001475a3c Update PageFinder to allow partial text matching in default language page paths in multi-language environment 2022-04-25 11:01:48 -04:00
Ryan Cramer
662cf5eee5 Add option to WireHttp for setting cookies to use in an http request (currently supported only by the curl http get/post methods) 2022-04-22 14:13:15 -04:00
Ryan Cramer
17bbe4d9ff Add system update 20 which corrects an issue in the DB where some original/core system pages had an incorrect (though inconsequential) created_users_id that referred to the admin page rather than the original admin user. 2022-04-22 11:47:42 -04:00
Ryan Cramer
d24b942921 Add @adrianbj PR #214 which adds a configurable columns option for Selector fields.
Co-authored-by: adrianbj <adrian@visualscience.ca>
2022-04-22 11:28:26 -04:00
Ryan Cramer
7159279ac8 Additional updates for processwire/processwire-issues#1467 2022-04-22 10:36:03 -04:00
Ryan Cramer
6fcd7a7038 Fix issue reported by @olafgleba in processwire/processwire-issues#1497 where image variation list wouldn't delete corresponding webp extras when jpg/png variation deleted and webpAdd option used. 2022-04-22 09:54:06 -04:00
Ryan Cramer
5028dd6ad4 Update ProcessPageLister to recognize fields that are not sortable, such as those from FieldtypeRuntimeOnly 2022-04-19 11:17:33 -04:00
Ryan Cramer
78ae5e3f56 Fix issue in Lister bookmarks where columns could be lost for a non-superuser owned bookmark when modifying an existing bookmark 2022-04-19 09:56:04 -04:00
Ryan Cramer
89d46632b3 Bump version to 3.0.198 2022-04-15 14:33:46 -04:00
Ryan Cramer
cd35d103dd Various minor updates and code improvements 2022-04-15 14:32:34 -04:00
horst-n
b1457698c8 Add @horst-n ImageSizer fixes for image orientation/rotation 2022-04-15 12:42:56 -04:00
Ryan Cramer
f2b27cca75 Fix issue processwire/processwire-issues#1558 2022-04-15 11:02:40 -04:00
Ryan Cramer
2a8899dcd9 Fix issue processwire/processwire-issues#1557 2022-04-15 10:51:39 -04:00
Ryan Cramer
7d8a031cbd Fix issue processwire/processwire-issues#1556 2022-04-15 10:47:18 -04:00
Ryan Cramer
3c28ecd16c Fix issue processwire/processwire-issues#1554 2022-04-15 10:45:16 -04:00
Ryan Cramer
cf2f209f8c Add support for a nulls option to $pages->findRaw(). This makes it populate null values for fields not present, rather than omitting them completely. Requested in processwire/processwire-issues#1553 2022-04-15 10:40:08 -04:00
Ryan Cramer
0d2b570454 Updates for processwire/processwire-issues#1552 2022-04-15 08:59:34 -04:00
Ryan Cramer
047ffb1c20 Add support for runtime page cache groups. This enables pages to be cached as a group, or more importantly, uncached as a group. It was added primarily to add efficiency to $pages->findMany(), so that it can cache supporting pages (like parents of pages returned by findMany). Previously, it would have to load a fresh copy of each supporting page used by findMany(), for every returned page, since findMany() used no in-memory caching, otherwise you could run out of memory on large results. So if you iterated a $pages->findMany() result and output the URL of each page (which loads parents), then it would have to reload all those parents for each iteration. Now it can cache them for each chunk of 250 pages, offering a significant potential performance improvement in many cases. 2022-04-14 08:11:19 -04:00
Ryan Cramer
f05943baaa Add support in PagesPathFinder for default pagination prefix (pageNumUrlPrefix) even when overridden by default language setting in LanguageSupportPageNames module. Previously, it could potentially break pagination in some places (in admin) if you overrode the default language pagination prefix in that module. 2022-04-14 07:48:45 -04:00
Ryan Cramer
0fe1d7da76 Add support for dependent selects within repeater items. This works so long as the fields used by the dependent selects don't also appear again in the page editor outside of repeater fields. 2022-04-13 11:43:01 -04:00
Ryan Cramer
47f2742b72 Updates for processwire/processwire-issues#1467 2022-03-29 08:22:13 -04:00
Ryan Cramer
527f844403 Fix issue processwire/processwire-issues#1549 2022-03-28 08:46:00 -04:00
Ryan Cramer
fa3d463d3b Bump version to 3.0.197 2022-03-25 14:50:33 -04:00
Ryan Cramer
af451350a4 Add feature request processwire/processwire-requests#346 - add support for Inputfield::collapsedNoLocked and add a separate collapsedBlankLocked constant 2022-03-25 13:58:05 -04:00
Ryan Cramer
415969e8bf Add feature request processwire/processwire-requests#339 - improvements to PageListSelectMultiple based on concept from module by @Toutouwai 2022-03-25 13:34:22 -04:00
Ryan Cramer
c4f2385e72 Add processwire/processwire-requests#400 Add CSV read helper methods $files->getCSV() and $files->getAllCSV() 2022-03-25 10:49:01 -04:00
Ryan Cramer
3f1f2ee4fb Add phpdoc "see" notes in Pages.php per processwire/processwire-issues#1547 2022-03-24 11:08:33 -04:00
Ryan Cramer
da060996ec Improvements to WireTextTools::markupToText() method with new options: The 'clearTags' removes inner content of specified tags, in addition to the tags themselves, default value removes inner content of script, styel and object tags (this is to accommodate feature requested in processwire/processwire-issues#1546). The 'linksToMarkdown' option converts HTML links to Markdown style links like "[text](url)" rather than the existing "text (url)" style links that it uses by default. This version also has additional logic to prevent empty list items and links. 2022-03-24 09:44:04 -04:00
Ryan Cramer
1b5cd4f50e Fix issue where clone action icon didn't appear on a nested repeater within a FieldtypeFieldsetPage 2022-03-20 10:55:13 -04:00
Ryan Cramer
0674776c4b Fix issue processwire/processwire-issues#1513 2022-03-18 14:38:20 -04:00
Ryan Cramer
a5e397d005 Additional updates for processwire/processwire-issues#1467 2022-03-18 13:49:01 -04:00
Ryan Cramer
11a15840d3 Fix issue processwire/processwire-issues#1544 2022-03-18 10:18:39 -04:00
Ryan Cramer
f69c0ad39f Fix issue processwire/processwire-issues#1543 2022-03-18 09:26:28 -04:00
Ryan Cramer
fd538897d0 Fix issue processwire/processwire-issues#1542 2022-03-18 08:57:19 -04:00
Ryan Cramer
3280507bec Fix issue processwire/processwire-issues#1540 2022-03-18 08:47:37 -04:00
Ryan Cramer
83019b173b Fix issue processwire/processwire-issues#1539 2022-03-18 08:36:44 -04:00
Ryan Cramer
f66b2f2df8 Bump version to 3.0.196 2022-03-11 13:29:56 -05:00
Ryan Cramer
d743606b70 Various minor fixes 2022-03-11 13:27:31 -05:00
Ryan Cramer
989b94e532 Upgrades to InputfieldWrapper class including new insert() and getByAttr() methods and expanding the insertBefore() and insertAfter() methods to accept Inputfield names or arrays as suggested by PR #216
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2022-03-09 11:21:53 -05:00
Ryan Cramer
1a7ecc6adf Add PR #213 which adds support for selector string in WireArray::remove()
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2022-03-08 15:13:17 -05:00
BernhardBaumrock
39a4db1ecd Add PR #212 - add module class names on hover of module titles in ProcessModule 2022-03-08 15:08:09 -05:00
BernhardBaumrock
b3dd6fae7a Add PR #218 - add typehints to site/ready, init and finished 2022-03-08 14:25:40 -05:00
BernhardBaumrock
eb6d6971f7 Add PR #217 - hide compile message for non superusers 2022-03-08 14:21:03 -05:00
Ryan Cramer
d978eccbc9 Add PR #215 to enable additional markup customization options in AdminThemeUikit via @BernhardBaumrock
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2022-03-08 11:42:35 -05:00
Ryan Cramer
8b46cb6fd0 Fix issue in InputfieldRepeater where entity encoded quotes could get confused as hex color codes for repeater item colors feature 2022-03-06 09:10:34 -05:00
Ryan Cramer
1dc0f0e524 Minor update in $sanitizer for the testAll() method 2022-03-04 16:23:58 -05:00
Ryan Cramer
4b38a649bf Fix issue processwire/processwire-issues#1517 2022-03-04 10:05:41 -05:00
Ryan Cramer
9912951d2b Fix issue processwire/processwire-issues#1534 2022-03-04 10:00:56 -05:00
Ryan Cramer
f504e9b53d Attempt fix for issue processwire/processwire-issues#1538 2022-03-04 09:41:32 -05:00
Ryan Cramer
b7806022af Fix issue processwire/processwire-issues#1527 2022-03-04 09:10:19 -05:00
Ryan Cramer
439703abdf Attempt fix for issue processwire/processwire-issues#1536 2022-03-04 08:28:33 -05:00
Ryan Cramer
fec9432a03 Add new $sanitizer->words() method and rewrite existing $sanitizer->word() method 2022-03-03 11:17:10 -05:00
Ryan Cramer
7241de5145 Bump version to 3.0.195 2022-02-25 16:42:20 -05:00
Ryan Cramer
ffc95a04a8 Make ProcessLanguage::processCSV() method hookable per request 2022-02-25 14:17:15 -05:00
Ryan Cramer
9a8942ae9d Update site-blank profile to have a /site/classes/ placeholder directory along with HomePage.php file as example/placeholder to ensure directory exists. 2022-02-25 14:15:22 -05:00
Ryan Cramer
415ea172c8 Fix issue processwire/processwire-issues#1530 2022-02-25 12:06:17 -05:00
Ryan Cramer
3c139fec06 Fix issue processwire/processwire-issues#1531 PHP-8 deprecation warnings 2022-02-25 12:02:51 -05:00
Ryan Cramer
7796807d19 Fix issue processwire/processwire-issues#1532 2022-02-25 11:46:35 -05:00
Ryan Cramer
7d91b43bba Update WireCache to avoid loading unnecessary templates plus a minor fix 2022-02-25 11:45:35 -05:00
Ryan Cramer
c01c44186e Update Field getFieldgroups() and getTemplates() methods to pull from DB rather than API (to avoid loading all templates/fieldgroups) and move the code from Field class into Fields class. 2022-02-25 11:26:31 -05:00
Ryan Cramer
fab59a5f4b Fix issue processwire/processwire-issues#1533 2022-02-25 08:37:00 -05:00
Ryan Cramer
1eb156f1aa Fix issue processwire/processwire-issues#1535 2022-02-24 12:09:54 -05:00
Ryan Cramer
aa87cc5603 Bump version to 3.0.194 2022-02-11 15:24:14 -05:00
Ryan Cramer
c3dd894094 Minor updates in Process class 2022-02-11 14:31:09 -05:00
Ryan Cramer
aa4628b638 Update ProcessPageAdd so that it doesn't have to trigger loading of all templates/fieldgroups/fields on every instance and instead only once per session or whenever a change is made in ProcessTemplate 2022-02-11 11:57:51 -05:00
Ryan Cramer
4258870aaa Update related to processwire/processwire-issues#1526 - prevent asmSelect for marking an item "pending delete" unless the item was already selected when the page rendered 2022-02-11 09:32:07 -05:00
Ryan Cramer
e0fa2c32e3 Minor updates in WireSaveableItems and this should also fix the issue with listing all items not being alpha sorted 2022-02-10 14:03:23 -05:00
Ryan Cramer
598a3a7df5 Update WireArray::sort to sort more like PHP's sort so that null or blank string values are sorted rather than appended. Add a SORT_APPEND_NULLS flag for the previous behavior too. @Toutouwai brought this one up before but I can't seem to find where it was to reference it here. 2022-02-10 14:00:50 -05:00
Ryan Cramer
a5c70a4e7d Upgrade core to have lazy-loading option for Fields, Templates, Fieldgroups. Collaboration with @thetuningspoon for boot performance improvement on installations with large quantities of fields/templates/fieldgroups. Lazy loading option is enabled by default but can be disabled by setting $config->useLazyLoading=false; in your /site/config.php file.
Co-authored-by: thetuningspoon <mspooner@hey.com>
2022-02-04 14:51:11 -05:00
Ryan Cramer
9a1cf64e02 Add a Page::render timer that is used in debug mode and shown in the Debug > Timers accordion item 2022-02-04 14:25:43 -05:00
Ryan Cramer
4c96ff94e2 Update ProcessPageEdit so that the template selection input (settings tab) is Ajax-loaded, like the parent selection input 2022-02-04 14:25:03 -05:00
Ryan Cramer
54d820e622 Update ProcessPageLister to identify when columns are not sortable 2022-02-04 14:23:20 -05:00
Ryan Cramer
ebb4663b84 Add a Template::setRaw() method, phpdoc fix in Paths class and update the $trackChanges property in Wire base class to be protected rather than private (as an optimization) 2022-02-04 14:20:27 -05:00
Ryan Cramer
36f051e129 Add $sanitizer->entitiesA() and $sanitizer->entitiesA1() methods for entity encoding values in arrays 2022-01-28 13:15:04 -05:00
Ryan Cramer
218946a8b5 Fix issue processwire/processwire-issues#1487 2022-01-28 12:07:32 -05:00
Ryan Cramer
11b0358290 Fix issue processwire/processwire-issues#1498 2022-01-28 11:43:32 -05:00
Ryan Cramer
400399ce60 Fix issue processwire/processwire-issues#1435 2022-01-25 11:08:15 -05:00
Ryan Cramer
25da592578 Additional updates for processwire/processwire-issues#1467 2022-01-24 11:07:10 -05:00
Ryan Cramer
beaad6e8dd Fix issue processwire/processwire-issues#1509 2022-01-24 10:36:43 -05:00
Ryan Cramer
d30f584190 Fix issue processwire/processwire-issues#1511 2022-01-24 10:33:41 -05:00
Ryan Cramer
22315d3cb5 Fix issue processwire/processwire-issues#1510 2022-01-24 08:45:14 -05:00
Ryan Cramer
7f56c817e0 InputfieldCKEditor updates to fix and improve support of CKE contextual settings in Repeater/RepeaterMatrix types 2022-01-23 10:36:48 -05:00
Ryan Cramer
76e7855e83 Remove phpdoc for non-existing hook method 2022-01-21 16:46:56 -05:00
Ryan Cramer
bccd8aad5f Bump version to 3.0.193 2022-01-21 16:46:28 -05:00
Ryan Cramer
5e11b28587 Fix issue processwire/processwire-issues#1507 2022-01-21 13:23:10 -05:00
Ryan Cramer
39f9cf42f2 Add the following new hooks to $templates, $fields and $fieldgroups: renameReady($item, $oldName, $newName); renamed($item, $oldName, $newName); Added the following new hooks to $fieldgroups: fieldAdded($fieldgroup, $field); fieldRemoved($fieldgroup, $field); Make template selectable for Page fields in InputfieldSelector, plus other minor updates. 2022-01-21 12:21:05 -05:00
Ryan Cramer
a7a4055632 Update ProcessModule to have a raw/JSON module configuration data editor and a raw/JSON info viewer. These options are available in $config->advanced=true; mode in the "Module Information" table that appears when viewing/editing a module in ProcessModule. 2022-01-21 10:19:58 -05:00
Ryan Cramer
43c27b103a Fix issue processwire/processwire-issues#1506 2022-01-20 12:03:28 -05:00
Ryan Cramer
2818aecb96 Fix issue processwire/processwire-issues#1505 2022-01-17 08:39:43 -05:00
Ryan Cramer
48f3db2b0c Fix issue where findRaw could get error when returning referencs where none existed 2022-01-16 12:43:04 -05:00
Ryan Cramer
883b0ab438 Code improvements and some refactoring of ProcessTemplate module 2022-01-14 13:45:14 -05:00
Ryan Cramer
842ea3df79 Improvements to WireHttp::send() method and update to use CURL first when available (rather than fopen) 2022-01-14 13:43:56 -05:00
Ryan Cramer
3a9416b8f2 Improvements to $pages->findRaw() based on requests. Added support getting "parent.field" and "parent.parent.field", etc. Added support for "references" and "references.field", etc. which returns matches from pages referencing the found pages via page reference fields (optionally include 'references.field' in requested fields list to index references by field name). Added support for FieldtypeOptions fields so that they can now return label, value, id or any of them by adding "your_options_field.label" (for example) in your requested $fields. Added new "flat" option which makes it returned flattened arrays for each page match... when used results are indexed in the same way they are requested, for example a result like [ 'page_field' => [ 'title' => 'Some title' ]] becomes [ 'page_field.title' => 'Some title' ]. Added support for requesting field 'meta' and 'meta.name' which returns Page meta data that you would usually access from $page->meta('name'). A few of these requests came from processwire/processwire-requests#427 2022-01-14 13:34:26 -05:00
Ryan Cramer
fcdaf277ce Additional updates for processwire/processwire-issues#1502 2022-01-12 10:24:08 -05:00
Ryan Cramer
1729e71808 Additional updates for processwire/processwire-issues#1502 2022-01-11 14:57:05 -05:00
Ryan Cramer
6c29350918 Additional updates, additions and fixes to $sanitizer->float(), InputfieldFloat and FieldtypeFloat per processwire/processwire-issues#1502 2022-01-11 09:51:52 -05:00
Ryan Cramer
062f2293d0 Bump version to 3.0.192 2022-01-07 14:18:32 -05:00
Ryan Cramer
38506eb6dc Additional update for processwire/processwire-issues#1502 2022-01-07 14:01:20 -05:00
Ryan Cramer
85e0501988 Update FieldtypeModule to support better selector matching and selector info 2022-01-07 13:43:57 -05:00
Ryan Cramer
acc8c5606d Add new wireLength() function to make up for for reduced flexibility of PHP 8.1+ strlen() 2022-01-07 13:41:34 -05:00
Ryan Cramer
d2e6d5f240 Fix issue processwire/processwire-issues#1501 2022-01-07 13:22:53 -05:00
Ryan Cramer
fc0db2bb22 Fix issue processwire/processwire-issues#1495 2022-01-07 12:58:53 -05:00
Ryan Cramer
6e81c70446 Fix issue processwire/processwire-issues#1502 2022-01-07 11:27:48 -05:00
Ryan Cramer
fff53a694d Fix issue processwire/processwire-issues#1479 2022-01-07 09:49:58 -05:00
Ryan Cramer
6b66fac0cf Fix issue processwire/processwire-issues#1500 2022-01-06 11:53:18 -05:00
Ryan Cramer
5dab38539f Add modification similar to PR #196 - Allow runtime accessors as language tab labels
Co-authored-by: daun <post@philippdaun.net>
2022-01-06 11:41:50 -05:00
Ryan Cramer
6af9f5d1c9 Add PR #204 - Add links to quickly edit a file in other languages
Co-authored-by: MrSnoozles <mrsnoozles@gmail.com>
2022-01-05 13:11:25 -05:00
Ryan Cramer
d1a6e2303d Various minor Inputfield code and phpdoc improvements 2022-01-05 10:08:43 -05:00
Radon8472
49de9483ce Add PR #206 Fix: WireCache output buffer not closed 2022-01-04 11:43:19 -05:00
BernhardBaumrock
8c10a7052a Add PR #208 for support of changing LESS style via PHP 2022-01-04 11:27:06 -05:00
Ryan Cramer
7f79f6c236 Upgrade htmlpurifier to 4.14.0 2022-01-04 07:53:11 -05:00
Ryan Cramer
912c9bb30e Additional updates for processwire/processwire-issues#1467 via @matjazpotocnik 2022-01-03 15:03:33 -05:00
Ryan Cramer
5192b3a922 Fix issue processwire/processwire-issues#1481 2021-12-31 10:47:06 -05:00
Ryan Cramer
ee64e114f2 Add “#[\ReturnTypeWillChange]” comments to all InteratorAggregate, Countable and PDOStatement interface classes to stop PHP 8.1 notices per https://php.watch/versions/8.1/internal-method-return-types and processwire/processwire-issues#1467 ... someday when all PHP 5.x support can be dropped these will be converted to PHP 7.1+ return types 2021-12-31 09:19:09 -05:00
Tyde
bca50abb48 Add PR #205 which fixes processwire/processwire-issues#1488 2021-12-30 14:44:54 -05:00
Ryan Cramer
da43be7d12 Fix issue processwire/processwire-issues#1491 2021-12-30 09:58:40 -05:00
Ryan Cramer
3c983f9b51 Fix issue where adding a new page was broken by commit b47297fd4a 2021-12-28 09:03:59 -05:00
Ryan Cramer
18ae00f485 Bump version to 3.0.191 2021-12-24 11:41:08 -05:00
Ryan Cramer
16f33704fa Add getPage() method back into ProcessPageView 2021-12-24 11:39:34 -05:00
Ryan Cramer
4344df336b Fix issue processwire/processwire-issues#1490 2021-12-24 10:49:22 -05:00
Ryan Cramer
b47297fd4a Small updates/corrections to $pages->newPage(); plus add property equivalents for several $pages API methods 2021-12-24 10:48:15 -05:00
Ryan Cramer
d9d66249de Fix issue processwire/processwire-issues#1493 2021-12-24 09:12:11 -05:00
Ryan Cramer
0d865f78ef Additional installer updates and add support for a /site/install/finish.php file that one can use to automatically apply additional updates to the site once the site profile finishes installing. Example being added to ProcessExportProfile module. 2021-12-22 12:55:14 -05:00
Ryan Cramer
6dee053250 Installer updates to improve profile selection instruction and options. Added a refresh button on profile screen. Added new page at processwire.comw with description of all profiles. Other minor improvements in installer. 2021-12-21 13:02:48 -05:00
Ryan Cramer
fd204c6b01 Remove site profiles: site-classic, site-default, site-beginner, site-languages, site-regular... leaving just site-blank. The other profiles have been moved to their own repos. Also some small updates to site-blank profile just so the template files are slightly more useful if someone doesn't install another. 2021-12-17 13:33:30 -05:00
Ryan Cramer
697158d653 Fix issue processwire/processwire-issues#1485 2021-12-15 13:49:02 -05:00
Ryan Cramer
fa98695f4e Fix issue processwire/processwire-issues#1482 2021-12-10 11:38:53 -05:00
Ryan Cramer
b78741a564 Fix issue processwire/processwire-issues#1483 2021-12-10 10:54:25 -05:00
Ryan Cramer
f4592435aa Add a $pages->new() API method which is similar to $pages->add() in that it creates a new page in the DB, except that the new() method accepts a selector string (or array) rather than the specific arugments if the add() method The new() method can also figure out the appropriate template or parent on its own (if available in family settings). This commit also updates the existing $pages->newPage() method (which creates a new page in memory only) to also accept the same selector string/array as the new() method. These updates are thoroughly phpdoc'd with the methods. 2021-12-10 10:39:26 -05:00
Ryan Cramer
48c9b54c5b Bump version to 3.0.190 2021-12-03 15:15:31 -05:00
Ryan Cramer
3e8a0336e4 Fix issue processwire/processwire-issues#1447 2021-12-03 11:16:01 -05:00
Ryan Cramer
c322cb98ef Various minor updates 2021-12-03 10:56:59 -05:00
Ryan Cramer
b49a44e813 Add 'trim' option to $sanitizer->array() method which trims string values in an array of leading/trailing whitespace. Default value for this option is true. 2021-12-03 10:48:12 -05:00
Ryan Cramer
025e75116b Add $pages->raw()->col() and $pages->raw()->cols() methods for when needing to retrieve a native pages table column by id quickly. This is intended for internal core use, though maybe occasionally useful for others. 2021-12-03 10:45:20 -05:00
Ryan Cramer
d08cdc8ced Add code from processwire/processwire-issues#993 2021-12-03 10:03:18 -05:00
Ryan Cramer
b364eda4ef Add option to repeaters enabling you to specify whether repeater item controls (delete, insert, clone, etc.) should be always visible or visible only when the header is hovered. Updated the default to be visible when only hovered as this reduces clutter. This commit also fixes an issue with custom header background colors (in matrix) not supporting matrix item type names that started with a number (i.e. "1-column-text"). This commit also fixes processwire/processwire-issues#1472 where the usual left/right outlines weren't showing for opened repeater items. 2021-12-02 11:32:23 -05:00
Ryan Cramer
46215bdfc2 Add database selector PageFinder support for id.sort=3|2|1 which is the same as id=3|2|1 except that it also forces it to load the pages in the order given, unless overridden by a different sort= in the selector. This is related to the request in processwire/processwire-issues#1477 2021-11-30 13:57:05 -05:00
Ryan Cramer
bf3c442f38 Fix issue processwire/processwire-issues#1448 2021-11-30 11:25:05 -05:00
Ryan Cramer
73422a9649 Fix issue processwire/processwire-issues#1471 2021-11-30 10:10:08 -05:00
Ryan Cramer
b8fa751b6b Fix issue processwire/processwire-issues#1476 plus add support for searching subfields in ProcessPageSearch (like for PageAutocomplete, etc.) 2021-11-28 09:29:48 -05:00
Ryan Cramer
86498bdc54 Correction to previous commit 2021-11-19 14:26:00 -05:00
Ryan Cramer
8e1608ac6f Fix issue processwire/processwire-issues#1467 2021-11-19 11:43:49 -05:00
Ryan Cramer
b8172c6605 Fix issue processwire/processwire-issues#1461 using fix suggested by @Radon8472 2021-11-19 10:44:47 -05:00
Ryan Cramer
43347472f3 Update the $pages->add() method to pull a fresh copy of the $page from the database after it has been added. This helps with some API usages where returned $page may have not been fully initialized in some cases. 2021-11-19 10:24:54 -05:00
Ryan Cramer
8a22e5f095 Add support for specifying a background color for repeater items by type. This is likely only useful in RepeaterMatrix but had to be added to the core repeater to support. The way you define it is by specifying a color hex code like #999999 or #999 somewhere in the repeater item type label (I suggest at the end). The color hex code will be removed from the label automatically and used to change its background color. Note that the text color is white, so use only background colors that would work with white text. 2021-11-19 10:13:45 -05:00
Ryan Cramer
c758c070c1 Bump version to 3.0.189 2021-11-05 16:42:04 -04:00
Ryan Cramer
88ef1ac681 Minor updates in LanguagesPageFieldValue to correct warnings under some rare cases 2021-11-05 13:45:33 -04:00
Ryan Cramer
031ff59852 Add a PagesEditor::clear() method for clearing a page's data, plus add a PagesEditor::replace() method for replacing one page with another, but it is currently a work in progress (not yet in public API) 2021-11-05 13:34:17 -04:00
Ryan Cramer
bed389dba8 Various small improvements to ProcessPageEdit, plus add an ajaxSaveDone() hookable method to make it possible to control the json output returned after an ajax save operation. 2021-11-05 13:30:13 -04:00
Ryan Cramer
75fd81b37d Update InputfieldFile, InputfieldImage, InputfieldPageAutocomplete, InputfieldPageListSelect and InputfieldPageTable so that they trigger sorted events when a drag/sort occurs. 2021-11-05 13:27:49 -04:00
Ryan Cramer
bd6e9d6a73 Update jquery.asmselect.js so that it triggers a sorted event when items are drag/sorted 2021-11-05 13:25:41 -04:00
Ryan Cramer
9e118ac519 Update InputfieldRepeater.js so that it triggers change and sorted events when items are sorted 2021-11-05 13:25:02 -04:00
Ryan Cramer
e5898cc4f6 Implement replacePageField method for FieldtypeRepeater 2021-11-05 13:24:14 -04:00
Ryan Cramer
e3e91dc363 Implement the emptyPageField and replacePageField methods for FieldtypeFile 2021-11-05 13:22:55 -04:00
Ryan Cramer
495d2e1b5d Update Fieldtype base class to expend methods for emptying a page field's table vs. deleting it 2021-11-05 13:20:42 -04:00
Ryan Cramer
e56ee2e7bf Bump version to 3.0.188 2021-10-29 14:58:38 -04:00
Ryan Cramer
a19a224c20 Add support for copy and paste of repeater items between pages (or same page). To copy, click the copy/clone icon and a dialog will appear asking what action you want. Use the same dialog action to paste. This also updates the clone feature to support insert before/after. 2021-10-29 11:23:44 -04:00
Ryan Cramer
a16c43f010 Fix issue with non-default language pagination segment prefixes when in admin 2021-10-28 13:39:54 -04:00
Ryan Cramer
a82ee80c41 Various small improvements to FieldtypeRepeater. Plus add a "Storage settings" configuration that lets you configure it to use fewer pages for storage (lazyParents mode), as well as a tool to delete unnecessary pages that already exist. 2021-10-27 14:21:22 -04:00
Ryan Cramer
239875c3d6 Fix issue processwire/processwire-issues#1460 2021-10-27 14:17:51 -04:00
Ryan Cramer
bd10426593 Improvements to LanguagesPageFieldValue class 2021-10-25 09:29:04 -04:00
Ryan Cramer
0479e6d3ce Minor code improvements in FieldtypeRepeater 2021-10-25 09:28:25 -04:00
Ryan Cramer
234487be6c Bump version to 3.0.187 2021-10-22 15:24:35 -04:00
Ryan Cramer
2739d90a5d Additional updates to InputfieldRepeater 2021-10-22 15:23:48 -04:00
Ryan Cramer
bbb7ea3857 Fix issue in PagesPathFinder with required vs. disallowed trailing slash setting for root level pages 2021-10-22 15:21:50 -04:00
Ryan Cramer
b269c1cad7 Update repeaters clone feature to clone in place, next to item cloned from (rather than inserting newly cloned item at bottom) 2021-10-21 13:12:30 -04:00
Ryan Cramer
a4555e1271 Fix issue where LanguageSupportPageNames::pageNotAvailableInLanguage wasn't working properly when redirect options selected 2021-10-18 08:16:26 -04:00
Ryan Cramer
c9fef983bc Bump version to 3.0.186 2021-10-15 15:29:11 -04:00
Ryan Cramer
7e5f6c85ec Upgrade Repeaters with ability to insert before/after existing items 2021-10-15 15:22:16 -04:00
Ryan Cramer
6315a3db60 Additional updates, improvements, optimizations to PagesPathFinder 2021-10-13 13:33:57 -04:00
Ryan Cramer
abcce91e4b Updates to PagePaths and PagePathHistory modules, adding support for root segments, among other things 2021-10-13 13:32:59 -04:00
Ryan Cramer
511a068b69 Add support for the initValue property to InputfieldTextarea. Previously it was present as an option but didn't work. 2021-10-08 15:54:58 -04:00
Ryan Cramer
aa4fbd4dd9 Continued updates to PagesRequest, PagesPathFinder, LanguageSupportPageNames, ProcessPageView and related modules 2021-10-08 15:52:07 -04:00
Ryan Cramer
5ed2e3047e Attempt fix for issue processwire/processwire-issues#1446 2021-10-05 08:48:51 -04:00
Ryan Cramer
3cf1ba5cab Various updates primarily aimed at simplifying the check for presence of LanguageSupportPageNames module 2021-10-04 11:13:25 -04:00
Ryan Cramer
f61feb56fd Fix issue processwire/processwire-issues#1439 2021-10-04 10:56:12 -04:00
Ryan Cramer
68bd38d1c9 Attempt fix issue processwire/processwire-issues#1443 2021-10-04 10:29:50 -04:00
Ryan Cramer
c988925111 Fix issue processwire/processwire-issues#1442 2021-10-04 09:45:02 -04:00
Ryan Cramer
dad7003072 Fix issue processwire/processwire-issues#1444 2021-10-04 08:30:30 -04:00
Ryan Cramer
808ba2ddb3 Rewrite/refactor ProcessPageView module so that it now uses the new core PagesRequest/PagesPathFinder classes. 2021-10-01 13:43:22 -04:00
Ryan Cramer
59c8880dc1 Add new $pages->getInfoByPath() method which is a shortcut to the new $pages->pathFinder()->get($path) method. Also add a new $pages->getOneById() method which is a shortcut to the $pages->getById() method with the 'getOne' option assumed (so it returns a Page rather than a PageArray). 2021-10-01 13:41:56 -04:00
Ryan Cramer
38b06b36f7 Several upgrades to the LanguageSupportPageNames module, with more on the way. Also adds a new module config option (and hook) for letting you specify what should happen when a page is accessed in a language it is not available in (redirect or 404). Note that this update drops existing pages table indexes used by this module and re-creates them in a manner that significantly improves performance. For a large site, there may be a significant delay following upgrade as it creates the new table indexes. Remember to do a Modules > Refresh so that PW sees the version change. 2021-10-01 13:35:40 -04:00
Ryan Cramer
8994317163 Add a new $pages->loader()->findByName() method plus performance improvements to the $pages->findByPath() method 2021-10-01 13:32:47 -04:00
Ryan Cramer
742e3e683d Add a $languages->pageNames() shortcut method for accessing the LanguageSupportPageNames module directly, when installed. 2021-10-01 13:26:25 -04:00
Ryan Cramer
45bffa6f72 Add new Template::isValidUrlSegmentStr($value) method that validates if given URL segment string $value matches the rules defined for that template. 2021-10-01 13:25:11 -04:00
Ryan Cramer
41bc9700e6 Upgrade the core PagePathHistory module with a powerful new getPathInfo() method (used by PagesPathFinder class when installed) 2021-10-01 13:24:21 -04:00
Ryan Cramer
27e2c226f3 Add $user->setLanguage() method for quietly setting a user language at runtime 2021-10-01 13:23:11 -04:00
Ryan Cramer
d0f7961d89 Upgrade core PagePaths module for multi-language page name support. Previously it asked you to uninstall it if you had multi-language, but now it has full support! 2021-10-01 13:21:00 -04:00
Ryan Cramer
fc1b252d04 Add $input->setUrlSegments() convenience method to WireInput 2021-10-01 13:19:38 -04:00
Ryan Cramer
62a64de93b Add PagesRequest class to core 2021-10-01 13:18:47 -04:00
Ryan Cramer
c02a9d6f4d Add PagesPathFinder class to core 2021-10-01 13:17:44 -04:00
Ryan Cramer
8cb157abbb Bump version to 3.0.185 2021-09-17 15:50:07 -04:00
Ryan Cramer
75db68ef06 Several additions to $database API var: Add option to $database->getColumns() method to get the column type as used in a CREATE TABLE statement. Add $database->renameColumns() and $database->renameColumn() methods that enable you to rename columns without having to know the column type (something that MySQL versions prior to 8.x require). Add a $getNumberOnly argument to $database->getVersion() method to return the version number without vendor suffix. Add a $database->getServerType() method that returns the MySQL server type: MariaDB, MySQL, Percona, etc. 2021-09-17 15:49:15 -04:00
Ryan Cramer
f5c3fada32 Minor code updates in $modules plus a small documentation update for WireMail 2021-09-17 15:44:17 -04:00
Ryan Cramer
82342089bc Fix issue processwire/processwire-issues#1437 2021-09-17 09:27:29 -04:00
Ryan Cramer
ba14fbde0a Fix issue processwire/processwire-issues#1436 where $pages->findJoin() used on file/image fields was resulting in them being blank in returned pages 2021-09-17 08:14:54 -04:00
Ryan Cramer
976ca7ab25 Fix issue processwire/processwire-issues#1438 2021-09-13 14:34:33 -04:00
Ryan Cramer
5fc01ef102 Minor refactoring/updates in PageRender, plus remove the template!=admin exclusion for the field rendering 2021-09-10 12:00:08 -04:00
Ryan Cramer
429e43506c Refactoring in PageFinder to support new features such as OR values for status (i.e. "status=hidden|unpublished"), updating limit to support both start and limit in one (i.e. "limit=5|10" is shorthand for "start=5, limit=10"), updating sort to support multi-value (i.e. "sort=date|title" is shorthand for "sort=date, sort=title"), plus other related minor improvements. 2021-09-10 11:05:18 -04:00
Ryan Cramer
70ff49dfc4 Update WireDatabasePDO::pdoType() to fix issue in reader/writer detection when query had leading whitespace or newlines in unexpected locations 2021-09-10 08:57:09 -04:00
Ryan Cramer
d78276e2c2 Fix small typo in phpdoc fix per @matjazpotocnik 2021-08-27 13:48:48 -04:00
Ryan Cramer
0632599385 Bump version to 3.0.184 2021-08-27 07:00:31 -04:00
Ryan Cramer
fb32ed605b README updates and related 2021-08-27 07:00:11 -04:00
Ryan Cramer
25e89c35c9 Add in-progress items that need more work or testing as to-do’s for next dev branch 2021-08-26 08:11:03 -04:00
Ryan Cramer
e6e08ad3fb Fix issue processwire/processwire-issues#1335 - inserting <figure><img> nodes in Safari deleting content after the <figure> 2021-08-25 13:46:41 -04:00
Ryan Cramer
212406b173 Fix issue processwire/processwire-issues#1431 2021-08-25 07:37:19 -04:00
Ryan Cramer
9ba7844a5d Fix "OR-condition not allowed" error introduced from a change related to processwire/processwire-issues#1428 2021-08-22 08:25:45 -04:00
Ryan Cramer
1043e73ab8 Add support for an Inputfield "changed" JS event in inputfields.js 2021-08-20 13:47:46 -04:00
Ryan Cramer
a00e89d0ed Minor improvements in SessionHandlerDB and ProcessSessionDB 2021-08-20 13:45:17 -04:00
Ryan Cramer
616c388f29 Various minor updates 2021-08-20 13:41:25 -04:00
Ryan Cramer
46a8ace31d Add exception to warn of unsupported OR condition in PageFinder per processwire/processwire-issues#1428 2021-08-20 13:19:25 -04:00
Ryan Cramer
c2db767863 Fix issue processwire/processwire-issues#1423 wording adjustment in FieldtypePage.module 2021-08-20 11:14:10 -04:00
Ryan Cramer
6c8d35f18d Fix issue processwire/processwire-issues#1426 2021-08-20 10:52:26 -04:00
Ryan Cramer
4123181bd5 Upgrades to MarkupRSS module, add support for xmlns:content for option to include full HTML of content, plus fix processwire/processwire-issues#1427 2021-08-20 10:41:42 -04:00
Ryan Cramer
6871035292 Upgrade InputfieldRadios and InputfieldCheckboxes to support a 'optionWidth' configuration property per processwire/processwire-issues#1327 2021-08-19 12:49:12 -04:00
Ryan Cramer
6fdf82ba16 Fix JS notice appearing from a recent update to ProcessPageEdit.js 2021-08-19 10:40:16 -04:00
Ryan Cramer
bcb699a50e Fix issue processwire/processwire-issues#892 2021-08-19 10:31:29 -04:00
Ryan Cramer
d691f8e5ea Fix issue processwire/processwire-issues#956 - Add/fix support for CKEditor context-specific settings when in Repeater item 2021-08-19 09:26:35 -04:00
Ryan Cramer
2862114021 Fix issue processwire/processwire-issues#1116 - MarkupQA handling of abstracted URLs that also contain URL segments appended to them. 2021-08-18 11:14:31 -04:00
Ryan Cramer
51117dbea8 Update $pages->getByPath() to support new options such as allowing URL segments to appear in given path, disabling partial path matching, and supporting paths that might have a root subdirectory url in it. Related to processwire/processwire-issues#1116 2021-08-18 11:11:48 -04:00
Ryan Cramer
5ac7c127eb Fix issue processwire/processwire-issues#1349 2021-08-17 10:55:53 -04:00
Ryan Cramer
695a39b281 Fix issue processwire/processwire-issues#1135 2021-08-16 11:10:34 -04:00
Ryan Cramer
77fbeccb59 Update ProcessForgotPassword for IPv6 address suppport 2021-08-13 15:05:49 -04:00
Ryan Cramer
035e947a5a Fix issue processwire/processwire-issues#1134 2021-08-13 14:26:31 -04:00
Ryan Cramer
b606349c08 Fix issue processwire/processwire-issues#1303 PageFrontEdit limit to single-line input on 1-line text fields 2021-08-13 13:58:54 -04:00
Ryan Cramer
f1150127ea Fix issue with PageEdit <h1> title not supporting update-as-you-type feature when editing in non-default language 2021-08-13 10:27:04 -04:00
Ryan Cramer
4b7400f20c Fix issue processwire/processwire-issues#1094 2021-08-13 10:13:57 -04:00
Ryan Cramer
5282e5d737 Fix issue processwire/processwire-issues#1220 2021-08-12 13:10:55 -04:00
Ryan Cramer
48a37bcc5c Fix issue processwire/processwire-issues#957 add IPv6 address support for $session->getIP() method 2021-08-12 12:02:07 -04:00
Ryan Cramer
572dc0b7ea Fix issue processwire/processwire-issues#1419 2021-08-12 10:17:04 -04:00
Ryan Cramer
674b44b288 Fix issue processwire/processwire-issues#1421 - InputfieldTextTags not working in repeater items 2021-08-12 09:31:28 -04:00
Ryan Cramer
c4ced72158 Minor updates in ProcessPageEdit "who can view" section 2021-08-11 10:21:44 -04:00
Ryan Cramer
31524d7a5a Bump version to 3.0.183 2021-08-06 14:26:43 -04:00
Ryan Cramer
f0a02bd70a Minor code improvements in ProcessPageAdd module (mostly just code/API usage consistency adjustments) 2021-08-06 14:21:58 -04:00
Ryan Cramer
f39d836bf1 Minor unrelated updates 2021-08-06 14:21:27 -04:00
Ryan Cramer
9e23967b12 Make the page editor headline title update dynamically with the title input (in AdminThemeUikit and AdminThemeReno) 2021-08-06 11:19:57 -04:00
Ryan Cramer
6c7e52edd6 Fix issue with 1-pixel alignment of buttons with dropdowns when in Safari browser 2021-08-06 10:25:34 -04:00
Ryan Cramer
67df29ba87 Attempt fix for processwire/processwire-issues#1308 2021-08-06 09:49:01 -04:00
Ryan Cramer
29c58f836b Minor updates/improvements to PagesEditor class, plus add 'user' option for $pages->touch() method 2021-08-05 08:44:23 -04:00
Ryan Cramer
c27880c71d Fix issue processwire/processwire-issues#1172 2021-08-04 14:19:05 -04:00
Ryan Cramer
08c5c40705 Fix issue processwire/processwire-issues#1276 additional clarification/docs in .htaccess for www domain redirect in cases where SERVER_ADDR checks don't work. 2021-08-04 13:57:36 -04:00
Ryan Cramer
9d5f8cc359 Fix issue processwire/processwire-issues#1282 2021-08-04 13:40:42 -04:00
Ryan Cramer
a6cd45ccff Fix issue processwire/processwire-issues#1313 WireArray::prepend(WireArray $items) adding in unexpected order 2021-08-04 12:44:40 -04:00
Ryan Cramer
e4eed8358d Minor housecleaning in User.php plus resolve issue processwire/processwire-issues#1293 User::isLoggedin() improvement/phpdoc 2021-08-04 11:21:30 -04:00
Ryan Cramer
cee6a51579 Fix issue processwire/processwire-issues#114 2021-08-03 10:56:43 -04:00
Ryan Cramer
a0fd1ce43e Fix issue processwire/processwire-issues#890 2021-08-02 14:12:06 -04:00
Ryan Cramer
a4324c674c Add feature required in processwire/processwire-issues#791 - option for CKEditor fixed height inline mode 2021-08-02 12:46:22 -04:00
Ryan Cramer
2db58b8dbe Additional updates related to processwire/processwire-issues#1098 2021-08-01 11:55:57 -04:00
Ryan Cramer
0f2ff21c47 Additional update for processwire/processwire-issues#1098 2021-08-01 11:25:19 -04:00
Ryan Cramer
1a37c920ea Fix issue in InputfieldSelector.module where created_users_id and modified_users_id default value was 0 rather than blank when number of users in system exceeded a predefined quantity ($maxUsers) 2021-08-01 09:09:31 -04:00
Ryan Cramer
adaf22352c Fix issue processwire/processwire-issues#1098 - Correct issue where CKEditor was not keeping formatting when linking bold, italic, or other formatted text 2021-07-30 15:43:45 -04:00
Ryan Cramer
e1d190eea7 Fix issue processwire/processwire-issues#862 2021-07-30 14:32:39 -04:00
Ryan Cramer
4d86d4e3f2 Fix issue processwire/processwire-issues#920 2021-07-30 14:15:58 -04:00
Ryan Cramer
992839e13d Fix issue processwire/processwire-issues#1186 2021-07-30 12:01:58 -04:00
Ryan Cramer
6fa2940f1b Fix issue processwire/processwire-issues#1069 plus other minor code updates to FieldtypeModule 2021-07-30 11:37:41 -04:00
Ryan Cramer
4603e67902 Fix issue processwire/processwire-issues#1412 using @Toutouwai suggested fix 2021-07-30 11:06:28 -04:00
Ryan Cramer
74bfe620a4 Attempt fix for processwire/processwire-issues#1358 2021-07-30 09:10:37 -04:00
Ryan Cramer
aed7dfc8f1 Attempt fix for issue processwire/processwire-issues#1418 2021-07-29 08:14:08 -04:00
Ryan Cramer
003c7f91b0 Add a WireHttp::setUserAgent() method to accompany existing getUserAgent() method 2021-07-28 10:42:23 -04:00
Ryan Cramer
9e318c9688 Add $database->getTime() method for getting current ISO-8601 or unix timestamp from database 2021-07-28 10:37:52 -04:00
Ryan Cramer
d815333eaf Update ProcessPageList.js so that pagination links work correctly with newer jQuery versions 2021-07-28 10:36:20 -04:00
Ryan Cramer
1890b68505 Minor improvements and refactoring in PageArray and WireArray, plus this should also fix processwire/processwire-issues#1416 2021-07-28 09:55:24 -04:00
Ryan Cramer
0839ab77fe Bump version to 3.0.182 2021-07-23 15:40:29 -04:00
Ryan Cramer
2ab7180d65 Attempt fix for processwire/processwire-issues#1351 2021-07-23 14:42:15 -04:00
Ryan Cramer
9b473adf41 Add support for PageTable non-editable value rendering per processwire/processwire-issues#1274 2021-07-23 14:04:49 -04:00
Ryan Cramer
24fc229be5 Fix issue processwire/processwire-issues#1363 2021-07-23 12:20:48 -04:00
Ryan Cramer
7048296a08 Add support for feature requested in processwire/processwire-issues#1408 - make ProcessPageType labels indicate page status (hidden, unpublished) in admin drop down menus 2021-07-23 12:15:17 -04:00
Ryan Cramer
af0789ce4f Add clarification to ProcessPageView::pageNotFound hook per processwire/processwire-issues#1410 2021-07-23 11:06:14 -04:00
Ryan Cramer
fbdf4257ce Update the ProcessModule "found new module..." notification to use the Notice::noGroup option, making it harder to miss 2021-07-23 09:57:31 -04:00
Ryan Cramer
e9754b1177 Improvements to FieldtypeOptions plus some refactoring in SelectableOptionsManager. This also removes the existing combined fulltext index 'value_title' and replaces it with separate fulltext indexes for value and title, since the previous one did not appear to ever be used. These table schema changes are applied at Modules > Refresh. 2021-07-23 09:55:19 -04:00
Ryan Cramer
6368910434 Modifications to $database->getPrimaryKey() method (I thought these were in the previous commit that added this method but looks like they weren't) 2021-07-23 09:52:46 -04:00
Ryan Cramer
119ee9ab8c Add support to accept array value for Fieldtype::getMatchQuery(), plus documentation improvements to that method 2021-07-23 09:51:42 -04:00
Ryan Cramer
916ac6f5c5 Add option to force use of LIKE in DatabaseQuerySelectFulltext class, for when operating on columns that lack fulltext indexes 2021-07-23 09:50:35 -04:00
Ryan Cramer
be825ce98b Add new $database methods getIndexes(), indexExists() and getPrimaryKey(), plus updates/improvements to existing getColumns() and columnExists() methods 2021-07-23 09:49:16 -04:00
Ryan Cramer
785d66a4b5 Fix issue processwire/processwire-issues#1255 where rename didn't work for 1-image allowed image field, plus a related issue where rename of image could leave some variations unrenamed. 2021-07-16 14:34:53 -04:00
Ryan Cramer
ec761e75bd Fix issue processwire/processwire-issues#1342 using fix proposed by @openidauthority processwire/processwire-requests#393#issuecomment-867593330 2021-07-16 13:39:05 -04:00
Ryan Cramer
8961001001 Fix issue processwire/processwire-issues#1387 2021-07-16 11:11:27 -04:00
Ryan Cramer
c82a9810c2 Add $sanitizer->selectorValueAdvanced() method for sanitizing selector values using the advanced text search operator #=, per processwire/processwire-issues#1395 2021-07-16 10:17:22 -04:00
Ryan Cramer
e610d863e7 Update for multi-instance to cover the case where someone might do something like new User() (or Permission, Role, Language) and have its template instance be from the wrong ProcessWire instance. This ensures that gets corrected as soon as the new object is wired to the instance. But we also have to account for the case where they never end up wiring the object for whatever reason, which is why there is some redundant code between construct() and wired() 2021-07-09 15:09:51 -04:00
Ryan Cramer
ca0b7ef5f3 Fix issue processwire/processwire-issues#1406 2021-07-09 14:23:03 -04:00
Ryan Cramer
5b3300c530 Upgrade TextformatterMarkdownExtra to use new versions of Parsedown and Parsedown Extra, update module config for new options and add a test option. This update also fixes processwire/processwire-issues#1401 2021-07-09 12:03:05 -04:00
Ryan Cramer
8c6c85c87d Fix issue processwire/processwire-issues#1402 2021-07-09 11:11:59 -04:00
Ryan Cramer
2adebb6d78 Update inputfields.js to support selection of Inputfield elements behaving as a tab 2021-07-09 11:01:26 -04:00
Ryan Cramer
405b80e54b Add Field::getContexts() method. Update ProcessField and ProcessTemplate to improve their main listing screen, particularly the 'flags' column which now shows more details and also now uses contextual links to relevant flags. 2021-07-09 10:59:46 -04:00
Ryan Cramer
5f6adc9221 Fix issue processwire/processwire-issues#1404 2021-07-09 07:42:28 -04:00
Ryan Cramer
498010ad8f Add a new FieldtypeHasFiles interface and update FieldtypeFile and FieldtypeImage to implement it. This interface is intended to be implemented by any Fieldtype that works with files to provide a common interface among them. 2021-07-08 11:36:19 -04:00
Ryan Cramer
88ae66e186 Update CommentForm "normal" render to use custom defined classes that were previously only used by "threaded" render 2021-07-08 11:34:55 -04:00
Ryan Cramer
a87e774aaf Add check for potential race condition in Pageimage.php when multiple requests trying to generate same image variation 2021-07-08 11:33:39 -04:00
Ryan Cramer
64758ebdcc Add clarity to ProcessTemplate fields section to make it clear that you have to save newly added fields before they become editable in context. Also add note about how to drag to adjust column width of individual fields. 2021-07-08 11:29:36 -04:00
Ryan Cramer
f851c63842 Bump version to 3.0.181 2021-07-02 15:45:50 -04:00
Ryan Cramer
ccc3d1f5bb Add @LostKobrakai PR #52 - Implement a way for modules to supply translations, plus some related updates
Co-authored-by: LostKobrakai <benni@kobrakai.de>
2021-07-02 12:38:22 -04:00
Ryan Cramer
15d2982dcd Update ProcessLanguageTranslator module to support download or view of CSV translations files 2021-07-02 12:34:24 -04:00
Ryan Cramer
fb7406c3e6 Fix issue with LanguageTabs module where it wasn't working when in non-default language with the recent Uikit version update. 2021-07-02 12:33:32 -04:00
Ryan Cramer
4167f17235 Various minor optimizations to Page class and its helper classes 2021-07-02 12:32:04 -04:00
Ryan Cramer
4aebc4a203 Add __debugInfo() method to Inputfield class 2021-07-02 12:30:18 -04:00
Ryan Cramer
48a80058e4 Add $sanitizer->textdomain() method 2021-07-02 12:29:51 -04:00
Ryan Cramer
ecd491c5d8 Update ProcessPageEdit to enable removal of system status when superuser in advanced mode (though I don't recommend using it unless you are trying to fix something that's broken), plus make a couple more status options available to superuser in advanced mode. Also some other unrelated and minor optimizations in this module. 2021-06-30 09:38:10 -04:00
Ryan Cramer
9ea37575ad Update SystemNotifications module to provide instructions on uninstall requirements, as some have reported the module won't uninstall unless notifications are first disabled. 2021-06-25 13:47:34 -04:00
Ryan Cramer
ac626a5794 Add additional clarification to a couple of Page class exception error messages 2021-06-25 13:46:00 -04:00
Ryan Cramer
5e663ccf13 Make $modules->isUninstallable() method hookable and update the $modules->isInstallable() method to detect when module doesn't implement required 'Module' interface. 2021-06-25 13:45:09 -04:00
Ryan Cramer
bb6e7f79b8 Bump version to 3.0.180 2021-06-18 13:07:22 -04:00
Ryan Cramer
99e89fe0fb Update InputfieldWrapper class so that you can now get new Inputfield object instances from it directly and in a manner that IDEs know what Inputfield module you are working with, so that phpdoc'ing it isn't necessary. This works from accesses to InputfieldWrapper, InputfieldForm, InputfieldFieldset. i.e. $f = $inputfields->InputfieldText; is equivalent to $modules->get('InputfieldText'); but more understandable to the IDE (like PhpStorm). 2021-06-18 11:50:09 -04:00
Ryan Cramer
7465f5339d Add new 'hidden' option to $files->copy() method (WireFileTools) 2021-06-18 11:29:56 -04:00
Ryan Cramer
d38931cb26 Add new $database->getColumns('table'); method in WireDatabasePDO 2021-06-18 11:28:30 -04:00
Ryan Cramer
ca69df49de Fix issue processwire/processwire-issues#1386 2021-06-18 11:21:09 -04:00
Ryan Cramer
c33897b908 Add support for more fieldtypes within file/image custom fields, plus improved support for them in repeaters, and an update for PR #160 2021-06-18 10:43:43 -04:00
Ryan Cramer
04115a878f Update for PR #99 2021-06-18 08:18:37 -04:00
Ryan Cramer
6d35e603f0 Fix issue processwire/processwire-issues#1394 via @Toutouwai 2021-06-17 15:59:37 -04:00
Ryan Cramer
91d96a0317 Fix issue processwire/processwire-issues#1398 2021-06-17 15:32:48 -04:00
Ryan Cramer
b087149c40 Optimization to use direct $fuel access in ProcessWire class (only), plus add new 'exited' status so that requests that perform a manual 'exit();' call can still be identified and routed through the shutdown maintenance process. 2021-06-11 14:03:01 -04:00
Ryan Cramer
c81aa1a82a Various minor adjustments 2021-06-11 14:00:55 -04:00
Ryan Cramer
3229d2371e Upgrades and improvements to $files->find() method and add $files->exists() 2021-06-11 13:56:39 -04:00
Ryan Cramer
04e2de28f0 Updates to InputfieldSubmit dropdown option to support a required state where there is no default action by just clicking the button, so you have to click a dropdown action 2021-06-04 14:35:57 -04:00
Ryan Cramer
8e9d2f80e8 Fix issue processwire/processwire-issues#1388 2021-06-01 11:35:04 -04:00
Ryan Cramer
91cb5c0e21 Fix issue processwire/processwire-issues#1389 2021-06-01 11:31:44 -04:00
pine3ree
bb5d846b04 Add PR #191 - Use step attribute = precision in float inputfield if html5 number 2021-06-01 10:33:02 -04:00
Ryan Cramer
73b82462fc Add PR #190 - FieldtypeMulti: orderby sort only if schema supports it
Co-authored-by: pine3ree <pine3ree@gmail.com>
2021-06-01 09:41:05 -04:00
Ryan Cramer
3fe499899b Add PR #124 - Add hookable method to PageImage variation creation
Co-authored-by: karltdev <karl@assembly.com.hk>
2021-06-01 09:33:02 -04:00
karltdev
2895b9c7b8 Add PR #99 - Add support for repeater field for InputfieldPage dependent selects 2021-06-01 09:08:35 -04:00
MrSnoozles
e0d319d427 Add PR #186 - ProcessPageEdit clone multi-language object values before setting to page 2021-06-01 08:41:08 -04:00
Ryan Cramer
5c864b32c4 Add 2nd part of PR #194 (forgot this one earlier) 2021-05-31 09:29:58 -04:00
Ryan Cramer
3f5b4c4a74 Add README for AdminThemeUikit that covers customization and upgrade procedures. Remove unnecessary uikit/src/scss/ and uikit/src/js/ files. 2021-05-31 09:24:09 -04:00
Ryan Cramer
f43ee04573 Add PR #194 to change one .less import to an addFile() in AdminThemeUikit
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-31 07:56:34 -04:00
Ryan Cramer
48d8569a1e Bump version to 3.0.179 2021-05-28 15:30:45 -04:00
Ryan Cramer
401fcb0781 PR #189 – Additional updates to allow use of rock style without an admin.less file, plus add support for a core CSS version to detect when to force recompile of the /site/assets/admin.css file due to Uikit version upgrade or required core LESS/CSS changes.
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-28 13:18:35 -04:00
Ryan Cramer
8d84f41620 PR #189 - Additional updates for CSS image file references that don't survive compilation 2021-05-27 15:24:53 -04:00
Ryan Cramer
09877656ef PR #189 - Fix issue with AdminThemeUikit and a few minor broken image references
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-27 14:37:06 -04:00
Ryan Cramer
65a4e187eb PR #189 - Test upgrade Uikit 3.6.21 => 3.6.22
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-27 13:48:45 -04:00
Ryan Cramer
e156e1e4a6 Some phpdoc consistency updates in /wire/core/Config.php 2021-05-27 13:23:56 -04:00
Ryan Cramer
a3d92035f1 PR #189 - Add $config->AdminThemeUikit settings array
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-27 13:22:43 -04:00
Ryan Cramer
3522b89414 PR #189 - Update AdminThemeUikit to support custom LESS files. Authored by @BernhardBaumrock with some additions by @ryancramerdesign
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-27 13:17:56 -04:00
BernhardBaumrock
58ac07e9a9 PR #189 - Add uikit-pw/ dir to AdminThemeUikit with all PW styles, plus add reno and new rock style .less files. This separates PW Uikit files (in uikit-pw) from native Uikit files (in uikit/). 2021-05-27 13:11:11 -04:00
BernhardBaumrock
a03c1dae81 PR #189 - Upgrade Uikit version to 3.6.22 for AdminThemeUikit updates 2021-05-27 13:05:20 -04:00
Ryan Cramer
c93423365f Maybe an unlikely combination but, this fixes issue when Page field has PageArray selected as value with PageListSelect (single) selected as input. PageArray value would continue to grow as new pages selected rather than be replaced by 1 page. 2021-05-23 09:53:42 -04:00
Ryan Cramer
1131b80163 Update InputfieldSelector to filter selectable templates by initValue selector 2021-05-22 09:07:50 -04:00
Ryan Cramer
71a2e38f9e A couple of minor optimizations for queries in debug logs 2021-05-21 14:34:34 -04:00
pine3ree
d4db88ec7b Add PR #188 - add FieldtypeDecimal as allowed change type for integer and float 2021-05-20 08:24:28 -04:00
Ryan Cramer
e6a79dbbdf Make Fields::getTags() and Templates::getTags() hookable per @outflux3 processwire/processwire-issues#1369 2021-05-19 09:32:14 -04:00
Ryan Cramer
dd4926a9a1 Add support for InputfieldCKEditor extra plugin directories, feature requested in PR #165 but with different implementation from the PR so that it doesn't require hooks and autoload modules.
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-19 09:05:09 -04:00
Ryan Cramer
ff0a66821d Optimizations to WireArray::get(), plus add support for get('a|b|c') where it returns value for first matching key, consistently with WireData. This also provides a solution for PR #109 @bernhardbaumrock 2021-05-19 08:57:13 -04:00
Ryan Cramer
335ad1cefe Add ConfigModule interface as alternative to ConfigurableModule interface for modules that want to maintain non-interactive configuration data 2021-05-18 12:49:36 -04:00
Ryan Cramer
e028d9f7b6 Bump version to 3.0.178 2021-05-14 15:27:45 -04:00
gerritvanaaken
7ac6b6e9e3 Add PR #160 - enable file metadata in repeater context 2021-05-14 09:23:08 -04:00
mirzadabeer
4d5950f5fe Add PR #100 - Replace unnecessary in_array() call in /wire/core/admin.php 2021-05-13 10:48:26 -04:00
Ryan Cramer
6004066bd5 Add PR #74 which adds a JS event for language tab clicks
Co-authored-by: rdunk <rupert@rupertdunk.com>
2021-05-13 10:35:59 -04:00
Ryan Cramer
5a5d4e5830 Add support for scheme and host to be manually specified in $page->url() and $page->httpUrl() methods in $options array argument. This is related to the request in PR #116 2021-05-13 09:56:48 -04:00
rolandtoth
108ee2384a Add PR #38 which adds an edit-link-text feature to ProcessPageEditLink, via @rolandtoth 2021-05-12 15:47:39 -04:00
Ryan Cramer
79b952753c Add PR #106 - Add “since” versions for $files API var find() and includeOnce() methods
Co-authored-by: happy-kaseem <kaseem@meisterkonze.ch>
Co-authored-by: matjazpotocnik <matjaz.potocnik@um.si>
2021-05-12 14:58:11 -04:00
Ryan Cramer
89d52edaa6 Add PR #71 via @rolandtoth - Improvements to InputfieldIcon
Co-authored-by: rolandtoth <tproli@gmail.com>
2021-05-12 13:59:58 -04:00
lostkobrakai
2c8cce1d47 Add PR #77 - Make FieldtypeOptions detect single value usage in markupValue() method 2021-05-12 10:35:44 -04:00
Ryan Cramer
24578306b7 Add feature requested in PR #136 - Allow modification of CacheFile string before output
Co-authored-by: ethanbeyer <ethan.beyer@gmail.com>
2021-05-12 09:43:57 -04:00
Ryan Cramer
143ae7535b Add support for multi-dimensional arrays in $input with a $config->wireInputArrayDepth setting. This was requested in prior feature requests and in PR #161 but ended up writing it in a different way than the PR to allow for control over the allowed max dimension and consistency with multidimensional arrays in $_GET or $_POST. To enable multi-dimensional array support add $config->wireInputArrayDepth = 2; to /site/config.php and use a value of 2 (or higher) to indicate the number of dimensions you want to support.
Co-authored-by: porl <porl42@gmail.com>
2021-05-12 09:05:28 -04:00
jmartsch
e7b71d796f Add PR #185 - add margin between InputfieldImage description and custom fields 2021-05-12 06:46:01 -04:00
BernhardBaumrock
2911a16604 Add PR #169 which adds alternate behavior option for Inputfield labels as open/close toggles (currently AdminThemeUikit setting) 2021-05-11 09:58:25 -04:00
Ryan Cramer
32150bd4b7 Add PR #77 from @BernhardBaumrock which makes AdminThemeUikit::getUikitCSS() method hookable and adds an option for using uk-svg attribute on custom logo.
Co-authored-by: BernhardBaumrock <office@baumrock.com>
2021-05-11 08:29:15 -04:00
pine3ree
d29ed3eb96 Add PR #187 - add cookie SameSite support and settings (session and other cookies) 2021-05-10 14:46:37 -04:00
Ryan Cramer
ddce5e5cda Fix issue processwire/processwire-issues#1379 2021-05-10 08:45:04 -04:00
Ryan Cramer
422aeff7ac Fix issue processwire/processwire-issues#1380 2021-05-10 08:41:21 -04:00
Ryan Cramer
26f31ce81b Fix issue processwire/processwire-issues#1381 2021-05-10 08:37:07 -04:00
jmartsch
a7c85f11d9 Add PR #125 - make AdminThemeFramework::getPrimaryNavArray hookable 2021-05-07 15:23:57 -04:00
Ryan Cramer
437df97435 Add PR #151 - Show Textdomain in Language Translator
Co-authored-by: tiefenb <markus.tiefenbacher@gmail.com>
2021-05-07 15:06:51 -04:00
Ryan Cramer
1a71b77010 Add PR #163 small fixes in PWPNG class
Co-authored-by: horst-n <info@nogajski.de>
2021-05-07 14:57:29 -04:00
yuters
b7d8ae37e3 Add PR #183 - Make ProcessLanguageTranslator.module translatable 2021-05-07 14:44:02 -04:00
Ryan Cramer
3bcb8416ca Add @trk PR #184 which makes it use the inputWrapTag option in the renderFormNormal() method
Co-authored-by: trk <iskender@altivebir.com>
2021-05-07 14:38:31 -04:00
jmartsch
451455e035 Add PR #133 - use better non-technical message for SelectableOptionConfig 2021-05-07 14:30:02 -04:00
teppokoivula
1bd35d212a Add PR #146 - Make it possible to activate inline CKEditor instances via keyboard 2021-05-07 14:20:54 -04:00
derixithy
d8a5352ab9 Add PR #176 to fix typo in wire/config.php 2021-05-07 14:08:53 -04:00
tiefenb
9ed333c187 Add PR #177 for page.meta documentation update 2021-05-07 14:00:53 -04:00
teppokoivula
6ec82a965d Add @teppokoivula PR #20 which adds a delete-all feature to PagePathHistory module 2021-05-07 13:42:21 -04:00
Notanotherdotcom
c8efbdfe4b Add PR #113 for page ID supported as page name format 2021-05-07 13:16:27 -04:00
Ryan Cramer
2190a6ef37 Add PR #134 which expands CURL options that can be specified in WireHttp $options array. Some of the PR was already added for the sendCURL in a prior commit, so this commit adds the remaining part in downloadCURL(). Slightly modified to read $options['curl']['setopt'] rather than $options['curl'], for compatibilty with what's already in sendCURL().
Co-authored-by: chriswthomson <chris.thomson@nbcommunication.com>
2021-05-07 12:57:28 -04:00
Ryan Cramer
f290da2a7f Add a couple of WireTextTools methods for later use 2021-05-07 10:33:07 -04:00
Ryan Cramer
6d285b0784 Fix issue processwire/processwire-issues#1288 2021-05-07 08:33:25 -04:00
Ryan Cramer
3485aa8763 Update to add support for user-view-[role] permissions for cases where people may be implementing a user.php (or related) template file @adrianbj 2021-05-06 10:07:47 -04:00
Ryan Cramer
4ce75aed1a Minor updates to PagePermissions.module 2021-05-05 14:07:38 -04:00
Ryan Cramer
644f0fb3fd Improvements to FieldtypeMulti::savePageFieldRows method 2021-05-05 13:57:11 -04:00
Ryan Cramer
8d9a66fc38 Minor optimizations to Wire class 2021-05-05 13:55:59 -04:00
Ryan Cramer
1906d94a9c Improvements and clarifications with the WireTempDir class 2021-05-05 13:55:02 -04:00
Ryan Cramer
6cf998c3a0 Improvements to WireFileTools, lots with error message handling and logging, addition of a renameCopy() method, and other minor improvements. 2021-05-05 13:53:07 -04:00
Ryan Cramer
02528f15db Improvements to the 'use' options on JqueryUI.module 2021-05-05 13:50:35 -04:00
Ryan Cramer
af8402eaf2 Update $sanitizer->url() to support URLs without authority slashes like skype:username?chat per processwire/processwire-issues#1368 2021-05-03 10:30:01 -04:00
Ryan Cramer
47871422b5 Bump version to 3.0.177 2021-04-30 14:57:20 -04:00
Ryan Cramer
d9d6440d43 Typo fix 2021-04-30 14:56:52 -04:00
Ryan Cramer
6d8316d647 Fix issue processwire/processwire-issues#1371 2021-04-29 09:44:57 -04:00
Ryan Cramer
81213fbb9d Add feature request processwire/processwire-requests#386 2021-04-29 09:42:06 -04:00
Ryan Cramer
e416ee505b Update InputfieldTextTags with support for single-select mode, option to specify max allowed items, and support for a placeholder attribute 2021-04-29 09:13:16 -04:00
Ryan Cramer
6724c9fb32 Additional improvements to InputfieldTextTags, including support for ajax-loaded pages 2021-04-28 14:01:24 -04:00
Ryan Cramer
a565e9539a Add Inputfields.startSpinner() and Inputfields.stopSpinner() methods to inputfields.js Inputfields class 2021-04-28 14:00:01 -04:00
Ryan Cramer
783bdf87d6 Improvements to InputfieldPage 2021-04-28 13:59:43 -04:00
Ryan Cramer
25a3477b67 Add a field rename option to $pages->findRaw() 2021-04-28 13:58:37 -04:00
Ryan Cramer
c6f735b306 Add interface for Inputfields that accept page selector 2021-04-28 13:50:58 -04:00
Ryan Cramer
94d8cae85a Additional updates to InputfieldTextTags 2021-04-26 15:31:11 -04:00
Ryan Cramer
253e6ba661 Additional updates to ProcessTemplate and InputfieldTextTags 2021-04-23 15:07:31 -04:00
Ryan Cramer
e3425873fb Fix minor php type comparison issue in InputfieldTextTags.module config 2021-04-22 14:29:37 -04:00
Ryan Cramer
290e28a249 Update FieldtypeOptions to support InputfieldTextTags as an input module 2021-04-22 12:55:24 -04:00
Ryan Cramer
83c58ca4a5 Update ProcessTemplate to use InputfieldTextTags for its tags (rather than plain text input) and add a Tag Manager similar to the one in ProcessField 2021-04-22 12:53:28 -04:00
Ryan Cramer
da4c1187b3 Update ProcessField to use InputfieldTextTags for its tags input (rather than plain text input) 2021-04-22 12:52:02 -04:00
Ryan Cramer
1b1dcc85db Add tag helper methods to Template class (to work with existing 'tags' property similar to the one in Field class) 2021-04-22 12:49:43 -04:00
Ryan Cramer
e67c1c075c Add InputfieldTextTags module to core 2021-04-22 10:47:02 -04:00
Ryan Cramer
08a922673b Minor improvements and optimizations to InputfieldPage module 2021-04-22 10:43:47 -04:00
Ryan Cramer
903ed3e675 Update FieldtypeText to support custom selection of Inputfield (so long as it implements InputfieldHasTextValue), plus some other minor updates. 2021-04-22 10:42:13 -04:00
Ryan Cramer
54c49f37f8 Add new interfaces for Inputfield modules 2021-04-22 10:33:33 -04:00
Ryan Cramer
e15efa9273 Fix issue processwire/processwire-issues#966 2021-04-19 12:37:55 -04:00
Ryan Cramer
8644ab7b57 Fix issue processwire/processwire-issues#1365 2021-04-19 10:51:47 -04:00
Ryan Cramer
9f1f440b82 Fix issue processwire/processwire-issues#1357 2021-04-19 10:32:23 -04:00
Ryan Cramer
ace2dafb29 Fix issue processwire/processwire-issues#1361 2021-04-19 10:18:59 -04:00
Ryan Cramer
dbfd01a472 Fix issue processwire/processwire-issues#1366 2021-04-19 10:01:40 -04:00
Ryan Cramer
4c50447e61 Add support in AdminThemeFramework for interactively (in module config) converting users to use the admin theme 2021-04-19 09:49:08 -04:00
Ryan Cramer
00bcf2c3f7 Add $users->setAdminThemeByRole() method 2021-04-19 09:48:36 -04:00
Ryan Cramer
7f91cad42f Add support for multiple randomly selected DB readers (config.php file updates) 2021-04-19 09:48:04 -04:00
Ryan Cramer
fb0e7f2ecf Add support for multiple randomly-selected DB readers 2021-04-19 09:47:14 -04:00
Ryan Cramer
22e5e3989e Update ProcessPageEditImageSelect thumbnail list to use field labels to identify when there are multiple images fields on the page from which you can select images to insert 2021-04-16 13:54:14 -04:00
Ryan Cramer
6a04f1f08f Add new 'deletedPage()' hook method in ProcessPageEdit (recently requested by someone) 2021-04-16 10:43:40 -04:00
Ryan Cramer
ce7df80eac Minor code adjustments in ProcessModuleInstall 2021-04-16 10:41:25 -04:00
Ryan Cramer
6c9f3ab547 Fix documentation formatting issue in WireTextTools 2021-04-16 10:39:46 -04:00
Ryan Cramer
f99d20dfa5 Update optional .htaccess for skipping over image files to match request url rather than filename per issue that @Toutouwai mentioned 2021-04-16 10:38:36 -04:00
Ryan Cramer
eb3dd355b0 Minor adjustments 2021-04-09 16:23:31 -04:00
Ryan Cramer
7918780af1 Fix trailing slash redirect issue with path hooks @bernhardbaumrock 2021-04-09 16:22:06 -04:00
Ryan Cramer
c3f07f9460 Bump version to 3.0.175 2021-04-02 16:19:24 -04:00
Ryan Cramer
6fa201c522 Refactor of WireDatabasePDO to add support for separate read-only database connection 2021-04-02 16:18:44 -04:00
Ryan Cramer
d5a85e07ce Fix issue processwire/processwire-issues#1113 2021-03-31 10:51:29 -04:00
Ryan Cramer
4283cafb07 Improvements to the $config->requestUrl(), $config->requestPath() and $config->requestMethod() functions 2021-03-31 10:18:37 -04:00
Ryan Cramer
a16cb528dc Update TemplateFile class with a clearAll() static method and update ProcessPageView to use it when a 404 is thrown. This ensures that a 404 thrown after some output has already been sent can't get interpreted as a non-404 by the client 2021-03-31 10:13:18 -04:00
Ryan Cramer
a3616cebfb Updates to improve WireShutdown class error emails. This should also fix processwire/processwire-issues#1317 2021-03-31 10:12:06 -04:00
Ryan Cramer
31ecc54abf Improvements to FieldtypeComments notifications to improve hookability and allow greater runtime/hook customization for how notification emails are sent. 2021-03-30 08:12:08 -04:00
Ryan Cramer
7f450dedc7 Add $session->hasLoginCookie() method 2021-03-30 08:08:07 -04:00
Ryan Cramer
16fd4d4ab7 Updates to PageProperties class. This was meant to be included in the previous commit resolving processwire/processwire-issues#1359 2021-03-30 08:05:14 -04:00
Ryan Cramer
e68f4c2de6 Fix issue processwire/processwire-issues#1359 plus some additional Page class optimization 2021-03-29 10:14:12 -04:00
Ryan Cramer
f98d25b83c Move DB "MySQL server has gone away" retry logic from WireDatabasePDO into DatabaseQuery, per processwire/processwire-issues#1302 2021-03-29 08:38:56 -04:00
Ryan Cramer
84d7ea797e Add some runtime request matching methods (requestUrl, requestPath, requestMethod) to Config that can be used in /site/config.php, prior to $input being available. 2021-03-26 09:00:04 -04:00
Ryan Cramer
c84bf5bd46 Fix issue processwire/processwire-issues#1325 2021-03-23 07:19:53 -04:00
Ryan Cramer
a475430031 Fix issue processwire/processwire-issues#1292 2021-03-19 15:14:25 -04:00
Ryan Cramer
0dc408a8dd Fix issue processwire/processwire-issues#1311 2021-03-19 14:31:07 -04:00
Ryan Cramer
cd533062d7 Fix issue processwire/processwire-issues#1319 2021-03-19 14:10:45 -04:00
Ryan Cramer
a9b8d37c58 Update FieldtypePage.getMatchQuery to inherit "include=" and "check_access=0" settings from PageFinder that called upon it. Update PageFinder to support this kind of communication with Fieldtypes. 2021-03-19 14:05:42 -04:00
Ryan Cramer
d0b404b752 Fix issue processwire/processwire-issues#1326 2021-03-19 11:40:07 -04:00
Ryan Cramer
3146b5c6c8 Fix issue processwire/processwire-issues#1332 2021-03-19 10:55:39 -04:00
Ryan Cramer
60cc947770 Fix issue processwire/processwire-issues#1334 2021-03-19 10:47:16 -04:00
Ryan Cramer
de63b1d079 Upgrade CKEditor version to 4.16.0 2021-03-19 10:33:01 -04:00
Ryan Cramer
964c95474f Fix issue processwire/processwire-issues#1342 2021-03-19 09:42:13 -04:00
Ryan Cramer
be10a6ce7e Fix issue processwire/processwire-issues#1352 2021-03-19 09:28:34 -04:00
Ryan Cramer
2bb6179475 Fix issue processwire/processwire-issues#1350 2021-03-19 09:22:46 -04:00
Ryan Cramer
c77f2f0d63 Bump version to 3.0.174 2021-03-12 15:28:25 -05:00
Ryan Cramer
6fd72fc804 Optimizations to path hooks pre-filtering in WireHooks class. 2021-03-12 09:28:28 -05:00
Ryan Cramer
a24d09b8d0 Updated $pages->findRaw() to have new 'objects' and 'entities' options. The objects option makes it return StdClass objects to represent pages and other data rather than associative arrays (requested by @adrianbj). The entities option makes it entity-encode string values in case you are using findRaw() values for HTML output purposes. 2021-03-11 13:10:45 -05:00
Ryan Cramer
7cb11850e8 Add new Selectors::selectorHasField() selector helper optimization method 2021-03-11 11:48:43 -05:00
Ryan Cramer
6b153794c8 Upgrade path hooks with 1) pagination support; and 2) the ability to handle requests triggered by 404s thrown from template files. To support pagination, just append "{pageNum}" to your URL to match and it will take care of setting the $input->pageNum() and calling your hook. Example: $wire->addHook('/foo/bar/{pageNum}', function($event) { ... }); To handle requests triggered by 404s a template file, you don't need to do anything extra, as it will take care of calling your path hook(s) automatically should the requested page URL match the one added by your hook. 2021-03-11 11:43:27 -05:00
Ryan Cramer
6146ba4eb1 Remove ProcessPageEdit CSS rules that no longer appear to be applicable 2021-03-09 11:39:08 -05:00
Ryan Cramer
30dac48646 Add support for getting 'url' and/or 'path' via $pages->findRaw(). Requires that the core PagePaths module is installed. 2021-03-08 12:43:41 -05:00
Ryan Cramer
c0ffd35b7d Update the new path hooks to support $wire->addHook('/foo/{bar}/baz', ...) where {bar} would match any segment and populate it to a $bar variable on the HookEvent. Plus add enforced trailing slash vs. non-trailing slash with redirect, depending on whether your match pattern uses a trailing slash. 2021-03-08 10:10:26 -05:00
Ryan Cramer
cb9030a6ff Add support for matching empty/not-empty to DatabaseQuerySelectFulltext match features 2021-03-07 11:10:48 -05:00
Ryan Cramer
5a0a5f24cf Bump version to 3.0.173 2021-03-05 15:59:30 -05:00
Ryan Cramer
184b3b6255 Add path hook support to ProcessPageView module plus some general refactoring and optimization of the class 2021-03-05 15:13:15 -05:00
Ryan Cramer
652a8a58e3 Update WireHooks ($hooks API var) to support path hooks 2021-03-05 15:12:23 -05:00
Ryan Cramer
94e71209b3 Update HookEvent class to support named arguments directly from $event object 2021-03-05 15:12:06 -05:00
Ryan Cramer
8718940b5d Add support for starting/stopping debug mode DB query logging, enabling you to focus in on logging queries in between specific calls 2021-02-26 14:01:17 -05:00
Ryan Cramer
8020803b7d Fix issue where language on/off checkbox in ProcessPageAdd wasn't always mirring parent page language on/off status for initial/recommended setting 2021-02-26 14:00:08 -05:00
Ryan Cramer
49b9932ab6 Add support for filtered or paginated load of page reference fields per processwire/processwire-requests#13 ... note that paginated/filered save is not yet supported 2021-02-26 11:47:00 -05:00
Ryan Cramer
755c9c5ad8 Add processwire/processwire-requests#241 to make user info and roles available to PW's admin JS config (ProcessWire.config), plus some related improvements 2021-02-26 10:46:33 -05:00
Ryan Cramer
ba2edc94cc Update $config API to have $config->jsConfig() method for JS-exclusive config settings. Different from $config->js() in that the data is completely independent of PHP config. 2021-02-26 10:31:31 -05:00
Ryan Cramer
1244b4bd48 Update wireMail fallback from email settings with 2nd check in case 3rd party module made default blank, plus update auto-detect from email logic in ProcessForgotPassword so it can't override configured wireMail settings with config.adminEmail 2021-02-19 14:56:06 -05:00
Ryan Cramer
bfdb2a09d2 Add comprehensive documentation for $config->advanced setting per processwire/processwire-requests#148 2021-02-19 14:18:02 -05:00
Ryan Cramer
c4d301a405 Add support for "preload" modules that load before all other modules, including core modules. This is primarily intended for @adrianbj Tracy Debugger per processwire/processwire-requests#165 2021-02-19 11:24:35 -05:00
Ryan Cramer
4d04aac2a6 Remove ConfigurableModule interface from LazyCron 2021-02-19 07:52:22 -05:00
Ryan Cramer
199859b6ff Add support for specifying "field=foo|bar|baz" in selector to $pages->findRaw(), like you can with $pages->find(). This is an alternative to using the separate field argument. Also begin support for adding parent properties, but there is more work to be done there before they are supported. 2021-02-12 15:29:29 -05:00
Ryan Cramer
ae46639e35 Add feature request processwire/processwire-requests#203 support for password unmask in InputfieldPassword 2021-02-12 15:09:08 -05:00
Ryan Cramer
990041adb9 Add feature request processwire/processwire-requests#226 for additional HTML purifier configuration options 2021-02-12 11:24:11 -05:00
Ryan Cramer
c414a54531 Fix issue processwire/processwire-issues#1323 plus some other minor improvements to LazyCron 2021-02-12 10:36:22 -05:00
Ryan Cramer
861d7163f6 Add WireShutdown::fatalError() hookable method to enable hooking fatal errors 2021-02-12 10:10:58 -05:00
Ryan Cramer
4406086241 Fix issue with $page->setForced() not populating $settings array when it should (interfered with new findJoin functions) 2021-02-07 08:15:18 -05:00
Ryan Cramer
5a2c4c2014 Bump version to 3.0.172 2021-02-05 16:21:13 -05:00
Ryan Cramer
7fe8e5f1fb Add new $pages->findJoin() method and $pages->find("selector, field=title|summary"); option that lets you specify which fields to autojoin in a page finding operation. Also added is an experimental PagesLoader::findMin() method that finds and loads pages in one query rather than splitting them out into separate find() and getById() calls. For now, we just use this method to handle the findJoin() and joinFields options, but may expand its use later. This commit also contains numerous performance optimizations to the Page class, and several updates to the PageFinder class to support the new autojoin options. 2021-02-05 11:28:48 -05:00
Ryan Cramer
a697795c08 Minor documentation updates in Language and Languages classes 2021-02-05 10:37:32 -05:00
Ryan Cramer
4ea5d7a631 A couple of new convenience methods added to InputfieldWrapper 2021-02-05 10:36:03 -05:00
Ryan Cramer
80593fb643 Add new API methods: $pages->findRaw(), $pages->getRaw(), and $pages->getFresh() 2021-01-29 15:05:40 -05:00
Ryan Cramer
3de5d4d2a6 Add a getFresh() method to PagesLoader and improve cache detection for the get() method 2021-01-29 15:04:44 -05:00
Ryan Cramer
45e130202b Some updates in Modules class to improve refresh reporting 2021-01-29 15:04:03 -05:00
Ryan Cramer
dfba347f1f Update include file used by site/templates/admin.php in core site profiles 2021-01-27 14:55:02 -05:00
Ryan Cramer
2557929f08 Minor hooks optimization in Wire class 2021-01-27 14:54:08 -05:00
Ryan Cramer
201dc4155e Add InputfieldSelect.valueAddOption to facilitate dynamic option values 2021-01-27 14:52:55 -05:00
Ryan Cramer
4633798d02 Add renderOrProcessReady hook to InputfieldForm 2021-01-27 14:51:07 -05:00
Ryan Cramer
b8d3a4c207 Bump version to 3.0.171 2021-01-22 15:14:21 -05:00
Ryan Cramer
3603cdb744 Add a FieldtypeDecimal to the core per request. This is a newly written module that's different from the 3rd party FieldtypeDecimal, so consider it beta. If using the 3rd party FieldtypeDecimal, this one uses the same configuration setting names, so they are intended to be compatible. You may have to delete /site/modules/FieldtypeDecimal or rename it to /site/modules/.FieldtypeDecimal, and then Modules > Refresh, before PW will use the core one. 2021-01-22 14:19:04 -05:00
Ryan Cramer
0c0fb16e4d Fix issue processwire/processwire-issues#1299 2021-01-22 14:18:17 -05:00
Ryan Cramer
76128e4855 Update InputfieldFloat with option to better support string value decimal numbers 2021-01-22 14:15:53 -05:00
Ryan Cramer
9271e8d846 Add a getString option to the $sanitizer->float() method 2021-01-22 14:14:46 -05:00
Ryan Cramer
0bddf640db Add a new Fieldtype::savedField interface method so that Fieldtypes can monitor when a field of their type has been saved, without having to attach a hook 2021-01-22 14:12:58 -05:00
Ryan Cramer
e28d2e67e7 Add support for family-friendly depth settings in InputfieldRepeater. Can be enabled in repeater field settings (for matrix or regular repeater). This makes depth act as parent/child relationships in page editor so that dragging/sorting a parent also drags children. It also prevents more than 1 depth level increase between parent and child (i.e. converts a parent-to-grandchild relationship to parent-to-child relationship). 2021-01-19 11:39:06 -05:00
Ryan Cramer
ecb7694312 Fix issue processwire/processwire-issues#1275 2021-01-12 07:28:54 -05:00
Ryan Cramer
50dff006b5 Make ProcessLogger::formatLogText hookable (requested by @netcarver) 2021-01-12 07:03:25 -05:00
Ryan Cramer
a7d0ec1c91 Fix issue processwire/processwire-issues#919 (WireCache/JSON) 2021-01-12 07:02:42 -05:00
Ryan Cramer
3370e10802 Updates to make AdminThemeUikit easier to extend with an AdminThemeUikit descending module 2021-01-06 10:55:30 -05:00
Ryan Cramer
ea00f4b940 Bump version to 3.0.170 2021-01-01 16:29:25 -05:00
Ryan Cramer
d5d4e8049b Lots of improvements to configuration of File and Image fields (as used in ProcessField). 2021-01-01 13:59:06 -05:00
Ryan Cramer
43cfdd9dfe Add new $templates->add() and $templates->rename() API methods 2020-12-31 15:54:30 -05:00
Ryan Cramer
880ed9511d Add a Template::editUrl() method 2020-12-31 15:54:06 -05:00
Ryan Cramer
1d990a604e Make $modules->getModule($moduleName) be non-case-sensitive for $moduleName. Plus minor updates to Fieldtypes API var and ProcessTemplate module. 2020-12-31 09:05:59 -05:00
Ryan Cramer
341278fdb0 Additional updates to ProcessModule 2020-12-31 08:51:19 -05:00
Ryan Cramer
209632457a Upgrade InputfieldPageTitle with ability to support custom title-to-name conversions 2020-12-30 13:20:33 -05:00
Ryan Cramer
6c068e6d55 Improvements to inputfields.js front-end management of Inputfields, including a few new API methods and it now opens/collapses Inputfields in the same row together as a group. 2020-12-30 13:18:48 -05:00
Ryan Cramer
014c19c499 Several interface and functionality upgrades to the ProcessTemplate module 2020-12-30 13:18:02 -05:00
Ryan Cramer
ada8d30ed6 Several interface and functionality upgrades to the ProcessField module 2020-12-30 12:59:53 -05:00
Ryan Cramer
d04bdb04bc Various code improvements to ProcessModule, plus add ability to remove modules with missing files. This prevents orphan module entries in DB when files for a module are removed before the module is uninstalled 2020-12-30 12:55:32 -05:00
Ryan Cramer
d98b405574 Add System Update #19, which removes a few redundant legacy entries from modules table 2020-12-30 12:54:47 -05:00
Ryan Cramer
2f50095d1e Upgrade WireFileTools ($files API var) getNamespace() method to support detection of namespaces in files that use declare() statements or comments before namespace declaration 2020-12-30 12:53:37 -05:00
Ryan Cramer
ebdf0b9388 Update Modules ($modules API var) to support locating new module location when it moves in file system, optimize some of the runtime module loading, add a few new helper methods, optimize namespace detection, and add the ability to identify modules that are in the database but have no file on the file system. 2020-12-30 12:41:14 -05:00
Ryan Cramer
aa4e1d2465 Various minor/small updates 2020-12-29 08:00:33 -05:00
Ryan Cramer
ebf60018e6 Change default for the grid setting in AdminThemeUikit (percents vs classes), seems enough time has passed that this is a good/safe new default. 2020-12-29 07:56:35 -05:00
Ryan Cramer
d3b1ab2983 Add LanguagesPageFieldValue::setToInputfield to accompany existing setFromInputfield method 2020-12-11 12:05:09 -05:00
Ryan Cramer
7e1363b1f1 Update in FieldtypeComments to trigger the appropriate Pages class hooks when comments are added/deleted 2020-12-11 12:04:36 -05:00
Ryan Cramer
a8ec223b22 Minor typo fixes and adjustments in various files 2020-12-11 12:03:43 -05:00
Ryan Cramer
891c4684e2 Update DatabaseQuerySelectFulltext to use globally unique bind keys to allow for resulting queries to be merged with AND conditions and without potentially overwriting each other 2020-12-06 08:31:23 -05:00
Ryan Cramer
7549ba7370 Update $modules->findByPrefix() to sort the returned results by module name 2020-12-04 15:42:59 -05:00
Ryan Cramer
80208b55e2 Some improvements to Inputfields JS library with regard to handling checkbox/radio dependencies 2020-12-04 15:41:44 -05:00
Ryan Cramer
73fcaff769 Fix issue processwire/processwire-issues#1286 2020-12-04 11:28:45 -05:00
Ryan Cramer
2e591cf5e2 Bump version to 3.0.169 2020-11-27 15:43:39 -05:00
Ryan Cramer
9d01111f82 Add Lister bookmarks support to ProcessUser 2020-11-27 13:26:56 -05:00
Ryan Cramer
1f40c96dbf Various comments field updates: Add support for searching flags property in FieldtypeComments::find() method. Add new field configuration option to include comment text in notification emails (useNotifyText). Fix issue where comment notification emails linked to just Page URL rather than page Page URL with comment ID #fragment. Add FieldtypeComments::getNotifyEmails() new API method for getting notification emails. Add Comment::getFormattedCommentText() method to expand options and clarify how comment text is returned. Improve HTML version of notification emails sent by CommentNotifications::sendNotificationEmail(). Add ‘notifyDefault’ option to CommentForm class so you can specify a different default notification option other than ‘off’. 2020-11-27 09:50:07 -05:00
Ryan Cramer
13cb795c3d Update the Inputfield debug mode toggle-icon hover state to also work with InputfieldFieldset types 2020-11-27 08:33:01 -05:00
Ryan Cramer
8248e75157 Update ProcessCommentsManager to support changes to the user’s selected notification settings 2020-11-25 14:55:08 -05:00
Ryan Cramer
4eee06f76f Some minor CSS/JS updates to ProcessField 2020-11-25 14:17:43 -05:00
Ryan Cramer
2362005e78 Update $sanitizer->removeMB4() method to use a default replacement character (can be set in $options). Plus implement a shorter replacement function (version 2). Also some updates to the $sanitizer->validateFile() method. 2020-11-25 14:12:33 -05:00
Ryan Cramer
ee980f153c Expand options available to $modules->getModule() so that you can retrieve a non-initialized module that still has configuration data. Also add support for user-specified configuration data in the getModule() call. 2020-11-25 14:07:24 -05:00
Ryan Cramer
4c57f528f6 Update InputfieldWrapper so that all direct references to $this->children (InputfieldsArray) are routed through the children() method, enabling descending modules to have more control over what are considered children. 2020-11-25 14:05:42 -05:00
Ryan Cramer
580da37a2f Fix issue processwire/processwire-issues#1278 2020-11-13 11:45:44 -05:00
Ryan Cramer
1af600fdd1 Fix issue processwire/processwire-issues#1256 2020-11-13 10:52:04 -05:00
Ryan Cramer
97c37da187 Fix issue processwire/processwire-issues#1265 2020-11-13 10:48:30 -05:00
Ryan Cramer
9d0cf061ed Fix issue processwire/processwire-issues#1270 2020-11-13 10:18:18 -05:00
Ryan Cramer
65bcf7fe40 Fix issue processwire/processwire-issues#1273 2020-11-13 09:32:36 -05:00
Ryan Cramer
9b79a4bed4 Improvements to code and documentation in InputfieldAsmSelect.module 2020-11-13 08:38:14 -05:00
Ryan Cramer
e7663c7bda Some minor bug fixes in the FieldtypeComments classes and javascript. 2020-11-13 08:24:42 -05:00
Ryan Cramer
c5fb4ee47b Update the $input->url() method to support a pageNum option to modify the page/pagination number used in the returned URL. 2020-11-13 08:23:14 -05:00
Ryan Cramer
5868866fc0 Improved phpdoc in Process class and WireFileTools::send() method 2020-11-13 08:19:28 -05:00
Ryan Cramer
7628d81393 Add a Page::setUnformatted(field, value); method that temporarily turns off output formatting (if it was on), sets known unformatted value, then turns output formatting back on (but only if it was previously on). 2020-11-13 07:54:46 -05:00
Ryan Cramer
84cca8fe82 Update DatabaseQuerySelectFulltext class to support multiple (array-based) field names when used outside PageFinder context. This enables use of field1|field2|field3*=value selectors in some places that didn't previously support it, like $page->page_ref_field_name('selector'); 2020-11-13 07:00:17 -05:00
Ryan Cramer
e6dde560d4 Bump version to 3.0.168 2020-10-23 14:08:35 -04:00
Ryan Cramer
993b6672be Fix issue processwire/processwire-issues#1237 2020-10-23 11:45:40 -04:00
Ryan Cramer
adba0da89e Fix issue processwire/processwire-issues#1263 2020-10-23 11:27:42 -04:00
Ryan Cramer
10f465e3eb Fix issue processwire/processwire-issues#1258 2020-10-23 11:12:15 -04:00
Ryan Cramer
09bd61f91d Fix issue processwire/processwire-issues#1260 2020-10-19 09:45:33 -04:00
Ryan Cramer
a5cea5660d Fix issue processwire/processwire-issues#1261 2020-10-19 09:24:57 -04:00
Ryan Cramer
3782b6c7ae Fix issue where '~=' word matches with words containing underscore '_' weren't working due to change made in 3.0.167 2020-10-18 09:29:02 -04:00
Ryan Cramer
4b84c82529 Improvements to the text searching operators (for $pages->find, etc.) to support better matching of words with apostrophes and similar, plus improve the way that word boundaries are detected when secondary rlike queries are added to fulltext index queries. 2020-10-09 13:32:27 -04:00
Ryan Cramer
f855ebf170 Add 'keepApostrophe' option to $sanitizer->wordsArray() 2020-10-09 13:30:27 -04:00
Ryan Cramer
60853ceda7 Minor improvement to inputfields.js 2020-10-09 13:29:40 -04:00
Ryan Cramer
8dbfd4cca2 Update ProcessLogin to have better support for remembering requested URL prior to and after login. It now supports query strings beyond just "?id=123". 2020-10-02 12:17:26 -04:00
Ryan Cramer
33cbec49c1 Minor phpdoc adjustment to Fieldtype and FieldtypeMulti classes 2020-10-02 11:58:00 -04:00
Ryan Cramer
96b263fd2e Add 'allowSpace' option to $sanitizer->selectorValue() 2020-10-02 11:57:27 -04:00
Ryan Cramer
337488f117 Refactoring and improvements to ProcessPageView module 2020-10-02 11:56:54 -04:00
Ryan Cramer
45ad9473d2 Fix issue processwire/processwire-issues#1254 2020-10-01 07:58:48 -04:00
Ryan Cramer
0953fdb347 Update $sanitizer->trim() method to support a 3rd argument ($method) where you can specify what direction it should trim from: 'trim' (both), 'ltrim' (left), or 'rtrim' (right). Default is 'trim'. 2020-10-01 07:55:09 -04:00
Ryan Cramer
140ce5fa83 Fix issue processwire/processwire-issues#1253 2020-09-30 14:01:49 -04:00
Ryan Cramer
b77840c14f Bump version to 3.0.167 2020-09-25 15:43:35 -04:00
Ryan Cramer
1f6aa1cf73 Fix issue processwire/processwire-issues#1252 2020-09-25 13:45:08 -04:00
Ryan Cramer
ee8f8e4471 Update WireInput with a a queryStringClean() method that provides a useful alternative to the existing queryString() method 2020-09-25 13:27:02 -04:00
Ryan Cramer
7c2fe8b8db Update $sanitizer array methods to support a 'keySanitizer' option that enables one to also sanitize associative arrays when needed 2020-09-25 13:24:47 -04:00
Ryan Cramer
b8ff50f52d Improvements and optimizations to several text searching operators in DatabaseQuerySelectFulltext. It now includes improved results for searches that include stopwords and short words (words too short for fulltext index). 2020-09-24 13:45:58 -04:00
Ryan Cramer
f2a313723a Update files and images fields with the ability to require FileValidatorModule validation or manually whitelisted extensions, with the first being the svg file extension. 2020-09-24 13:43:26 -04:00
Ryan Cramer
15dc362ba5 Add a $files->fileGetContents() method to accompany existing filePutContents() method 2020-09-24 13:40:30 -04:00
Ryan Cramer
5ea913f79d Refactor and improvements to $sanitizer->validateFile() method. Also added new options for 'getArray' and 'dryrun'. 2020-09-24 13:39:04 -04:00
Ryan Cramer
17d7828ac3 Fix issue processwire/processwire-issues#1247 2020-09-22 10:59:06 -04:00
Ryan Cramer
03ea0ea60d Update FieldtypeOptions to implement the Fieldtype::getMatchQuerySort() method. This should also add support for at least some of what was requested in processwire/processwire-issues#1231 2020-09-18 14:33:05 -04:00
Ryan Cramer
8a4b58652b Update ProcessPageEdit and ProcessPageList to implement the getAfterLoginUrl() method 2020-09-18 14:32:15 -04:00
Ryan Cramer
20f8a1ea14 Update ProcessField and ProcessModule to implement the getAfterLoginUrl() method 2020-09-18 14:31:44 -04:00
Ryan Cramer
d5146337de Update Config class to auto-generate a tableSalt when one is not available from the static configuration 2020-09-18 14:30:03 -04:00
Ryan Cramer
8eee7a509f Update Process module interface for a new getAfterLoginUrl() method that Process modules can optionally implement to sanitize a requested URL to the module when the user is not logged in. This lets things like query strings and URL segments be retained after a user logs-in. 2020-09-18 14:28:28 -04:00
Ryan Cramer
a751edf51b Update PageFinder and Fieldtype interface so that Fieldtype modules can optionally take over sorting of their own fields/subfields in PageFinder searches. 2020-09-18 14:27:02 -04:00
Ryan Cramer
ee4c46a442 Fix issue processwire/processwire-issues#1239 2020-09-15 07:31:30 -04:00
Ryan Cramer
febbb97aba Add @MoritzLost PR #179 which has various improvements for the WireHttp::sendCURL() method 2020-09-14 10:58:26 -04:00
Ryan Cramer
956ad5e201 Add support for custom LanguagePage classes per feature request in processwire/processwire-issues#1246 2020-09-14 09:48:21 -04:00
Ryan Cramer
6cc5da1e45 Fix issue processwire/processwire-issues#1243 plus some other optimizations in PageFinder 2020-09-14 09:03:45 -04:00
Ryan Cramer
9057ed25e4 Bump version to 3.0.166 2020-09-11 16:18:09 -04:00
Ryan Cramer
7a2ff6c15d Update SessionHandlerDB module to have configurable session lock seconds, and to also send an http code 429 "too many requests" error with retry seconds when DB session lock can't be achieved. 2020-09-11 14:26:28 -04:00
Ryan Cramer
2ed6494494 Update Session API var to add a $session->sessionHandler() method that returns an instance to the current WireSessionHandler instance, or null if using PHP file-based sessions. 2020-09-11 14:23:16 -04:00
Ryan Cramer
2e81d39275 Fix issue processwire/processwire-issues#1240 2020-09-11 14:22:06 -04:00
Ryan Cramer
f26ee062b7 Update $database API var to have new methods: getVersion() and getRegexEngine() 2020-09-11 14:21:11 -04:00
Ryan Cramer
e407fb9f04 Fix issue processwire/processwire-issues#1241 2020-09-11 10:46:21 -04:00
Ryan Cramer
aaa7ff2994 Improvements to Session class ($session API var) redirect method and addition of $session->location('url'); method which is the same as redirect but with 302 (temporary) redirect implied rather than 301 (permanent). 2020-09-11 08:34:28 -04:00
Ryan Cramer
f8d9309c27 Some refactoring and improvements to WireShutdown class 2020-09-11 08:33:09 -04:00
Ryan Cramer
7d71eac1bc Various minor updates 2020-09-10 09:34:37 -04:00
Ryan Cramer
df16ad5ae4 Update asmSelect so that it supports <select multiple> rather than just <select multiple=multiple> 2020-09-10 09:24:02 -04:00
Ryan Cramer
90ac2c90e9 Fix issue with $sanitizer->truncate() method truncating more than it should sometimes due to entity encoding of punctuation 2020-09-10 09:23:07 -04:00
Ryan Cramer
5fce455fbd Update WireHttp to support server protocol and add new sendStatusHeader() method 2020-09-10 09:20:45 -04:00
Ryan Cramer
868224bcfe Add $config->serverProtocol runtime property 2020-09-10 09:17:55 -04:00
Ryan Cramer
9dc13f977e Add support for $template->pagefileSecure option configured per-template. This also expands upon what $config->pagefileSecure could do before, now supporting the ability to secure Pagefiles even for public pages when appropriate. 2020-08-28 14:56:19 -04:00
Ryan Cramer
853a5cc490 Add new Page::hasFile() method 2020-08-27 15:37:37 -04:00
Ryan Cramer
8dbff5c7bc Fixes for issue processwire/processwire-issues#572 2020-08-27 15:36:13 -04:00
Ryan Cramer
8ac31f7ea0 Update Fieldtypes class ($fieldtypes API var) to have better class phpdoc, helpful in phpstorm 2020-08-27 15:32:19 -04:00
Ryan Cramer
575fc9acf8 Add a FieldtypeFile::getPagefile() method 2020-08-27 15:31:38 -04:00
Ryan Cramer
f1b146bb61 Add PagefilesManager::hasFile() method 2020-08-27 15:30:45 -04:00
Ryan Cramer
d8945198f4 Bump version to 3.0.165 2020-08-21 14:38:42 -04:00
Ryan Cramer
1444c8d168 Minor updates and optimizations to PageFinder 2020-08-21 13:38:10 -04:00
Ryan Cramer
03503075c1 Minor code updates to FieldtypeEmail and InputfieldEmail 2020-08-20 10:24:18 -04:00
Ryan Cramer
f95705dde4 Minor code updates to Checkbox Fieldtype and Inputfield 2020-08-20 10:23:12 -04:00
Ryan Cramer
0dda488739 Fix issue processwire/processwire-issues#1225 plus some other small upgrades to the FieldsTableTools notices 2020-08-20 10:02:16 -04:00
Ryan Cramer
9e9cc31051 Add Notice::allowMarkdown flag to Notice class, similar to Notice::allowMarkup, but enables support of basic/inline markdown and bracket tags 2020-08-20 09:58:49 -04:00
Ryan Cramer
0409aa5dae Update Sanitizer to isolate entitiesMarkdown() bracket tags logic to isolated method, plus add [br] tag to supported defaults 2020-08-20 09:57:07 -04:00
Ryan Cramer
2b69123f59 Refactoring, minor improvements and phpdoc additions to FieldtypeInteger, FieldtypeFloat, InputfieldInteger, InputfieldFloat. No new features added, just code improvements. 2020-08-20 07:38:39 -04:00
Ryan Cramer
0b9f07f3c4 Fix issue processwire/processwire-issues#1189 2020-08-18 11:23:47 -04:00
Ryan Cramer
6f4a76d74e Minor updates, plus update the inputfields.js triggered events (openReady, opened, closeReady, closed) to include the Inputfield element in the event arguments for simpler access to it vs the event.target. 2020-08-14 15:18:05 -04:00
Ryan Cramer
af632b0a4d Add $sanitizer->arrayVal() and $sanitizer->intArrayVal() for more strict/direct array sanitization defaults than the existing array() and intArray() sanitizers. 2020-08-11 07:17:53 -04:00
Ryan Cramer
b1785277a2 Fix issue processwire/processwire-issues#1133 2020-08-11 07:07:31 -04:00
Ryan Cramer
7dfd5af072 Fix issue with InputfieldSelector not working property with ="" and !="" mock operators 2020-08-09 10:53:03 -04:00
Ryan Cramer
8b1335accc Fix issue processwire/processwire-issues#1226 2020-08-07 09:32:57 -04:00
Ryan Cramer
a3f64cb4c7 Refactor of WireInput::sanitizeValue(), should also fix processwire/processwire-issues#1224 2020-08-07 09:14:38 -04:00
Ryan Cramer
5aa6b3939f Update $sanitizer->testAll() method with the ability to test all sanitizer method return values and report on any that are misbehaving 2020-08-04 16:21:06 -04:00
Ryan Cramer
b429de71e3 Bump version to 3.0.164 2020-07-31 13:51:05 -04:00
Ryan Cramer
abc9cd8adc Fix issue processwire/processwire-issues#941 2020-07-31 09:32:04 -04:00
Ryan Cramer
4cc8e56e9d Add system update 18 for processwire/processwire-issues#1171 2020-07-31 08:06:14 -04:00
Ryan Cramer
45bf8e2bca Fix issue processwire/processwire-issues#1221 2020-07-31 08:00:31 -04:00
Ryan Cramer
b855b1f6f5 Fix issue processwire/processwire-issues#1136 plus some other minor unrelated adjustments 2020-07-30 15:45:44 -04:00
Ryan Cramer
7503ecd781 Fix issue processwire/processwire-issues#973 2020-07-30 12:04:37 -04:00
Ryan Cramer
6d8d504d44 Fix issue processwire/processwire-issues#887 2020-07-29 14:57:44 -04:00
Ryan Cramer
c339bd5fd2 Fix issue processwire/processwire-issues#1115 2020-07-28 16:18:13 -04:00
Ryan Cramer
95203ac8f2 Fix issue processwire/processwire-issues#1128 2020-07-28 15:29:56 -04:00
Ryan Cramer
a852f74641 Fix issue processwire/processwire-issues#1219 2020-07-28 14:57:37 -04:00
Ryan Cramer
ff1d63c0d4 Fix issue processwire/processwire-issues#1175 2020-07-27 16:38:53 -04:00
Ryan Cramer
7391f48c28 Attempt fix for issue processwire/processwire-issues#1179 2020-07-27 15:01:13 -04:00
Ryan Cramer
662734e405 Fix issue processwire/processwire-issues#1217 2020-07-27 14:29:43 -04:00
Ryan Cramer
475ae801d1 Fix issue processwire/processwire-issues#1082 as well as improve error handling when one places a fieldset closer before its opener 2020-07-27 13:07:40 -04:00
Ryan Cramer
b466e4fb99 Fix the jammed table salt shaker 2020-07-25 09:33:08 -04:00
Ryan Cramer
65d9e280ca Bump version to 3.0.163 2020-07-24 15:15:14 -04:00
Ryan Cramer
dd15aa9adb Update ProcessModule so that module installation options are now configurable from new $config->moduleInstall array. Plus update in-module instructions to describe how to install a module manually. 2020-07-24 14:57:30 -04:00
Ryan Cramer
380583a92c Various minor updates 2020-07-24 14:44:39 -04:00
Ryan Cramer
ecb58f988a Fix issue processwire/processwire-issues#1206 2020-07-24 14:35:34 -04:00
Ryan Cramer
88437e42cc Fix issue processwire/processwire-issues#1216 2020-07-24 14:21:58 -04:00
Ryan Cramer
4b1eefa9d0 Update JqueryWireTabs module to use jquery.cookie.js rather than settings it's own, hopefully to fix issue processwire/processwire-issues#1188 2020-07-24 14:15:59 -04:00
Ryan Cramer
4c8b474c29 Update jquery.cookie.js to support SameSite attribute along with 'Lax' as default value to suppress warnings from Firefox. Plus update it to ask ProcessWire for default of 'secure' value on cookies. 2020-07-24 14:11:20 -04:00
Ryan Cramer
efe60a17ba Add note in .htaccess for processwire/processwire-issues#1193 2020-07-24 12:32:25 -04:00
Ryan Cramer
b40a9e0de6 Fix issue processwire/processwire-issues#1197 2020-07-24 11:26:19 -04:00
Ryan Cramer
81686d9864 Some minor refactoring in ProcessPageList. Should also fix issue processwire/processwire-issues#1200 2020-07-24 11:14:32 -04:00
Ryan Cramer
ada963a2f1 Fix issue processwire/processwire-issues#1203 2020-07-24 08:51:13 -04:00
Ryan Cramer
8c5ed3e0b1 Add find() and findOne() methods to WireInputData class, enabling $input->post->find(), $input->get->find(), etc., supporting both wildcards and regex patterns 2020-07-23 16:54:07 -04:00
Ryan Cramer
c6c639c0db Move Tfa config inputfields in ProcessLogin to separate methods so that the inputfields can also potentially be used by other modules. 2020-07-23 16:11:24 -04:00
Ryan Cramer
77d6c0061e Various minor updates 2020-07-23 16:09:54 -04:00
Ryan Cramer
9f368febfc Add support for feature requested in processwire/processwire-issues#1208 2020-07-23 15:58:55 -04:00
Ryan Cramer
fe32580027 Fix issue processwire/processwire-issues#1212 2020-07-23 15:32:26 -04:00
Ryan Cramer
bea09627b2 Fix issue processwire/processwire-issues#1214 2020-07-23 12:56:21 -04:00
Ryan Cramer
d6b9ee8db8 Fix issue processwire/processwire-issues#1215 2020-07-23 12:51:53 -04:00
Ryan Cramer
7e3f10b2ff Attempt to fix issue processwire/processwire-issues#1118 2020-07-23 11:03:41 -04:00
Ryan Cramer
6a1b6a21ae Add new hooks: Pages::trashReady(), Pages::deleteBranchReady(), Pages::deletedBranch(). The deleteBranch hooks cover the case of recursive deletions where an entire branch of pages is deleted. For those cases, these hooks can be more useful than the regular deleteReady() and deleted() hooks because those two are called for every single page, rather than just for the initiating page. 2020-07-17 14:43:33 -04:00
Ryan Cramer
63a59e2317 Bump version to 3.0.162 2020-07-10 14:32:40 -04:00
Ryan Cramer
74ac0ceb7a Addtion of some Page-specific convenience methods added to PageArray class 2020-07-10 12:56:08 -04:00
Ryan Cramer
01a607f7dc Updates in ProcessPageSearch and InputfieldPageAutocompete for support of new find operators, though additional code may still be necessary but this is a start 2020-07-10 12:52:12 -04:00
Ryan Cramer
6f1fddfedf Fix issue where a user with remembered-TFA was still getting a notice that they had to enable TFA 2020-07-10 12:49:22 -04:00
Ryan Cramer
cd44d8b7f2 Minor update in InputfieldImage JS to make jQuery migrator happy 2020-07-10 12:47:41 -04:00
Ryan Cramer
0cc2bf4b79 DB query updates in WireSaveableItems class 2020-07-10 12:46:55 -04:00
Ryan Cramer
6f4c21d5b9 Update WireDatabasePDOStatement class so that you can optionally use it even when not in debug mode 2020-07-10 12:45:54 -04:00
Ryan Cramer
8e0f2ed721 Add User::hasTfa() method to quickly identify if user has two-factor authentication enabled. Also added supporting code in Tfa class. 2020-07-10 12:44:16 -04:00
Ryan Cramer
e806cdb044 Add several new Selector compare types useful for runtime identification 2020-07-10 12:42:57 -04:00
Ryan Cramer
f0f37853ca Minor optimization for Page::isLoaded($fieldName) method 2020-07-10 12:41:26 -04:00
Ryan Cramer
f52a0685c2 Update Inputfield phpdoc to include the theme* properties recognized by AdminThemeUikit 2020-07-10 12:40:46 -04:00
Ryan Cramer
a474ffa8f9 Add new convenience method Field::getContext(); 2020-07-10 12:39:57 -04:00
Ryan Cramer
4f98dc974a Minor AdminThemeUikit updates plus move access certain shared admin theme labels into AdminTheme::getLabels() method 2020-07-10 12:34:15 -04:00
Ryan Cramer
9c2c5e986e Various minor theme updates 2020-07-10 12:32:08 -04:00
Ryan Cramer
f7879126da Attempt fix for issue mentioned by @Rayden in processwire/processwire-issues#1207 2020-07-09 11:06:19 -04:00
Ryan Cramer
f095f4aa77 Fix issue processwire/processwire-issues#1209 2020-07-09 10:46:55 -04:00
Ryan Cramer
5b285ebc8c Various fixes and improvements related to Selectors and the find operators 2020-07-06 14:39:49 -04:00
Ryan Cramer
6acb8028e3 Update JqueryCore so that setting $config->debug = 'dev'; makes it use a newer jQuery version and with jquery-migrate enabled. 2020-07-03 16:11:57 -04:00
Ryan Cramer
9389d4abdc Update lots of core .js files to update and replace deprecated jQuery calls 2020-07-03 16:02:07 -04:00
Ryan Cramer
598c702e1e Update InputfieldSelector to support new text search operators 2020-07-03 15:52:32 -04:00
Ryan Cramer
70f1a7cc8b Add new SelectorContainsAnyWordsExpand operator (~|+=) and update the getDescription() methods for most Selector classes to bring greater consistency and less translation. 2020-07-03 15:48:30 -04:00
Ryan Cramer
803e5c26d3 Add $sanitizer->word() method and upgrade $sanitizer->entitiesMarkdown() method to support escaped characters, making it possible to avoid collisions with basic markdown 2020-07-03 15:46:34 -04:00
Ryan Cramer
09c67d5478 Various minor updates 2020-07-03 15:45:34 -04:00
Ryan Cramer
e4d534747a Continued improvements to DatabaseQuerySelectFulltext class, especially to improve quality of results on query expansion operators 2020-07-03 15:42:25 -04:00
Ryan Cramer
10541997d4 Update WireTextTools with 2 new methods: getWordAlternates() and findReplaceEscapeChars() 2020-07-03 15:40:36 -04:00
Ryan Cramer
d53e2ef323 Bump version to 3.0.161 2020-06-26 15:49:42 -04:00
Ryan Cramer
4276a5d917 Update PageFinder to support altOperators in selectors. This enables you to use more than one operator in a selector. For example, if you wanted to first try to find pages matching a phrase (*=), and if it doesn't find any, fallback to find pages matching words (~=), you can just append the two opers together. i.e. "field*=~=value". This works for any operator combinations and you can stack as many as you need. 2020-06-26 09:43:43 -04:00
Ryan Cramer
ade079dea7 Continued refactoring and improvements to DatabaseQuerySelectFulltext class 2020-06-26 09:43:18 -04:00
Ryan Cramer
d69724123d Update to $sanitizer->wordsArray() method, plus minor updates to $sanitizer->selectorValue() method 2020-06-26 09:41:57 -04:00
Ryan Cramer
ac18dad59c Update Selectors class to support altOperators (alternate fallback operators for when first does not match) 2020-06-26 09:41:17 -04:00
Ryan Cramer
26710f262e Minor updates to Tfa class 2020-06-26 09:39:41 -04:00
Ryan Cramer
735c118910 Update ProcessProfile so that Tfa class can add hooks when needed 2020-06-26 09:38:49 -04:00
Ryan Cramer
f4642e5fd3 Improvements to SelectorContainsAdvanced class, add support for altOperators property to Selector class, add new copyTo() method to Selector class. 2020-06-26 09:37:54 -04:00
Ryan Cramer
133ea5b222 Update for processwire/processwire-issues#1198 2020-06-25 07:14:49 -04:00
Ryan Cramer
a2884184e1 Attempt fix for issue processwire/processwire-issues#1198 2020-06-25 07:09:51 -04:00
Ryan Cramer
0d1031582a Bump version to 3.0.160 2020-06-19 16:56:28 -04:00
Ryan Cramer
7efb9e8a4b Minor updates Selector, Selectors, Sanitizer 2020-06-19 12:59:39 -04:00
Ryan Cramer
c9c06f833a Add several new text-matching Selector classes and also some refactoring in main Selectors class 2020-06-19 12:48:18 -04:00
Ryan Cramer
1f293cc4f4 Add new $sanitizer->flatArray() and $sanitizer->wordsArray() methods, plus some improvements to existing array() method 2020-06-19 12:42:14 -04:00
Ryan Cramer
d79d9286b1 Various minor updates. Plus add a $database->isStopword() method and improve error logging in WireDatabasePDOStatement 2020-06-19 12:35:21 -04:00
Ryan Cramer
32e031ab7d Fix issue processwire/processwire-issues#1196 2020-06-17 09:08:42 -04:00
Ryan Cramer
857d5556ae Fix issue processwire/processwire-issues#1199 2020-06-17 08:39:13 -04:00
Ryan Cramer
8d7f2d133c Minor adjustment in Tfa class 2020-06-12 15:15:05 -04:00
Ryan Cramer
602ac0e1a5 Minor improvements to WireDatabasePDO. Make requests for ft_min_word_len use InnoDB equivalent when InnoDB engine is active. 2020-06-12 12:50:32 -04:00
Ryan Cramer
8239e0b11e Some refactoring in InputfieldCheckbox.module 2020-06-12 12:49:38 -04:00
Ryan Cramer
d9ed3058db Update ProcessLogin to support configuration of TFA auto-enable (forced two-factor auth). Also requires that TfaEmail module is installed. Can be configured in ProcessLogin module settings. 2020-06-12 12:48:27 -04:00
Ryan Cramer
b0736cf6cb Additional upgrades to Tfa class. Add support for auto-enable (supported by TfaEmail), which enables you as the admin to force users to use 2FA by having it automatically enabled for their account when they attempt login. Add support for Tfa modules to specify translatable name, title and summary (rather than relying upon module info settings). Make all text labels configuration settings. Add additional error checking. Use Inputfields JS API to automatically highlight 2FA config settings when user is going through the setup process. Expand Tfa class to allow for Tfa modules to optionally specify configuration settings for after Tfa is enabled. Add detection for if user’s pass changes between time Tfa code sent and time Tfa code entered. Make minor improvements to user Tfa selection and setup. 2020-06-12 12:41:39 -04:00
Ryan Cramer
c41987d1db Bump version to 3.0.159 2020-06-05 14:52:23 -04:00
Ryan Cramer
d99abac75c Upgrade the two-factor authentication system (Tfa) so that it now supports the ability to fingerprint and remember a user’s browser and other aspects, so that the user doesn't have to re-enter their TFA code on every login (optional). 2020-06-05 13:44:05 -04:00
Ryan Cramer
4c83f401ba Documentation improvements and minor optimizations to base Wire class 2020-06-05 08:28:45 -04:00
Ryan Cramer
855cfd7370 Various minor adjustments, typo and text fixes 2020-06-05 08:15:14 -04:00
Ryan Cramer
fd2fdd91f0 Update the $config->sessionFingerprint option to also support fingerprinting of browser http "accept" header, plus update documentation for this to use bitmask examples rather than predefined numbers. 2020-06-05 08:08:50 -04:00
Ryan Cramer
2de85fab4b Refactoring and documentation improvements to the WireInputDataCookie class which manages the $input->cookie API var. Contained in these updates is also a fix for processwire/processwire-issues#1053 2020-06-05 08:06:27 -04:00
Ryan Cramer
cd4bd7073c Fix formatting on ProcessLogin::getLoginLinks 2020-05-31 17:45:11 -04:00
Ryan Cramer
9b43b4fb96 Fix in DatabaseQuery::getDebugQuery() 2020-05-29 15:41:52 -04:00
Ryan Cramer
f307d375f1 Bump version to 3.0.158 2020-05-29 15:32:26 -04:00
Ryan Cramer
8fcde02f6c Fix issue processwire/processwire-issues#911 2020-05-29 14:53:38 -04:00
Ryan Cramer
9add4e5f82 Add support for $page->parents(true); which returns parents in reverse order (closest to furthest) rather than breadcrumb order. 2020-05-29 14:14:30 -04:00
Ryan Cramer
1af391f4db Refactor of Fieldtype::___savePageField() method that now exclusively uses bind values on inserts, consistent with last week's updates to its parent Fieldtype class savePageField method. 2020-05-29 14:12:07 -04:00
Ryan Cramer
1664bce8c7 Improvements to the Fieldtype::trimDatabaseSchema() method 2020-05-29 14:10:27 -04:00
Ryan Cramer
d2e381f987 Update numerous core classes to support the new wired() method, plus correct any found instances of the ProcessWire instance not being passed along to a Wire derived instance. 2020-05-29 14:09:17 -04:00
Ryan Cramer
365af73635 Add support for custom PDO statement class WireDatabasePDOStatement. This is used rather than PDOStatement when in debug mode, so that it can translate bind values to actual values in queries that are used in the debug mode query log. 2020-05-29 13:54:45 -04:00
Ryan Cramer
b4751481b8 Update DatabaseQuery class to support a getDebugQuery() method that returns the query (string) with all bind variables populated into the SQL 2020-05-29 13:48:26 -04:00
Ryan Cramer
44405eed8a Several improvements the Debug::timer, including several new methods to give more control over timing. 2020-05-29 13:44:58 -04:00
Ryan Cramer
c770f573be Update base Wire class to support a new wired() method that is called when the ProcessWire instance is assigned to the object. This usually happens immediately after __construct(), but depends on how the object was instantiated. This solves the problem of needing to access API variables in a constructor and potentially having the wrong API variable instance in a multi-instance environment. 2020-05-29 13:41:46 -04:00
Ryan Cramer
810cae271f Fix issue processwire/processwire-issues#1142 2020-05-24 07:32:58 -04:00
Ryan Cramer
0b0d372274 Fix issue with name matching regex not getting bundled in bind value processwire/processwire-issues#1173 2020-05-22 14:54:36 -04:00
Ryan Cramer
c0a867f9df Fix exception that was getting thrown during OR-group fulltext matching 2020-05-22 14:49:13 -04:00
Ryan Cramer
4d4dde64eb Bump version to 3.0.157 2020-05-22 14:14:54 -04:00
Ryan Cramer
5094a8ce8e Upgrade default htaccess.txt file with a new section for various firewall blocking rules as examples and link to 7G Firewall, plus some minor improvements to a few existing rules. 2020-05-22 13:43:28 -04:00
Ryan Cramer
7223ff2356 Update FieldtypeComments, FieldtypeOptions and FieldtypePage to take advantage of new PageFinder and Database class improvements 2020-05-22 13:35:58 -04:00
Ryan Cramer
9d7d8f66af Add new $sanitizer methods: line(), line(), trunc(), and improvements to intArray() 2020-05-22 13:32:58 -04:00
Ryan Cramer
db542b9ba2 Improvements to MarkupRSS core module, mostly with code tweaks and new phpdoc 2020-05-22 13:31:07 -04:00
Ryan Cramer
05899763e2 Update Pages and PagesLoader classes to take advantage of new Database class features 2020-05-22 13:30:06 -04:00
Ryan Cramer
bca53c5cf7 Some refactoring in PageFinder to utilize features with the new Database classes 2020-05-22 13:28:00 -04:00
Ryan Cramer
06acbe57a3 Major refactor/rewrite of ProcessWire's Database classes (DatabaseQuery, DatabaseQuerySelect, DatabaseQuerySelectFulltext) 2020-05-22 13:25:28 -04:00
Ryan Cramer
99f778f109 Update Fieldtype and FieldtypeMulti to use bind params in a couple spots where they weren't and could support it 2020-05-22 13:23:07 -04:00
Ryan Cramer
88e04129c7 Bump version to 3.0.156 2020-05-15 14:47:19 -04:00
Ryan Cramer
f11abdc99d Fix issue processwire/processwire-issues#1147 2020-05-15 12:24:47 -04:00
Ryan Cramer
0543548fdd Rewrite the $sanitizer->selectorValue() method to be more thorough and support more options. The previous selectorValue() method can also still be used by specifying [ 'version' => 1 ] in the $options array argument. This update also fixes processwire/processwire-issues#1152 2020-05-15 11:06:36 -04:00
Ryan Cramer
1da1068d60 Fix issue processwire/processwire-issues#1166 plus some unrelated minor tweaks 2020-05-15 07:06:10 -04:00
Ryan Cramer
3ba72d4508 Fix issue processwire/processwire-issues#1157 2020-05-14 16:08:21 -04:00
Ryan Cramer
4620c2ebff Fix issue processwire/processwire-issues#1164 2020-05-14 15:27:40 -04:00
Ryan Cramer
ebe352d5cc Attempt fix for processwire/processwire-issues#1165 2020-05-14 15:11:11 -04:00
Ryan Cramer
c191a84f7a Fix issue processwire/processwire-issues#1169 2020-05-14 14:25:19 -04:00
Ryan Cramer
6f6a301295 Update FieldtypeDatetime to support empty/not-empty operators in InputfieldSelector 2020-05-14 12:12:13 -04:00
Ryan Cramer
4633146e20 Minor updates to Modules class 2020-05-14 12:09:46 -04:00
Ryan Cramer
3aacccedb1 Update $pages API to add getID() and getByIDs() methods, and add $pages->parents() method for direct access to methods in new PagesParents class 2020-05-14 12:09:06 -04:00
Ryan Cramer
5b31d9939b Update PagesLoader with minor improvements for getById() method and add new getNativeColumnValue() method 2020-05-14 12:06:42 -04:00
Ryan Cramer
fd2a06d4b2 Continued updates to new PagesParents class and update PagesEditor to use it 2020-05-14 12:05:30 -04:00
Ryan Cramer
851969c9e0 Add new PagesParents helper class for $pages API, accessible at $pages->parents()->methods. This class takes over management of the pages_parents table and related functionality. 2020-05-13 15:40:01 -04:00
Ryan Cramer
c790d31b8f Add Selectors::getReservedChars() method to keep track of reserved characters and their usages in selectors 2020-05-01 16:40:41 -04:00
Ryan Cramer
99f5d59ce4 Some updates to base DatabaseQuery class to improve bound value support among other things 2020-05-01 16:39:34 -04:00
Ryan Cramer
b5c4980b3b Various minor adjustments 2020-05-01 16:34:03 -04:00
Ryan Cramer
d07ba2661d Update WireHttp to allow for custom "setopt" options when using CURL 2020-05-01 15:44:29 -04:00
Ryan Cramer
3ab31805c6 Fix issue processwire/processwire-issues#1148 2020-04-29 17:49:25 -04:00
Ryan Cramer
6ae08c901b Fix issue processwire/processwire-issues#1162 and maybe (?) processwire/processwire-issues#1086 2020-04-27 15:59:00 -04:00
Ryan Cramer
ca8e779402 Fix issue processwire/processwire-issues#1159 2020-04-27 15:35:57 -04:00
Ryan Cramer
1cd1976a38 Fix issue processwire/processwire-issues#1155 2020-04-27 15:17:52 -04:00
Ryan Cramer
a157e690fa Bump version to 3.0.155 2020-04-24 15:36:40 -04:00
Ryan Cramer
f4883a46eb phpdoc updates in FieldtypeSelector.module 2020-04-24 13:09:59 -04:00
Ryan Cramer
57f228b600 Add new $input->canonicalUrl() method and add lots more options for $input->urlSegment() method. Also add urlSegment1(), urlSegment2(), etc. methods for same arguments/support as urlSegment() method but focused on specific segment number. 2020-04-24 13:05:37 -04:00
Ryan Cramer
e6551c9b4f Minor improvements to $page->url() method options for URL segments and pagination numbers. 2020-04-24 13:00:08 -04:00
Ryan Cramer
e36667624f Fix typo in phpdoc of Template.php 2020-04-24 12:37:10 -04:00
Ryan Cramer
670916e730 Bump version to 3.0.154 2020-04-17 15:29:10 -04:00
Ryan Cramer
dde4c92b78 Update core Debug class to use PHP 7.3 hrtime() function for timers (rather than microtime), when available. Also add support for configuring timer precision via Debug::timerSetting('precision', $n) where $n is number of decimals. Default is 4. 2020-04-17 08:21:23 -04:00
Ryan Cramer
89dbf0f96c Several updates to core/LanguageFunctions.php with biggest being the option to programmatically replace translation text (whether multi-language support is installed or not), useful for very easily updating core/module output to say exactly what you want, and without needing to install multi-language modules. Also moved the __() configuration options to dedicated methods which makes it more clear to use, as well as much better for documentation purposes: wireLangEntityEncode(), wireLangTranslations(), wireLangReplacements(). 2020-04-17 08:06:02 -04:00
Ryan Cramer
f9337d77a5 Minor adjustments in Pageimage and Pagefile classes 2020-04-15 16:40:12 -04:00
Ryan Cramer
b44669397a Fix issue processwire/processwire-issues#1119 2020-04-15 16:37:09 -04:00
Ryan Cramer
6bd7901011 Fix issue processwire/processwire-issues#1122 2020-04-15 16:33:57 -04:00
Ryan Cramer
ed0f573432 Fix issue processwire/processwire-issues#1144 2020-04-15 16:28:48 -04:00
Ryan Cramer
29fbf0b2f7 Fix issue processwire/processwire-issues#1073 2020-04-15 16:19:23 -04:00
Ryan Cramer
20cdbea7a8 Fix issue processwire/processwire-issues#1143 2020-04-15 15:58:29 -04:00
Ryan Cramer
fcb3f6abdc Fix issue processwire/processwire-issues#1117 2020-04-15 15:44:49 -04:00
Ryan Cramer
64bb5b09ce Fix issue processwire/processwire-issues#1139 2020-04-15 15:37:37 -04:00
Ryan Cramer
b79c5c0e45 Adjustment to prevent irrelevant error messages from appearing when creating new images field 2020-04-15 07:06:37 -04:00
Ryan Cramer
b957a81846 Update CKEditor version to 4.14.0 2020-04-15 06:44:03 -04:00
Ryan Cramer
ff6ec3b1b5 Update InputfieldWrapper so that it supports the "name=field_name" => [ settings ] calls for setMarkup(), like in LoginRegisterPro 2020-04-13 16:18:19 -04:00
Ryan Cramer
00de278dc7 Update FieldtypeImage and Pageimage to support new searchable width, height and ratio properties in the DB schema. These will become more useful over time as files are uploaded/saved and new info populates. 2020-04-10 12:48:28 -04:00
Ryan Cramer
359baa14dc Update FieldtypeFile along with Pagefile and Pagefiles classes to support additional DB schema for filesize, created_users_id and modified_users_id. Also adds new related API methods. 2020-04-10 12:45:00 -04:00
Ryan Cramer
9cd3fa677b Add a Selectors::getOperators() method that provides a lot of options for retrieving info about available operators 2020-04-10 12:42:16 -04:00
Ryan Cramer
9040bdc8d4 Update base Selector class so that descending classes can self identify the type of comparison they are performing 2020-04-10 12:41:05 -04:00
Ryan Cramer
48bb7c1734 Add a new $database->columnExists() method, plus a couple other unrelated minor adjustments 2020-04-10 12:40:15 -04:00
Ryan Cramer
ac7c9da4d1 Update FieldtypeMulti to isolate some existing functionality into dedicated methods for better reusability 2020-04-10 12:38:21 -04:00
Ryan Cramer
9a1f842437 Additional upgrades to FieldtypeComments and its related classes 2020-04-03 09:18:39 -04:00
Ryan Cramer
d3bbf6577e Fix issue where WireShutdown in fatal error state didn't use http 500 header when debug mode was on 2020-04-03 09:13:14 -04:00
Ryan Cramer
1c68448267 Refactoring of and improvements to the core TemplateFile class 2020-04-03 08:34:30 -04:00
Ryan Cramer
03effce1bd Update Page class so that createdUser/modifiedUser properties can be accessed internally (i.e. $this->modifiedUser) from classes that extend Page class. Also minor adjustment to PagePathHistory DB schema (not necessary to change existing installs) 2020-03-27 16:12:17 -04:00
Ryan Cramer
3c767e3fda Remove these newly added methods for now to focus and evaluate a little later (WireFileTools) 2020-03-27 16:08:24 -04:00
Ryan Cramer
671041a37f Refactoring of ProcessLogin to allow for more customization of text labels and markup, plus add requested option to allow users to login by either email or name. 2020-03-27 15:37:52 -04:00
Ryan Cramer
891afa38d4 Update FieldtypeComments::find() method to support inclusion of page.parent_id or page.templates_id in comment search 2020-03-27 15:24:04 -04:00
Ryan Cramer
be81265ee7 Add feature request for $files->pathToUrl() and $files->urlToPath() methods 2020-03-25 09:29:49 -04:00
Ryan Cramer
78b7d198a7 Update HookEvent::removeHook($key) so that it also accepts itself (HookEvent instance) as the $key 2020-03-25 09:28:45 -04:00
Ryan Cramer
f54342a20c Fix issue in Paths.php where getting URL for 'http[ModuleName]' incorrectly returned error 2020-03-25 09:27:37 -04:00
Ryan Cramer
278d323acd Bump version to 3.0.153 2020-03-20 15:36:10 -04:00
Ryan Cramer
833736a1fc Refactoring and optimizations to PagesLoader class, plus addition of a new $pages->has('selector') API method that enables you to quickly check if a page exists matching a selector. This is an alternative to using the $pages->count() method which is what you would have previously used for this. But the $pages->has() method can do it more quickly than $pages->count(), if all you need to know is if a page exists. As a bonus, it returns the first found page ID, so this method essentially does the same thing as a $pages->getID() method (if such a method existed). 2020-03-20 15:29:51 -04:00
Ryan Cramer
1020fb84e7 Update PageFinder to support option for returning all columns in pages table for matching pages 2020-03-20 14:15:29 -04:00
Ryan Cramer
542e138e42 Refactoring of core Template class to improve, optimize and simplify it, plus add new dedicated methods for childTemplates(), parentTemplates(), and allowNewPages(). 2020-03-20 14:13:33 -04:00
Ryan Cramer
00b89f71b3 Prevent an exception from getting thrown in one part of Pageimage where it's preferable for the error not to be fatal 2020-03-13 13:05:34 -04:00
Ryan Cramer
ffc7e6fb86 Upgrade $pages->uncache() method so that it can also accept page IDs in addition to Page objects 2020-03-13 12:43:44 -04:00
Ryan Cramer
550fc26300 Major refactoring of ProcessWire's FieldtypeComments classes and addition of new CommentListCustom and CommentFormCustom classes for more markup control over comment lists and forms. Plus several new API methods and other upgrades for comments. 2020-03-13 12:41:36 -04:00
Ryan Cramer
63a588bf00 Fix caching issue when multiple date fields in InputfieldDatetime 2020-03-07 08:53:37 -05:00
Ryan Cramer
d793249f86 Bump version to 3.0.152 2020-03-06 16:49:48 -05:00
Ryan Cramer
273183ddfb Add support for custom Page classes 2020-03-06 14:13:22 -05:00
Ryan Cramer
15793931f4 Major improvements to InputfieldDateTime including a significant refactoring, adding support for HTML5 date/time input types, and a new date selection input using separate selects for month, day and year 2020-03-06 14:04:17 -05:00
Ryan Cramer
de5b7d9207 Update PageFinder and add dedicated abilty to include template IDs alongside page IDs as a finder option 2020-03-06 13:48:38 -05:00
Ryan Cramer
6ae314cb14 Documentation improvements to InputfieldToggle module 2020-03-06 13:47:35 -05:00
Ryan Cramer
19d8d944bf Refactoring of WireClassLoader class ($classLoader API var) plus improvements and ability to support autoloading via class Prefix or Suffix 2020-03-06 13:46:22 -05:00
Ryan Cramer
765f42a4dc Various minor adjustments, code plus improvements to ProcessSessionDB module 2020-03-06 13:45:36 -05:00
Ryan Cramer
f584ec5317 Move the requiredAttr Inputfield config option from InputfieldText into Inputfield so that it can be used on other Inputfield types 2020-02-28 16:38:55 -05:00
Ryan Cramer
60d62ea3a1 Bump version to 3.0.151 2020-02-21 15:35:37 -05:00
Ryan Cramer
3670031682 Fix issue processwire/processwire-issues#1091 2020-02-21 12:10:24 -05:00
Ryan Cramer
32f068c5ea Minor improvements to WireShutdown fatal error reporting, plus prevent some fatal errors from rendering twice and start converting some Exception only handlers to also accept Throwable (for PHP 7.x \Error or \Exception). 2020-02-21 11:28:45 -05:00
Ryan Cramer
695dd79db6 Add support for $config->imageSizes setting which lets you name and predefine image sizes/options that you can later refer to by name on any $image->size() call (via the width argument). 2020-02-21 11:23:02 -05:00
Ryan Cramer
ed05a4a356 Correct missing namespace from index.php (only matters if trying to multi-instance boot off of multiple PW index.php files) 2020-02-21 11:15:01 -05:00
Ryan Cramer
34cc4e9b0f Add support for retaining abandoned translations in __('text') calls. This enables you to change the value in __('text') _x('text', 'context'), $this->_('text'), etc. calls without abandoning the existing translation. To use, specify bracket PHP array syntax with 2 or more phrases you'll accept translations for, rather than automatically abandoning them. This is useful in cases where you need to change the text, but do not want to automatically lose any existing translations. For example, the call: __(['new text', 'old text']); will use a translation for 'old text' if 'new text' has not yet been translated. In the admin translation tools, it identifies these as "fallback" translations. See phpdoc notes in __() function for more details. 2020-02-14 15:36:40 -05:00
Ryan Cramer
af6a68e06d Update ProcessLogin to support login by email address for the admin. To use, you must enable the "unique" flag on your "email" field (Setup > Fields > email > Advanced), and then you can enable login-by-email in the ProcessLogin module settings. 2020-02-14 15:15:28 -05:00
Ryan Cramer
eedad3a742 Remove some redundant code from ProcessField and fix an issue with a duplicate id attribute in markup. 2020-02-14 14:50:43 -05:00
Ryan Cramer
d154a8de28 Minor fixes in WireArray, PaginatedArray and CommentStars classes 2020-02-14 14:49:59 -05:00
Ryan Cramer
93f422a2cf Update inputfields.js so that you can specify #find-fieldName as a URL fragment on pages containing an InputfieldForm and it will locate and highlight the field identified by fieldName. Also update $page->editUrl() function to accept a field name to find in the page editor, which uses the inputfields.js #find-fieldName added in this commit, i.e. $page->editUrl('body'); 2020-02-14 14:45:50 -05:00
Ryan Cramer
0e045ad45d Add new $field->editUrl() method 2020-02-14 14:43:55 -05:00
Ryan Cramer
032df04fe1 Bump version to 3.0.150 2020-02-07 13:42:02 -05:00
Ryan Cramer
df33867a44 Fix issue processwire/processwire-issues#1083 2020-02-07 13:12:38 -05:00
Ryan Cramer
d528f2f133 Update FieldtypeEmail and InputfieldEmail to support MySQL UNIQUE index option (available as a toggle on Advanced tab when editing field in admin) 2020-01-31 11:28:53 -05:00
Ryan Cramer
687ea08633 Add new FieldsTableTools class as a helper for managing field tables and their indexes. Intended for non-public API (internal core) use, but methods can be accessed $fields->tableTools() 2020-01-31 11:25:08 -05:00
Ryan Cramer
e983442197 Update ProcessPageLister for improved column labels when subfields are in use 2020-01-31 11:23:22 -05:00
Ryan Cramer
3d2648ef01 Update ProcessPageEdit so that it detects when the same error message might get shown twice and prevents it from happening 2020-01-31 11:21:08 -05:00
Ryan Cramer
92ef3bbbc3 Update RepeaterPage class for secondary detection of 'forField' when page exists in unexpected location 2020-01-31 11:19:55 -05:00
Ryan Cramer
1c3ba1024f Update WireException class to support setting message and code 2020-01-31 11:15:47 -05:00
Ryan Cramer
57a3a99ebd phpdoc-specific adjustments to FieldtypeCache.module 2020-01-29 06:01:46 -05:00
Ryan Cramer
b7dfe9da1e Add Fieldtype::isDeleteValue() method to isolate that particular logic outside of savePageField() method so it can more easily be overridden 2020-01-29 06:00:00 -05:00
Ryan Cramer
2adf4b0707 Updates to $config->fileContentTypes 2020-01-29 05:58:59 -05:00
Ryan Cramer
20be0c7fd5 Improvements to PageComparison is() and if() methods, minor optimization in WireData, and minor phpdoc fix in WireCache 2020-01-24 10:47:07 -05:00
Ryan Cramer
c5417d98ad Fix issue processwire/processwire-issues#1071 plus some other improvements to FieldtypeModule 2020-01-24 10:03:16 -05:00
Ryan Cramer
045f69d96d Add wireClassNamespace() function to accopmany existing wireClassName() function and others. Also improve wireEmpty() function to recognize objects that can be cast to empty strings. 2020-01-24 10:01:32 -05:00
Ryan Cramer
57540cfab2 Fix issue processwire/processwire-issues#1064 2020-01-20 08:37:12 -05:00
Ryan Cramer
6bc706742e Fix issue processwire/processwire-issues#1065 2020-01-20 07:19:10 -05:00
Ryan Cramer
85c9e4f329 Fix issue processwire/processwire-issues#1067 2020-01-20 07:01:01 -05:00
Ryan Cramer
406bd7a2ea Fix issue processwire/processwire-issues#1066 2020-01-18 06:36:35 -05:00
Ryan Cramer
e2ace10dbc Bump version to 3.0.149 dev 2020-01-17 15:37:48 -05:00
Ryan Cramer
d68b8267b1 Various improvements to ProcessWire's $notices API var (Notices and Notice classes) 2020-01-17 11:35:01 -05:00
Ryan Cramer
51c1096c7b Several upgrades to ProcessCommentsManager. Lots of improvements here, but biggest functional additions are the ability to change the Page that any comment lives on, as well as the ability to change what comment another is replying to. 2020-01-17 11:30:12 -05:00
Ryan Cramer
bd7dd56f06 Various upgrades to the API of comments fields 2020-01-17 11:29:31 -05:00
Ryan Cramer
6b04c4e15a Update AdminThemeUikit search box to add a suggestion about typing "help" if you focus the input for a brief period without typing anything 2020-01-17 11:27:28 -05:00
Ryan Cramer
f5f83e8148 Fix issue processwire/processwire-issues#1062 2020-01-13 14:49:28 -05:00
Ryan Cramer
a4f036cb45 Fix issue processwire/processwire-issues#1060 2020-01-13 14:41:15 -05:00
Ryan Cramer
11ed423bca Fix issue processwire/processwire-issues#1061 2020-01-13 14:24:44 -05:00
Ryan Cramer
abc32780e3 Update ProcessForgotPassword to have a dedicated hookable renderForm() method for simpler hook modifications 2020-01-13 08:50:45 -05:00
Ryan Cramer
b8dcdb7758 Fix issue in User::editUrl() where it wasn't passing $options array to parent call 2020-01-13 08:49:30 -05:00
Ryan Cramer
0a1ec95a33 Update wireEmpty() function so that it also returns false when giving a NullPage or NullField object. Add WireNull interface for future Null objects. 2020-01-13 08:48:06 -05:00
Ryan Cramer
321ea0eed3 Update InputfieldPassword to support configurable placeholder attributes for old/new/confirm inputs via oldPassLabel, newPassLabel, confirmLabel properties that can be set from hooks. 2020-01-05 07:31:11 -05:00
Ryan Cramer
51629cdd5f Bump version to 3.0.148 2020-01-02 12:06:16 -05:00
Ryan Cramer
0f0d20c76b README file updates for new master version 2020-01-02 11:50:54 -05:00
Ryan Cramer
49df4445e2 Suppress missing root .htaccess file error in SystemUpdateChecks since the checks wouldn't even be able to run if an .htaccess or suitable replacement file wasn't already present. Fixes processwire/processwire-issues#1059 2020-01-02 06:02:49 -05:00
Ryan Cramer
6b177d0d0d Add InputfieldImage CSS fixes per processwire/processwire-issues#1048 2019-12-31 14:31:02 -05:00
Ryan Cramer
22808c316f Add a few to-do code snippets, comments and notes for 3.0.150+ (next dev branch after master merge) 2019-12-31 14:22:33 -05:00
Ryan Cramer
a0ddedc005 Update SessionHandlerDB to support utf8mb4 charset for its table when $config->dbCharset specifies it. 2019-12-31 14:05:15 -05:00
Ryan Cramer
e7c9a1b79f Fix issue where wrong directory separator slash could end up in language translation files 2019-12-27 15:57:12 -05:00
Ryan Cramer
7d4ef4b786 Add WireLog::disable() and WireLog::enable() functions to temporary disable (and later enable) a log during runtime 2019-12-27 15:55:08 -05:00
Ryan Cramer
deb2065465 Add support for a 'type' option in wireBytesStr() function, enabling you to force return value in bytes, mb, kb, gb rather than auto-detected. 2019-12-27 15:52:06 -05:00
Ryan Cramer
12dbe3f250 Fix issue processwire/processwire-issues#1056 2019-12-27 13:39:31 -05:00
Ryan Cramer
4bcb824e9b Fix issue processwire/processwire-issues#1057 2019-12-27 13:35:00 -05:00
Ryan Cramer
9a9bdb464a Minor tweaks in WireHooks, ProcessForgotPassword and SessionLoginThrottle 2019-12-20 15:06:57 -05:00
Ryan Cramer
a11403b913 Fix issue processwire/processwire-issues#1047 2019-12-20 12:31:06 -05:00
Ryan Cramer
6bae4780f0 Add suggestion from processwire/processwire-issues#1050 2019-12-20 11:59:59 -05:00
Ryan Cramer
8762b7a77a Fix issue processwire/processwire-issues#1051 2019-12-20 11:56:07 -05:00
Ryan Cramer
3bf29d050b Add support for configuring the useAutocomplete threshold in InputfieldSelector via a maxSelectOptions setting 2019-12-08 07:17:19 -05:00
Ryan Cramer
9b624b6602 Bump version to 3.0.147 2019-12-06 14:14:45 -05:00
Ryan Cramer
103adbc0e1 Fix issue processwire/processwire-issues#1046 2019-12-06 14:05:45 -05:00
Ryan Cramer
f95fa3e3a3 Fix issue processwire/processwire-issues#1045 2019-12-06 14:02:04 -05:00
Ryan Cramer
8e91a05fd1 Fix issue processwire/processwire-issues#1043 2019-12-06 13:51:49 -05:00
Ryan Cramer
987d23154d Fix issue processwire/processwire-issues#774 2019-12-03 11:55:49 -05:00
Ryan Cramer
a6e3626992 phpdoc typo fixes per processwire/processwire-issues#797 2019-12-03 11:11:19 -05:00
Ryan Cramer
b5aca0e964 Fix issue processwire/processwire-issues#1042 2019-12-03 10:51:42 -05:00
Ryan Cramer
3717224a5c Fix issue processwire/processwire-issues#1041 2019-12-03 10:44:23 -05:00
Ryan Cramer
71e9c6114e Update HTMLPurifier version to 4.12.0 2019-12-03 10:42:17 -05:00
Ryan Cramer
c81566db7e Fix issue processwire/processwire-issues#1040 2019-12-03 09:57:36 -05:00
Ryan Cramer
b1b968c6b5 Fix issue processwire/processwire-issues#1038 2019-12-03 09:44:40 -05:00
Ryan Cramer
5daa38729a A couple of small improvements to ProcessPageLister, including improved editable() check of mock Page per template that also now includes parent in the check, and improved debug output of selector that now includes modifications to selector made by PageFinder 2019-12-03 08:41:37 -05:00
Ryan Cramer
8a5a4b4461 Add a getNonEmptyValue() method to LanguagesPageFieldValue class and make use of it in ProcessPageEdit to avoid situations where headline was otherwise blank 2019-12-03 08:40:51 -05:00
Ryan Cramer
346218a524 Various minor updates 2019-12-03 08:40:08 -05:00
Ryan Cramer
fd89b7cebd Bump version to 3.0.146 2019-11-22 14:12:51 -05:00
Ryan Cramer
72713948fa Some minor improvements to the Tfa class 2019-11-22 14:06:25 -05:00
Ryan Cramer
8455e497b7 Various unrelated minor updates to numerous classes/files (phpdoc, typo fixes, and related) 2019-11-21 11:25:58 -05:00
Ryan Cramer
efb8f1f2e9 Update documentation for PageRender::renderPage() method per processwire/processwire-issues#987 2019-11-21 09:34:34 -05:00
Ryan Cramer
4656672c81 Fix issue processwire/processwire-issues#1030 2019-11-21 08:59:30 -05:00
Ryan Cramer
14803e22a8 Fix issue processwire/processwire-issues#1031 2019-11-21 08:39:01 -05:00
Ryan Cramer
fd7917c7d1 Fix issue processwire/processwire-issues#1012 2019-11-20 10:54:51 -05:00
Ryan Cramer
4f054c3c19 Fix issue processwire/processwire-issues#1035 2019-11-20 10:08:28 -05:00
Ryan Cramer
719c2ef3a9 Fix issue processwire/processwire-issues#1029 2019-11-20 09:56:47 -05:00
Ryan Cramer
1aaef35474 Fix issue processwire/processwire#1016 and some related minor optimizations 2019-11-20 09:35:54 -05:00
Ryan Cramer
66258de9ee Update MarkupAdminDataTable to correct issue where some properties indicated as readable were not. Also update phpdoc to indicate they are readable but not writable. 2019-11-20 08:32:18 -05:00
Ryan Cramer
cf03946633 Fix issue processwire/processwire-issues#1033 2019-11-20 06:10:21 -05:00
Ryan Cramer
e296542640 Remove phpdoc sort property for Pagefile/Pageimage per processwire/processwire-issues#1034 2019-11-20 05:38:43 -05:00
Ryan Cramer
8c5d3aff72 Accompanies previous commit (forgot to include this file) processwire/processwire-issues#1032 2019-11-15 15:15:12 -05:00
Ryan Cramer
8d82308c4c Add support for feature request issue processwire/processwire-issues#1032 2019-11-15 15:14:15 -05:00
Ryan Cramer
7a41ffb089 Update $pages->touch() method to support specifying date type to update 'modified', 'created' or 'published'. Add $pages->editor()->addStatus(), removeStatus() and saveStatus() methods as simpler alternatives to the existing savePageStatus() 2019-11-15 14:40:57 -05:00
Ryan Cramer
00635bf01d Minor updates, phpdoc tweaks and such 2019-11-15 14:35:15 -05:00
Ryan Cramer
595429d425 Add a minimumAge config setting for PagePathHistory module per processwire/processwire-issues#1014 and add an option for throwing a 404 while still allowing PagePathHistory to perform redirects (if it has any). Also add a function: wire404(); that you can call for this, in addition to: throw new Wire404Exception(true); 2019-11-12 12:06:08 -05:00
Ryan Cramer
4cc587bd1a Update comments fields to use custom 'CommentField' class rather than 'Field' class 2019-11-12 11:15:00 -05:00
Ryan Cramer
4eeca2eeeb Add ability for PageFinder and PagesLoader to retain additional info about selectors and PageFinder instance for debugging purposes 2019-11-12 11:07:39 -05:00
Ryan Cramer
0478c65938 Improvements to $modules->findByPrefix() method 2019-11-12 11:06:46 -05:00
Ryan Cramer
bbddcf1ca0 Add support for Fieldtypes to specify that a Field should use a custom class that extends the Field class, rather than always using the "Field" class. 2019-11-12 11:06:02 -05:00
Ryan Cramer
4e4b3afdcb Bump version to 3.0.145 2019-11-08 13:57:50 -05:00
Ryan Cramer
b972aab11b Various minor pending updates and optimiations to several classes 2019-11-08 10:29:58 -05:00
Ryan Cramer
dd87518987 Minor adjustments to various classes 2019-11-06 15:18:41 -05:00
Ryan Cramer
098e5d03d7 Some code improvements to PW installer 2019-11-06 15:13:36 -05:00
Ryan Cramer
7aa83e3e5f Update $sanitizer->testAll() to make hookable and add a couple more methods to it processwire/processwire-issues#85 2019-11-06 15:09:54 -05:00
Ryan Cramer
5887997698 Fix issue processwire/processwire-issues#1025 2019-11-05 11:56:28 -05:00
Ryan Cramer
a22e6287be Fix issue processwire/processwire-issues#1023 via @matjazpotocnik suggested fix 2019-11-05 11:08:40 -05:00
Ryan Cramer
c9713f0bc4 Fix issue processwire/processwire-issues#1010 add support for dependencies to InputfieldPageListSelectMultiple and InputfieldPageAutocomplete 2019-11-05 10:46:56 -05:00
Ryan Cramer
ceca16506a Fix issue processwire/processwire-issues#1015 2019-11-05 08:55:36 -05:00
Ryan Cramer
76943ac192 Optimizations in PageLoader class plus fix issue processwire/processwire-issues#1021 2019-11-05 07:35:22 -05:00
Ryan Cramer
b3337d0110 Bump version to 3.0.144 2019-11-01 09:58:44 -04:00
Ryan Cramer
d30a937b99 Fix issue processwire/processwire-issues#980 2019-11-01 06:19:10 -04:00
Ryan Cramer
51616e7393 Set default for mergeDups option in FileLog::save() method to 0 (disabled) per processwire/processwire-issues#1019 2019-11-01 05:59:12 -04:00
Ryan Cramer
69e2c0e729 Lots of upgrades to ProcessField overrides tab 2019-10-31 15:39:18 -04:00
Ryan Cramer
da36905422 Add new new full JS API for Inputfields, represented by 'Inputfields' JS var. See top of inputfields.js file for details. 2019-10-31 15:29:32 -04:00
Ryan Cramer
7d5cef5717 Add option for InputfieldCKEditor JS to support option for configuration via data attribute, useful for some dynamic insertion cases like in repeaters 2019-10-31 15:26:32 -04:00
Ryan Cramer
6208e42cac Add option to InputfieldCheckbox to enable it to render without labels (useful for when rendered as in first/last table column or similar situations) 2019-10-31 15:25:08 -04:00
Ryan Cramer
50e916b72f Add simple string diff markup generator to WireTextTools class, via diffMarkup() method 2019-10-29 06:11:10 -04:00
Ryan Cramer
80eb2ff3f1 Fix issue with bitwise operators not properly return true on $database->isOperator() call 2019-10-27 07:24:17 -04:00
Ryan Cramer
350b61d6ee Bump version to 3.0.143 2019-10-25 13:00:25 -04:00
Ryan Cramer
6fcc0502b6 Update $database->isOperator() method to allow for isolation or exclusion of bitwise operators 2019-10-25 11:07:42 -04:00
Ryan Cramer
4b8b06af0f Add new wireEmpty() function as more helpful PW alternative to PHP's empty() function, plus improvements to wireClassName() function 2019-10-25 10:59:46 -04:00
Ryan Cramer
7544e0b56f Fix issue processwire/processwire-issues#933 2019-10-25 10:53:50 -04:00
Ryan Cramer
063203af26 Fix issue processwire/processwire-issues#1011 2019-10-25 10:20:28 -04:00
Ryan Cramer
1d0dc756b6 Add support for custom type-specific Inputfield classes and attributes to be added via markup array in InputfieldWrapper 2019-10-25 10:06:18 -04:00
Ryan Cramer
a3251d8571 Fix issue processwire/processwire-issues#1008 2019-10-25 09:33:07 -04:00
Ryan Cramer
4012949146 Fix issue processwire/processwire-issues#1009 2019-10-25 09:25:48 -04:00
Ryan Cramer
7d4ca45673 Fix issue processwire/processwire-issues#1000 2019-10-21 09:04:34 -04:00
Ryan Cramer
8d12cb2340 Fix issue processwire/processwire-issues#1005 2019-10-21 06:15:30 -04:00
Ryan Cramer
a7a91b668e Fix issue processwire/processwire-issues#1003 2019-10-18 10:59:11 -04:00
Ryan Cramer
34bc5094b0 Fix issue processwire/processwire-issues#1001 2019-10-18 10:37:59 -04:00
Ryan Cramer
0154f9defb Fix a couple of multilanguage issues with the new file/image custom fields options 2019-10-18 09:52:58 -04:00
Ryan Cramer
2f9976b6f3 Updates/improvements to phpdoc in FieldtypeText 2019-10-18 06:19:24 -04:00
Ryan Cramer
7be5fb4a68 Refactor FieldtypeDatetime module so that it no longer extends FieldtypeText 2019-10-18 06:18:45 -04:00
Ryan Cramer
22fe5bf9ef Fix issue processwire/processwire-issues#992 2019-10-16 09:02:59 -04:00
Ryan Cramer
adbc5bf95a Partial update to modal.js per processwire/processwire-issues#993 2019-10-16 08:10:48 -04:00
Ryan Cramer
c57e29e0c4 Fix issue processwire/processwire-issues#996 2019-10-16 08:01:25 -04:00
Ryan Cramer
3e4e690040 Fix issue processwire/processwire-issues#998 2019-10-16 07:54:10 -04:00
Ryan Cramer
6ffa041c3f Fix issue processwire/processwire-issues#999 2019-10-16 06:12:14 -04:00
Ryan Cramer
d7596426f8 Fix issue processwire/processwire-issues#995 2019-10-16 05:41:45 -04:00
Ryan Cramer
71a726f13d Fix issue processwire/processwire-issues#991 2019-10-15 12:23:18 -04:00
Ryan Cramer
d4dca0ed73 Attempt fix for issue processwire/processwire-issues#989 2019-10-15 11:47:51 -04:00
Ryan Cramer
3be2c31d41 Attempt to fix issue processwire/processwire-issues#973 plus add support for partial string matching operators %= and ^= in dates 2019-10-15 09:48:46 -04:00
Ryan Cramer
42e87fef74 Add some extra descriptive text in ProcessRole for page-edit and page-view permissions. 2019-10-14 10:47:08 -04:00
Ryan Cramer
59ec2ee8cc Update FileLog to support some new save options, including the ability to collapse duplicate log ones to 1. Also update ProcessLogger to improve output in some instances. 2019-10-14 10:46:11 -04:00
Ryan Cramer
3702ef8408 Bump version to 3.0.142 2019-10-11 14:29:03 -04:00
Ryan Cramer
573048abb4 Add support for custom fields in file/image fields. Details and instructions coming on Friday, but if you want to preview, create a template with name "field-images" where the "images" part is the name of your file/image field. Add the fields to it that you want to represent your custom fields, and it's ready to use. Supports most core Fieldtypes (including multi-language) with the following exceptions that are not supported as custom fields in an File/Image field: CKEditor, Repeaters, PageTable, Files (nested), Images (nested), Comments, Cache, Selector. 2019-10-09 12:01:19 -04:00
Ryan Cramer
eae15ce88a Update ProcessPageEdit so that submit dropdown actions are hookable 2019-10-09 11:54:37 -04:00
Ryan Cramer
e0e7f6eae6 Update InputfieldPageAutocomplete so that its icon is better positioned when the field initially starts out hidden 2019-10-09 11:53:36 -04:00
Ryan Cramer
6b20f429a9 Various minor updates and optimizations to several core classes 2019-10-09 11:52:36 -04:00
Ryan Cramer
0a01b472a1 Update InputfieldAsmSelect to reduce number of options needed in ProcessWire.config, isolating options common to all InputfieldAsmSelect instances from those unique to individual instances 2019-10-04 10:45:24 -04:00
Ryan Cramer
655c4cdd24 Update markup regions to support nested pw-optional regions as well as include removed pw-optional regions in debug info per processwire/processwire-issues#883 and processwire/processwire-issues#984 2019-09-30 09:51:25 -04:00
Ryan Cramer
3c11bbf1d8 Fix issue processwire/processwire-issues#982 2019-09-27 11:44:20 -04:00
Ryan Cramer
869c6f4a60 Fix issue processwire/processwire-issues#979 2019-09-27 11:41:50 -04:00
Ryan Cramer
7bbf1a53b2 Add support for more automatic file inclusions during processwire status/state changes, and make it possible to customize the filenames for them, including the existing ones like ready.php, init.php, etc. Also some other related system level improvements. 2019-09-27 11:36:23 -04:00
Ryan Cramer
27235ca6b6 Fix issue processwire/processwire-issues#978 2019-09-26 15:20:30 -04:00
Ryan Cramer
5586dd074b Fix issue processwire/processwire-issues#970 2019-09-26 14:38:34 -04:00
Ryan Cramer
648d2731d5 Update to docs in MarkupPagerNav.module per processwire/processwire-issues#969 2019-09-26 12:16:46 -04:00
Ryan Cramer
1fe7172cd8 Fix issue processwire/processwire-issues#965 2019-09-26 11:31:27 -04:00
Ryan Cramer
aa50edcbb0 Update a non-wired WireArray to automatically inherit an added item's ProcessWire instance 2019-09-26 06:49:13 -04:00
Ryan Cramer
e634d7a4a5 Update PageArray phpdoc per processwire/processwire-issues#960 2019-09-26 06:43:42 -04:00
Ryan Cramer
6d8b1ff2e4 Fix issue processwire/processwire-issues#946 2019-09-25 07:46:41 -04:00
Ryan Cramer
f495baa911 Fix issue processwire/processwire-issues#942 2019-09-25 06:48:26 -04:00
Ryan Cramer
b80df87c82 Fix issue processwire/processwire-issues#939 2019-09-24 16:37:35 -04:00
Ryan Cramer
9f4807cf56 Fix issue processwire/processwire-issues#931 2019-09-24 12:30:11 -04:00
Ryan Cramer
6758fb525e Fix issue processwire/processwire-issues#930 2019-09-24 12:04:14 -04:00
Ryan Cramer
6c755a8a9c Optimization to Page::setQuietly() method to support more direct setting of integer base properties in Page::$settings 2019-09-24 11:43:23 -04:00
Ryan Cramer
aae7302283 Update PageArray setSelectors() and getSelectors() methods to support setting/getting as string as an alternate to previously only allowing a Selectors-instance 2019-09-24 11:42:08 -04:00
Ryan Cramer
a2fb255de0 Fix issue processwire/processwire-issues#927 use current created user for cloned pages rather than original created user 2019-09-24 09:34:08 -04:00
Ryan Cramer
8fbf63ce85 Update error message in Modules class to make it less ambiguous per processwire/processwire-issues#926 2019-09-24 08:47:51 -04:00
Ryan Cramer
6f71ff3f93 Bumping version to 3.0.141, some other updates in progress but will commit those next week 2019-09-20 15:40:23 -04:00
Ryan Cramer
b868320b70 Add $config->setLocation(), $config->setPath() and $config->setUrl() methods to allow runtime modification of system paths/URLs. 2019-09-20 10:48:12 -04:00
Ryan Cramer
710c222b5a Add a new Templates::fileModified() hookable method that is called whenever a change is detected to a template file. Plus update the Template and Templates class to make it possible for runtime modification of the templates path. 2019-09-20 10:46:47 -04:00
Ryan Cramer
7a76f4b857 Update InputfieldCheckbox to support label element attributes in output ($labelAttrs array), for API usage 2019-09-18 11:30:01 -04:00
Ryan Cramer
83b8b8c50f Update DatabaseQuerySelectFulltext class to suppor OR values when used outside of PageFinder (like when used directly from FieldtypeMulti) 2019-09-18 11:28:31 -04:00
Ryan Cramer
215e2c56e1 Update $input->cookie API variable so that it can now also set cookies (in addition to just getting them). Default cookie settings are controlled from new $config->cookieOptions array. 2019-09-18 11:26:42 -04:00
Ryan Cramer
e94f8bc089 Bump version to 3.0.140 2019-09-06 15:43:03 -04:00
Ryan Cramer
b01a7d77bd Additional updates to InputfieldToggle 2019-09-06 15:42:10 -04:00
Ryan Cramer
d37d38d8a2 Add a new FieldtypeToggle module to accompany the InputfieldToggle module so that you can create ProcessWire fields that use this type as an alternative to checkboxes (you can also convert existing checkbox fields to use this type) 2019-09-03 11:51:26 -04:00
Ryan Cramer
56acc68b83 Numerous updates/improvements to the new InputfieldToggle module 2019-09-03 11:51:05 -04:00
Ryan Cramer
86695f8499 Update FieldtypeMulti::savePageField to use InnoDB transactions when possible, plus add a new shortcut method: WireDatabasePDO::allowTransaction() 2019-09-03 11:49:58 -04:00
Ryan Cramer
38d66af6f1 Various minor updates 2019-09-03 11:48:48 -04:00
Ryan Cramer
51f554176d Add support for an Inputfield 'detail' property, similar to existing 'notes' property, but appears below it and in muted text. 2019-09-03 11:44:26 -04:00
Ryan Cramer
e2529912da Bump version to 3.0.139 2019-08-30 14:26:56 -04:00
Ryan Cramer
98b42a9958 Add support for inline column width adjustment when editing a template’s fields in ProcessTemplate 2019-08-30 14:25:56 -04:00
Ryan Cramer
68940a6a9c Minor adjustment to previous commit (removing development output) 2019-08-30 11:36:25 -04:00
Ryan Cramer
e94e10c631 Add new "Toggle" Inputfield module providing an often more useful alternative to the InputfieldCheckbox module. There is also an accompanying FieldtypeToggle, but it is still in development so probably won't be till next week's commits. 2019-08-30 11:34:07 -04:00
Ryan Cramer
f5d955ef5f Bump version to 3.0.138 2019-08-16 14:11:13 -04:00
Ryan Cramer
742ed9c479 Improvements to Comment and CommentList class to support hookable modification of individual comments during rendering 2019-08-16 14:10:25 -04:00
Ryan Cramer
0392e9babf Update htmlpurifier version to 4.11.0 2019-08-15 06:20:38 -04:00
Ryan Cramer
d5795c4bc3 Add methods/properties to Page class for querying file paths without referencing filesManager: hasFilesPath(), hasFiles(), filesPath(), filesUrl() 2019-08-15 05:44:24 -04:00
Ryan Cramer
8a148c80f4 Minor update to CommentList class when using {url} or {page.url} placeholders to make it remove a useless href attribute on any links when the page is unpublished or no longer exists. 2019-08-15 05:40:08 -04:00
Ryan Cramer
429b98023b Upgrade ImageSizer to provide a new getEngineInfo() method that enables you to get verbose information about all installed engines (such as supported source/target formats, and more) without having to supply a file to inspect. 2019-08-15 05:37:38 -04:00
Ryan Cramer
4a9a7fadb8 Fix issue where InputfieldSelector didn't properly recognize the 'pgesFindSelect' option from FieldtypePage/InputfieldPage (custom find) option 2019-08-10 10:25:54 -04:00
Ryan Cramer
8982c976c5 Various minor unrelated updates 2019-08-08 14:14:36 -04:00
Ryan Cramer
f22302aaaf Fix issue processwire/processwire-issues#952 2019-08-07 06:11:31 -04:00
Ryan Cramer
81c745c5ad Fix issue processwire/processwire-issues#953 2019-08-07 06:00:11 -04:00
Ryan Cramer
481eb7c545 Remove field name indicator from MarkupFieldtype.php output that wasn't intended to stay 2019-08-05 07:53:07 -04:00
Ryan Cramer
c2ee22b334 Fix issue processwire/processwire-issues#951 2019-08-05 05:48:59 -04:00
Ryan Cramer
e160920984 Fix php notice in new PageimageVariations.php class 2019-08-04 11:18:06 -04:00
Ryan Cramer
918b894d82 Bump version to 3.0.137 2019-08-02 14:25:28 -04:00
Ryan Cramer
d6c7273c63 Update the PagefileExtra class to support some additional properties related to file size 2019-08-02 10:32:42 -04:00
Ryan Cramer
0e9cc868b7 Minor refactoring in ProcessPageEditImageSelect, plus update the executeVariations() method to also show webp extras when applicable. 2019-08-02 10:30:57 -04:00
Ryan Cramer
2f6497d1e5 Add support for hooking multiple methods to the same event handler via addHook*() calls by separating the methods to hook with commas, or by providing an array rather than a string. Also updated the corresponding removeHook() method to support removing multiple in the same call. 2019-08-01 11:44:33 -04:00
Ryan Cramer
b179aa9afc Various improvements to asmSelect jQuery plugin, including better parent/child option support with technical improvements (now works with Safari too), and some code and documentation improvements as well. 2019-07-31 09:36:19 -04:00
Ryan Cramer
6479e78288 Minor refactor of Page::getFieldSubfieldValue() method 2019-07-31 09:34:11 -04:00
Ryan Cramer
3cb1f33a97 Minor improvements in core MarkupFieldtype class 2019-07-31 09:33:43 -04:00
Ryan Cramer
83369f1173 Some updates and refactoring in ProcessPageLister module 2019-07-31 09:32:51 -04:00
Ryan Cramer
d4318fbd2c Bump version to 3.0.136 2019-07-26 11:55:37 -04:00
Ryan Cramer
ddb4aebf60 Add new static Debug::backtrace() method to the Debug class. This returns a backtrace array that is simpler and more PW-specific than PHP's version. By default it excludes likely irrelevant (for most) hook-related method calls that usually fill up the backtrace. 2019-07-26 11:41:05 -04:00
Ryan Cramer
072536dc72 Update CKEditor version to 4.12.1 2019-07-26 05:59:01 -04:00
Ryan Cramer
ddc72b3aff Fix ProcessPageLister issue where it was resetting filters sometimes when it shouldn't 2019-07-21 07:11:42 -04:00
Ryan Cramer
960998cb46 Work-in-progress minor update to pwlink cke plugin 2019-07-06 18:02:33 -04:00
Ryan Cramer
851803396d Bump version to 3.0.135 2019-07-05 14:45:36 -04:00
Ryan Cramer
7b4fe18f85 Minor adjustment to SystemUpdaterChecks class 2019-07-05 11:54:23 -04:00
Ryan Cramer
5f705459a6 Improvements to Session and Notices classes 2019-07-05 11:53:49 -04:00
Ryan Cramer
161d6fb737 Upgrade ProcessWire installer (and related site profile files) to support specification of debug mode as one of the interactive installation options. Also updated some wording in various parts of the installer. 2019-07-05 11:35:25 -04:00
Ryan Cramer
562565ff42 Add system update #17 which adds a secondary layer of file protection with dedicated .htaccess files in various site directories that take over if the root .htaccess file ever goes missing 2019-07-04 10:52:37 -04:00
Ryan Cramer
b5b1a796ec Small improvements to ProcessWire installer 2019-07-04 10:47:58 -04:00
Ryan Cramer
5663803e05 Move post-login superuser system checks from ProcessLogin into their own class SystemUpdaterChecks as part of the SystemUpdater module 2019-07-04 10:43:24 -04:00
Ryan Cramer
05bbfe0ba1 Some additional minor .htaccess updates 2019-07-03 13:18:15 -04:00
Ryan Cramer
a336acfaa4 Improvements to SystemUpdater module so that it can support manual API calls 2019-07-03 12:20:27 -04:00
Ryan Cramer
0e00f24004 htaccess version update, including suggestions from Teppo, Netcarver, and several other updates while I was there. See the htaccess.txt file for upgrade instructions. 2019-07-02 14:31:08 -04:00
Ryan Cramer
c02420796d Improvements to LanguageSupportPageNames::languageAdded hook to to avoid potential of unnecessary error message appearing when adding language 2019-07-01 06:42:02 -04:00
Ryan Cramer
aaab673117 Minor optimization to static storage of Page runtime helper classes 2019-07-01 06:40:54 -04:00
Ryan Cramer
2b0d8f333a Some updates preparing for additonal webp options (new options not ready to use quite yet). 2019-06-30 11:01:23 -04:00
Ryan Cramer
f1913df4d4 Bump version to 3.0.134 2019-06-28 12:09:37 -04:00
Ryan Cramer
d1bfd2f0e8 Minor adjustments in ProcessPageLister.module 2019-06-28 12:08:58 -04:00
Ryan Cramer
04cfe51306 Fix issue processwire/processwire-issues#875 2019-06-28 11:05:35 -04:00
Ryan Cramer
277f16dba7 Fix issue processwire/processwire-issues#866 2019-06-27 13:53:01 -04:00
Ryan Cramer
46f62fa34f Fix issue processwire/processwire-issues#867 2019-06-27 12:31:23 -04:00
Ryan Cramer
52405a6a77 Fix issue processwire/processwire-issues#870 2019-06-27 12:26:59 -04:00
Ryan Cramer
e1a664826f Fix issue processwire/processwire-issues#871 2019-06-27 10:27:42 -04:00
Ryan Cramer
4d2e8faece Add feature request for InputfieldSubmit to support independent button text from button value per processwire/processwire-issues#877 2019-06-27 10:04:57 -04:00
Ryan Cramer
2b29ffaf75 Fix issue processwire/processwire-issues#878 2019-06-27 08:27:43 -04:00
Ryan Cramer
08551319c9 ProcessTemplate field wording update per processwire/processwire-issues#876 2019-06-26 12:11:40 -04:00
Ryan Cramer
7e0f2080e6 Fix issue processwire/processwire-issues#880 2019-06-26 11:30:32 -04:00
Ryan Cramer
fdd2e7216d Fix issue processwire/processwire-issues#884 2019-06-26 10:51:30 -04:00
Ryan Cramer
f6702407ff Fix issue processwire/processwire-issues#897 2019-06-26 10:43:03 -04:00
Ryan Cramer
ab94e7b682 Attempt fix for processwire/processwire-issues#907 2019-06-26 10:15:54 -04:00
Ryan Cramer
3024314680 Fix issue processwire/processwire-issues#905 2019-06-25 11:16:43 -04:00
Ryan Cramer
d193bb4fb1 Fix issue processwire/processwire-issues#910 2019-06-25 10:59:14 -04:00
Ryan Cramer
57e2137fc4 Fix issue processwire/processwire-issues#913 2019-06-25 07:54:27 -04:00
Ryan Cramer
63ed8bff65 Test commit 2019-06-23 07:16:16 -04:00
Ryan Cramer
35e3e4266a Fix issue processwire/processwire-issues#904 2019-06-21 11:10:59 -04:00
Ryan Cramer
49d0348b4a Fix issue processwire/processwire-issues#902 2019-06-21 11:09:53 -04:00
Ryan Cramer
903e6b3527 Improvements to InputfieldSelector so that it is no longer necessary to have separate "Field" and "Field..." options, as now there is just "Field..." with default behavior being the same as the previous "Field" but with the ability to select subfields. This makes selection quite a bit simpler and less verbose and and saves a step. 2019-06-20 10:47:01 -04:00
Ryan Cramer
734c56dbbe Improve operator extraction in Selectors class so that it doesn't potentially match non-existent operators and throw an unnecessary "unknown operator - selector value property escaped?" error message 2019-06-20 10:41:21 -04:00
Ryan Cramer
fdc1c61833 Improvements in PageFinder to handle some additional types of native field queries like partial match of parent.path, matching parent.status, and some others. 2019-06-20 10:27:52 -04:00
Ryan Cramer
3577b81591 Add PageFinder support for partial match operator on parent.path selectors like: parent.path%=something 2019-06-19 10:34:26 -04:00
Ryan Cramer
62b81164a0 Add some new option manipulation methods to InputfieldSelect.module, which are also inherited by all of PW's single/multi-selection Inputfields 2019-06-19 09:32:10 -04:00
Ryan Cramer
5f3e9af378 A few minor adjustments 2019-06-19 09:30:53 -04:00
Ryan Cramer
bccdc2ace4 Bump version to 3.0.133 2019-06-14 13:07:49 -04:00
Ryan Cramer
108f8c5511 Minor adjustments to ProcessPageLister and InputfieldSelector 2019-06-14 11:53:58 -04:00
Ryan Cramer
51c6becf9a Update asmSelect to support 1-level of parent/child relationships for selectable options 2019-06-14 11:51:20 -04:00
Ryan Cramer
eb299ee598 Add support for Lister user-specific bookmarks. This enables users to create their own private or shared bookmarks in Lister. 2019-06-12 15:37:26 -04:00
Ryan Cramer
d977cabb82 Add optional support for an executeUnknown() method to Process modules. This method is called when an unknown method is requested. It is not enabled by default, unless you add an executeUnknown() method to the Process module. 2019-06-12 15:34:18 -04:00
Ryan Cramer
2ba96d3f2b A couple of adjustments to ProcessPageLister module to correct issue of neverending spinner when ajax result was missing an expected row, plus improve the ajax spinner output, especially for AdminThemUikit which previously was not showing a spinner. 2019-06-10 09:03:18 -04:00
Ryan Cramer
f95b026a95 Improvements to boolean html attribute handling for Inputfield class setAttribute() method 2019-06-07 12:20:11 -04:00
Ryan Cramer
204335e2d3 Add support for $page->meta() method for maintaining persistent meta data for pages independent of fields and the normal load/save process. 2019-06-07 12:17:27 -04:00
Ryan Cramer
50a6f3585e Add InputfieldCheckbox checked() method as an optional shortcut for getting/setting checkbox state 2019-06-07 12:13:02 -04:00
Ryan Cramer
08bea26a17 Add WireDatabasePDO tableExists() method 2019-06-07 12:12:24 -04:00
Ryan Cramer
5235ab2a89 Add $session->getVal() methods which work the same as get() but let you speicfy the fallback value 2019-06-07 12:11:52 -04:00
Ryan Cramer
26435563d3 Add new $sanitizer->attrName() method and some other optimizations to Sanitizer class 2019-06-07 12:11:03 -04:00
Ryan Cramer
f6c210f686 Various minor updates 2019-06-07 12:08:55 -04:00
Ryan Cramer
a88c6a49c7 Fix issue where using crop/resize tools on an image within a NESTED repeater item would not save the changes after clicking the Save button in the page editor. 2019-06-04 09:30:35 -04:00
Ryan Cramer
ad2f60b544 Settings label typo fix in InputfieldRepeater.module 2019-05-26 08:39:37 -04:00
Ryan Cramer
4b733af0bf Fix issue with repeater item settings toggle and visibility (as used by RM) not working when ajax repeater item starts collapsed 2019-05-26 08:34:35 -04:00
Ryan Cramer
680d885abb Bump version to 3.0.132 2019-05-24 16:29:44 -04:00
Ryan Cramer
d8bbde74d7 A couple other ImageSizerEngine adjustments for webp 2019-05-24 14:22:07 -04:00
Ryan Cramer
50f8024ba3 Additional updates to PR #141 expanding WEBP support 2019-05-24 12:20:13 -04:00
Ryan Cramer
bbd3aba191 Merge branch 'horst-n-webP-support' into dev 2019-05-23 15:50:21 -04:00
Ryan Cramer
9964473776 Updates to @horst-n PR #141 for webp image support 2019-05-23 15:49:06 -04:00
Ryan Cramer
7f218c6a6b Merge branch 'webP-support' of https://github.com/horst-n/processwire into horst-n-webP-support 2019-05-22 14:49:45 -04:00
Ryan Cramer
0fd6a2aaed Update RepeaterPage class with methods to identify root forField and forPage in nested repeaters 2019-05-22 14:03:34 -04:00
Ryan Cramer
73f0c915de Various minor primarily phpdoc updates 2019-05-22 14:03:03 -04:00
Ryan Cramer
2b7f80d575 Several major improvements to WireTextTools::markupToText() method, plus related updates in Sanitizer and WireMail classes 2019-05-22 13:50:12 -04:00
Ryan Cramer
f1d5f12835 A couple of minor adjustments 2019-05-17 13:26:38 -04:00
Ryan Cramer
bac9736e49 Update WireHttp::sendFile() to support a 'data' option that lets you provide a string of content to send as a download, rather than pulling from existing file. 2019-05-17 13:21:12 -04:00
horst-n
6e580f71e1 changed the return of webpUrl()
to return the calculated URL, even if there is no webp copy available!
2019-05-04 18:42:11 +02:00
horst-n
88d4b11db4 added object as output format to the getDebugInfo
I figured out that this is useful to have for (automated) testing and debugging too. It is much easier to get a value for conditional coding via an object:
```
$dbgInfo = $image->getDebugInfo($options, 'object');
if($dbgInfo->engines->selectedEngine == ....
```
2019-05-04 11:21:58 +02:00
Ryan Cramer
f83b4ae259 Bump version to 3.0.131 2019-05-03 15:11:41 -04:00
Ryan Cramer
2880ff6d57 Various minor updates, mostly phpdoc related 2019-05-03 11:59:18 -04:00
Ryan Cramer
3a094f6447 Adjustment to WireTextTools::markupToText() method to prevent it from adding redundant newlines 2019-05-03 11:54:54 -04:00
Ryan Cramer
12f6253af6 Update WireHttp::sendFile() method to support partial downloads or ranges via HTTP_RANGE headers. Browsers use this particularly with media files (audio/video), especially Safari and iOS devices. But this also enables partial and pause/resume of any kind of downloads. 2019-05-03 11:40:29 -04:00
horst-n
d361c6c11e added a webp support check for engines
see: https://processwire.com/talk/topic/14236-webp-support/page/3/?tab=comments#comment-185020
2019-05-03 13:54:04 +02:00
horst-n
fa917b30e0 fixed a bug with internal checking
if a webp copy exists or not. Using $this->hasWebp() within the resize method doesn't work. Changed to test for file_exists of the temporary webp copy.
2019-05-02 10:37:08 +02:00
horst-n
b46bdfea94 updated font-family with more monospace fonts 2019-04-29 19:29:53 +02:00
horst-n
e8e2594d3e force new creation for condition
where the regular variation exists and should not be recreated, but where a webp copy, that do not exist, is requested too.
2019-04-29 17:30:06 +02:00
horst-n
540ae4f2d9 rearanged and grouped the output of getDebugInfo 2019-04-29 16:51:57 +02:00
Ryan Cramer
f2dbdb118e Fix issue processwire/processwire-issues#865 and processwire/processwire-issues#864 2019-04-29 10:07:49 -04:00
horst-n
53c414aa60 reworked the getDebugInfo method,
trying to make the code more readable.
But the main goal for me is, that the output is best readable! :)
2019-04-27 23:15:44 +02:00
horst-n
d062bc4345 added to phpdocs 2019-04-27 23:13:26 +02:00
horst-n
e6f4fbcb40 minor changes and cleaning phpdoc 2019-04-27 23:12:37 +02:00
horst-n
ba6803f425 refactored getDebugInfo() method 2019-04-27 13:21:07 +02:00
horst-n
32afdbdf52 cleaning up a bit 2019-04-27 11:55:50 +02:00
horst-n
1b96368aa2 cleaning and beautyfying 2019-04-27 10:46:39 +02:00
horst-n
a4431829d9 added method and property webpFilename 2019-04-27 10:37:10 +02:00
horst-n
ec2c2cf4e0 cleaning minor things and whitespaces
and added "Options Hierarchy" to the getDebugInfo method
2019-04-27 10:27:07 +02:00
horst-n
8da54040d4 added a verbose debug method
that can be called manually on every imagevariation and with individual options array.
2019-04-27 00:36:42 +02:00
horst-n
ebe7a5d80f added a verbose debug info method 2019-04-27 00:30:58 +02:00
horst-n
a6aa39d75d added webp params to imagesizerOptions 2019-04-26 19:01:05 +02:00
horst-n
9f01172a4b added 2 aliases
beginning with webp, as we also use two new options beginning with webp. Maybe this is better to avoid confusion.
webpAdd, webpQuality, webpUrl, webpSrc
2019-04-26 18:32:23 +02:00
horst-n
04135462c8 refactored webp creation and compression 2019-04-26 18:11:04 +02:00
horst-n
023a672e26 Update Pageimage.php 2019-04-25 11:01:57 +02:00
horst-n
232f66dedf minor changes 2019-04-25 11:01:31 +02:00
horst-n
35b9a403e1 rearranged code for webP saving 2019-04-25 11:01:13 +02:00
horst-n
4e534e0315 add property and method for webpAdd 2019-04-25 08:59:58 +02:00
horst-n
8a63886da1 remove debug code 2019-04-25 00:41:47 +02:00
horst-n
b531275a6e make more robust filename creation
and remove debug code
2019-04-25 00:41:14 +02:00
horst-n
f3f4e427b0 changed to more robust filename creation 2019-04-25 00:21:09 +02:00
horst-n
a5a101a456 documentation for webp properties 2019-04-24 23:40:16 +02:00
horst-n
7f132638d0 added properties for webp support
with the property $image->hasWebp we can detect, for example in a template file, if an image variation has a dependant webp file, so we can render conditional markup with srcset or picture elements.
And urlWebp and srcWebp for returning the URL.
2019-04-24 23:23:05 +02:00
horst-n
63018ab1cd add support for webp
added option "webpAdd" and "webpQuality" that allows to create a webp file as sidecar file when creating a JPEG, GIF or PNG file.
2019-04-24 21:32:05 +02:00
horst-n
bbe13583c5 add webp support to GD 2019-04-24 21:29:09 +02:00
horst-n
c1814c8e6b add option webpQuality 2019-04-24 21:28:33 +02:00
Ryan Cramer
6d38df65b4 Fix issue processwire/processwire-issues#857 2019-04-23 06:29:02 -04:00
Ryan Cramer
889f1e753d Fix issue processwire/processwire-issues#850 2019-04-23 06:07:37 -04:00
Ryan Cramer
6ed9385052 Add support for Comment::statusFeatured to InputfieldCommentsAdmin 2019-04-19 09:36:30 -04:00
Ryan Cramer
5cbe7d562d Upgrade ProcessCommentsManager to take better advantage of Uikit admin output and add support for featured comment status 2019-04-19 09:26:26 -04:00
Ryan Cramer
ebed9f6279 Add FieldtypeComments::count() method which does the same thing as the find() but instead returns a count. Plus add support for new Comment::statusFeatured status for support of featured comments 2019-04-19 09:23:40 -04:00
Ryan Cramer
f41c61e490 Upgrades and improvements to CommentFilterAkismet class 2019-04-19 09:22:46 -04:00
Ryan Cramer
2a63a44485 Minor adjustments 2019-04-19 09:19:03 -04:00
Ryan Cramer
761c7640c7 Add new $config->sessionForceIP property that lets you override the return value of $session->getIP() 2019-04-19 09:16:58 -04:00
Ryan Cramer
0b98667bc9 Fix issue processwire/processwire-issues#770 2019-04-17 11:11:02 -04:00
Ryan Cramer
f30e084e3d Fix issue processwire/processwire-issues#772 2019-04-17 05:59:58 -04:00
Ryan Cramer
e5582f5555 Fix issue processwire/processwire-issues#851 2019-04-16 10:17:05 -04:00
Ryan Cramer
72324fdbb1 Fix issue processwire/processwire-issues#854 2019-04-16 10:03:42 -04:00
Ryan Cramer
21164eaef5 Fix issue processwire/processwire-issues#852 2019-04-16 06:17:23 -04:00
Ryan Cramer
f0c79f38cf Additional update for processwire/processwire-issues#849 2019-04-16 06:08:52 -04:00
Ryan Cramer
3b8d92a975 Fix issue processwire/processwire-issues#849 2019-04-16 05:59:55 -04:00
Ryan Cramer
144ce409b1 Bump version to 3.0.130 2019-04-12 21:44:44 -04:00
Ryan Cramer
932ad94dc4 Add WireDatabaseBackup::dropAllTables() method for feature request processwire/processwire-requests#296 2019-04-12 10:46:51 -04:00
Ryan Cramer
099acacc61 Improvements to the __debugInfo() return values for some classes as well as those requested in processwire/processwire-issues#575 2019-04-12 10:28:23 -04:00
Ryan Cramer
ca94bd3958 Additional fix for processwire/processwire-issues#587 2019-04-12 06:19:54 -04:00
Ryan Cramer
da309f335b Fix issue processwire/processwire-issues#744 2019-04-11 12:23:01 -04:00
Ryan Cramer
12aede03fe Add new $cache->renderFile() method that works like $files->render() but caches the output according to WireCache rules. Also updated $files->render() to support a 'cache' option, which provides the same result. 2019-04-11 11:48:34 -04:00
Ryan Cramer
b0f11c15c5 Fix issue processwire/processwire-issues#847 2019-04-10 15:06:17 -04:00
Ryan Cramer
dcf226995c Improvements and minor refactoring in WireCache.php ($cache API var) 2019-04-10 11:55:17 -04:00
Ryan Cramer
d03ed24c75 Various phpdoc improvements 2019-04-10 05:58:23 -04:00
Ryan Cramer
612d886dd8 Typo fixes per processwire/processwire-issues#797 2019-04-09 06:16:13 -04:00
Ryan Cramer
3bed484c80 Fix issue processwire/processwire-issues#845 2019-04-09 06:08:10 -04:00
Ryan Cramer
a6cb458c06 Fix issue processwire/processwire-issues#826 2019-04-08 13:51:38 -04:00
Ryan Cramer
5af01e44d0 Fix issue processwire/processwire-issues#844 2019-04-08 06:22:13 -04:00
Ryan Cramer
da73398da1 Fix issue processwire/processwire-issues#843 2019-04-08 06:12:24 -04:00
Ryan Cramer
357ce2d642 Bump version to 3.0.129 2019-04-05 15:08:36 -04:00
Ryan Cramer
e2176d9446 Add $datetime->elapsedTimeStr() method to accompany existing relativeTimeStr() method. This one enables you to show difference in two dates/times rather than just relative to current date/time. 2019-04-05 15:05:05 -04:00
Ryan Cramer
d4ca0d6e45 Update SessionCSRF to use more purpose-specific WireRandom class rather than Password class for random string generation 2019-04-05 15:01:49 -04:00
Ryan Cramer
c58d00863a Add $sanitizer->httpUrl() method to accompany existing url() method 2019-04-05 15:01:14 -04:00
Ryan Cramer
b122456eb2 Fix issue processwire/processwire-issues#441 2019-04-05 13:12:18 -04:00
Ryan Cramer
e0b1c5c1bd Add update to accommodate different "not" logic in a new notAll() method for WireArray/PageArray per processwire/processwire-issues#383 2019-04-05 12:06:08 -04:00
Ryan Cramer
711b6b8f3d Add additional check to make sure one isn't deleting the page being viewed per processwire/processwire-issues#356 2019-04-05 11:03:31 -04:00
Ryan Cramer
6d7198f2a6 Add $config->installedAfter($date) and $config->installedBefore($date) methods 2019-04-05 11:02:28 -04:00
Ryan Cramer
45d6158be1 Fix issue processwire/processwire-issues#332 FieldsetTab was sometimes not auto-loading AJAX-loaded tab after form submit 2019-04-05 08:48:10 -04:00
Ryan Cramer
40c8eea7c6 update Fieldtypes::sort() method for new argument per processwire/processwire-issues#841 2019-04-02 14:04:42 -04:00
Ryan Cramer
8cdb9886e7 Fix phpdoc typos per processwire/processwire-issues#797 2019-04-02 11:29:18 -04:00
Ryan Cramer
dd183c0571 Fix issue processwire/processwire-issues#840 2019-04-02 11:24:29 -04:00
Ryan Cramer
e9620a3a47 Fix issue processwire/processwire-issues#726 2019-04-02 10:44:06 -04:00
Ryan Cramer
7793b79e03 Add support for PHP SORT_* constants per processwire/processwire-issues#841 2019-04-02 09:43:40 -04:00
Ryan Cramer
2e7db9c40f Fix issue processwire/processwire-issues#778 2019-04-01 11:49:10 -04:00
Ryan Cramer
7bd2e3fc7f Add versions of many PHP string functions to WireTextTools to abstract away the mb_string test and update Sanitizer to use them where appropriate 2019-04-01 11:32:04 -04:00
Ryan Cramer
dac7be6af4 Add support for email blacklists via $config->wireMail('blacklist') property 2019-04-01 11:31:07 -04:00
Ryan Cramer
b87404ade8 Bump version to 3.0.128 2019-03-29 15:34:22 -04:00
Ryan Cramer
d9ab9c56d5 Add $sanitizer->checkbox() method 2019-03-29 15:30:32 -04:00
Ryan Cramer
2a108b4cd0 Fix issue processwire/processwire-issues#239 (display Password description and notes in correct locations). Plus add support for disabling and/or relaxing some of the strict password requirements per a previous request (which I can't seem to find at the moment). 2019-03-29 11:49:01 -04:00
Ryan Cramer
478d299322 Add support for combined hooks that can be executed as either method or property per issue processwire/processwire-issues#232 2019-03-29 11:07:40 -04:00
Ryan Cramer
c4086084d8 Fix issue processwire/processwire-issues#214 and refactoring of dependent selects code in InputfieldPage.js 2019-03-29 10:11:35 -04:00
Ryan Cramer
bc917c6553 Enhancement/fix for processwire/processwire-issues#838 2019-03-28 10:31:32 -04:00
Ryan Cramer
ce8c369510 Fix issue processwire/processwire-issues#834 2019-03-28 05:52:44 -04:00
Ryan Cramer
f7b99d7676 Fix issue processwire/processwire-issues#837 2019-03-26 12:21:18 -04:00
Ryan Cramer
e0a96d40a2 Attempt fix for issue processwire/processwire-issues#835 2019-03-26 11:09:18 -04:00
Ryan Cramer
cf2be06dfc Add AdminThemeDefault/AdminThemeReno column widths fix as suggested by @Toutouwai in processwire/processwire-issues#306 plus add typo fix per processwire/processwire-issues#797 2019-03-26 11:00:11 -04:00
Ryan Cramer
f121425f0d Some updates to PagesType class and update all PagesType hooks from deprecated to fully functional per processwire/processwire-issues#360 2019-03-26 10:08:26 -04:00
Ryan Cramer
768b27f4c8 Fix issue in ProcessPageLister where images were not displaying if the gridMode was set to "list (verbose)", plus a couple of other minor related adjustments 2019-03-23 08:02:45 -04:00
Ryan Cramer
2cad3ed11b Various minor adjustments, but nothing interesting 2019-03-22 17:02:44 -04:00
Ryan Cramer
a2e7c35f95 Typo fix in AdminThemeUikit.module per processwire/processwire-issues#797 2019-03-21 13:05:32 -04:00
Ryan Cramer
505429e517 Fix issue processwire/processwire-issues#832 2019-03-21 11:12:01 -04:00
Ryan Cramer
40f35241e4 Fix issue processwire/processwire-issues#831 2019-03-21 10:14:03 -04:00
Ryan Cramer
1995067b96 Additional fix for issue processwire/processwire-issues#724 2019-03-21 10:06:48 -04:00
Ryan Cramer
02f05c6f67 Update to allow spaces in URL segments when allowed by config.pageNameWhitelist and config.pageNameCharset=UTF8 per processwire/processwire-issues#720 2019-03-21 09:19:01 -04:00
Ryan Cramer
7905fb5180 Add support for page.sort in PageFinder (DB selectors) per processwire/processwire-issues#496 2019-03-21 06:26:06 -04:00
Ryan Cramer
99cc9f8be7 Add support for noTrim option to InputfieldText/InputfieldTextarea per processwire/processwire-issues#459 2019-03-19 10:52:47 -04:00
Ryan Cramer
4ef5ebc8fb Fix issue processwire/processwire-issues#364 2019-03-19 10:29:36 -04:00
Ryan Cramer
cfb533869d Fix issue processwire/processwire-issues#334 2019-03-19 09:54:37 -04:00
Ryan Cramer
019057f846 Fix phpdoc typo in Module.php per processwire/processwire-issues#797 2019-03-19 09:35:45 -04:00
Ryan Cramer
2aa2342e18 Fix issue processwire/processwire-issues#768 2019-03-19 09:09:44 -04:00
Ryan Cramer
d72062a805 Fix issue processwire/processwire-issues#668 2019-03-19 08:48:05 -04:00
Ryan Cramer
40c05893ea Fix issue processwire/processwire-issues#828 2019-03-19 06:25:34 -04:00
Ryan Cramer
762439bcc3 Fix issue processwire/processwire-issues#766 2019-03-19 05:58:58 -04:00
Ryan Cramer
23208d1ade Update InputfieldSubmit to support disabling of populating selected dropdown value to submit button value 2019-03-17 07:43:20 -04:00
Ryan Cramer
6013f16c96 Small adjustment to liveSearch and missing 'n' property notice in last commit per @matjazpotocnik 2019-03-13 05:45:53 -04:00
Ryan Cramer
cbfe97de20 Upgrade ProcessPageSearchLive "view all" search results to use tabs rather than headings for improved usability 2019-03-11 12:48:42 -04:00
Ryan Cramer
68150887f6 Update JqueryWireTabs to add a render() method that provides an all-in-one tab rendering solution for the PW admin without any other setup/initialization needed. 2019-03-11 12:45:00 -04:00
Ryan Cramer
e427a03ff5 Fix issue processwire/processwire-issues#679 2019-03-08 11:54:08 -05:00
Ryan Cramer
a307d441d1 Add $sanitizer->minLength() method and another minor phpdoc typo fix per processwire/processwire-issues#797 2019-03-08 10:27:18 -05:00
Ryan Cramer
207b1ed26c Fix typo in phpdoc on WireDatabaseBackup per processwire/processwire-issues#797 2019-03-08 10:23:17 -05:00
Ryan Cramer
fc88d64a03 Additional fix for processwire/processwire-issues#817 2019-03-05 11:42:10 -05:00
Ryan Cramer
a7c3b001ce Attempt fix for issue processwire/processwire-issues#205 2019-03-05 09:15:10 -05:00
Ryan Cramer
1d9279f421 Fix issue processwire/processwire-issues#824 2019-03-04 11:44:30 -05:00
Ryan Cramer
621c34a417 Fix issue processwire/processwire-issues#124 2019-03-04 11:01:33 -05:00
Ryan Cramer
c41b670330 Fix issue processwire/processwire-issues#305 2019-03-04 10:54:07 -05:00
Ryan Cramer
b158b71c42 Update per processwire/processwire-issues#648 2019-03-04 10:10:58 -05:00
Ryan Cramer
cdb6dbaee1 Additional update for processwire/processwire-issues#183 also make repeaters editable to non-superusers with front-end editing options A and B. 2019-03-04 09:29:10 -05:00
Ryan Cramer
c38c166c67 Fix issue processwire/processwire-issues#817 2019-03-04 06:24:19 -05:00
Ryan Cramer
906640ecb7 Bump version to 3.0.127 plus some other minor updates 2019-03-01 15:38:48 -05:00
Ryan Cramer
ba8202d869 Improvements to PagesNames::pageNameFromFormat() method 2019-03-01 13:25:25 -05:00
Ryan Cramer
a43ea0ffa1 Fix issue processwire/processwire-issues#820 2019-03-01 11:58:30 -05:00
Ryan Cramer
8952afbddb Fix issue processwire/processwire-issues#183 allow for front-end editing of fields in repeater items, individually per-field by non-superusers with edit access to the page the owns the repeater field. 2019-03-01 11:36:52 -05:00
Ryan Cramer
731cc3e92e Fix issue processwire/processwire-issues#432 2019-03-01 09:39:00 -05:00
Ryan Cramer
be84331dbd Fix issue processwire/processwire-issues#818 where listable but not editable or viewable page in dropdown for Pages > Tree > [items] was navigating to some useless JSON output. Also disabled the fallback to view URL when page is viewable but not editable. 2019-03-01 09:21:18 -05:00
Ryan Cramer
b76deded68 Fix issue processwire/processwire-issues#821 front-edit modal "link" dialog in CKEditor was not respecting current language for link helper tools (autocomplete and PageList selection) 2019-03-01 06:28:10 -05:00
Ryan Cramer
7dbdcec2a0 Fix issue processwire/processwire-issues#819 2019-02-28 12:59:32 -05:00
Ryan Cramer
e73c2343d1 Add "New" dropdown menu option to ProcessModule per comment in processwire/processwire-issues#641 2019-02-28 12:26:25 -05:00
Ryan Cramer
fc2103b024 doc typo fixes per processwire/processwire-issues#797 2019-02-28 12:20:24 -05:00
Ryan Cramer
bb571b66c0 Fix issue processwire/processwire-issues#615 2019-02-28 12:10:18 -05:00
Ryan Cramer
a2ec801a1a Fix issue processwire/processwire-issues#795 2019-02-28 09:03:15 -05:00
Ryan Cramer
2f908e44e7 Add support for previously unimplemented status Page::statusUnique, which adds support for globally unique page names. This commit also changes the the previous commit Page::statusIncomplete to value 128 because it turns out 256 was used in a 3rd party module and it seemed safer to use 128, which was occuped by Page::statusVersions, which has never been used. I've also changed the name of Page::statusIncomplete to Page::statusFlagged since the status indicates an error occurred during last interactive save rather than specifically incomplete. 2019-02-27 11:55:08 -05:00
Ryan Cramer
8b82f48c4d Fix typo from earlier today for processwire/processwire-issues#252 2019-02-26 13:12:07 -05:00
Ryan Cramer
9af4df040e Update WireHooks to allow for (and ignore) an empty argument string "()" after hook definition (first argument) in addHook() methods. 2019-02-26 10:22:47 -05:00
Ryan Cramer
1b53ed15a9 Apply solution for processwire/processwire-issues#252 - publish via page tree was showing "pub" button even when page was missing requirements. Note that this solution takes effect only upon page save in the page editor, so will not affect pages in an existing installation that may not be meeting requirements. 2019-02-26 09:43:08 -05:00
Ryan Cramer
9a75980f8d Add ProcessPageListRender::getNumChildren() hook per issue/request processwire/processwire-issues#649 2019-02-26 08:39:29 -05:00
Ryan Cramer
706dd519af Fix issue in InputfieldPageAutocomplete where it was displaying the wrong icon for item-sort, and it was also wasn't positioned quite right if the autocomplete appeared in a non-default tab. 2019-02-26 08:07:45 -05:00
Ryan Cramer
c80ae0acd8 A few minor phpdoc/code comments 2019-02-22 17:45:20 -05:00
Ryan Cramer
c6410c6478 Update MarkupFieldtype to auto-link page references when page is viewable 2019-02-22 16:34:37 -05:00
Ryan Cramer
41e2bbd22b Some updates for processwire/processwire-issues#126 plus some improvements to ProcessLanguage and add a refresh link in the language translation phrase live-search 2019-02-22 07:43:47 -05:00
Ryan Cramer
f968137514 Apply additional fix for processwire/processwire-issues#539 2019-02-21 15:32:36 -05:00
Ryan Cramer
0326b1c67d Fix issue processwire/processwire-issues#773 2019-02-21 11:21:55 -05:00
Ryan Cramer
1aa2c55b9f Add support for children.custom_field=value selectors per processwire/processwire-requests#174 and processwire/processwire-issues#809 2019-02-21 11:10:57 -05:00
Ryan Cramer
5483804d49 Improve __debugInfo() in Selector and Selectors classes 2019-02-21 11:08:25 -05:00
Ryan Cramer
774c2152ee Update $sanitizer->selectorValue() method to also accept array for its value argument. When array ['a','b','c'] is present, it converts to a sanitized a|b|c string. 2019-02-21 09:58:31 -05:00
Ryan Cramer
65e283055a Update PaginatedArray::getPaginationString() to allow specifying an alternate label (zeroLabel) when there are zero items available. 2019-02-21 09:57:42 -05:00
Ryan Cramer
0c150eec42 Update Pageimage::render() method to accept manually defined alt or class attributes 2019-02-21 09:57:10 -05:00
Ryan Cramer
d49df28641 Fix issue processwire/processwire-issues#513 2019-02-21 05:31:00 -05:00
Ryan Cramer
16b69f4a10 Some improvements and fixes to the multi-language support in Lister (also affects ListerPro) 2019-02-16 10:16:33 -05:00
Ryan Cramer
2c3e949d6e Bump version to 3.0.126 plus some other minor adjustments 2019-02-15 14:31:26 -05:00
Ryan Cramer
33bac98b83 Fix issue processwire/processwire-issues#599 2019-02-15 10:16:02 -05:00
Ryan Cramer
126c1392d4 Fix additional phpdoc typos per processwire/processwire-issues#797 2019-02-14 08:01:39 -05:00
Ryan Cramer
a993a14de9 Additional adjustment for processwire/processwire-issues#811 2019-02-14 06:02:09 -05:00
Ryan Cramer
3f5773e674 Add new $page->if(condition, yes, no) convenience method 2019-02-13 14:53:59 -05:00
Ryan Cramer
b499aad60e Fix issue processwire/processwire-issues#811 2019-02-12 10:53:54 -05:00
Ryan Cramer
82d513ec54 Update for processwire/processwire-issues#358 to prevent port 443 from being appended to undefined $config->httpHost when scheme is HTTPS. 2019-02-12 09:14:44 -05:00
Ryan Cramer
feb071b006 Make WireDateTime::relativeTimeStr() hookable per processwire/processwire-issues#793 2019-02-12 08:27:40 -05:00
Ryan Cramer
a47c6102f7 Some updates to the Pageimage::render() method plus add a Pageimages::render() method to accompany it. 2019-02-12 06:13:00 -05:00
Ryan Cramer
6c8d0e5eff Move implementation for wirePopulateStringTags() function into WireTextTools class. Add new WireData() shortcut function for consistency with existing WireArray() and PageArray() functions. 2019-02-12 05:25:37 -05:00
Ryan Cramer
839d9325cc Fix issue processwire/processwire-issues#331 2019-02-08 15:21:25 -05:00
Ryan Cramer
09a7d8e7ed Add $sanitizer->fieldSubfield() method for sanitizing "field.subfield" strings. 2019-02-08 14:46:48 -05:00
Ryan Cramer
65454985b1 Various minor adjustments 2019-02-08 14:46:20 -05:00
Ryan Cramer
5b45d17991 Attempt fix for issue processwire/processwire-issues#304 2019-02-07 11:34:35 -05:00
Ryan Cramer
ea62d73215 Fix issue processwire/processwire-issues#807 2019-02-07 09:35:07 -05:00
Ryan Cramer
ac0f4f0017 Fix issue processwire/processwire-issues#805 2019-02-05 09:27:56 -05:00
Ryan Cramer
09c936dba9 Attempt to fix processwire/processwire-issues#801 2019-02-05 08:46:10 -05:00
Ryan Cramer
1215e706e1 Fix issue processwire/processwire-issues#787 2019-02-05 08:39:21 -05:00
Ryan Cramer
69bd63eb4c Fix issue processwire/processwire-issues#779 where $pages('/') wasn't working 2019-02-05 08:32:39 -05:00
Ryan Cramer
733780f8f6 Fix phpdoc typos per issue processwire/processwire-issues#797 2019-02-04 15:19:08 -05:00
Ryan Cramer
7d79864dc9 Fix issue processwire/processwire-issues#790 plus add Pageimage::render() method 2019-02-04 14:53:49 -05:00
Ryan Cramer
c6cb728b60 Fix issue processwire/processwire-issues#788 2019-02-04 12:07:16 -05:00
Ryan Cramer
0ac9046b28 Add error message to resolve issue processwire/processwire-issues#786 2019-02-04 11:58:51 -05:00
Ryan Cramer
4348ca746a Fix issue processwire/processwire-issues#785 2019-02-04 11:20:47 -05:00
Ryan Cramer
0be324b4d5 Fix issue processwire/processwire-issues#781 2019-02-04 10:51:31 -05:00
Ryan Cramer
debb1cd511 Add $sanitizer->chars() method and update phpdoc at top of Sanitizer class for documentation purposes on API reference site. 2019-02-04 10:32:36 -05:00
Ryan Cramer
6ad5239666 Bump version to 3.0.125 2019-01-25 15:00:32 -05:00
Ryan Cramer
1aad2430d5 Update WireInput/WireInputData to optimize for sanitizer updates 2019-01-25 11:58:26 -05:00
Ryan Cramer
e879baf189 Add new $sanitizer methods: range(), min(), max(), bit(), maxLength(), maxBytes(), methodExists(), validate() and valid(). Also added support for executing multiple sanitizers in one call with the new sanitize() method. 2019-01-25 11:42:38 -05:00
Ryan Cramer
4a7919c9a9 Update the __('text') translation function to support setting of options with a __(true, 'optionName', 'optionValue') call. Added support for an entityEncode option and translations option for setting predefined fallback translations. Also made major updates to the phpdoc for the translation functions. 2019-01-25 11:33:17 -05:00
Ryan Cramer
02f9220529 Some minor 1-line tweaks to various files 2019-01-25 11:32:47 -05:00
Ryan Cramer
411cce0418 Update the $input->get(), $input->post(), and $input->cookie() methods to support new arguments for support of auto-sanitization, validation and fallback values. 2019-01-18 11:51:59 -05:00
Ryan Cramer
7bbb97e6e4 phpdoc improvements to WireFileTools, FunctionsWireAPI, FunctionsAPI and Functions files. 2019-01-18 11:50:22 -05:00
Ryan Cramer
97adac20ed Bump version to 3.0.124 2019-01-11 15:53:43 -05:00
Ryan Cramer
52e20c489d Add new $sanitizer->trim() method that can trim of all known UTF-8 whitespace types (or given chars) from beginning and ending of string. This is something I discovered PHP's trim() fucntion does not do. 2019-01-11 09:30:51 -05:00
Ryan Cramer
f9ded64ba3 Improve the WireHttp class by adding a CURL-based get(), post(), head() or send() fallback that is used (if CURL available) when the fopen() method fails. It can also be f orced from the new $options argument added to all the sending methods. 2019-01-11 09:29:32 -05:00
Ryan Cramer
2735ee397e Update PW's error handler to recognize failed functions API calls when functions API isn't enabled, and provide instruction on how to enable it 2019-01-11 09:13:40 -05:00
Ryan Cramer
1a94578b1e Make the functions API automatically enabled by default in core site profiles 2019-01-11 09:10:43 -05:00
Ryan Cramer
3517295e27 Minor improvements to default CKEditor contents.css, bumping up the font size slightly and increasing the left/right margin a bit 2019-01-11 09:08:58 -05:00
Ryan Cramer
770b75bb8a Inconsequential SCSS to CSS recompiles from phpstorm 2019-01-11 09:01:07 -05:00
Ryan Cramer
703fa29c85 Improvements to searchability of FieldtypeOptions fields, now enabling it to match either value or title. 2019-01-11 08:52:12 -05:00
Ryan Cramer
36c0f401e7 Phpdoc improvements to various core classes 2019-01-11 08:48:20 -05:00
Ryan Cramer
1601cdec73 Update MarkupQA class to support custom settings in $config->markupQA with the most useful one being 'ignorePaths' array containing starting paths that should be ignored when it comes to link abstraction. 2019-01-11 08:45:13 -05:00
Ryan Cramer
649d2569ab Bump version to 3.0.123 2018-12-21 14:30:49 -05:00
Ryan Cramer
df4ab1dbd3 Update for processwire/processwire-issues#408 InputfieldSelector count() to wireCount() 2018-12-20 11:52:01 -05:00
Ryan Cramer
05367367c0 Add $options argument support to WireMailTools::new(), i.e. $mail->new(array $options) 2018-12-20 11:17:02 -05:00
Ryan Cramer
67898cb36a Add additional mbstring check to Sanitizer and add two new whitespace reduction methods (for internal use) 2018-12-20 11:15:34 -05:00
Ryan Cramer
e20b6917d3 Fix issue processwire/processwire-issues#724 UTF-8 pagenames in non-default language 2018-12-20 10:58:26 -05:00
Ryan Cramer
a0570bb2a0 Update for processwire/processwire-issues#767 2018-12-19 12:24:22 -05:00
Ryan Cramer
1b059b0ced Bump version to 3.0.122 plus some other minor adjustments 2018-12-14 14:24:50 -05:00
Ryan Cramer
a89543944d Update WireArray::import() to support duplicate items when duplicate checking is turned off per processwire/processwire-issues#767 2018-12-14 13:12:52 -05:00
Ryan Cramer
b773c81ae9 Fix issue processwire/processwire-issues#766 auto-remove UTF-8 value of &#8232 line-seperator entity in $sanitizer->text() function 2018-12-14 13:07:26 -05:00
Ryan Cramer
e8d2eed1ba Add @horst-n fix for processwire/processwire-issues#715 2018-12-14 11:05:07 -05:00
Ryan Cramer
05fd707b9c Fix issue processwire/processwire-issues#763 for ProcessRole, plus this commit also contains some minor tweaks to ProcessPageLister 2018-12-14 09:03:23 -05:00
Ryan Cramer
c1b9349a7c Fix issue with Safari column widths in AdminThemeUikit that use showIf conditions per processwire/processwire-issues#480 2018-12-14 07:58:26 -05:00
Ryan Cramer
6801e2df94 Fix issue processwire/processwire-issues#756 make link modal files selection not require being open before it can be populated with files from page selection 2018-12-14 06:01:02 -05:00
Ryan Cramer
6d1b558d85 Fix issue processwire/processwire-issues#723 2018-12-12 14:28:24 -05:00
Ryan Cramer
365d49bcaa Fix issue processwire/processwire-issues#749 2018-12-12 14:19:57 -05:00
Ryan Cramer
a40f24d722 A couple of updates to account for new PHP 7.2/7.3 notices per processwire/processwire-issues#408 2018-12-12 11:59:02 -05:00
Ryan Cramer
f39d4387d5 Various minor tweaks/updates and bump version to 3.0.121 2018-12-07 14:58:03 -05:00
Ryan Cramer
3b6b5eea7d Update locale warning message in ProcessLogin per processwire/processwire-issues#732 2018-12-07 12:09:57 -05:00
Ryan Cramer
3e690b8ea4 Update phpdoc @return statement for Page::index() 2018-12-07 10:15:32 -05:00
Ryan Cramer
af0afe9f95 Additional updates for processwire/processwire-issues#751 plus some enhancements to PageFinder 2018-12-07 09:57:07 -05:00
Ryan Cramer
0dc8766491 Fix issue processwire/processwire-issues#751 with Page::index() not working for hidden/unpublished pages 2018-12-06 14:05:17 -05:00
Ryan Cramer
d7b7acb8e5 Various minor adjustments and bump version to 3.0.120 2018-11-30 13:52:24 -05:00
Ryan Cramer
0442572885 Fix issue processwire/processwire-issues#758 unable to select "17:10:02" time format in FieldtypeDatetime 2018-11-30 13:42:15 -05:00
Ryan Cramer
65b3edb761 Fix issue processwire/processwire-issues#750 where WireShutdown email was missing a send() call 2018-11-30 13:21:33 -05:00
Ryan Cramer
9aa0de6351 Fix issue processwire/processwire-issues#743 2018-11-30 13:15:27 -05:00
Ryan Cramer
45e8a00395 Fix issue processwire/processwire-issues#741 2018-11-30 12:29:20 -05:00
Ryan Cramer
a8d4a6cd46 Add phpdoc for Template::icon per processwire/processwire-issues#739 2018-11-30 12:03:49 -05:00
Ryan Cramer
91fdca02ea Fix issue processwire/processwire-issues#728 2018-11-29 14:12:33 -05:00
Ryan Cramer
ffdc1031de Fix issue processwire/processwire-issues#727 2018-11-29 14:02:46 -05:00
Ryan Cramer
c7447bf838 Fix issue processwire/processwire-issues#726 where Pages > Tree > dropdown was displaying liternal icon names (in addition to actual icon) in some cases when it shouldn't 2018-11-29 13:59:36 -05:00
Ryan Cramer
009dec332c Fix issue processwire/processwire-issues#725 where fallback email for comment notifications not working if hostname had port number 2018-11-29 13:31:05 -05:00
Ryan Cramer
e6213c23b3 Attempt fix for issue processwire/processwire-issues#724 where creating page from page reference field using UTF8 charset was failing. 2018-11-29 13:19:40 -05:00
Ryan Cramer
0cb693c450 Fix issue processwire/processwire-issues#719 where 'parent' property didn't work for $page->setAndSave() 2018-11-29 12:01:57 -05:00
Ryan Cramer
fcc353bc3c Updates per processwire/processwire-issues#704 with WireTempDir log entries 2018-11-29 11:12:11 -05:00
Ryan Cramer
cc212b3254 Add hasNext() and hasPrev() methods to PaginatedArray class 2018-11-21 10:49:53 -05:00
Ryan Cramer
b083c96717 Test commit, please ignore 2018-11-20 17:01:10 -05:00
Ryan Cramer
e61bb4982a Bump version to 3.0.119 2018-11-16 16:05:14 -05:00
Ryan Cramer
fad1e11575 Add a setting() function to the Functions API for more convenient management of site-specific runtime settings 2018-11-16 11:39:12 -05:00
Ryan Cramer
3eecb6cf25 Update Pageimage::getVariations() and Pageimage::removeVariations() methods with several new options, primarily to support a new PageAction module for clearing out old image variations 2018-11-16 09:51:06 -05:00
Ryan Cramer
96f62b313f Add WireArray::slices($qty) method that returns the WireArray sliced into $qty equal parts (new WireArray objects) 2018-11-09 14:26:32 -05:00
Ryan Cramer
32f594de2a Update Pages Export/Import class to support export/import of page created and modified dates 2018-11-09 14:25:34 -05:00
Ryan Cramer
93a9747657 Add @BitPoet processwire/processwire-requests#233 to make ajax file upload use chunked method for potential reduced memory usage and support of larger file uploads 2018-11-08 09:28:03 -05:00
Ryan Cramer
c146c71de3 Add @Toutouwai processwire/processwire-requests#242 to support automatic open of collapsed Inputfield when file dragged into file/image or CKEditor field that supports it 2018-11-08 09:04:04 -05:00
Ryan Cramer
7629e518e3 Remove unintended dev constant from AdminThemeUikit.module 2018-11-05 14:58:56 -05:00
Ryan Cramer
a46336de00 Bump version to 3.0.118 2018-11-02 08:07:24 -04:00
Ryan Cramer
e65c287099 Update AdminThemeUikit Uikit version to rc17 2018-11-02 06:55:19 -04:00
Ryan Cramer
a355bd74e6 Add renderedExtras() hook to ProcessPageLister, plus make the finalSelector property modifiable if needed by hooks, per request from @renobird 2018-11-02 06:44:49 -04:00
Ryan Cramer
a0192327e0 Some refactoring in ProcessPageEdit, plus fix issue where user having page-edit-lang-[lang] permission while having non-default language selected in their profile could receive incorrect "missing required field" error for Page Name, when making edits. 2018-11-02 06:41:35 -04:00
Ryan Cramer
09ee56b41d Add new “What URLs redirect to this page?” fieldset in the page editor Settings tab (near the bottom). This section enables you to see all URLs that redirect to the page, and also lets you add new redirect URLs or remove existing ones. Currently available to superusers only. 2018-10-31 10:29:06 -04:00
Ryan Cramer
6fb6837406 Add $page->addUrl($url, [$language]); and $page->removeUrl($url); methods that allow you to add or remove redirects to a page programatically. This is provided by updates to the PagePathHistory module, which also received several unrelated updates, like support for virtual path history, which is historical URLs for a page determined by changes to parent pages. 2018-10-31 10:22:47 -04:00
Ryan Cramer
54537e77fa Add new $files->unlink() and $files->rename() methods to files API var, plus enhance many file methods with additional security for path verification, and update PW's various usages of unlink/rename to use the new versions provided by the files API var. 2018-10-31 09:30:15 -04:00
Ryan Cramer
0f9eb0aaf5 Add hasValue(), hasTitle() and hasID() methods to SelectableOptionArray class 2018-10-26 12:21:10 -04:00
Ryan Cramer
7331bac132 Addition of a $page->numParents() method/property which reflects the number of parents the page has, aka depth in the tree. This commit also has several small adjustments and fixes, including a fix for the issue introduced last week that caused issues with WireArray in versions of PHP prior to 7.x 2018-10-26 12:18:46 -04:00
Ryan Cramer
b964fd1a15 Bump version to 3.0.117 2018-10-19 14:48:19 -04:00
Ryan Cramer
d12a78d07b Update WireArray class to support usage as a general purpose array (that can hold strings, numbers, etc.), rather than being limited to support of Wire derived objects. Also add WireArray::new($items) static method that lets you create a new WireArray and add $items to it in one shot. The same new() method works on any WireArray derived type such as PageArray and any others. 2018-10-19 11:14:29 -04:00
Ryan Cramer
f5cda0acdb Update the FieldtypeComments classes to support for more output configuration options for CommentForm and CommentList 2018-10-19 11:12:58 -04:00
Ryan Cramer
faaf8adec9 Add support for a "pw-optional" or "data-pw-optional" attribute to Markup Regions. When a defined region of markup has this boolean attribute present, the wrapping region tags will be removed from the document if they will be blank (i.e. nothing was populated to them). 2018-10-19 11:06:52 -04:00
Ryan Cramer
cf322b6dca Improvements to FieldtypeTextarea::importValue() to improve accuracy of linked asset URLs on pages imported from one site to another where the root URL has changed (subdirectory vs. non subdirectory), as well as better handling asset URLs where the link included a hostname 2018-10-19 11:04:30 -04:00
Ryan Cramer
0b8382ab3e A few small improvements to the PagesExportImport class 2018-10-19 11:02:54 -04:00
Ryan Cramer
6367fb7668 Forgot to bump version to 3.0.116 on Friday, so this fixes that 2018-10-08 13:45:46 -04:00
Ryan Cramer
e2b6453a96 Fix issue processwire/processwire-issues#718 FieldtypeFloat float typecast in getPrecision() method 2018-10-05 10:00:12 -04:00
Ryan Cramer
8e22bee1b5 Fix issue processwire/processwire-issues#716 where $page traversal methods like next() and prev() were not working on RepeaterPage items 2018-10-05 09:48:20 -04:00
Ryan Cramer
5fddd95b43 Add new Page::numDescendants() method and property, plus descendants() and descendant() alias methods. Add Page::findOne() method. Update ProcessPageList with the ability to customize what is shown in the numChildren/count shown for each Page, along with the ability to display the the newly added Page descendants numbers instead of or in addition to the Page numChildren. 2018-10-05 08:11:16 -04:00
Ryan Cramer
faa0d4f4df Update ProcessPageTrash module to be more clear, showing confirmation before page list, and adding option to specify time limit. Also now reports more verbose info about the trash operation including a "pages trashed per second" rate for comparison purposes on different DB engines and settings. Related to processwire/processwire-issues#692 2018-10-03 11:50:30 -04:00
Ryan Cramer
e9c7178a22 Optimizations and updates to PagesTrash class emptyTrash() process, plus add transaction support to empty trash process per processwire/processwire-issues#692 though currently I'm not seeing any effect from it 2018-10-03 11:46:22 -04:00
Ryan Cramer
0ec70c875f Update PagesEditor::savePageStatus() method to also accept array of page IDs (rather than just 1 page ID). Also accepts Page or PageArray objects now too. 2018-10-03 11:45:07 -04:00
Ryan Cramer
17c872b079 Set a default user-agent header in WireHttp to resolve issues where accessed hostname seems to require it (noticed this on a couple hosts running Varnish, which seem to throw a 400/403 if no user-agent header present) 2018-10-03 06:10:26 -04:00
Ryan Cramer
546340652f Attempt fix for issue processwire/processwire-issues#661 where cached PageList data could re-appear when closing then re-opening an item in the PageList. Was an issue if an item was moved or trashed, because it could appear to still be in the old location in the PageList even when it wasn't. This commit also refactors several parts in ProcessPageList.js. 2018-10-01 11:21:43 -04:00
Ryan Cramer
11cb8deaa2 Bump version to 3.0.115 2018-09-28 14:23:16 -04:00
Ryan Cramer
3ab9b358e5 Update ProcessLogin to support a configuration option to specify roles that should be prompted to enable two-factor authentication 2018-09-28 11:14:19 -04:00
Ryan Cramer
2f2bb118b0 Update ProcessProfile to use a dialog window prompt (via vex) when saving changes to a field requires current password. 2018-09-28 10:31:50 -04:00
Ryan Cramer
c55a547458 Add allowOriginal option to Pageimage::size() and Pageimage::maxSize() to avoid creating variations when original image is already at target dimension 2018-09-27 08:48:02 -04:00
Ryan Cramer
45f0c14831 Adjustment for issue processwire/processwire-issues#709 2018-09-27 07:54:57 -04:00
Ryan Cramer
e6bcd3e44c Fix issue processwire/processwire-issues#712 to correct issue with $config->sessionHistory=1; setting not working correctly 2018-09-27 07:39:53 -04:00
Ryan Cramer
a1bac571f3 Fix issue processwire/processwire-issues#708 Modules refresh showing unnecessary error message 2018-09-26 11:11:54 -04:00
Ryan Cramer
42511ebb77 Additional tweak for processwire/processwire-issues#709 2018-09-26 11:04:53 -04:00
Ryan Cramer
42ec0e3cf4 Some refactoring in WireTempDir class and attempt fix of issue processwire/processwire-issues#704 2018-09-26 09:40:40 -04:00
Ryan Cramer
bf8baf36dd Add new methods to $files API var: fileInPath($file, $path); unixDirName($dir); unixFileName($file); filePutContents($file, $contents); 2018-09-26 09:40:16 -04:00
Ryan Cramer
e5900e7567 Attempt fix for processwire/processwire-issues#704 2018-09-25 10:50:54 -04:00
Ryan Cramer
bddea16255 Clarify wording in phpdoc of Wire::trackChanges() method per processwire/processwire-issues#707 2018-09-25 10:26:02 -04:00
Ryan Cramer
f2edf04602 Fix issue processwire/processwire-issues#709 where Pageimage::maxSize() could crop when it shouldn't when source image smaller than maxSize requested dimensions 2018-09-25 10:13:51 -04:00
Ryan Cramer
3b4cdeb991 Make it possible to add Pagefile from another Page to Pagefiles WireArray per request processwire/processwire-issues#710 2018-09-25 09:32:39 -04:00
Ryan Cramer
96bd37eec9 Bump version to 3.0.114 2018-09-21 14:03:32 -04:00
Ryan Cramer
b4aec46a67 Add $database->supportsTransaction($table = '') method to return true or false as to whether the database (or a specific table) supports transactions 2018-09-21 13:30:57 -04:00
Ryan Cramer
9a7e5d5bd3 Add PagefilesManager->importFiles() and PagefilesManager->replaceFiles() methods 2018-09-21 13:29:47 -04:00
Ryan Cramer
f0cc6f1134 Update to support module autoload order per request from @adrianbj 2018-09-21 12:29:15 -04:00
Ryan Cramer
8add252813 Fix issue processwire/processwire-issues#700 where ProcessPermission "add new" was incorrectly showing Save+Publish buttons 2018-09-20 11:58:20 -04:00
Ryan Cramer
8973a9de49 Bump version to 3.0.113 2018-09-14 15:29:00 -04:00
Ryan Cramer
d7a84f223c Update CKEditor version from 4.8.0 to 4.10.1 2018-09-14 15:26:48 -04:00
Ryan Cramer
42b46152eb Refactoring of SessionLoginThrottle. Prevents it from being too aggressive when TFA is in use, improves clarity of message to user, and adds the ability to log failures. 2018-09-14 12:03:16 -04:00
Ryan Cramer
64680df68f Refactoring of ProcessController and add support for access controlled methods that works with the existing moduleInfo['nav'][]['permission'] setting. Previously that permission was only used to determine whether to show the item in the nav, and you had to do your own separate permission check in the actual method implementation. This commit also moves all the WireException definitions to the main core/Exceptions file. 2018-09-14 11:02:30 -04:00
Ryan Cramer
590a69502c Update $mail (WireMailTools) API var with some fluent interface shortcuts, enabling you to start with $mail->to(mail), $mail->from(email), or $mail->subject(email), all of which return a WireMail instance, rather than having to start with a $mail->new() to get the WireMail instance. While minor, this makes for a little bit shorter API calls when using WireMail fluent interface. 2018-09-14 10:36:14 -04:00
Ryan Cramer
c1c705ab59 Refactoring of WireShutdown class and related minor updates to some other classes 2018-09-14 10:34:56 -04:00
Ryan Cramer
89caff1bdc Fix issue processwire/processwire-issues#697 pages with $template->noMove setting could not be restored/moved out of the trash 2018-09-13 12:11:43 -04:00
Ryan Cramer
0284bd28a1 Fix issue processwire/processwire-issues#695 change order of listable() call in ProcessPageList::renderNavJSON so that one could make an viewable/editable page non-listable in the tree nav dropdown 2018-09-13 11:17:21 -04:00
Ryan Cramer
84e5fd6b51 Fix issue processwire/processwire-issues#690 where isMoveable() error messages were not yet multi-language translatable 2018-09-13 10:33:40 -04:00
Ryan Cramer
2c9b25fdfd Fix issue processwire/processwire-issues#686 where FieldtypeCheckbox::markupValue() result ended up blank after a PHP strip_tags() 2018-09-13 10:07:29 -04:00
Ryan Cramer
272077b1cf Fix issue processwire/processwire-issues#685 where templates with noParents=-1 setting (only one allowed) were not shown as selectable in Template field in page editor 2018-09-13 09:08:44 -04:00
Ryan Cramer
818d9f50a6 Fix issue processwire/processwire-issues#683 where $pages->findOne() didn't have exclusion/filter enabled if finding unpublished or hidden page that is editable & viewable to current user when the selector includes only reference to the page's id. 2018-09-13 08:50:49 -04:00
Ryan Cramer
efb7a8ace2 Fix issue processwire/processwire-issues#682 fix typo about what tab to change the unpublished setting 2018-09-13 08:34:27 -04:00
Ryan Cramer
844946b706 Fix issue processwire/processwire-issues#681 where Fieldtype exceptions getting caught when saving page, which could interfere with InnoDB transactions when Fieldtype throws an Exception 2018-09-13 08:29:49 -04:00
Ryan Cramer
dfc0c4da52 Fix issue processwire/processwire-issues#680 where ProcessLanguageTranslator does not skip over /site/assets/ on Windows servers 2018-09-13 06:21:31 -04:00
Ryan Cramer
adca762ee1 Fix issue processwire/processwire-issues#679 capture Exception in ProcessLanguageTranslator when it throws due to too many directories 2018-09-13 06:12:13 -04:00
Ryan Cramer
468ecb6b29 Make ProcessPageSearchLive::execute() hookable per processwire/processwire-issues#675 2018-09-12 13:20:26 -04:00
Ryan Cramer
7a89f4f188 Fix issue processwire/processwire-issues#671 where LiveSearch pages list could also show users if custom configured field name present on user template 2018-09-12 12:57:11 -04:00
Ryan Cramer
313fee873c Fix issue processwire/processwire-issues#669 admin liveSearch noSearchTypes option not working for 'pages', 'trash' or 'modules'. 2018-09-12 12:35:49 -04:00
Ryan Cramer
8315776960 Module download/install process label updates per processwire/processwire-issues#641 2018-09-12 11:58:52 -04:00
Ryan Cramer
6c9b475559 Add @horst-n PR #118 which fixes processwire/processwire-issues#628 in ImageSizerEngine 2018-09-12 11:16:33 -04:00
Ryan Cramer
b07d7341eb Improvements and refactorings to inputfields.js, plus add processwire/processwire-requests#224, and addition of new public API methods: InputfieldFocus($inputfield) which finds, opens and focuses an Inputfield (making it visible) regardless of where it is in the interface; InputfieldOpen($inputfield) which opens a collapsed Inputfield; and InputfieldClose($inputfield) which does the opposite. Thanks to @Toutouwai for the feature request and example code that got this started. 2018-09-11 11:31:34 -04:00
Ryan Cramer
e2478aa401 Add new string case conversion methods to Sanitizer: hyphenCase(), snakeCase(), camelCase(), and pascalCase() 2018-09-10 11:15:59 -04:00
Ryan Cramer
d260b269c5 Bump version to 3.0.112 2018-09-07 14:45:21 -04:00
Ryan Cramer
77cf1b9c71 Typo fix in ProcessField 2018-09-07 14:43:15 -04:00
Ryan Cramer
af423e5406 Update WireHttp to support more HTTP response codes (the success ones, in addition to the existing error codes) 2018-09-07 14:42:04 -04:00
Ryan Cramer
7e5f79e9b3 Fix issue where drag/drop image into non-default language CKEditor field was showing error message 2018-09-04 12:01:46 -04:00
Ryan Cramer
4c48e1d941 Refactoring in ProcessPageClone.module and related hooks and multi-language support, plus some improvements to new PagesNames class. 2018-08-30 06:22:02 -04:00
Ryan Cramer
aa34e8a0f7 Bump version to 3.0.111 2018-08-24 16:41:05 -04:00
Ryan Cramer
cc53b835b6 Refactoring of the PagesTrash class and related, plus some minor additions to PagesNames class 2018-08-24 10:41:47 -04:00
Ryan Cramer
dfa8cc7b74 Refactoring of the PagesEditor class, primarily addition of a new PagesNames class for handling page names, duplicate names, untitled pages, incrementing page names, etc. 2018-08-23 10:30:12 -04:00
Ryan Cramer
088938454b Move random generation functions from Password to new WireRandom class, and add several new methods for generating random strings, numbers, arrays, etc. 2018-08-21 11:23:20 -04:00
Ryan Cramer
ff123065eb Update the clone/copy repeater item function to also account for InputfieldTable rows that may be present in the repeater 2018-08-19 07:01:54 -04:00
Ryan Cramer
5554e87b47 Fix issue processwire/processwire-issues#667 where cloning a FieldtypeOptions field was only cloning the field, and not the options. 2018-08-13 05:56:57 -04:00
Ryan Cramer
563f4d237b Bump version to 3.0.110 2018-08-10 15:32:08 -04:00
Ryan Cramer
3c923dfb93 Some updates and improvements to the Password::randomAlnum() function 2018-08-10 11:36:51 -04:00
Ryan Cramer
acd42bbfc9 Update ProcessPageView to support optional single subdir for page files when $config->pagefileSecure mode is active. This enables it to work when pagefileSecure mode is active and a module (like ProDrafts) uses a subdirectory of of a page's file/asset directory 2018-08-09 11:15:06 -04:00
Ryan Cramer
2e672428a4 Fix issue processwire/processwire-issues#659 where PageFinder "_custom" option didn't yet have support for "field.owner.property=value" selectors 2018-08-08 15:05:21 -04:00
Ryan Cramer
82641a5521 Add request processwire/processwire-issues#614 to make InputfieldPassword use version of id attribute for confirm input rather than name attribute, for cases where someone might want to have multiple password fields in the same document. 2018-08-08 14:48:10 -04:00
Ryan Cramer
9fc4ff9e21 Add request processwire/processwire-issues#657 to clarify what characters are allowed when creating templates, plus some other minor improvements in ProcessTemplate 2018-08-08 09:17:46 -04:00
Ryan Cramer
fc8f6ad51c Fix issue processwire/processwire-issues#658 where non-specified, non-default-language pageNumUrlPrefix settings weren't properly falling back to $config default setting 2018-08-08 08:05:37 -04:00
Ryan Cramer
cee8504db9 Fix issue processwire/processwire-issues#656 where recently added Inputfield::setParent() update was causing issues (ListerPro config tab as one example) 2018-08-08 06:21:01 -04:00
Ryan Cramer
6d1dc83a45 Fix issue processwire/processwire-issues#639 where template configured to unpublish when missing required field was not applying to missing required fields within repeater items. 2018-08-08 06:16:04 -04:00
Ryan Cramer
69424df158 Fix issue processwire/processwire-issues#642 where new ProcessPageSearch feature was not using correct edit URL when searching for users 2018-08-07 06:17:32 -04:00
Ryan Cramer
6cc5a01cf5 Fix issue processwire/processwire-issues#646 where repeater trash icon click not triggering InputfieldStateChanged on InputfieldRepeater on case one forgets to save their changes 2018-08-07 06:02:58 -04:00
Ryan Cramer
683e24e010 Add an update to accommodate request in processwire/processwire-issues#648 for wording of warning message when a 3rd party hook has changed a page's name behind the scenes after it was saved 2018-08-06 11:31:35 -04:00
Ryan Cramer
a1676b0adb Fix issue processwire/processwire-issues#650 cropped images in image fields with overwrite option enabled not showing 2018-08-06 10:33:17 -04:00
Ryan Cramer
6882abe40a Fix issue processwire/processwire-issues#653 Inputfield parent issue causing out of memory errors when two buttons lacking name attributes 2018-08-06 08:21:21 -04:00
Ryan Cramer
c9a210ec35 Bump version to 3.0.109 2018-08-03 12:45:52 -04:00
Ryan Cramer
f61bca5d9f A couple of other minor updates to Session and FieldtypeModule 2018-08-03 12:21:00 -04:00
Ryan Cramer
95adb8039c Updates to Tfa base class, plus updates to ProcessLogin for TFA support 2018-08-03 12:17:12 -04:00
Ryan Cramer
5af6e63358 Add two-factor authentication module base class. Two modules that implmement it coming shortly. 2018-08-02 12:33:06 -04:00
Ryan Cramer
730b61a3c3 Various minor module updates 2018-08-02 12:31:41 -04:00
Ryan Cramer
fb9d1458a8 Update FieldtypeModule to support a couple of new config options for blank value and showing a "none" option when used with radios. 2018-08-02 12:23:18 -04:00
Ryan Cramer
fa2c8e30b9 Fix PSR-4 stacked namespace loading issue in WireClassLoader 2018-08-02 12:21:58 -04:00
Ryan Cramer
75889d3ac9 Update Password class with new methods for random string generation 2018-08-02 12:19:38 -04:00
Ryan Cramer
5e389ff65a Upgrade Inputfield and InputfieldWrapper base classes to support new getting, setting, and traversal methods. Plus a new $inputfields->new() method that lets you create a new Inputfield and add it to the wrapper in one step. 2018-08-02 12:17:59 -04:00
Ryan Cramer
c01289edb7 Attempt fix for issue processwire/processwire-issues#635 with FileCompiler and PHP touch() when PW run under different user accounts 2018-07-19 06:58:21 -04:00
Ryan Cramer
22fe5794d0 Fix issue processwire/processwire-issues#634 where single-use tokens in SessionCSRF needed an automatic reset to be consistent with behavior described the phpdoc 2018-07-18 07:45:38 -04:00
Ryan Cramer
b439a4488f Fix issue processwire/processwire-issues#631 where page-edit-lang-[name] permissions could prevent intended "addable" permission on templates. 2018-07-18 06:48:59 -04:00
Ryan Cramer
b6ec6cd679 Fix issue processwire/processwire-issues#629 where $config->pagefileSecure combined with non-superuser editing user profile didn't show images in image fields 2018-07-17 11:41:33 -04:00
Ryan Cramer
411fedf785 Fix issue processwire/processwire-issues#627 InputfieldCKEditor when extraAllowedContent empty 2018-07-16 11:37:56 -04:00
Ryan Cramer
2fb5ebbc96 Fix issue processwire/processwire-issues#625 where nested repeater with image field when combined with $config->pagefileSecure and access control without guest page-view permission was not appearing for logged-in non-superuser 2018-07-16 11:31:45 -04:00
Ryan Cramer
1404d1ef0f A couple of minor adjustments for 3.0.108 2018-07-13 13:25:18 -04:00
Ryan Cramer
1f4ca1b8f4 Some additional adjustments to the live search, including the addition of a "help" option, which you can access just by typing "help" into the search box. Bumped version to 3.0.108 2018-07-13 11:19:26 -04:00
Ryan Cramer
9741fbb818 Add 'language' option to $page->editUrl() method 2018-07-12 14:54:34 -04:00
Ryan Cramer
e038cb3d89 Update 3 admin themes for live search code, plus some other minor adjustments 2018-07-12 14:53:46 -04:00
Ryan Cramer
484d183054 Add a $modules->findByInfo() method that enables finding modules by factors in their module info, without instantiating the modules. Also some optimizations to the $modules->getModuleInfo() method. 2018-07-12 10:48:22 -04:00
Ryan Cramer
f8c41366c5 Update wireInstanceOf($instance, $className)) function to support interfaces for $className argument, regardless of whether the $instance argument is an object or a string (class name). Previous versions did not fully support interfaces for the $className argument. 2018-07-12 06:22:35 -04:00
Ryan Cramer
cd7a684b85 Add "searchable" module support to ProcessPageType and ProcessUser 2018-07-11 16:13:42 -04:00
Ryan Cramer
6b2f2243da Add "searchable" module support to ProcessTemplate and ProcessField 2018-07-11 16:13:00 -04:00
Ryan Cramer
14fce7e11a Add "searchable" module support to ProcessCommentsManager 2018-07-11 16:11:34 -04:00
Ryan Cramer
be9d07c57b Add new "addable" and "deletable" options to AsmSelect, enabling you to have AsmSelects where the ability to add and/or delete items is suppressed. With both options disabled, it's useful for sorting fixed groups of items. 2018-07-11 16:09:38 -04:00
Ryan Cramer
2e095c9cf4 Add url(), httpUrl() and editUrl() methods to Comment class. 2018-07-11 16:08:08 -04:00
Ryan Cramer
0dc2f17b5a Add a couple of new static methods to Selectors class for examining selector operators 2018-07-11 16:06:52 -04:00
Ryan Cramer
04187ed19f Update PaginatedArray/PageArray::getPaginationString() method to support new options (documented in phpdoc) 2018-07-11 16:05:48 -04:00
Ryan Cramer
756c9298a5 Add SearchableModule interface to Module definition, add getProcessPage() to Process module base class (which returns the Page object the Process page lives on), plus a couple of minor phpdoc improvements in core classes 2018-07-11 16:02:40 -04:00
Ryan Cramer
c3e0bbec86 Bump version to 3.0.107 2018-06-29 15:11:41 -04:00
Ryan Cramer
30bc99cfd7 Update ProcessPageList to have module configuration setting as to whether or not Trash and Restore is available to non-superusers. Plus add new Restore tab to ProcessPageEdit that appears when editing a page in the trash. Previously you could only restore by using the PageList "restore" action. 2018-06-29 12:27:01 -04:00
Ryan Cramer
bf62fbb897 Upgrade ProcessPageList to support showing and use of trash to non-superusers, for pages user is allowed to edit 2018-06-28 12:59:59 -04:00
Ryan Cramer
8e084a1ba0 Add new collapsed “What pages point to this one?” field on page editor Settings tab. This also demonstrates use of the $page->references() and $page->links(); methods. 2018-06-28 12:56:29 -04:00
Ryan Cramer
2883d2adb5 Add new $page->restorable() method to accompany the existing $page->trashable() method. This method returns true/false as to whether or not the page can be restored from the trash to its original location by the current user. Also add a PagePermissions::trashListable() method for determining whether the trash is viewable by the current user. 2018-06-28 12:53:56 -04:00
Ryan Cramer
54fad20ffd Add new Page methods: $page->links() which returns PageArray of other pages linking to it; $page->references() which returns PageArray of other pages referencing it in Page fields; $page->urls() which returns array of all URLs that can refer to the page, in all languages, and including both previous and current URLs. Plus add these properties: $page->references; $page->links; $page->numLinks; $page->numReferences; $page->hasLinks; $page->hasReferences; $page->referencing; $page->urls; see phpdoc for details on these properties. 2018-06-28 12:49:27 -04:00
Ryan Cramer
94524a8776 Add new find methods to FieldtypePage, FieldtypeTextarea and MarkupQA for finding page references and links specific to a given page. The public interfaces to these will be in the Page class (coming in next commit). 2018-06-28 12:47:05 -04:00
Ryan Cramer
5a9976f7a7 Improvements to User::hasPermission() method to support new permission detection options in context argument. 2018-06-28 12:43:09 -04:00
Ryan Cramer
8ef358eac7 Support option of forcing use of core WireMail even when other WireMail modules installed (primarily for testing/debugging purposes) 2018-06-28 12:42:03 -04:00
Ryan Cramer
bd325ba123 Fix issue where InputfieldImage could potentially detect ajax request mode when not applicable 2018-06-28 12:39:43 -04:00
Ryan Cramer
67bbd9641d Improvements to PagePathHistory module to support new options for getPathHistory() method 2018-06-28 12:38:24 -04:00
Ryan Cramer
fb65040836 Improvements to ProcessPageType and some phpdoc improvements to ProcessRole and ProcessPageLister 2018-06-28 12:35:18 -04:00
Ryan Cramer
cccc2d1161 Add lazy-loading option to WireInput, specified by $config->wireInputLazy=true; 2018-06-28 12:29:50 -04:00
Ryan Cramer
b54b3bace1 Add $modules->getModuleInfoProperty($module, 'name'); to retrieve just one property of module info, when useful. 2018-06-27 11:07:59 -04:00
Ryan Cramer
e5e13c1904 Fix issue processwire/processwire-issues#624 where WireHttp was producing error on the occasion when HTTP code present without text (which seems to be rare as far as I can tell). 2018-06-27 10:39:19 -04:00
Ryan Cramer
be1a203247 Fix issue processwire/processwire-issues#622 in $sanitizer->url() to workaround that PHP’s FILTER_VALIDATE_URL does not accept underscores in hostnames, despite their use being fairly common (even if not technically valid). 2018-06-27 10:24:59 -04:00
Ryan Cramer
1e912c4a4d Fix issue processwire/processwire-issues#623 where WireHttp::download() method was not working with URLs having encoded spaces when downloading with the "fopen" option (the "curl" option was not affected). Added a couple new $options to $sanitizer->url() method for dictating how encoded characters should be handled. Added WireHttp::setValidateURLOptions() method for cases where you want to manually specify different options for validating the URL in WireHttp. 2018-06-27 08:30:31 -04:00
Ryan Cramer
637f81579e Remove debug message() calls in ProcessPageEdit.module 2018-06-20 11:10:45 -04:00
Ryan Cramer
643c9d3a87 Bump version to 3.0.106 2018-06-15 13:19:15 -04:00
Ryan Cramer
afb4c4dbfd Add support for users with user-admin-all permission to be able to assign roles with user-admin permission per processwire/processwire-issues#607 2018-06-15 11:17:25 -04:00
Ryan Cramer
c82dba8835 Some upgrades and code consolidation in MarkupPagerNav, plus make it populate a $config->pagerHeadTags that one can output in a document head after rendering pagination, containing the <link rel='next|prev'.../> tags when desired. 2018-06-15 11:06:05 -04:00
Ryan Cramer
e60b79bd78 Upgrade $input->urlSegmentStr() method with new arguments, add an $input->pageNumStr() method, and add an $input->httpHostUrl() method that includes current scheme and hostname without path. 2018-06-15 11:03:38 -04:00
Ryan Cramer
28d275fe4d Fix issue processwire/processwire-issues#616 where PHP 7.2 is throwing deprecation notices for default arguments of idn_to_utf8() and idn_to_ascii(). The deprecation change and new defaults for next major PHP version does not appear to affect our usage after several tests, so opted to suppress these notices. 2018-06-15 07:58:50 -04:00
Ryan Cramer
828a80f1f6 Fix issue processwire/processwire-issues#621 where PageFrontEdit module config modal in AdminThemeDefault was showing extra/unnecessary buttons on modal dialog 2018-06-15 06:38:04 -04:00
Ryan Cramer
325ee3da15 Add a couple of new traversal methods to Inputfield: $inputfield->getRootParent(); and $inputfield->getForm();. While it was possible to get this info before, this makes it more obvious and straightforward. 2018-06-13 15:34:41 -04:00
Ryan Cramer
bd35c02e81 Improve support for Field tags by adding a new "Manage Tags" button at the bottom of the fields list screen, enabling you to add or remove fields to/from tags. In addition tags can now be used in $pages->find() searches, i.e. $pages->find("my_tag%=something"); would search all fields in the "my_tag" collection. 2018-06-13 15:31:55 -04:00
Ryan Cramer
a465fab672 Several fixes and impovements to PageFrontEdit per processwire/processwire-issues#609. Plus, this commit also improves PageFrontEdit usage with AdminThemeUikit, and improves behavior of multi-language fields. 2018-06-12 07:43:55 -04:00
Ryan Cramer
738c2db3c5 Correct issue in JqueryUI/modal.js where it used $() rather than jQuery() in one spot, and also fix issue where modal would stay open in some cases when we didn't want it to 2018-06-12 07:12:04 -04:00
Ryan Cramer
9ac3bfb5ad Various small code improvements and optimizations to ProcessPageEdit.module 2018-06-12 07:09:35 -04:00
Ryan Cramer
fff1250211 Various minor updates: add a $config->version($minVersion) function, add @since tags in Sanitizer, update count() => wireCount() in FieldtypePageTable and add PHPdoc hints where phpstorm is asking for them, update InputfieldImage to track change for the field when an action manipulates the image file, plus some other minor odds and ends. 2018-06-12 07:06:40 -04:00
Ryan Cramer
9ef1ac1486 Fix issue where drag-to-upload to CKE field within a repeater wasn't working quite right. Also updated it to default to drag-upload to image field in repeater item, if one is present (and supports more than one item), and use the owning page as a fallback for upload. 2018-06-10 08:08:53 -04:00
Ryan Cramer
d57b3ffcfc Bump version to 3.0.105 2018-06-01 15:39:56 -04:00
Ryan Cramer
6ef23f5c75 A couple of minor updates to AdminThemeUikit 2018-06-01 14:08:19 -04:00
Ryan Cramer
f6d8d3510f Add the “Regular” site profile to the core as another installation profile option 2018-06-01 13:26:07 -04:00
Ryan Cramer
ecf812224f Add $mail->sendHTML() and $mail->mailHTML() methods which are the same as their send() and mail() counterparts, but assume the given message body is HTML, and text-body is auto-generated. 2018-06-01 09:17:37 -04:00
Ryan Cramer
c0437702ce Fix issue processwire/processwire-issues#610 where .sort-date spans were showing in MarkupAdminDataTable columns at mobile width 2018-06-01 06:55:50 -04:00
Ryan Cramer
2abc454ce1 Add @rolandtoth PR #110 and PR #111 that fix issues with LanguageTabs in AdminThemeDefault/AdminThemeReno themes. 2018-05-31 14:55:33 -04:00
Ryan Cramer
07ab8ef9fc Add support for multi-language options support to InputfieldSelect, and modules that descend from it (radios, checkboxes, asmSelect, selectMultiple, etc). This enables you to use selectable options in multiple languages when used in FormBuilder or any other tool that uses InputfieldSelect without a Fieldtype. 2018-05-31 14:27:39 -04:00
Ryan Cramer
d2da3adcf7 Add new $mail->mail() method, which is the same as the existing $mail->send() method except that its arguments duplicate those of PHP mail(), making it possible to use as a drop-in replacement for PHP mail(). 2018-05-31 13:17:22 -04:00
Ryan Cramer
7c159f9c1a Some reworking of and improvements to the WireMail class, though no change to external interface (and should be no changes required for classes extending it). 2018-05-31 13:15:32 -04:00
Ryan Cramer
863abee8bb mprovements and new options for $sanitizer methods: text(), textarea(), unentities(). Plus, add new $sanitizer->removeWhitespace() method that can remove 99 different types of whitespace that can appear in a string (which includes the obvious whitespace, but also various UTF-8 and html-entity based whitespace). 2018-05-31 11:07:36 -04:00
Ryan Cramer
46e774ba38 Fix issue in FieldtypeComments::find() where "sort=something" selector wasn't always working if DatabaseQuerySelectFulltext modified the query 2018-05-30 07:29:00 -04:00
Ryan Cramer
bdaf8810cb Various minor AdminThemeUikit updates, mostly styles adjustments. Bump version to 3.0.104 and a couple other minor tweaks. 2018-05-25 11:10:41 -04:00
Ryan Cramer
5b38c26806 Update InputfieldCKEditor figure/figcaption styles to bind width of caption to width of image 2018-05-25 10:40:15 -04:00
Ryan Cramer
81ceb184b2 Update FieldtypeComments CommentList class to support a footer option 2018-05-25 10:38:40 -04:00
Ryan Cramer
ad9973ca33 Additional fix for processwire/processwire-issues#602 add z-index to InputfieldRepeater to prevent lost outline at bottom of field when repeater depth enabled 2018-05-24 05:47:56 -04:00
Ryan Cramer
da73572b95 Fix issue in Firefox where repeaters with depth in AdminThemeUikit had strange outline on containing Inputfield element per suggestion in processwire/processwire-issues#602 2018-05-24 05:45:21 -04:00
Ryan Cramer
c1dc6a9b9f Add @Notanotherdotcom PR #96 to allow use of field names with brackets (array) in field dependencies 2018-05-23 08:34:33 -04:00
Ryan Cramer
d06fd64171 Fix issue processwire/processwire-issues#603 where toggling repeater item open/closed makes outline disappear the second time you do it 2018-05-23 08:28:54 -04:00
Ryan Cramer
c512fd68e3 Fix issue processwire/processwire-issues#598 in FieldtypeOptions where manually assigned option IDs were not working 2018-05-23 07:45:33 -04:00
Ryan Cramer
91930953b6 Additional update for processwire/processwire-issues#596 2018-05-23 05:43:08 -04:00
Ryan Cramer
af3db8b5c1 Fix issue processwire/processwire-issues#600 where label saved to log was showing wrong path 2018-05-21 09:45:24 -04:00
Ryan Cramer
771c275432 Fix issue processwire/processwire-issues#597 allow radio button labels to wrap when needed 2018-05-21 09:40:35 -04:00
Ryan Cramer
79fa81d8a8 Add enhancement processwire/processwire-issues#596 show field labels rather than field names in Inputfield error messages 2018-05-21 09:23:47 -04:00
Ryan Cramer
2ba8d29ce2 Fix issue processwire/processwire-issues#595 where horizontal separator in dropdown nav wasn't quite right for the Page Add > Bookmarks option 2018-05-21 08:47:04 -04:00
Ryan Cramer
76a15a2539 Some other tweaks to Fieldtype and FieldtypeComments and bump version to 3.0.103 2018-05-18 15:07:24 -04:00
Ryan Cramer
9c38d29402 Improve support for fields that can be placed in custom header of CommentList class 2018-05-18 10:15:04 -04:00
Ryan Cramer
0fbd5a5882 Significant improvements to FieldtypeComments::find() method, adding support for selectors containing multiple sort values, OR values (for most properties), fulltext index searching of comment text, and matching comments based on field values present on the page that contains the comment field. 2018-05-18 10:12:04 -04:00
Ryan Cramer
aa34db127e Add WireLog option for specifying which user should be recorded with the log entry (if different from current user). 2018-05-18 09:21:13 -04:00
Ryan Cramer
7b2692f0cd Add new removeAllFor($namespace) method to Session, and improve the multi-IP option in the getIP() method 2018-05-18 09:19:01 -04:00
Ryan Cramer
ac480032c6 Major improvements and configuration options added to ProcessForgotPassword module. Also improves it for non-admin uses such as with the LoginRegister module. Additional added hooks also support more customization. 2018-05-18 09:17:38 -04:00
Ryan Cramer
8dda4368ea Bump version to 3.0.102 2018-05-11 12:00:35 -04:00
Ryan Cramer
8b285cfb17 Add @kixe PR #94 which adds a "disallow parallel sessions" option to SessionHandlerDB. When enabled, only one login can be maintained at a time per user. 2018-05-11 09:52:46 -04:00
Ryan Cramer
63cba339e4 Add "Cancel" JS callback to ProcessWire.confirm(message, funcOk, funcCancel) per PR #108 2018-05-11 08:20:26 -04:00
Ryan Cramer
717c1d2961 Add PR #107 so that panel.js triggers pw-panel-closed and pw-panel-opened events in JS 2018-05-11 06:33:33 -04:00
Ryan Cramer
8ef088f625 Some minor updates to WireTextTools::truncate() method to improve sentence type matches 2018-05-11 06:14:15 -04:00
Ryan Cramer
d7e0cccecb Apply the LanguageSupportPageNames duplicate checking feature without debug/advanced modes per processwire/processwire-issues#322 2018-05-10 06:25:30 -04:00
Ryan Cramer
7458d0504c Make InputfieldSelect show blank option even when selection is required per processwire/processwire-issues#585 2018-05-10 06:02:57 -04:00
Ryan Cramer
04123e305a Fix issue processwire/processwire-issues#588 where InputfieldFieldsetOpen lacked class InputfieldFieldset, which prevented it from having background color in AdminThemeUikit 2018-05-10 05:52:40 -04:00
Ryan Cramer
2d8dc82010 Fix issue processwire/processwire-issues#590 dropdown hover ajax menus using fix suggested in issue report 2018-05-10 05:37:29 -04:00
Ryan Cramer
e520c09f7a Update InputfieldPageAutocomplete.js to initialize the autocomplete on focus event, rather than on document ready. This resolves a render time issue in AdminThemeUikit when there are a lot of autocomplete inputs present, per @Toutouwai 2018-05-08 09:25:07 -04:00
Ryan Cramer
2f20fe402c Some code cleanup in ProcessPageSearch, plus add a hook for processwire/processwire-issues#584 2018-05-08 08:48:52 -04:00
Ryan Cramer
5127be3b35 Fix issue processwire/processwire-issues#587 where "Pages > Recent > Created" dropdown was showing pages created by user rather than all users. 2018-05-08 08:09:13 -04:00
Ryan Cramer
211cf78403 Fix issue processwire/processwire-issues#586 unnecessary "clone_field" property in field settings after a field is cloned. Unrelated: this commit also converts InputfieldPageAutocomplete to use an scss file. 2018-05-08 08:03:41 -04:00
Ryan Cramer
a3d2a447a9 Add fix for issue processwire/processwire-issues#584 allow quotes in InputfieldPageAutocomplete selectors 2018-05-08 05:43:24 -04:00
Ryan Cramer
ebe163452d Bump version to 3.0.101 2018-05-04 15:35:01 -04:00
Ryan Cramer
8d38ad7c44 Add $sanitizer->truncate() function per processwire/processwire-requests#163 2018-05-04 15:32:54 -04:00
Ryan Cramer
589d745caa Some small CSS fixes in ProcessModule 2018-05-02 06:24:49 -04:00
Ryan Cramer
c2bc83bc40 Attempt fix for processwire/processwire-issues#582 requiredIf and ProcessPageEdit behaviors 2018-05-02 06:14:47 -04:00
Ryan Cramer
027275ec40 Fix issue processwire/processwire-issues#583 $pages->clone() was failing when page had files and output formatting state was true. 2018-05-02 05:53:26 -04:00
Ryan Cramer
3296b699e2 Fix issue in InputfieldImage where negative degree rotate image actions were getting converted to positive degree rotates due to sanitization. 2018-05-01 06:09:21 -04:00
Ryan Cramer
8c18e3bf0d Fix issue processwire/processwire-issues#580 2018-04-30 05:56:36 -04:00
Ryan Cramer
ecdd3a3895 Bump version to 3.0.100 2018-04-27 16:34:17 -04:00
Ryan Cramer
cfed957df2 Update $pages->newPage() method to support option of accepting array of fields/properties to set when creating the page object 2018-04-27 11:21:13 -04:00
Ryan Cramer
b0abd3b9de Additional update for processwire/processwire-issues#575 2018-04-27 10:28:13 -04:00
Ryan Cramer
43c3bb52c3 Additional adjustment for processwire/processwire-requests#183 to correct enter-key detection that was using wrong element id. 2018-04-27 10:13:50 -04:00
Ryan Cramer
904db74f1a Add custom __debugInfo() methods to Pagefile, Pageimage, and Pagefiles per processwire/processwire-issues#575 plus some other minor updates to Pagefile/Pageimage 2018-04-27 09:55:31 -04:00
Ryan Cramer
c2324f0a8a Fix issue processwire/processwire-issues#576 adjustment in InputfieldPassword.js for EmailNewUser module 2018-04-27 06:09:07 -04:00
Ryan Cramer
2a49fe1087 Attempt to fix issue processwire/processwire-issues#560 add support for viewable permission with User pages outside admin structure when developer intends it 2018-04-26 10:04:49 -04:00
Ryan Cramer
105ba2b8eb Add __debugInfo() method to WireInput class per processwire/processwire-issues#575 2018-04-26 08:48:09 -04:00
Ryan Cramer
e53e4b4bd0 Add processwire/processwire-requests#183 focus URL input field when ProcessPageEditLink opens 2018-04-26 08:32:42 -04:00
Ryan Cramer
2cc69a1f0b Fix issue processwire/processwire-issues#571 where configuring a FieldtypeFieldsetClose in Setup > Fields would result in error in AdminThemeUikit 2018-04-25 11:16:05 -04:00
Ryan Cramer
c7dfb37a7e Fix issue processwire/processwire-issues#570 where InputfieldImage in a Repeater item, crop/focus/variations buttons didn't show to non-superusers 2018-04-25 11:09:59 -04:00
Ryan Cramer
d691b743b0 Fix issue processwire/processwire-issues#569 when Inputfield::textFormatMarkdown constant used it wasn't replacing default wrapping markup 2018-04-25 09:07:18 -04:00
Ryan Cramer
ba400767ab Fix issue processwire/processwire-issues#568 for ProcessModule table.AdminDataList tables, plus convert CSS to SCSS 2018-04-25 08:21:47 -04:00
Ryan Cramer
ace36fb415 Fix issue processwire/processwire-issues#567 w/AdminThemeUikit search box ctrl/cmd-click did not open new tab 2018-04-25 06:12:50 -04:00
Ryan Cramer
a9051a252f Fix issue processwire/processwire-issues#565 with InputfieldSelector preview count and _custom selector option was not working before 2018-04-25 05:55:22 -04:00
Ryan Cramer
f2912bcfd4 A couple of minor adjustments in AdminThemeUikit 2018-04-23 05:42:12 -04:00
Ryan Cramer
184059b5d6 Additional improvements to $config->noHTTPS option for support of hostnames 2018-04-20 10:33:43 -04:00
Ryan Cramer
bc037f840e Minor adjustment to InputfieldRepeater and publish status to simplify a ProDrafts hook 2018-04-19 10:52:08 -04:00
Ryan Cramer
16c20439f1 Add support for $config->noHTTPS. When boolean true, it cancels any HTTPS requirements set per-template, simplifying cases where you copy a production site to dev site that may not have the same HTTPS capabilities. So for that case, the dev site would want to have $config->noHTTPS=true; in /site/config.php 2018-04-19 10:49:58 -04:00
Ryan Cramer
a6bd85f6b2 Some additional updates for AdminThemeUikit to improve on irregular Inputfield column widths and global uk-form-large or uk-form-small settings 2018-04-19 10:47:13 -04:00
Ryan Cramer
19f557b487 Several updates to AdminThemeUikit including additional config settings, new input appearance adjustments, option to use percentage-based widths rather than uk-width classes, and more. processwire/processwire-issues#564 processwire/processwire-issues#480 2018-04-18 09:05:29 -04:00
Ryan Cramer
c550c6678b Some minor adjustments in preparation for a couple AdminThemeUikit additions 2018-04-18 08:50:53 -04:00
Ryan Cramer
d2ebb4cd56 Update base AdminTheme class for more flexible class management functions 2018-04-18 08:47:20 -04:00
Ryan Cramer
566d60b152 Small optimization for for __('text') translation function when used in PHP 5.4.0 or newer and no textdomain specified. 2018-04-13 09:17:09 -04:00
Ryan Cramer
5884f05b9f Fix issue in MarkupFieldtype when rendering file/image fields within repeater items 2018-04-13 08:50:02 -04:00
Ryan Cramer
6b3b0b7782 Further updates to AdminThemeUikit Inputfield width adjustments per processwire/processwire-issues#480 2018-04-13 08:31:17 -04:00
Ryan Cramer
ae5b955ec8 Fix issue in FieldtypeFieldsetOpen.module where hooks might not get called depending on module load order 2018-04-08 08:17:09 -04:00
Ryan Cramer
341342dc5b Bump version to 3.0.98 2018-04-06 14:25:49 -04:00
Ryan Cramer
9d11d87e9b Update InputfieldSelect::addOptionsString() to allow for user-defined disabled option if line in option string is prefixed with "disabled:" 2018-04-06 07:14:48 -04:00
Ryan Cramer
c5147a5279 Make Inputfield requiredLabel customizable per field from API via $inputfield->requiredLabel property, to provide option to override default "missing requird value" label. 2018-04-06 06:56:54 -04:00
Ryan Cramer
f27feb2bbf Followup fix for issue processwire/processwire-issues#322 check for duplicate non-default language page name when creating new page 2018-04-06 06:46:42 -04:00
Ryan Cramer
eaa2cb4d89 Fix issue processwire/processwire-issues#558 remove unused filemtime() call in ProcessLanguage.module 2018-04-06 05:46:30 -04:00
Ryan Cramer
215348b797 Fix issue processwire/processwire-issues#556 fix issue when cloning Pagefile that has name ending with "-0". 2018-04-06 05:43:25 -04:00
Ryan Cramer
6dc7a122a6 Fix issue processwire/proceswire-issues#555 in ProcessProfile where 50% width Inputfield followed by submit button resulted in submit button in wrong position 2018-04-06 05:37:22 -04:00
Ryan Cramer
c5c7ae4232 Bump to 3.0.97 and update to add a Pagefile::HTTPURL to accompany the existing Pagefile::URL property (uppercase implies cache busting URLs). 2018-03-30 10:48:40 -04:00
Ryan Cramer
2722345aac Attempt to fix issue processwire/processwire-issues#554 isue with $files->include() and Windows paths 2018-03-30 10:45:35 -04:00
Ryan Cramer
b1214fa0c4 Fix issue processwire/processwire-issues#553 where a note in AdminThemeUikit config screen needed to be updated for new module location 2018-03-30 09:53:46 -04:00
Ryan Cramer
8cbe05d1e7 Fix issue processwire/processwire-issues#277 where Inputfield::collapsedNever constant didn't work quite right in some cases 2018-03-30 09:41:32 -04:00
Ryan Cramer
deb448851b Fix issue processwire/processwire-issues#544 where FieldsetTab in User editor was not viewable to non-superuser with user-admin permission 2018-03-28 09:43:44 -04:00
Ryan Cramer
b7e90f896c Fix issue processwire/processwire-issues#551 Pages::trashed and Pages::restored hooks were getting called twice 2018-03-28 06:31:36 -04:00
Ryan Cramer
164d132be8 Fix issue processwire/processwire-issues#548 WireLog::getLines method wasn't passing options array to FileLog::find 2018-03-28 05:59:40 -04:00
Ryan Cramer
bd85c025e2 Fix issue in ProcessCommentsManager where the tabs were not showing active state properly in AdminThemeUikit. Plus some minor CSS updates in InputfieldPage and ProcessPageLister. 2018-03-22 07:59:16 -04:00
Ryan Cramer
a5e5ae7b47 Update FieldtypePage to support a runtime option to create Page references that don't exist when value is set by title. This is to accommodate a feature in ImportPagesCSV module. 2018-03-22 07:48:26 -04:00
Ryan Cramer
3e6840748b Update FieldtypeInteger so that it will still convert to integer even if number prefixed with USD or EUR symbol. 2018-03-22 07:46:02 -04:00
Ryan Cramer
89ed62a6d8 Prevent stars input from showing in InputfieldCommentsAdmin.module when stars feature is not enabled 2018-03-22 07:43:47 -04:00
Ryan Cramer
941ef5cb67 Update to 2018 2018-03-16 10:44:38 -04:00
Ryan Cramer
48fe0769a4 Remove console.log from ProcessProfile.js 2018-03-16 10:35:56 -04:00
Ryan Cramer
4551748659 Bump version to 3.0.96 2018-03-16 10:30:08 -04:00
Ryan Cramer
f52c3f54c9 Fix issue processwire/processwire-issues#322 where certain scenario could allow collision of language-specific page names 2018-03-16 10:24:46 -04:00
Ryan Cramer
6c4f4103d2 Fix issue processwire/processwire-issues#542 in InputfieldRepeater.module repeater item titles, where numbered HTML entities (like the one for apostrophe) were getting their "#" character removed, making it look like double encoding 2018-03-16 07:40:36 -04:00
Ryan Cramer
19a55c6d37 Enhancement for issue processwire/processwire-issues#539 show "Edit Profile" button after login when user has profile-edit permission but not page-edit permission 2018-03-15 11:02:37 -04:00
Ryan Cramer
ba21b28b4e Attempt fix for issue processwire/processwire-issues#537 update code that corrects Firefox issue where it populates autocomplete password field even when autocomplete is disabled (Firefox ignores disabled autocomplete here for some reason) 2018-03-15 09:39:03 -04:00
Ryan Cramer
bd72c59e41 Fix issue processwire/processwire-issues#535 missing null check for return value from getInputfield() in ProcessField 2018-03-15 08:55:27 -04:00
Ryan Cramer
eb95498183 Fix issue processwire/processwire-issues#534 PageList narrow mode didn't show 'New' action for home, or 'Empty' action for trash 2018-03-15 08:48:21 -04:00
Ryan Cramer
d9b30167c7 Typo fixes per processwire/processwire-issues#533 2018-03-14 11:50:50 -04:00
Ryan Cramer
bbfb4d78d2 Update for additional suggestions in processwire/processwire-issues#518 2018-03-14 10:37:24 -04:00
Ryan Cramer
27b6141a1b Fix issue processwire/processwire-issues#531 repeater within a fieldset depth changes unexpectedly when repeater item dragged up/down. 2018-03-14 10:02:15 -04:00
Ryan Cramer
1045acc057 Make PageTable buttons have better margins per processwire/processwire-issues#521 2018-03-14 08:43:56 -04:00
Ryan Cramer
11398f00bf Update for AdminThemeUikit main.js per processwire/processwire-issues#480 2018-03-14 08:13:46 -04:00
Ryan Cramer
c1ca1fde3b Fix minor JS issue where ajax-loaded inputfields didn't have the toggle arrow icon properly adjusting for open/closed state 2018-03-13 09:40:04 -04:00
Ryan Cramer
0a98458d5b Fix issue where ajax-loaded Inputfield render() didn't have before(render) hooks called when rendering the non-ajax placeholder, which was identified in processwire/processwire-issues#480 2018-03-13 09:38:32 -04:00
Ryan Cramer
3a76db94f9 Some minor optimizations in WireHooks class, plus enable before/after option for $type argument in runHooks method that was mentioned in the phpdoc but wasn't fully supported yet 2018-03-13 09:37:05 -04:00
Ryan Cramer
d82d011eca Change ksort to sort in minColumnWidth for AdminThemeUikit 2018-03-12 13:33:56 -04:00
Ryan Cramer
d99c5ec731 Fix processwire/processwire-issues#526 where part of longclick for LanguageTabs was still active (was converted to double click awhile back) 2018-03-12 10:37:29 -04:00
Ryan Cramer
ceff2e47a8 Fix issue processwire/processwire-issues#523 prevent user from uninstalling admin themes defined by $config->defaultAdminTheme 2018-03-12 10:16:11 -04:00
Ryan Cramer
afe41773d8 Fix issue processwire/processwire-issues#519 where front-edit editor w/CKEditor inline image action was not working 2018-03-12 09:45:03 -04:00
Ryan Cramer
20f02cddf9 Some AdminThemeUikit updates, mostly related to processwire/processwire-issues#480 2018-03-12 09:02:00 -04:00
Ryan Cramer
0c760171bd Bump version to 3.0.95 2018-03-09 12:26:29 -05:00
Ryan Cramer
36bceb6ed2 Fix issue in Selectize.js processwire/processwire-issues#520 where Selectize.js had bottleneck in measureString() function that caused a slowdown because of DOM manipulation (was noticed when Selectize paired with Uikit 3) 2018-03-09 09:17:04 -05:00
Ryan Cramer
5da4e17a27 Update for processwire/processwire-issues#517 and ryancramerdesign/AdminThemeUikit#46 correct issue where InputfieldImage defined buttonClass wasn't getting used in repeaters, plus update the Uikit custom button class to not be applied when InputfieldImage::renderButtons() is hooked, in order to avoid two different button styes appearing when other modules add buttons to it. 2018-03-08 10:56:32 -05:00
Ryan Cramer
bd3be5e315 Fix issue processwire/processwire-issues#518 where multi-instance + multi-site had boot error in Windows 2018-03-08 08:58:15 -05:00
Ryan Cramer
786a4b8309 Update InputfieldAsmSelect to use font-awesome based edit icon rather than a jQuery UI one 2018-03-07 13:07:38 -05:00
Ryan Cramer
3f62968392 Resolve various minor AdminThemeUikit issues and update Uikit 3 version to beta 40 2018-03-07 13:06:08 -05:00
Ryan Cramer
787c589151 Fix issue processwire/processwire-issues#516 where the WireDateTime conversion table from date to strftime incorrectly had '$' rather than '%' for some of the conversions. 2018-03-07 08:26:43 -05:00
Ryan Cramer
b1454b31a4 Add ProcessField detection for invalid Page field showIf/requiredIf dependencies per processwire/processwire-issues#509 2018-03-07 08:11:42 -05:00
Ryan Cramer
a166c22e71 Update for processwire/processwire-issues#480 2018-03-07 07:22:44 -05:00
Ryan Cramer
16f614f5a0 Fix issue processwire/processwire-issues#513 datepicker z-index when near image field 2018-03-06 11:04:15 -05:00
Ryan Cramer
0aefc2baa3 Fix issue processwire/processwire-issues#512 correct unnecessary error message when performing file field schema update 2018-03-06 10:53:54 -05:00
Ryan Cramer
aada758d14 Update AdminThemeUikit JS for Inputfield widths show/hide calculations per processwire/processwire-issues#480 2018-03-06 09:01:56 -05:00
Ryan Cramer
e20562b5c1 Add @horst-n improvements to ImageSizerEngine and InputfieldImage focus+zoom features, plus add some other adjustments and improvements in InputfieldImage.js 2018-03-05 08:45:39 -05:00
Ryan Cramer
a9ec5a640a Bump version to 3.0.94 2018-03-02 12:01:16 -05:00
Ryan Cramer
76f3dac6fd Update for processwire/processwire-issues#408 plus some phpdoc updates in ProcessModule to appease phpstorm 2018-03-01 09:30:45 -05:00
Ryan Cramer
cd0f76d32c Fix issue processwire/processwire-issues#505 add support for detection of missing closing tags in WireMarkupRegions in order to prevent timeout 2018-02-28 08:40:58 -05:00
Ryan Cramer
8acd06646f Fix issue processwire/processwire-issues#349 InputfieldOptions with InputfieldSelect required field not having blank option 2018-02-27 10:36:05 -05:00
Ryan Cramer
5674af8b99 Minor count() update per processwire/processwire-issues#408 plus some minor phpdoc updates to appease phpstorm 2018-02-27 08:33:17 -05:00
Ryan Cramer
7c0012fbd9 Additional wireCount updates per processwire/processwire-issues#408 2018-02-26 10:16:12 -05:00
Ryan Cramer
ac779c79a8 Fix issue processwire/processwire-issues#302 where markup <region> tags didn't get removed if template file produced no output 2018-02-26 09:58:29 -05:00
Ryan Cramer
9d2a986048 Add @Toutouwai request related to processwire/processwire-issues#84 for improving touch input detection in ProcessLogin via method like InputDetect module with whatinput JS. 2018-02-26 09:19:28 -05:00
Ryan Cramer
37f95199f4 Add descriptive error message when trying to use OR values with path/URL and core PathPaths module is not installed, per processwire/processwire-issues#504 2018-02-26 06:27:29 -05:00
Ryan Cramer
869040bb30 Attempt to fix issue processwire/processwire-issues#503 incorrect label index warning/notice in ProcessRecentPages 2018-02-26 06:00:52 -05:00
Ryan Cramer
bd90821d40 Minor adjustment to account for possibility that CRLF may get counted as two bytes in InputfieldTextarea::getTextLength method (for maxlength detection). 2018-02-25 07:40:03 -05:00
Ryan Cramer
f3c188254d Bump version to 3.0.93 2018-02-23 11:51:54 -05:00
Ryan Cramer
72e00189b5 Some adjustments to InputfieldCKEditor for future support of external asset pages. Not currently enabled, just getting some foundational stuff in place for future use. 2018-02-23 10:56:32 -05:00
Ryan Cramer
dd9f215247 Update LanguageSupport module config screen to recommend next steps during module installation 2018-02-23 10:36:38 -05:00
Ryan Cramer
919c475631 Various minor adjustments 2018-02-23 10:36:15 -05:00
Ryan Cramer
053ef62970 Fix issue processwire/processwire-issues#500 where trackChanges state of cloned page was off 2018-02-21 06:12:39 -05:00
Ryan Cramer
b2281d6e93 Optimize WireMail module detection, add support for replyTo() method, add $config->wireMail default settings for WireMail module(s). processwire/processwire-issues#498 2018-02-20 10:12:57 -05:00
Ryan Cramer
fc1c6e5ea1 Fix issue processwire/processwire-issues#499 as well as expand upon phpdoc in ProcessPageEditImageSelect.module 2018-02-20 06:37:35 -05:00
Ryan Cramer
8fe1eb13f4 Add support for interactive selection of zoom, combined with focus, in InputfieldImage. To enable zoom, go to your image field settings, and on the Input tab locate the "Focus point selection" field and choose "Focus point and zoom". Bump version to 3.0.92. 2018-02-16 11:28:25 -05:00
Ryan Cramer
5c6e54e24d Fix issue processwire/processwire-issues#495 update word counter to display max length even when field is blank 2018-02-14 09:49:40 -05:00
Ryan Cramer
5493d5fea6 Add @horst-n support for focus zoom setting in the ImageSizerEngines 2018-02-13 06:02:30 -05:00
Ryan Cramer
e73ec872da Fix issue processwire/processwire-issues#491 add support for automatically cloning fieldset _END field when fieldset is cloned 2018-02-12 09:20:38 -05:00
Ryan Cramer
ef6a9d56e4 Fix issue processwire/processwire-issues#492 where FieldtypeTextareaLanguage fields on multi-language install with only default language present could get caught in a loop during load of field 2018-02-12 09:12:43 -05:00
Ryan Cramer
1f6ae656dc Bump version to 3.0.91 2018-02-09 10:10:09 -05:00
Ryan Cramer
0630b3a3c3 Add support for PageFinder selectors where field name is the name of a Fieldtype module. During search, it translates to all fields having that Fieldtype. This enables you to perform a search on all text/textarea fields at once, for example, "FieldtypeTextarea%=something". You can also do "FieldtypeText.extends%=something", and that will include all fields that use or extend the given Fieldtype. Or you can do "FieldtypeText.fields%=something" and the resulting PageArray will contain a "fields" data property that contains an array of matched fields and the quantity of pages that matched each. You can also do "FieldtypeText.extends.fields%=something" and it will include both behaviors mentioned here. Finally, you can use OR expressions here too, like "FieldtypeText|FieldtypeTextarea%=something". Note that these searches are not particularly fast and may have limits on scale. The "FieldtypeName.fields" option is slower than without the "fields" option, BUT it enables it to scale further. In my testing so far, the %= operator actually performs quite a bit better here for text-based searches than the *= or ~= operators, likely because the resulting query probably really limits use of the fulltext indexes. 2018-02-09 09:58:49 -05:00
Ryan Cramer
bafe3d4a12 Fix issue processwire/processwire-issues#490 where ProcessPageEditLink didn't allow for external link rel attributes with space separated values 2018-02-08 09:22:05 -05:00
Ryan Cramer
6dbb244654 Fix issue processwire/processwire-issues#488 where UTF-8 mode urlSegments that contained only ascii would get converted to lowercase 2018-02-08 08:51:33 -05:00
Ryan Cramer
3ade2c3269 Fix issue processwire/processwire-issues#489 where file/image field with limit=1, multi-language description was not retained on when file was replaced 2018-02-08 08:07:50 -05:00
Ryan Cramer
cf292363ca Enhance wireBytesStr() function with more options per processwire/processwire-requests#133 2018-02-06 10:03:13 -05:00
Ryan Cramer
3918bba0ab Upgrade htmlpurifier version to 4.9.3 per processwire/processwire-issues#483 2018-02-06 05:44:43 -05:00
Ryan Cramer
eb80f52efe Fix issue processwire/processwire-issues#487 where svg files in $config->pageFileSecure mode needed entry in $config->fileContentTypes 2018-02-06 05:39:19 -05:00
Ryan Cramer
5c708797f9 Update for processwire/processwire-issues#408 PHP 7.2 and changed behavior of count() 2018-02-05 06:25:05 -05:00
Ryan Cramer
f89544ea04 Fix issue processwire/processwire-issues#485 where attempting to use numeric index with WireData could halt request/memory error 2018-02-05 06:09:54 -05:00
Ryan Cramer
e21c965f7b Fix issue processwire/processwire-issues#484 where PageFrontEdit with <edit field="pageID.fieldName"> tag was not working property. 2018-02-05 05:57:15 -05:00
Ryan Cramer
8e52ee8097 Bump version to 3.0.90 2018-02-02 15:00:29 -05:00
Ryan Cramer
461152a8cd This update to AdminThemeUikit fixes various minor reported issues with Inputfields and some other small details 2018-02-02 10:36:11 -05:00
Ryan Cramer
cb2683208f Various minor adjustments 2018-02-02 10:16:15 -05:00
Ryan Cramer
3eba1b58aa Fix issues processwire/processwire-issues#173 and processwire/processwire-issues#393 nested repeater labels 2018-02-02 10:10:49 -05:00
Ryan Cramer
1d82b530ff Fix issue processwire/processwire-issues#347 where field export that included roles was using IDs rather than role names. Also same issue with PageTable that was using template IDs rather than template names. 2018-02-02 10:05:40 -05:00
Ryan Cramer
f7ff7eab8c Fix issue processwire/processwire-issues#352 where deleted role could interfere with the "who can access this page" field in the page editor 2018-02-01 11:39:30 -05:00
Ryan Cramer
bbca8f5669 Add new module ImageSizerEngineAnimatedGif by @horst-n for animated GIF support in image resizes 2018-01-31 09:13:21 -05:00
Ryan Cramer
03660974ee Some additional helpful logic and messages added in ProcessRole, plus an update to resolve processwire/processwire-issues#474 2018-01-31 08:10:32 -05:00
Ryan Cramer
e917c93d76 Fix issue processwire/processwire-issues where clone of page having FieldsetPage field was not cloning the FieldsetPage portion of it 2018-01-29 09:16:03 -05:00
Ryan Cramer
90efe9b14a Bump version to 3.0.89 and some other adjustments 2018-01-26 11:43:22 -05:00
Ryan Cramer
2cebe89e57 Fix issue processwire/processwire-issues#475 adjustment to argument type hint in ProcessUser 2018-01-25 09:50:11 -05:00
Ryan Cramer
02f1eadacc Fix issue processwire/processwire-issues#474 where ProcessRole wasn't working correctly with page-view permission assignment 2018-01-25 09:43:16 -05:00
Ryan Cramer
2a946c09de Fix issue processwire/processwire-issues#473 where SelectableOptionManager.php:addOptions() method had incorrect "array" type hint in method argument 2018-01-25 06:26:52 -05:00
Ryan Cramer
b72e609cc4 Fix issue processwire/processwire-issues#468 where ProcessPageSearch wasn't working with ^= (starts with) search operator 2018-01-25 06:22:51 -05:00
Ryan Cramer
a021d3b54f Fix issue processwire/processwire-issues#467 correct typo in PaginatedArray sprintf string 2018-01-25 06:15:23 -05:00
Ryan Cramer
7b1913b6ed Add support for image focus area / focus point / focal point (or whatever the best term is) to InputfieldImage per processwire/processwire-requests#150 2018-01-24 11:48:50 -05:00
Ryan Cramer
3fb3294f5a Add support for filedata in FieldtypeFile/FieldtypeImage, which provides a way to store other general purpose data with files/images. 2018-01-24 11:31:03 -05:00
Ryan Cramer
6241fd6730 Fix issue with InputfieldSelector not recognizing template_ids property on Page reference fields that use autocomplete 2018-01-14 11:55:54 -05:00
Ryan Cramer
b3ea132d81 Fix ProcessTemplate and asmSelect issue processwire/processwire-issues#472 2018-01-11 09:51:47 -05:00
Ryan Cramer
ad6f6bd283 Fix JqueryUI modal.js issue processwire/processwire-issues#471 2018-01-11 09:39:06 -05:00
Ryan Cramer
f7b49055cd Fix PageFrontEdit issue processwire/processwire-issues#470 2018-01-11 09:36:46 -05:00
Ryan Cramer
f3749d241a Change an sanitizer entities() call to entities1() since it's getting double encoded for some reason in @adrianbj case 2018-01-05 12:37:40 -05:00
Ryan Cramer
4f7981cf75 Bump version to 3.0.88 2018-01-05 12:05:35 -05:00
Ryan Cramer
de5c241b6a Fix issue and PR #54 with similar solution though also remove predefined min/max image settings from ProcessPageEditImageSelect because they seem to be causing various issues, and the predefined settings are more about uploaded files. 2018-01-05 10:56:05 -05:00
Ryan Cramer
fb39ded94d Add support for image file actions to InputfieldImage and update ImageSizer engines to support new rotate, flip and color actions 2018-01-05 10:54:21 -05:00
Ryan Cramer
9bdad6fc86 Detect NullPage in InputfieldCKEditor::getImagesFieldName() to fix issue that appeared for someone when editing page with no images fields. 2017-12-31 11:02:42 -05:00
Ryan Cramer
a31d4a84e2 Upgrade CKEditor to 4.8.0, add support for direct image upload/paste in CKEditor. Bump version to 3.0.87. 2017-12-29 08:42:49 -05:00
Ryan Cramer
5bba89b043 Fix issue processwire/processwire-issues#462 solution for files using arabic filenames 2017-12-26 07:27:50 -05:00
Ryan Cramer
f573473066 Add support for custom configuration of what Fieldtype/Inputfield settings may be overridden for field/template context. Appears only in $config->advanced mode. You can see it when editing a field (ProcessField) on the "Overrides" tab. Related to processwire/processwire-requests#145 2017-12-22 11:11:02 -05:00
Ryan Cramer
63229872a0 Fix typo in phpdoc processwire/processwire-issues#458 2017-12-22 07:47:44 -05:00
Ryan Cramer
5b53a41c12 Fix issue processwire/processwire-issues#456 2017-12-21 09:36:17 -05:00
Ryan Cramer
87dc586c8c Add PageFinder selector support for field.owner.subfield=value where "field" is a PageTable, Page or Repeater field, and "owner" is a literal reserved word, and "subfield" is any field or field.subfield combination. It makes the selector match Repeater, PageTable or Page reference pages that have an "owner" that matches. This "owner" would be defined as the page that has a Repeater or PageTable item being matched, as one of its fields. Ping @apeisa 2017-12-20 12:21:14 -05:00
Ryan Cramer
362c0a0af5 Bump version to 3.0.86 2017-12-15 15:28:40 -05:00
Ryan Cramer
aa1f7dbd47 Fix issue processwire/processwire-issues#455 2017-12-15 09:19:18 -05:00
Ryan Cramer
ded6476832 Fix issue processwire/processwire-issues#454 for Pageimage::maxSize() 2017-12-15 06:30:36 -05:00
Ryan Cramer
77ad382bcd Attempt fix for issue processwire/processwire-issues#452 2017-12-15 06:05:52 -05:00
Ryan Cramer
04b7dd0404 Fix autoload_noget change tracking issue in Page per @apeisa 2017-12-14 06:38:08 -05:00
Ryan Cramer
9b10232b73 Add ability to specify roles that aren't allowed to login, related to processwire/processwire-requests#140 plus while I was in there, did some re-working of login related code in Session class and user management code in ProcessUser.module. 2017-12-13 10:37:39 -05:00
Ryan Cramer
bac60dc340 Add support for interlaced jpeg images per @horst-n and processwire/processwire-requests#134 2017-12-11 11:09:57 -05:00
Ryan Cramer
67cdf1d456 Add variation of @adrianbj PR#92 which adds Imagick as another method or determining SVG dimensions 2017-12-11 10:49:59 -05:00
Ryan Cramer
b4b40f19f4 Fix issue processwire/processwire-issues#449 2017-12-11 05:50:48 -05:00
Ryan Cramer
763c713f4c wireCount updates per processwire/processwire-issues#408 2017-12-11 05:42:48 -05:00
Ryan Cramer
927f66cc61 Bump version to 3.0.85 2017-12-08 11:30:53 -05:00
Ryan Cramer
7a3da093d9 Update InputfieldCheckbox to support a separately configured checkbox label, distinct from the field label (for the cases where you might want both). 2017-12-08 10:20:20 -05:00
Ryan Cramer
93a5cc20b1 Update random string generation method in Password class (randomBase64String) to support new PHP7 random_bytes function, plus add a test mode for testing all generation techniques at once. processwire/processwire-issues#447 2017-12-08 09:36:25 -05:00
Ryan Cramer
dfb5f740d0 Add usage example to FieldtypeOptions config screen 2017-12-08 09:32:46 -05:00
Ryan Cramer
1ba1323e81 count() to wireCount() update per processwire/processwire-issues#408 2017-12-08 07:55:34 -05:00
Ryan Cramer
76e956ad61 Additional updates for autojoin related issue, delay autojoin field sanitization until first access of field 2017-12-06 06:33:28 -05:00
Ryan Cramer
00a8bf03d3 Fix isSaveable() unnecessary parent load + findMany() issue per @apeisa 2017-12-06 05:58:08 -05:00
Ryan Cramer
45eadd971b Fix Page field autojoin issue per @apeisa 2017-12-06 05:45:07 -05:00
Ryan Cramer
fb21af434d Fix issue processwire/processwire-issues#443 2017-12-05 12:15:23 -05:00
Ryan Cramer
5b8761454a Fix issue processwire/processwire-issues#439 2017-12-05 10:51:39 -05:00
Ryan Cramer
3b21a3e9a8 Add @teppokoivula suggested fix for processwire/processwire-issues#435 PageFrontEnd when editing 404 page 2017-12-04 11:17:16 -05:00
Ryan Cramer
5bbd342570 Fix issue processwire/processwire-issues#433 2017-12-04 10:57:04 -05:00
Ryan Cramer
06c1a46ba5 Fix issue processwire/processwire-issues#428 2017-12-04 10:28:51 -05:00
Ryan Cramer
a865e0a053 Some cleanup in ProcessPageAdd plus add support for disabling template suggestions when adding pages per processwire/processwire-issues#424 via $config->pageAdd('noSuggestTemplates', true); or specify space-separated list of template names (string) for the "true" value. 2017-12-04 09:51:11 -05:00
Ryan Cramer
337e59663b Add support for group notifications in AdminThemeFramework (AdminThemeUikit), along with a config option in the AdminThemeUikit module. Also fix an issue in ProcessProfile that was interfering with ajax requests. 2017-11-20 09:45:16 -05:00
Ryan Cramer
32b3da7b0d Fix issue where collapsed repeater in fieldset (where repeater is only field in fieldset), when clicking to un-collapse repeater, it would jump to top of page 2017-11-19 06:33:22 -05:00
Ryan Cramer
81a07fde34 Attempt to fix issue processwire/processwire-issues#432 for disabling autocomplete and password field 2017-11-18 07:00:48 -05:00
Ryan Cramer
22c69ec599 Add latest version of AdminThemeUikit and bump version to 3.0.84 2017-11-17 10:02:49 -05:00
Ryan Cramer
2c4c9de61d Fixes to ryancramerdesign/AdminThemeUikit#55 and ryancramerdesign/AdminThemeUikit#61 (when combined with latest AdminThemeUikit version, to be added shortly) 2017-11-17 09:44:45 -05:00
Ryan Cramer
60572a4cd2 Fix issue with PageTable not having correct table styles when using AdminThemeUikit 2017-11-17 08:29:22 -05:00
Ryan Cramer
7d16590f07 Update ProcessProfile to support the ability to edit user name (if configured to do so). Also update it so that it requires you to enter your password before you can commit changes to email or user name. 2017-11-16 10:54:41 -05:00
Ryan Cramer
6c3eb6a460 Update ProcessTemplate so that it lets you specify when fields user can edit in their profile, when editing the "user" template. Meaning, it's no longer necessary to jump back and forth between ProcessProfile and the ProcessProfile module config. 2017-11-16 10:53:16 -05:00
Ryan Cramer
ac59da3427 Upate JqueryWireTabs module to support more customization of its tooltips (so admin theme can adjust) 2017-11-16 10:52:13 -05:00
Ryan Cramer
ebc150a3a7 Update PW installer to use Uikit 3 theme, plus add support for detecting and dropping existing tables (if present) during installation. 2017-11-16 10:50:36 -05:00
Ryan Cramer
58eb0c3159 Various minor adjustments 2017-11-16 10:49:26 -05:00
Ryan Cramer
221a15a653 Add AdminThemeUikit module to core and bump version to 3.0.83 2017-11-10 11:10:40 -05:00
Ryan Cramer
e0d04a4626 Upgrade InputfieldPassword to support requirement of entering your old password before it'll let you set a new one. 2017-11-10 09:13:10 -05:00
Ryan Cramer
840ab68625 Minor cosmetic adjustments 2017-11-10 09:11:00 -05:00
Ryan Cramer
e2a42381ac Some optimizations to LanguageTabs and add support for Uikit3 beta34+ 2017-11-10 09:08:30 -05:00
Ryan Cramer
7398267be1 Bump version to 3.0.82 2017-11-03 10:51:44 -04:00
Ryan Cramer
8e27f859c0 Fix issue ryancramerdesign/AdminThemeUikit#47 where AdminThemeFramework was not running the headline through the language translation function 2017-11-03 08:10:47 -04:00
Ryan Cramer
297a64f9d4 Fix issue processwire/processwire-issues#421 fixing useless redirects from manually deleted session cookies 2017-11-02 09:50:26 -04:00
Ryan Cramer
ece560daa1 Fix issue processwire/processwire-issues#418 to fix file/image drag-to-upload in IE11 using fix provided by @Toutouwai 2017-11-02 09:37:23 -04:00
Ryan Cramer
34d15dadae Fix issue processwire/processwire-issues#420 to disable autocomplete via custom attribute for InputfieldPageName using suggestion by @Toutouwai 2017-11-02 09:29:40 -04:00
Ryan Cramer
7b19df0175 Add Setup>Fields>Export/Import support for Repeater fields. processwire/processwire-issues#416 2017-11-02 06:33:46 -04:00
Ryan Cramer
ab6d158cf9 Fix issue processwire/processwire-issues#419 which corrects InputfieldImage.js sizing of list mode using fix provided by @Toutouwai 2017-11-02 06:22:50 -04:00
Ryan Cramer
7bf27cc5e5 Fix issue processwire/processwire-issues#415 where ProcessPageEditImageSelect was not showing variations for image when it was specified as one of the skipFields in module configuration. 2017-10-31 06:25:24 -04:00
Ryan Cramer
5c09f03e8b Fix issue processwire/processwire-issues#414 language tabs and language used for placeholder attribute, though not positive this one should stay...previous behavior may be preferable depending on the case. 2017-10-30 06:22:29 -04:00
Ryan Cramer
c778056991 Fix issue processwire/processwire-issues#410 by making ProcessLanguageTranslator give preference to GET var (rather than session) with language ID, by adding part of PR #93 2017-10-30 05:48:31 -04:00
Ryan Cramer
0f4cf01ec2 Update Config.php note for imageSizerOptions per processwire/processwire-issues#409 2017-10-30 05:43:20 -04:00
Ryan Cramer
066a54fb6f Fix issue processwire/processwire-issues#411 where multiple PageListSelect in same page editor weren't working properly (thanks to @Toutouwai for the fix) 2017-10-30 05:36:26 -04:00
Ryan Cramer
c90fc3f872 Add improved Roles editor that now lets you manage permissions by template 2017-10-27 11:21:13 -04:00
Ryan Cramer
e3fc776c53 Bump version to 3.0.80 2017-10-20 09:58:29 -04:00
Ryan Cramer
b2381002be Improve error reporting ability of $modules->get(), $modules->getModule(), primarily for debugging purposes. 2017-10-20 09:45:53 -04:00
Ryan Cramer
97935d156a Add wireCount() function to duplicate behavior of count() function in PHP versions prior to 7.2 2017-10-20 09:44:21 -04:00
Ryan Cramer
56e35b55ea Add support for using repeaters in user profile editor per issue processwire/processwire-issues#407 2017-10-20 09:43:08 -04:00
Ryan Cramer
b4f977c36a Fix issue processwire/processwire-issues#396 plus update ProcessCommentsManager to be compatible with AdminThemeUikit 2017-10-19 11:15:08 -04:00
Ryan Cramer
a48f4038c8 Enhancement processwire/processwire-issues#405 add support for hooks to be used in classes that extend Wire-derived classes that aren't in the ProcessWire namespace. 2017-10-17 10:00:55 -04:00
Ryan Cramer
b0f37a306e Fix issue processwire/processwire-issues#406 correction of error message in ProcessPageSort 2017-10-17 05:44:30 -04:00
Ryan Cramer
fff501cac3 Correct an issue in Repeater that interfered with some file-upload situations in draft page versions 2017-10-17 05:33:32 -04:00
Ryan Cramer
2771c353ee Fix issue processwire/processwire-issues#403 which caused problems with file uploads in some kinds of repeaters. Also bump version to 3.0.79 2017-10-13 12:59:33 -04:00
Ryan Cramer
00c183e70f Some code adjustments in ProcessPageList to support a separate renderReady() method, as well as some tweaks per @EntitySelf evernote document 2017-10-13 08:17:32 -04:00
Ryan Cramer
5dc690af9e Fix issue processwire/processwire-issues#381 where Selectors class could get confused by a quoted value with comma when contained in an OR value 2017-10-12 11:57:26 -04:00
Ryan Cramer
58bde80a81 Fix issue processwire/processwire-issues#384 update 2016 copyright date to 2017 2017-10-12 11:15:37 -04:00
Ryan Cramer
47b87d283b Per PR #91 fix issue processwire/processwire-issues#385 where ProcessPageEditImageSelect nosize option wasn't working with InputfieldCKEditor pwimage plugin 2017-10-12 11:12:42 -04:00
Ryan Cramer
f4971ae5d4 Fix issue processwire/processwire-issues#388 where repeater templates could show as selectable options in page editor template field, when they didn't need to 2017-10-12 10:52:47 -04:00
Ryan Cramer
e0a2abea07 Fix issue processwire/processwire-issues#391 remove stray console.log() in InputfieldRepeater.js 2017-10-12 10:41:54 -04:00
Ryan Cramer
7d3dc80798 Fix issue processwire/processwire-issues#395 where renaming a repeater field didn't rename the related template and fieldgroup 2017-10-12 10:36:53 -04:00
Ryan Cramer
0a790cfb43 Fix issue processwire/processwire-issues#399 where InputfieldInteger wasn't supporting defaultValue 2017-10-12 09:44:25 -04:00
Ryan Cramer
90da2e9936 Remove old CKEditor version 2017-10-12 09:43:57 -04:00
Ryan Cramer
df17b337fd Version 3.0.78 has updates primarily specific to enabling more customization from admin themes. In this case, AdminThemeUikit, but applies to any admin theme. 2017-10-06 09:33:39 -04:00
Ryan Cramer
5a39c9efc9 Just some small updates in 3.0.77, mostly related to AdminThemeUikit updates 2017-09-29 12:18:34 -04:00
Ryan Cramer
73d7e997fe Bump version to 3.0.76 2017-09-22 12:30:28 -04:00
Ryan Cramer
f822292eb3 Some updates to ProcessPageView and additions for processwire/processwire-issues#366 to better handle URLs with unrecognized characters 2017-09-21 11:37:46 -04:00
Ryan Cramer
8bcb31359f Fix issue processwire/processwire-issues#363 where repeater with min count and unpublished min item wouldn't get saved if new non-min item was added before save 2017-09-21 06:53:13 -04:00
Ryan Cramer
d765c0d589 Fix issue processwire/processwire-issues#367 where nested FieldsetPage with Repeater/Matrix combinations could cause same non-nested FieldsetPage to not get saved 2017-09-21 06:32:02 -04:00
Ryan Cramer
7943aa1064 Update for processwire/processwire-issues#371 clarify that superuser permissions are not editable (since superuser implies user with all permissions) 2017-09-20 07:50:53 -04:00
Ryan Cramer
78e07bc6cf Enhance Page::localName() method per processwire/processwire-issues#373 2017-09-20 07:15:37 -04:00
Ryan Cramer
327576ff7a Fix issue processwire/processwire-issues#374 where save+next in page editor should not proceed to next page when there were errors on editing page 2017-09-20 07:03:02 -04:00
Ryan Cramer
fffebd9214 Update CKEditor version to 4.7.3 2017-09-20 06:52:56 -04:00
Ryan Cramer
4560ed2997 Fix issue processwire/processwire-issues#377 where install of non-native site profile with 3rd party Fieldtype modules could produce error messages at install time 2017-09-20 06:43:38 -04:00
Ryan Cramer
2a3be7209c Bump version to 3.0.75 2017-09-15 10:49:48 -04:00
Ryan Cramer
064da79bae Update InputfieldFile non-ajax upload mode to warn about file uploads that exceed the max upload size. 2017-09-15 10:48:01 -04:00
Ryan Cramer
b1048297e9 Add nocache URL to image variations modal per processwire/processwire-issues#369 2017-09-11 14:17:22 -04:00
Ryan Cramer
5a9c8fea58 Attempt fix issue processwire/processwire-issues#359 where certain repeater/repeater-matrix combinations weren't initializing propertly 2017-09-11 10:44:32 -04:00
Ryan Cramer
009a2d9342 Fix issue processwire/processwire-issues#353 remove limit on max selector quantity 2017-09-11 09:05:52 -04:00
Ryan Cramer
0bdfdeeb78 Fix issue processwire/processwire-issues#354 where a.b.c='' selector was not working right 2017-09-11 08:30:08 -04:00
Ryan Cramer
8bc3e6ad2e Improve an error message on ProcessPageEditImageSelect.module 2017-09-08 10:10:27 -04:00
Ryan Cramer
41089806e1 Some minor updates for ProcessPageLister 2017-09-08 10:09:45 -04:00
Ryan Cramer
6fef531b1a Some optimizations to FieldtypeRepeater 2017-09-08 10:09:14 -04:00
Ryan Cramer
cc34ec8752 Add support to Pages/PagesLoader for populating directly to existing PageArray 2017-09-08 10:07:25 -04:00
Ryan Cramer
d427b7f563 Fix issue in ProcessPageEditLink when a FieldtypeFieldsetPage field is on the page 2017-09-03 05:58:21 -04:00
Ryan Cramer
34519c4ad3 Minor adjustment to InputfieldRepeater 2017-09-01 11:24:19 -04:00
Ryan Cramer
70289c05a8 Typo fix 2017-09-01 11:02:42 -04:00
Ryan Cramer
b544d0a50f Bump version to 3.0.74 2017-09-01 10:59:47 -04:00
Ryan Cramer
c0e8485a77 Add FieldtypeFielsetPage module to core as part of the repeaters package 2017-09-01 10:58:52 -04:00
Ryan Cramer
3cb9c46e7d Some additional updates for repeater single mode 2017-09-01 10:58:21 -04:00
Ryan Cramer
27ee1fae15 Some adjustments to FieldtypeRepeater for single page mode and update PagesExportImport for support 2017-08-31 11:19:35 -04:00
Ryan Cramer
d9fb9cd026 Updates to FieldtypeRepeater and InputfieldRepeater to support single mode, as used by FieldtypeFieldsetPage 2017-08-30 09:37:19 -04:00
Ryan Cramer
718baae573 Various small fixes and tweaks, and improvements to code documentation in several spots 2017-08-30 09:24:57 -04:00
Ryan Cramer
aa321c6b7b Bump version to 3.0.73 2017-08-25 12:23:41 -04:00
Ryan Cramer
4a26d7626f Improve extendability of FieldtypeFieldsetOpen for FieldtypeFieldsetGroup 2017-08-25 10:33:43 -04:00
Ryan Cramer
055aa6297d Remove fieldset management from ProcessTemplate since it is now native to asmSelect 2017-08-25 10:31:10 -04:00
Ryan Cramer
eaf346df12 Upgrade ProcessField with some additional hooks that can be monitored, along with a few other tweaks 2017-08-25 10:29:04 -04:00
Ryan Cramer
e68e3be9ff Upgrade asmSelect to support fieldsets natively, rather than having it bolted on separately by ProcessTemplate 2017-08-25 10:27:50 -04:00
Ryan Cramer
e96d740586 Some additional updates and fixes for pages export/import 2017-08-25 10:18:09 -04:00
Ryan Cramer
fc2b7944a2 Some minor repeater adjustments to support derived fieldtype in progress 2017-08-25 10:15:10 -04:00
Ryan Cramer
c9fca29283 Fix issue processwire/processwire-issues#344 using page name with not-equals operator in FieldtypePage selector 2017-08-22 11:22:27 -04:00
Ryan Cramer
d841a44955 Fix issue processwire/processwire-issues#293 fix missing repeater labels in nested repeater 2017-08-22 08:51:59 -04:00
Ryan Cramer
950706935e Fix issue processwire/processwire-issues#351 Fix Process.php setViewFile() method typo, and behavior improvements 2017-08-22 06:15:27 -04:00
Ryan Cramer
e38c603ce4 Continued updates to PagesExportImport, add ZIP export/import option to ProcessPagesExportImport (with page files support), and bump version to 3.0.72 2017-08-18 11:33:06 -04:00
Ryan Cramer
74a2b001cc Add support for export/import of comments fields (FieldtypeComments) 2017-08-17 09:38:06 -04:00
Ryan Cramer
b30c6a4ec8 Fix issue processwire/processwire-issues#335 error was thrown by InputfieldImage for too large file, even if client-side resize enabled 2017-08-16 10:36:17 -04:00
Ryan Cramer
56345aff26 Fix issue processwire/processwire-issues#336 where markup regions run on SVG output caused problem 2017-08-16 10:18:40 -04:00
Ryan Cramer
c496c3b859 Fix issue processwire/processwire-issues#340 - image/file tags disappear on existing files after uploading a new file 2017-08-16 09:54:12 -04:00
Ryan Cramer
74dcd51837 Additional updates per issue processwire/processwire-issues#330 - make image replacement keep the same filename (so long as files have same extension). Also upgraded it to retain description and tags during replacement. 2017-08-16 09:02:54 -04:00
Ryan Cramer
b5b2636e01 Add Repeater field support to new Page Export/Import features. 2017-08-15 12:13:25 -04:00
Ryan Cramer
e89235b757 Add $notices->move($from, $to) method for moving notices from one Wire instance to another. 2017-08-15 12:12:03 -04:00
Ryan Cramer
7873422f9e Add ProcessPagesExportImport module to core, and bump version to 3.0.71. To install this new module, go to Modules > Refresh, then Modules > Core > Process > Pages Export/Import > Install 2017-08-11 11:06:31 -04:00
Ryan Cramer
af6ab99d87 Continued major updates to the main PagesExportImport class 2017-08-11 10:45:46 -04:00
Ryan Cramer
d000117e4b Fix issue processwire/processwire-issues#338 where WireTempDir had incorrect order of arguments to explode function 2017-08-11 10:45:06 -04:00
Ryan Cramer
a216b561d1 Upgrade the multi-language text Fieldtypes to support pages export/import 2017-08-11 10:43:49 -04:00
Ryan Cramer
edd71401ed Upgrade LanguagesPageFieldValue to support population by language-name indexed array 2017-08-11 10:42:44 -04:00
Ryan Cramer
a038debd82 Upgrade FieldtypeTextarea to support conversion of file/asset URLs when exporting pages and importing elsewhere 2017-08-11 10:40:49 -04:00
Ryan Cramer
143e42722d Upgrade FieldtypeText to support importing from multi-language to non-multi-language 2017-08-11 10:39:54 -04:00
Ryan Cramer
9e76a2b770 Update FieldtypePage to implement the Fieldtype::__importValue() method for page import support 2017-08-11 10:37:57 -04:00
Ryan Cramer
7ff278a9ff Upgrade Pagefile, FieldtypeFile and FieldtypeImage for improved Page export (exportValue) support 2017-08-11 10:36:31 -04:00
Ryan Cramer
c1f7e96185 Bump version to 3.0.70 2017-08-04 12:33:52 -04:00
Ryan Cramer
3e7b2d0273 Further updates to PagesExportImport class. 2017-08-04 10:58:25 -04:00
Ryan Cramer
dc88104277 Merge branch 'horst-n-patch-1' into dev 2017-08-02 11:29:04 -04:00
Ryan Cramer
84c033a758 Merge branch 'patch-1' of https://github.com/horst-n/processwire into horst-n-patch-1 2017-08-02 11:28:28 -04:00
Ryan Cramer
cc7005192a Update InputfieldCKEditor settings screen Toolbar field to show standard toolbar names included with CKEditor 2017-08-02 11:18:33 -04:00
Ryan Cramer
502774a65f Significant refactoring of WireTempDir class, and update PagefilesManager's use of WireTempDir 2017-08-02 11:17:34 -04:00
Ryan Cramer
a07855c9f6 Minor adjustments, mostly phpdoc related 2017-08-02 11:16:32 -04:00
Ryan Cramer
fa1ff60b97 Add 2nd pass support to Markup Regions, so that a region added in 1st pass can be manipulated by commands in the 2nd pass. Also, some optimizations to region hints, and debug mode improvements. 2017-08-02 10:56:26 -04:00
Ryan Cramer
a1e1f25dff Bump version to 3.0.69 2017-07-28 15:05:27 -04:00
Ryan Cramer
629220ffc8 Add support for closing tag hints in WireMarkupRegions. These increase speed/efficiency for large documents. 2017-07-28 13:49:49 -04:00
Ryan Cramer
4a3f09d34c Fix issue processwire/processwire-issues#330 where drag-n-drop image replacement wasn't working properly 2017-07-28 11:15:00 -04:00
Ryan Cramer
abce877f02 Fix issue processwire/processwire-issues#329 Pagefile::install() method when used with URL argument that contains a query string was screwing up the file extension in the basename 2017-07-28 10:42:20 -04:00
Ryan Cramer
8169594e79 Fix issue processwire/processwire-issues#328 typo fix 2017-07-28 10:29:32 -04:00
Ryan Cramer
277674db23 Fix issue processwire/processwire-issues#325 panel.js and URL fragments fix 2017-07-28 10:10:16 -04:00
Ryan Cramer
71896f463e Fix issue processwire/processwire-issues#320 - MarkupCache, path() method, and WireArray::debugInfo() 2017-07-28 07:10:00 -04:00
Ryan Cramer
52b8389215 Fix issue processwire/processwire-issues#319 where Page::setAndSave() was only working with custom fields and not with DB native properties 2017-07-28 06:52:23 -04:00
Ryan Cramer
0c42013c45 Fix issue processwire/processwire-issues#314 - Lister bookmarks when used with parent.title and %= operator was not working correctly 2017-07-28 06:35:53 -04:00
Ryan Cramer
f5d8633590 Adjustment in Wire class and bump version to 3.0.68 2017-07-21 13:08:05 -04:00
Ryan Cramer
506f66b64a Updates to PagesExportImport class 2017-07-21 13:06:29 -04:00
Ryan Cramer
59549a01be Some optimizations in the PagesEditor class 2017-07-21 13:04:52 -04:00
Ryan Cramer
651e8bd20c CSS adjustment in AdminThemeDefault to improve appearance of language tabs in file/image fields. Also, remove an extra unnecessary margin on language-tabbed text Inputfields. 2017-07-17 06:08:47 -04:00
Ryan Cramer
b7cb72cac6 Fix issue with file/image tags where they weren't initiating properly after an AjaxUploadDone JS event 2017-07-17 05:47:43 -04:00
Ryan Cramer
faf1efc049 Adjust to WireFileTools::find() method to correct potential confusion between windows vs. unix directory separator 2017-07-16 09:57:31 -04:00
Ryan Cramer
0a06c12b82 A couple other tweaks to tags updates and bump version to 3.0.67 2017-07-14 14:09:46 -04:00
Ryan Cramer
659391a4c3 Fix issue processwire/processwire-issues#316 - legacy db API variable class and debug timers in PHP7 producing unnecessary notice 2017-07-14 10:39:54 -04:00
Ryan Cramer
0fe94521fe Fix issue processwire/processwire-issues#315 - remove some extra code that's no longer necessary for image fields in a PageTable 2017-07-14 10:15:31 -04:00
Ryan Cramer
bf351573b0 Fix issue processwire/processwire-issues#310 - update ProcessForgotPassword to use the same requirements as when editing the pass field in the page editor 2017-07-14 09:47:24 -04:00
Ryan Cramer
cab20d518d Add improved tags support for InputfieldFile and InputfieldImage. Now the UI is more tags oriented, and there are more config options for how the tags are input. This commit also adds a modified version of the Selectize js library to provide improved tag inputs. 2017-07-13 15:20:53 -04:00
Ryan Cramer
650fec9a37 Bump version to 3.0.66 2017-07-07 14:07:39 -04:00
Ryan Cramer
786995f85e Add new WireFileTools API var $files->find() method and update the include/compile methods in WireFileTools to use the TemplateFile render stack. 2017-07-07 14:06:28 -04:00
Ryan Cramer
b8d01e88d6 Add render stack support to TemplateFile so that a rendered php file can know what other file(s) are rendering it, when applicable. 2017-07-07 14:05:00 -04:00
Ryan Cramer
ae4761180f Some minor fixes to enable deleting a field that is missing its Fieldtype module. Plus addition of hasPage property to Inputfield modules. And a couple other minor things. 2017-07-07 14:03:39 -04:00
Ryan Cramer
5ec3e48de6 Fix issue processwire/processwire-issues#299 2017-06-30 10:49:31 -04:00
Ryan Cramer
bcd40cdf03 Bump version to 3.0.65 2017-06-23 15:50:18 -04:00
Ryan Cramer
5b0eb5ea81 Fix issue processwire/processwire-issues#264 2017-06-23 09:04:14 -04:00
Ryan Cramer
8107d5e90d Fix issue processwire/processwire-issues#276 (typo in translation text) 2017-06-23 07:34:17 -04:00
Ryan Cramer
651e0e8763 Fix issue processwire/processwire-issues#274 2017-06-23 07:32:03 -04:00
Ryan Cramer
0cccb763a5 Fix issue processwire/processwire-issues#281 (typo in phpdoc example) 2017-06-23 07:11:38 -04:00
Ryan Cramer
438a2944cb Upgrade CKEditor version from 4.6.2 to 4.7.0, plus fix issue processwire/processwire-issues#279 where image placement wasn't working correctly in CKE inline mode. 2017-06-23 06:51:53 -04:00
Ryan Cramer
da3c80d0ca Fix issue processwire/processwire-issues#275 - part 2, fix for exif.js 2017-06-23 06:22:10 -04:00
Ryan Cramer
7ad84bf1c3 Fix issue processwire/processwire-issues#275 2017-06-23 06:15:21 -04:00
Ryan Cramer
dbfb3e2c7e Fix issue processwire/processwire-issues#285 2017-06-22 11:29:35 -04:00
Ryan Cramer
763963ec39 Update WireMarkupRegions to remove class attribute-based action support, since our final spec uses action attributes instead. It only does this for PW installations installed today or later, just in case anyone is using some older examples on an existing site. If you want to force use of the newer version (which is more efficient) set $config->useMarkupRegions=2; The updates made in this commit might also fix processwire/processwire-issues#294 but have not yet confirmed. 2017-06-22 08:45:16 -04:00
Ryan Cramer
3348f3f13a Fix issue processwire/processwire-issues#286 2017-06-22 07:03:28 -04:00
Ryan Cramer
571266c6c1 Fix issue processwire/processwire-issues#288 2017-06-22 06:38:40 -04:00
Ryan Cramer
68a4ddee88 Fix issue processwire/processwire-issues#289 2017-06-21 10:12:09 -04:00
Ryan Cramer
b32a2f0058 Bump version to 3.0.64 2017-06-16 14:34:53 -04:00
Ryan Cramer
05b210766c Continued work on the PagesExportImport class. Not yet ready for use, but much further along and it works in testing on the API side for the basics. Wait before using it though, as there's much more to come here. 2017-06-16 12:50:07 -04:00
Ryan Cramer
0f55f41831 Correct minor issue in Lister for when both the view and edit links for individual pages are disabled 2017-06-16 12:49:19 -04:00
Ryan Cramer
e378acc7bc Correct issue with InputfieldText placeholder attribute sometimes not working for multi-language (like outside the page editor). 2017-06-16 05:56:58 -04:00
Ryan Cramer
1900675bbb Various minor fixes and bump version number to 3.0.63 2017-05-26 14:35:16 -04:00
Ryan Cramer
76fc6dada1 Fix issue processwire/processwire-issues#261 2017-05-26 09:44:14 -04:00
Ryan Cramer
1a590c586f Fix issue processwire/processwire-issues#267 2017-05-26 09:27:19 -04:00
Ryan Cramer
507555e907 Fix issue processwire/processwire-issues#268 2017-05-26 09:18:35 -04:00
Ryan Cramer
5f3827ecba Fix issue processwire/processwire-issues#272 2017-05-26 08:27:48 -04:00
Ryan Cramer
76097ea1ee Add client-side image resize support to InputfieldImage 2017-05-25 11:37:10 -04:00
Ryan Cramer
57b297fd1d Fix issue with InputfieldFile non-ajax mode not working for some cases and bump version to 3.0.62 2017-05-05 13:43:17 -04:00
Ryan Cramer
be99669203 Fix issue processwire/processwire-issues#255 2017-05-02 09:59:06 -04:00
Ryan Cramer
84a39c0667 Fix issue processwire/processwire-issues#256 where the image field modal upload function was not updating the parent window images field, thus preventing the image having the temporary status removed (and not being saved). 2017-05-02 09:50:45 -04:00
Ryan Cramer
b17c9eaed9 Fix InputfieldSelector issue identified by @renobird where checked OR-checkboxes in larger groups of same-field selectors could result in matching the OR to the wrong selector row. 2017-04-30 07:50:35 -04:00
Ryan Cramer
347240acd9 Minor adjustments to repeater and asmSelect 2017-04-28 14:54:26 -04:00
Ryan Cramer
7adf09e305 Small .htacess update for HTTPS redirect support on AWS ELB 2017-04-28 14:53:07 -04:00
Ryan Cramer
0cd8a7a276 Add WireHttp::getResponseHeaderValues() per processwire/processwire-issues#253 2017-04-28 09:46:08 -04:00
horst
64e9ca214d stripped out tab_width 2017-04-24 10:35:20 +02:00
horst
3337aff4d5 create .editorconfig in wire directory
This is very helpful for contributors who uses different editor settings, for example indentation with spaces, not tabs. Most of all common editor programms or IDEs nowadays support to preserve the defined coding style rules automatically. Read more here: http://editorconfig.org
2017-04-23 12:00:33 +02:00
horst
188d0e150d correct syntax highlighting of *.module files
on github. 
see: https://processwire.com/talk/topic/16124-github-now-support-custom-highlight-config/
2017-04-23 11:51:08 +02:00
Ryan Cramer
3fc9f69da7 Some minor adjustments and bump version to 3.0.61 2017-04-21 11:27:47 -04:00
Ryan Cramer
8d02e72320 Update font-awesome to 4.7 per processwire/processwire-requests#72 2017-04-20 05:59:28 -04:00
Ryan Cramer
1c46d0d44c Fix issue with repeaters in renderValue mode 2017-04-19 10:04:16 -04:00
Ryan Cramer
e83ed750c9 Add option for InputfieldHidden to still render as an input in renderValue mode 2017-04-19 10:03:30 -04:00
Ryan Cramer
c259ce8103 Fix minor issue with CommentForm front-end output 2017-04-19 10:02:00 -04:00
Ryan Cramer
a8febefa70 Fix issue processwire/processwire-issues#248 2017-04-19 09:33:43 -04:00
Ryan Cramer
42de2e7bda Fix issue processwire/processwire-issues#245 2017-04-19 09:29:50 -04:00
Ryan Cramer
bb12873a19 Fix issue with multi-template settings not always updating the selectable columns on columns tab 2017-04-16 06:46:31 -04:00
Ryan Cramer
93d1be8453 Bump version to 3.0.60 dev 2017-04-14 14:19:10 -04:00
Ryan Cramer
223b80d685 Update/add documentation to a few classes (like WireCache), correct issue with HTTPS detection on AWS load balancer, plus some other minor tweaks. 2017-04-14 06:32:23 -04:00
Ryan Cramer
93779e2017 Update MarkupHTMLPurifier version per processwire/processwire-issues#243 2017-04-14 06:29:11 -04:00
Ryan Cramer
fb1cc857f2 Fix issue processwire/processwire-issues#244 2017-04-14 06:12:44 -04:00
Ryan Cramer
b914586f6c Fix issue processwire/processwire-issues#227 update Sanitizer::selectorValue() allow exclamation point "!" at beginning of selector value 2017-04-13 08:54:49 -04:00
Ryan Cramer
fd2f14445c Fix issue processwire/processwire-issues#233 2017-04-13 08:36:23 -04:00
Ryan Cramer
267a368034 Fix issue processwire/processwire-issues#241 2017-04-13 06:14:45 -04:00
Ryan Cramer
ae50a0563b Attempt to fix issue processwire/processwire-issues#242 for FieldtypeComments + utf8mb4 charset combo 2017-04-13 06:06:46 -04:00
Ryan Cramer
81c8d4eb2f Fix issue processwire/processwire-issues#236 with InputfieldSelector, plus update the "None" selection option to fix another issue reported in ListerPro board 2017-04-10 08:23:45 -04:00
Ryan Cramer
168a4ffa58 Bump version to 3.0.59 plus a couple other minor updates 2017-04-07 10:14:40 -04:00
Ryan Cramer
00e7a46434 Fix issue processwire/processwire-issues#222 with InputfieldImage thumbnail logic 2017-04-07 06:08:50 -04:00
Ryan Cramer
0714279ba9 Update phpdoc for $pages->sort() per processwire/processwire-issues#225 2017-04-07 06:00:11 -04:00
Ryan Cramer
60989f97b4 Fix issue processwire/processwire-issues#229 2017-04-07 05:44:08 -04:00
Ryan Cramer
75a969bafb Various minor tweaks/updates 2017-04-07 05:11:06 -04:00
Ryan Cramer
98594eb024 Bump version to 3.0.58 2017-03-31 15:43:56 -04:00
Ryan Cramer
ef2fd54e68 Add spelling correction per @mestaritonttu PR #62 2017-03-30 07:01:51 -04:00
Ryan Cramer
2d1864c80d Add @jofalk PR #59 that fixes the issue with </edit> tags not being stripped from front-end editor. 2017-03-30 06:57:21 -04:00
Ryan Cramer
c5033e1e42 Add @derixithy PR #58 for additional sessionCookieDomain call 2017-03-30 06:48:02 -04:00
Ryan Cramer
3f67722294 Add @LostKobrakai PR #50 plus some other tweaks to FieldtypeDatetime module 2017-03-30 06:27:52 -04:00
Ryan Cramer
94876a7bde Merge branch 'Notanotherdotcom-master' into dev 2017-03-30 06:03:39 -04:00
Ryan Cramer
dd777ea9d8 Merge branch 'master' of https://github.com/Notanotherdotcom/processwire-1 into Notanotherdotcom-master 2017-03-30 06:03:16 -04:00
Ryan Cramer
2b51c75cee Various minor tweaks related to AdminThemeFramework 2017-03-30 05:53:46 -04:00
Ryan Cramer
4ca684df83 Fix 2 Lister related issues with 'parent' filters/columns identified by @somatonic in ListerPro board. 2017-03-26 06:40:35 -04:00
Ryan Cramer
ec4726b3df A few updates in support of new AdminThemeFramework and bump version to 3.0.57 2017-03-24 13:23:36 -04:00
Notanotherdotcom
04c87f1954 Branding Upgrade
Replaces the logo in the Default and Reno admin themes with the new
version for branding consistency.
2017-03-23 22:57:18 +00:00
Ryan Cramer
722b504273 Additional updates to $languages setLocale/getLocale methods per processwire/processwire-issues#215 2017-03-20 08:26:21 -04:00
Ryan Cramer
8e241f0132 Add @horst-n fix for ImageSizerEngine rounding issue processwire/processwire-issues#191 2017-03-20 05:49:34 -04:00
Ryan Cramer
a410bf8236 Some fixes to InputfieldSelector parent.subfield properties, plus fix issue where datetime field didn't always recognize when the date picker should include a time picker as well. 2017-03-19 07:07:52 -04:00
Ryan Cramer
1f23b54f45 Fix issue where non-default date format could get lost in session values of InputfieldSelector.module 2017-03-19 06:27:20 -04:00
Ryan Cramer
4414a2db2b Bump version to 3.0.56 plus some other minor tweaks 2017-03-17 13:25:29 -04:00
Ryan Cramer
9c92ce5305 Updates for issue processwire/processwire-issues#215 to better support locale settings on front-end, plus add $languages->setLocale() and $languages->getLocale() methods, and freshen up code and docs in related classes. 2017-03-16 09:49:47 -04:00
Ryan Cramer
e1928c9e3c Some cleanup in ProcessPageList.module, plus attempt compromise fix identified for ProcessPageEdit breadcrumb starting from issue #22. 2017-03-15 14:12:27 -04:00
Ryan Cramer
770c717baa Updates related to WireMarkupRegions discussion in issue processwire/processwire-issues#195 - fix behavior of boolean pw-before/pw-after attributes, and add support for <pw-region> or <region> tags. 2017-03-15 14:04:49 -04:00
Ryan Cramer
11ebcfb456 Fix issue where some non-text based FieldtypeTable subfields had selection issues in InputfieldSelector 2017-03-12 11:16:26 -04:00
Ryan Cramer
11c49f2bb1 Fix issue with page edit dropdown menu actions appearing in buttons they aren't intended to 2017-03-12 07:15:40 -04:00
Ryan Cramer
8018ecc7af Bump version to 3.0.55 and a couple other minor adjustments 2017-03-10 12:46:01 -05:00
Ryan Cramer
8b96e6b060 Attempt fix for issue processwire/processwire-issues#206 fix for multi-site config not working 2017-03-10 09:05:08 -05:00
Ryan Cramer
b899bc42e7 Fix issue processwire/processwire-issues#202 where the leave confirm box was appearing when it shouldn't, after saving after a file had been uploaded. Also added drag/drop protection so that if you accidentially drag/drop a file outside of the specified dropzone, it gets ignored, rather than loading the file in the browser. 2017-03-10 08:38:16 -05:00
Ryan Cramer
6fe703f699 Fix issue processwire/processwire-issues#203 update to make API-created users always have guest role 2017-03-10 08:13:56 -05:00
Ryan Cramer
12767e284d Fix issue processwire/processwire-issues#201 where InputfieldPassword wasn't honoring the minlength setting and was always requiring at least 8 characters 2017-03-10 07:55:18 -05:00
Ryan Cramer
9df4469314 Fix issue processwire/processwire-issues#200 where the WireMarkupRegions self-closing tags list needed <link> and a few others 2017-03-10 06:08:12 -05:00
Ryan Cramer
ed0ba504bc Fix issue processwire/processwire-issues#199 add clarification notes to InputfieldFile "Inputfield Type" option, and prevent selection of "Image" type when in a FieldtypeFile 2017-03-10 05:50:18 -05:00
Ryan Cramer
020c1beca5 Fix issue processwire/processwire-issues#197 correcting an issue with repeater item label contained string "{images.count}" 2017-03-09 15:12:26 -05:00
Ryan Cramer
97f33e02ed Fix issue processwire/processwire-issues#198 (typo misspelling in phpdoc) 2017-03-09 10:16:05 -05:00
Ryan Cramer
95f5cba2ed Fix issue processwire/processwire-issues#196 (cosmetics) 2017-03-09 10:08:54 -05:00
Ryan Cramer
a3ba477346 Fix issue processwire/processwire-issues#194 2017-03-09 09:48:32 -05:00
Ryan Cramer
e87dcd5985 Fix issue processwire/processwire-issues#192 where inserted emoji could cause text to be truncated on systems using dbEngine "utf8" (as opposed to "utf8mb4"). Because the emoji/MB4 detection and replacement has some overhead, it's not enabled by default. To enable, set $config->dbStripMB4=true; in your /site/config.php file. 2017-03-09 09:11:30 -05:00
Ryan Cramer
25bfb8a5a6 Fix issue processwire/processwire-issues#208 where JqueryWireTabs was not properly remembering current tab between requests 2017-03-09 05:44:14 -05:00
Ryan Cramer
bbb8e987c9 Add support for Pages > Tree navigation: drill down through the page tree within the top navigation dropdowns. This works in AdminThemeDefault and AdminThemeUikit but not in AdminThemeReno (which just shows the first level, per its nav setup). 2017-03-08 11:43:58 -05:00
Ryan Cramer
c4ea3c3356 Fix issue processwire/processwire-issues#189 FieldtypeOptions and "!=" operators 2017-03-07 10:31:13 -05:00
Ryan Cramer
f32593adfa Fix issue processwire/processwire-issues#188 to provide more detailed warning message when installing module that doesn't meet requirements 2017-03-07 09:03:58 -05:00
Ryan Cramer
d7d392fe95 Fix issue #187 where $page->httpUrl didn't respect Template::slashUrls==0 setting when used in non-multi-language. 2017-03-07 08:49:28 -05:00
Ryan Cramer
bc032e1ce3 Minor optimization to a few Page hook method calls in Fieldtype 2017-03-07 08:32:32 -05:00
Ryan Cramer
4d6ce48252 Update login locale detection to suggest different actions depending on whether multi-language support is installed, per processwire/processwire-issues#184 2017-03-07 08:24:04 -05:00
Ryan Cramer
c7d4e5f662 Fix issue processwire/processwire-issues#185 by adding a strict mode to the date sanitizer and updating the method notes a bit. 2017-03-07 07:54:37 -05:00
Ryan Cramer
d5971733f2 Tweak to InputfieldDatetime datepicker button option, plus adjustment to ProcessPageEdit when in modal field edit 2017-03-06 08:43:25 -05:00
Ryan Cramer
a12cb029bb Various updates supporting core admin theme customization and bump version to 3.0.54 2017-03-03 10:37:33 -05:00
Ryan Cramer
f137dd2966 Updated several modules and classes to better support admin theme customization, consistent with needs in AdminThemeUikit 2017-02-24 12:23:57 -05:00
Ryan Cramer
ad90996c0b Update CKEditor version to 4.6.2 2017-02-13 06:05:42 -05:00
Ryan Cramer
ceae45cda7 Add problematic basenaem/locale detection and warning per issue processwire/processwire-issues#157 2017-02-06 06:38:59 -05:00
Ryan Cramer
310ea9d281 Bump version to 3.0.52 2017-02-03 11:26:05 -05:00
Ryan Cramer
4fa5641256 Fix issue processwire/processwire-issues#182 2017-02-03 06:02:36 -05:00
Ryan Cramer
60d418fe12 Fix issue processwire/processwire-issues#117 2017-02-02 10:07:01 -05:00
Ryan Cramer
21f48868a1 Fix issue processwire/processwire-issues#178 2017-02-02 09:40:48 -05:00
Ryan Cramer
8305215407 Fix issue processwire/processwire-issues#175 2017-02-02 09:13:22 -05:00
Ryan Cramer
666ddc528b Fix issue processwire/processwire-issues#181 2017-02-02 05:56:44 -05:00
Ryan Cramer
e518650515 Fix issue processwire/processwire-issues#171 which updates our reserved field names list 2017-02-01 09:37:24 -05:00
Ryan Cramer
1f021206d1 Attempt to fix issue processwire/processwire-issues#168 2017-02-01 09:21:42 -05:00
Ryan Cramer
8e08e0d5ac Fix issue processwire/processwire-issues#163 2017-02-01 08:28:24 -05:00
Ryan Cramer
144bd01619 Fix issue processwire/processwire-issues#153 where selector fails when there is leading comma in quoted value 2017-02-01 06:36:40 -05:00
Ryan Cramer
81adf00b8f Some optimizations to WireMarkupRegions class, and add a hasField property to Inputfield modules when paired with a Fieldtype (similar to existing hasFieldtype property, except is a Field object rather than Fieldtype object). 2017-02-01 06:11:15 -05:00
Ryan Cramer
1886f132b5 Fix for debug mode warning in WireMarkupRegions plus other minor tweaks 2017-01-29 07:08:18 -05:00
Ryan Cramer
933d9de724 Minor admin css adjustment and bump version number to 3.0.51 2017-01-27 14:08:27 -05:00
Ryan Cramer
4a3812efe0 Add a "Publish and Add Another" option to the Submit button options in ProcessPageAdd.module (for when template contains only a title) 2017-01-27 14:05:44 -05:00
Ryan Cramer
01f4419113 Some adjustments to WireMarkupRegions 2017-01-27 14:04:31 -05:00
Ryan Cramer
2becc0cbba Add an val() method to the Inputfield class for consistency with jQuery. This method is a shortcut for getting or setting the value attribute of Inputfield objects 2017-01-27 14:03:28 -05:00
Ryan Cramer
279f65ec65 Small adjustment to InputfieldSelector to prevent access control scenario that hides selectable options for FieldtypePage/InputfieldPage fields. 2017-01-22 08:10:48 -05:00
Ryan Cramer
b50b3aa3c7 Update MarkupFieldtype class to detect FieldtypeLanguageInterface objects 2017-01-22 07:18:10 -05:00
Ryan Cramer
f01ad1fe25 Bump version to 3.0.50 2017-01-20 15:25:45 -05:00
Ryan Cramer
31efae4d16 Fix issue processwire/processwire-issues#166 2017-01-20 11:22:29 -05:00
Ryan Cramer
5a8a4af23f Updates to WireMarkupRegions class to support use of "pw-id" and "data-pw-id" as an alternative to "id", and support of "pw-[action]=id" and "data-pw-[action]=id" attributes as an alternative to the "pw-" class names introduced last week. The [action] can be: append, prepend, replace, remove, before, after. 2017-01-20 11:08:38 -05:00
Ryan Cramer
65eb8da0ff Various minor updates 2017-01-20 10:53:57 -05:00
Ryan Cramer
0d82cee465 Fix issue processwire/processwire-issues#164 2017-01-20 10:16:36 -05:00
Ryan Cramer
07dbc4e6f6 Fix issue #161 where deleted page using default file/image fallback could delete fallback file if deleting page without outputFormatting enabled. 2017-01-20 09:49:19 -05:00
Ryan Cramer
a434f6193d Bump version to 3.0.49 and adjustment to debug info generated in WireMarkupRegions.php 2017-01-13 16:52:26 -05:00
Ryan Cramer
062ebd6663 Move some code from PageRender.module to WireMarkupRegions.php and make additional updates to WireMarkupRegions, adding support for nested/recursive regions. 2017-01-13 12:23:16 -05:00
Ryan Cramer
12a45994bf Add support for markup regions, a simple new template file output strategy that bridges the gap between direct and delayed output. See comments in the PageRender.module file for more details. 2017-01-12 15:45:07 -05:00
Ryan Cramer
6bfe4e65e2 Minor corrections to phpdoc in Page, WireArray and PageArray 2017-01-12 15:09:22 -05:00
Ryan Cramer
501a097e29 Minor improvements to installer, mostly phpdoc related 2017-01-12 15:08:28 -05:00
Ryan Cramer
307d7c9e7d Adjustment to Page::isChanged() method to reduce Pages::save() overhead 2017-01-09 08:12:42 -05:00
Ryan Cramer
43986173fb Fix issue #151, minor correction to FileCompiler affecting single lines that contain both className and function from ProcessWire namespace at the same time 2017-01-08 06:52:13 -05:00
Ryan Cramer
5fbbd9e2c6 Bump version to 3.0.48 2017-01-06 16:25:29 -05:00
Ryan Cramer
cde8b0a3e3 Add some initial stuff to support pages export/import. Nothing to use here yet, just building the foundation. 2017-01-06 12:25:24 -05:00
Ryan Cramer
afd0e8bc95 Adjustment to FileCompiler to improve detection of false positive end-of-PHP blocks 2017-01-06 11:16:26 -05:00
Ryan Cramer
8d97815110 Minor correction to previous commit 2017-01-05 15:36:15 -05:00
Ryan Cramer
d4d90a53fe Add @rolandtoth PR #16 that triggers showInputfield or hideInputfield events when showing/hiding Inputfields due to dependencies. 2017-01-05 14:46:42 -05:00
Ryan Cramer
d785fd7523 Minor adjustments to comment blocks: Add @LostKobrakai PR #42, PR #44, PR #45 and add @owzim PR #43 2017-01-05 14:32:09 -05:00
Ryan Cramer
928a399b8a Add @gmclelland PR #47 that fixes "search autocomplete keyboard focus errors". This also adds a compromise of accommodates PR #48 which retains support of up-arrow-to-close only if down arrow hasn't already been pressed. See also processwire/processwire-issues#125 and processwire/processwire-issues#141 2017-01-05 14:14:29 -05:00
Ryan Cramer
9ed0e415ed Adjustment to yesterday's FileCompiler updates that corrects a case where wire() function calls are used within include() statements 2017-01-05 13:02:12 -05:00
Ryan Cramer
c0ef1aea92 Fix issue processwire/processwire-issues#98 and also make some upgrades/optimizations to FileCompiler 2017-01-04 13:06:03 -05:00
Ryan Cramer
506187d871 Merge branch 'adrianbj-fix-input-url-path' into dev 2017-01-03 05:17:04 -05:00
Ryan Cramer
34ee4e051c Adjustment to PR #46 2017-01-03 05:16:32 -05:00
Ryan Cramer
5238b00250 Merge branch 'fix-input-url-path' of https://github.com/adrianbj/processwire into adrianbj-fix-input-url-path 2017-01-03 05:14:16 -05:00
Ryan Cramer
0d8cce638c Minor adjustments 2017-01-03 05:13:21 -05:00
Ryan Cramer
51bda526eb Bump version to 3.0.47, fix issue #139, issue #123, and issue #115 2016-12-30 13:09:07 -05:00
Ryan Cramer
8cb944cf52 Some updates to the template_ids support for FieldtypePage/InputfieldPage 2016-12-30 07:22:51 -05:00
Ryan Cramer
7d57fc5784 Fix issue processwire/processwire-issues#135 2016-12-29 10:48:07 -05:00
Ryan Cramer
c2cf538317 Minor CKEditor README.md update related to last commit 2016-12-29 10:06:24 -05:00
Ryan Cramer
264c5b0b54 Fix issue processwire/processwire-issues#133 updating a few links pointing to old GitHub repo to point to new one 2016-12-29 10:03:28 -05:00
Ryan Cramer
4402932ee6 Add request issue processwire/processwire-issues#137 2016-12-29 09:55:43 -05:00
Ryan Cramer
88e143126f Fix issue processwire/processwire-issues#138 where PageFinder had a pagination issue introduced in 3.0.46 2016-12-28 13:55:52 -05:00
Ryan Cramer
e12095e622 Attempt to fix issue processwire/processwire-issues#134 2016-12-28 07:03:17 -05:00
Ryan Cramer
20b6ebb81f Fix issue #128 2016-12-26 11:10:09 -05:00
Ryan Cramer
b6ba7049a0 Fix issue #127 2016-12-26 10:35:04 -05:00
Ryan Cramer
4e2a3c1bac Fix issue that was preventing non-local property hooks from working in WireHooks class 2016-12-26 09:31:42 -05:00
Ryan Cramer
622896e028 Fix issues #130 and #131 (dup) 2016-12-25 07:44:55 -05:00
Ryan Cramer
e8b9f12943 Bump version to 3.0.46 2016-12-23 15:13:13 -05:00
Ryan Cramer
ba9688af65 Improvements to dropdown submit buttons so that the menu doesn't disappear immediately when accidentally outside of it. 2016-12-23 12:24:52 -05:00
Ryan Cramer
e14d52f722 Add new $pages API methods: findIDs(), sort(), insertAfter, insertBefore(). Add support for negative "limit" and "start" values in selectors, where negative values reference the end of the set rather than the beginning. Add support for "eq=n" (or alias "index=n") selectors (both WireArray and PageFinder) for pulling a specific n'th item, can also specify "first" or "last" for "n". Update $page->editUrl(true) method to force return of edit URL with scheme and hostname. 2016-12-23 12:18:58 -05:00
adrianbj
137cbbd186 Fix for incorrect path returned from $input->url() when called before page is available.
It used to return: 
//admin/page/edit/-id-1111/?id=1111
Instead of the correct:
/admin/page/edit/?id=1111

This appears to fix everything correctly.
2016-12-23 08:38:20 -08:00
Ryan Cramer
0844bf2e47 Fix issue processwire/processwire-issues#119 2016-12-20 06:27:26 -05:00
Ryan Cramer
381293e0c7 Add a new $pages->findIDs() method, plus some experimental options in PageFinder 2016-12-19 13:38:07 -05:00
Ryan Cramer
e34918c73a Attempt to fix processwire/processwire-issues#122 2016-12-19 13:00:20 -05:00
Ryan Cramer
2570d6c86d Fix issue processwire/processwire-issues#121 2016-12-19 12:34:59 -05:00
Ryan Cramer
315251fa04 Some optimizations to PagesLoader::find() and findShortcut() methods. 2016-12-19 07:00:25 -05:00
Ryan Cramer
aab97a0b00 Fix inadvertent debug mode memory leak issue when using $pages->findMany(), plus optimize PageTable for faster load when sortfield(s) are in use. Per @apeisa / Avoine. 2016-12-19 06:57:37 -05:00
Ryan Cramer
3f758312a6 Bump version to 3.0.45 2016-12-16 15:19:38 -05:00
Ryan Cramer
8d8d9dfe3d Update the PageArrayIterator::$chunkSize setting to be configurable via $config->lazyPageChunkSize per @apeisa 2016-12-16 11:12:23 -05:00
Ryan Cramer
ffde966920 Upgrades to configuration of FieldtypePage and InputfieldPage (as seen in field editor), Upgrades to Page and WireArray __invoke() support, Rewrite Selectors::stringHasSelector() method to make it more accurate, Upgrades to Sanitizer::minArray(), add support for load-time filtering to FieldtypePage (Page fields), plus some other small tweaks. 2016-12-16 10:45:32 -05:00
Ryan Cramer
83846d1fe2 Minor tweaks 2016-12-14 12:26:26 -05:00
Ryan Cramer
7e262fa60d Some updates to the wireRegion()/region() function to support locking prepend or append 2016-12-14 11:36:26 -05:00
Ryan Cramer
2b9a7adbcb Update to allow for Page objects to load pages (children, parent, etc.) that don't get cached when their load option specified cache=false. Also makes the 'parent' page lazy loading for Page objects, so that it doesn't load the parent Page until a $page->parent() call is requested. Updates for @apeisa / Avoine request. 2016-12-14 11:02:32 -05:00
Ryan Cramer
3821dc2be3 Add add inline script support to Inputfield elements rendered with Lister per processwire/processwire-issues#112 2016-12-14 06:00:38 -05:00
Ryan Cramer
d077dfa32b Update InputfieldRepeater to process inline scripts from Inputfields per processwire/processwire-issues#112 2016-12-14 05:47:16 -05:00
Ryan Cramer
953ca72014 Various updates including optimizations to WireHooks, support for a hookable renderReadyHook method in Inputfield, cache prevention measures for Pages::findMany() per @apeisa, and some work in progress on InputfieldSelector support for improved "custom (field=value)" searches. 2016-12-13 14:24:01 -05:00
Ryan Cramer
e2e8c35c2c Fix issue processwire/processwire-issues#110 2016-12-12 09:26:09 -05:00
Ryan Cramer
f0212dcc9c Updates to support multiple template selections for Page fields per @apeisa and @niklam PR #22, plus bump version to 3.0.44 2016-12-09 14:16:04 -05:00
Ryan Cramer
880810c6bb Additional repeater updates including addition of a "minimum items" option, and support for an accordion mode. 2016-12-09 10:08:55 -05:00
Ryan Cramer
6027e87a5e Repeater updates continued with a complete refactoring of the InputfieldRepeater.js file. This update also corrects the depth-dragging issues that were present in the last commit (issues were especially noticable dragging when using AdminThemeReno). Also adds a repeater open all/close all function per processwire/processwire-requests#33 - to use it, double click the "on/off" toggle icon that appears next to the trash icon. 2016-12-08 14:02:43 -05:00
Ryan Cramer
d92674fd4a Minor adjustment to improve repeater depth drag behavior in AdminThemeReno. Still not there yet, but this adjustment improves it a little bit. Works much better in AdminThemeDefault for some reason. 2016-12-07 15:24:42 -05:00
Ryan Cramer
c44329817c Correct issue where AdminThemeReno was missing the extra "head" output, which prevented the vex dialogs from being styled 2016-12-07 12:29:05 -05:00
Ryan Cramer
d1dcebe002 Update cachebuster version code in admin themes, just in case the previous commits updates to main.js are cached and not immediately visible 2016-12-07 12:21:47 -05:00
Ryan Cramer
e2f9597c5a Update Repeaters to add these features: 1) Support for repeater depth per @jlahijani, 2) Add new repeater item "clone" feature, 3) Add support for max items, 4) Add double-click trash icon to "delete all" feature. This commit also adds the Vex library for nicer looking Javascript alert and confirm boxes, which we use to confirm "clone" and "delete all" operations in repeaters, and will use elsewhere. 2016-12-07 11:24:49 -05:00
Ryan Cramer
423fbe6f57 Fix issue in Page.php formatFieldValue function that occurs when formatting a single image|null field. 2016-12-03 07:55:08 -05:00
Ryan Cramer
ac9487e967 Bump version to 3.0.43 2016-12-02 13:31:09 -05:00
Ryan Cramer
af5cda1d6d Minor adjustment per remaining button in issue in processwire/processwire-issues#84 2016-12-02 11:23:24 -05:00
Ryan Cramer
707cd9e735 Expand upon the Page::url() method to include an $options argument that adds many new capabilities. 2016-12-02 10:38:49 -05:00
Ryan Cramer
7eddb51bc9 Some documentation adjustments to WireArray 2016-12-01 12:36:53 -05:00
Ryan Cramer
015725191b Fix issue processwire/processwire-issues#100 where WordPress creating a fake mb_strlen() function made PW think that multibyte support was installed. 2016-12-01 12:07:25 -05:00
Ryan Cramer
9cdf68e6b8 Fix processwire/processwire-issues#99 where multi-instance URLs that had hostname specified were missing a leading slash 2016-12-01 12:00:41 -05:00
Ryan Cramer
cbdf8e9063 Fix issue processwire/processwire-issues#97 where using {images.count} in repeater label caused issue with loading images in the repeater 2016-12-01 11:22:40 -05:00
Ryan Cramer
ef42513831 Add PageFieldValueInterface as an implementation option for objects supporting page field values. Basically a helper for certain object-based values like Pagefiles/Pageimages, and likely others. 2016-12-01 10:56:04 -05:00
Ryan Cramer
30f96593bb Fix issue processwire/processwire-issues#94 for integer field not adding min attribute to HTML5 number type when 0 specified as minimum and no maximum specified. 2016-12-01 05:40:24 -05:00
Ryan Cramer
b8e51db176 Some updates to touch support per issue #84, plus a few other minor things that got bundled in 2016-11-30 13:18:14 -05:00
Ryan Cramer
6a3789d892 Merge branch 'marcus-herrmann-fix/improve-a11y-markup-pager-nav' into dev 2016-11-29 10:39:50 -05:00
Ryan Cramer
c4958461f1 Some changes to Marcus's PR, plus additional updates to MarkupPagerNav module, including expanded documentation 2016-11-29 10:38:26 -05:00
Ryan Cramer
103642ef6d Merge branch 'fix/improve-a11y-markup-pager-nav' of https://github.com/marcus-herrmann/processwire-1 into marcus-herrmann-fix/improve-a11y-markup-pager-nav 2016-11-29 06:06:06 -05:00
Ryan Cramer
76cb88815a Merge branch 'teppokoivula-feature-comments-manager-tweaks' into dev 2016-11-29 06:00:50 -05:00
Ryan Cramer
d3f9d4fd5b Merge branch 'feature-comments-manager-tweaks' of https://github.com/teppokoivula/processwire-1 into teppokoivula-feature-comments-manager-tweaks 2016-11-29 06:00:34 -05:00
Ryan Cramer
53612e9489 Update ProcessField to use more verbose field type names for additional clarity. Also a couple minor cosmetic adjustments in LanguageSupport 2016-11-28 11:04:02 -05:00
Ryan Cramer
bba6e3b00f Add option to exclude FileCompiler at include() time by specifying include(/*NoCompile*/'filename.php'); or include('filename.php'/*NoCompile*/);. The include() can also be include_once(), require(), require_once(), wireRenderFile(), wireIncludeFile() or new TemplateFile(). Relevent to PR #13 2016-11-28 10:59:33 -05:00
mhe
bf2ff863dd Update/simplify MarkupPagerNav default markup 2016-11-27 17:12:01 +01:00
mhe
016290192f Use aria-current also in built in site profiles 2016-11-27 17:10:22 +01:00
mhe
7038b787f0 Add defaults, labels, markers for accessibility to MarkupPagerNav 2016-11-27 10:47:25 +01:00
teppokoivula
a8efd4c04b Fix typo and make tab navigation always visible
This commit fixes a typo that prevented using the module and also makes
tab navigation visible even when active tab is empty.

Fixes processwire/processwire-issues#95
2016-11-26 20:42:45 +02:00
Ryan Cramer
332dbb317e Merge branch 'marcus-herrmann-fix/a11y-core-site-profiles' into dev 2016-11-25 15:04:41 -05:00
Ryan Cramer
cfb6823d49 Merge branch 'fix/a11y-core-site-profiles' of https://github.com/marcus-herrmann/processwire-1 into marcus-herrmann-fix/a11y-core-site-profiles 2016-11-25 15:03:34 -05:00
Ryan Cramer
35df716082 Additional documentation updates and bump version to 3.0.42 2016-11-25 14:58:02 -05:00
Ryan Cramer
942cac2707 Update $sanitizer->testAll() method for more methods per processwire/processwire-issues#85 2016-11-23 07:15:17 -05:00
Ryan Cramer
2a66b67174 Fix issue processwire/processwire-issues#92 where $sanitizer->markupToText() left useless trailing character when replacing br tags 2016-11-23 06:43:14 -05:00
Ryan Cramer
c1f4693ca0 Documentation updates to several core classes 2016-11-22 14:26:41 -05:00
Ryan Cramer
3647a47b86 Adjustment to ProcessPageEditLink.module to correct debug mode warnings that appear when called from inside a CKEditor field that's in a repeater 2016-11-20 06:48:52 -05:00
mhe
28d119c273 Improve accessibility in site profiles 2016-11-20 09:47:25 +01:00
Ryan Cramer
d013ef8550 Merge branch 'derixithy-dev' into dev 2016-11-18 12:29:48 -05:00
Ryan Cramer
6fbfdbab95 Merge branch 'dev' of https://github.com/derixithy/processwire into derixithy-dev 2016-11-18 12:28:39 -05:00
Ryan Cramer
d935e9b699 Some minor doc tweaks, update $modules->getModuleInfo() method to support returning info for all modules, bump version to 3.0.41 2016-11-18 12:23:27 -05:00
Ryan Cramer
a1219e38e9 Some phpdoc updates in a few classes, plus fix a bug in the $config->paths() method 2016-11-17 15:20:09 -05:00
Ryan Cramer
ab7b7a6380 Fix issue processwire/processwire-issues#80 where missing site/templates/admin.php file rendered blank output rather than throwing exception 2016-11-15 08:03:55 -05:00
Ryan Cramer
a98cd1b351 Merge branch 'borantula-patch-1' into dev 2016-11-14 08:12:37 -05:00
Ryan Cramer
8b1e5a3c41 Fix issue processwire/processwire-issues#66 where deleting item from 2 different repeater fields at same time resulted in only item from first repeater being deleted 2016-11-14 07:57:29 -05:00
Ryan Cramer
facc671e8d Fix issue processwire/processwire-issues#81 where 2 translation phrases were on 1 line when they should have been on 2 2016-11-14 06:42:35 -05:00
Ryan Cramer
4b800adb5a Fix issue #78 with PagePathHistory where a cloned child of a renamed parent page could redirect to wrong item when accessed at old URL 2016-11-14 06:38:11 -05:00
Ryan Cramer
e0af12d7ab Fix issue #76 with typo in Pages.php 2016-11-14 06:21:36 -05:00
Ryan Cramer
58c659b288 Add @adrianbj PR #34 removing duplicate line in ProcessTemplate.module 2016-11-14 06:13:56 -05:00
Ryan Cramer
7700627d33 Merge branch 'pine3ree-patch-1' into dev 2016-11-14 05:57:57 -05:00
Ryan Cramer
0d81ff542b Merge branch 'patch-1' of https://github.com/pine3ree/processwire-1 into pine3ree-patch-1 2016-11-14 05:57:39 -05:00
Ryan Cramer
25c703b924 Merge branch 'teppokoivula-feature-querystring-overrides' into dev 2016-11-14 05:51:05 -05:00
Ryan Cramer
a35d00baab Merge branch 'feature-querystring-overrides' of https://github.com/teppokoivula/processwire-1 into teppokoivula-feature-querystring-overrides 2016-11-14 05:50:41 -05:00
Ryan Cramer
654c18fbe9 Various minor tweaks and documentation improvements 2016-11-14 05:37:50 -05:00
Bora Yalçın
1bb92f1941 turkish chars added to defaultReplacements array
Special letters in Turkish alphabet (see below) added to default replacements array as they were becoming - in page names.

ı=i
ğ=g
İ=i
Ç=c
ş=s
Ş=s
2016-11-09 09:37:56 +01:00
Derixithy
3897df4436 Added support for cookie domain 2016-11-07 20:14:52 +01:00
maks feltrin
78acf909d3 Sanitizer::string small refactoring
Since we are doing type-checking we are dealing with mutually excluding conditions.

So far the code blocks for non-string type matching will transform `$value` into a string anyway so if we have an object, the null value or a bool we would get a string and any further test would be not needed for it. W only need to test the unprocessed value, i.e. other conditions on the input value.

Now the code reads like this:
object? => get a string
or null? => get an (empty) string
or bool? => get a (numeric|empty) string
or array? => build a string
or if anything else but a string => cast to string

Off-Topic:
shouldn't be better to use `null === $var` / `null !== $var` instead of calling `is_null`. Inside a function that can be called many times it can make a diifference in processing time since calling a function is more expensive, even though i agree to be more consistent with other type-checking.

kind regards
2016-11-07 18:17:43 +01:00
Ryan Cramer
2d9e959bf2 Update InputfieldSelector to support sorted by field labels (rather than names) and support for better multi-language subfield names. 2016-11-06 08:13:34 -05:00
Ryan Cramer
21bf57eb79 Add support for OR-groups in "custom (field=value)" selections in InputfieldSelector. Simply use the existing "or" checkbox to apply the custom selector as an OR group. 2016-11-06 07:23:36 -05:00
teppokoivula
0a12932951 Add support for optional overrides array to $input->queryString() 2016-11-05 14:53:09 +02:00
Ryan Cramer
8d0c8de3ee Bump version to 3.0.40 2016-11-04 11:45:14 -04:00
Ryan Cramer
8bf7b0dc41 Add @pine3ree PR #24 which adds a break statement to a for() loop in WireFileTools.php 2016-11-03 12:18:53 -04:00
Ryan Cramer
29023269a4 Merge branch 'pine3ree-patch-2' into dev 2016-11-03 12:16:05 -04:00
Ryan Cramer
a9a2ff35ac Merge branch 'patch-2' of https://github.com/pine3ree/processwire-1 into pine3ree-patch-2 2016-11-03 12:15:55 -04:00
Ryan Cramer
35639b0f11 Merge branch 'LostKobrakai-feature/min-size-by-aspect' into dev 2016-11-03 12:13:04 -04:00
Ryan Cramer
99008366ba Merge branch 'feature/min-size-by-aspect' of https://github.com/LostKobrakai/processwire-1 into LostKobrakai-feature/min-size-by-aspect 2016-11-03 12:12:44 -04:00
Ryan Cramer
8405c586f0 Add @iamwebrocker PR #18 which adds honeypot option to comments form 2016-11-03 11:58:06 -04:00
Ryan Cramer
9b385168d0 Spelling correction in MarkupRSS.module per @lesaff PR #26 2016-11-03 11:33:17 -04:00
Ryan Cramer
243998039f Add @clsource PR #23 to correct a phpdoc typo in Functions.php 2016-11-03 11:30:48 -04:00
Ryan Cramer
2f66734a6b Add @clsource PR #23 to correct a phpdoc typo in Functions.php 2016-11-03 11:30:03 -04:00
Ryan Cramer
c26095e9e3 Merge branch 'gmclelland-fix-issue-69' into dev 2016-11-03 11:20:25 -04:00
Ryan Cramer
8bc1b51e03 Merge branch 'fix-issue-69' of https://github.com/gmclelland/processwire into gmclelland-fix-issue-69 2016-11-03 11:19:23 -04:00
Ryan Cramer
0fb25668c4 Update SystemUpdater module to remove any session data associated with admin theme when a core update occurs 2016-11-03 11:11:40 -04:00
Ryan Cramer
2135f2ca2e Update AdminThemeReno to remove an extra pixel appearing underneath selected tab in WireTabs 2016-11-03 11:10:46 -04:00
Ryan Cramer
1633b990ca Update several Inputfield modules to remove unnecessary newlines in markup and add phpdocs where appropriate 2016-11-03 11:10:04 -04:00
Ryan Cramer
1c3ea5ce51 Fix issue processwire/processwire-issues#65 modal window on InputfieldForm with HTML5 required inputs 2016-11-03 09:54:58 -04:00
Ryan Cramer
8116a5ba77 Merge branch 'dev-css' into dev-dev 2016-11-02 13:09:31 -04:00
Ryan Cramer
36984e4a05 Updates to legacy code in ProcessTemplate, cleaning things up a bit 2016-11-02 12:27:01 -04:00
Glenn McLelland
2ddb3928bd Used the css function to display the element inline 2016-11-02 11:23:24 -05:00
Glenn McLelland
4eca3fd458 Revert "Added a css fix for issue #69" going to use a different technique.
This reverts commit 66149758d9.
2016-11-02 11:07:27 -05:00
Ryan Cramer
b2a6857561 Update WireTabs module to support automatic tab selection by querystring (i.e. url?WireTab=tab_id). This is in addition to the existing hash url#tab_id option, which seems to have issues in certain cases like that reported in processwire/processwire-issues#71 2016-11-02 10:35:39 -04:00
Benjamin Milde
dc860bc929 Allow min and max dimensions for images to be swapped for portrait images 2016-11-02 12:39:30 +01:00
Ryan Cramer
a864d6a4a1 Fix processwire/processwire-issues#67 where Inputfield::collapsedBlank behavior only applied to default language in multi-language fields 2016-11-02 06:26:39 -04:00
Glenn McLelland
66149758d9 Added a css fix for issue #69 2016-11-01 14:59:06 -05:00
Ryan Cramer
87ea1685b2 Update to convert several css selectors to be "pw-" selectors, as part of longer term goal to work nicely with other css frameworks. 2016-11-01 15:03:41 -04:00
Ryan Cramer
e374bee288 Fix issue processwire/processwire-issues#68 to workaround apparent PHP 7.1 mail() bug 2016-11-01 08:39:09 -04:00
Ryan Cramer
fc8fa08275 Fix processwire/processwire-issues#49 where locked InputfieldPage still loaded all selectable pages when not necessary to do so 2016-11-01 08:29:26 -04:00
Ryan Cramer
2d99624ca7 Fix issue processwire/processwire-issues#52 where InputfieldPageListSelectMultiple module didn't work on "user" template. 2016-11-01 06:56:29 -04:00
Ryan Cramer
78e9b4748d Fix $sanitizer->selectorValue() issue where it filtered out some UTF-8 symbols it doesn't need to per processwire/processwire-issues#54 2016-11-01 06:29:02 -04:00
maks feltrin
83d4788764 allow custom th classes
this allows customization of th elements and when using relative column sizing classes it also allows to avoid repeating those classes in every tbody row.
2016-11-01 02:32:08 +01:00
Ryan Cramer
b50b1f9a28 Update to processwire/processwire-issues#60 for multi-instance support with multi-language page names 2016-10-31 13:49:42 -04:00
Ryan Cramer
c435081050 Add JS events for supporting pw-button-dropdown enabled and disabled states per processwire/processwire-issues#62 2016-10-31 10:36:18 -04:00
Ryan Cramer
6567896a3e Add a since phpdoc to WireInput::requestMethod() per processwire/processwire-issues#64 2016-10-31 10:07:17 -04:00
Ryan Cramer
3705d55177 Depreciate TemplateFile globals options per processwire/processwire-issues#61 2016-10-31 10:03:21 -04:00
Ryan Cramer
ce037f06da Fix issue processwire/processwire-issues#60 where multi-language fields weren't working correctly with multi-instance 2016-10-31 09:30:26 -04:00
Ryan Cramer
0529bcc495 Fix issue processwire/processwire-issues#59 replacing non-multi-instance compatible static vars in WireDatabaseBackup 2016-10-31 06:29:27 -04:00
Ryan Cramer
ca5870b70c Attempt fix for issue #58 where saving user with different parent than default could result in unnecessary pages_parents table updates. 2016-10-31 06:16:46 -04:00
Ryan Cramer
0c84379255 Fix issue with PageRender and cache clearing of single page 2016-10-30 08:00:54 -04:00
Ryan Cramer
f7c613d39d Bump version to 3.0.39 2016-10-28 16:16:13 -04:00
Ryan Cramer
a5b1110c1f Merge working branch to dev 2016-10-28 05:43:08 -04:00
Ryan Cramer
b4f2dda5fa Various updates primarily related to functions API and profiler support. 2016-10-28 05:41:45 -04:00
Ryan Cramer
fa1b58c6a2 Minor adjustments 2016-10-24 04:52:58 -04:00
Ryan Cramer
57fd741232 BUmp version to 3.0.38 2016-10-21 14:14:00 -04:00
Ryan Cramer
c4972556ea Merge branch 'BitPoet-dev-wiremail-nest' into dev 2016-10-21 13:56:06 -04:00
Ryan Cramer
6d99771e71 A few minor changes to the WireMail PR 2016-10-21 13:55:34 -04:00
Ryan Cramer
da5e769e60 Merge branch 'dev-wiremail-nest' of https://github.com/BitPoet/processwire into BitPoet-dev-wiremail-nest 2016-10-21 13:44:55 -04:00
Ryan Cramer
5005dfa259 Add support for common multi-language translations 2016-10-21 13:31:18 -04:00
Chris
264fa2264f Remove leftover test switch that circumvents mb_encode_mimeheader 2016-10-21 13:31:31 +02:00
Ryan Cramer
913201788c Additional updates to TextformatterSmartypants per processwire/processwire-issues#17 2016-10-21 06:28:38 -04:00
Ryan Cramer
131c0c8b4a Update to processwire/processwire-issues#40 ImageInspector per @horst-n 2016-10-21 06:05:02 -04:00
Ryan Cramer
6b96702c14 Fix issue processwire/processwire-issues#57 where Pageimage::maxSize() method was not always working correctly. 2016-10-21 06:01:33 -04:00
Ryan Cramer
2778829df6 Fix issue processwire/processwire-issues#47 2016-10-20 11:46:14 -04:00
Ryan Cramer
efd2289e2a Fix issue processwire/processwire-issues#41 where uploading image in CKEditor image dialog to page other than the one being edited resulted in an uploaded image that had "temp" status 2016-10-20 11:28:06 -04:00
Ryan Cramer
873ec1a06d Upgrade SmartyPants version for TextformatterSmartypants module, plus updates per processwire/processwire-issues#17 2016-10-20 10:28:40 -04:00
Chris
6ae4a5829d Subject wrapping, mbstring support, nested content parts
Support wrapping of long subject headers, using mb_encode_mimeheader if
available, otherwise fall back to an custom encoding/wrapping function
that uses PHP builtins.
Nest plaintext+html bodies in their own multipart-alternative header if
attachments are present so that the display of the html part still has
precedence over the plaintext part.
Put quotes around name parts after quoted-printable encoding of the name
in name+address combinations.
2016-10-20 13:40:53 +02:00
Ryan Cramer
5542b77440 Add profiler to TemplateFile and PageRender 2016-10-20 07:02:24 -04:00
Ryan Cramer
4060934bae Update Modules/ProcessModules to skip showing configurable modules with no visible configuration fields. Plus a few other small additions. 2016-10-20 06:58:28 -04:00
Ryan Cramer
4a26b774bf Bump version for dev branch to 3.0.37 2016-10-14 13:58:24 -04:00
Ryan Cramer
8896f25d14 Adjustment to reduce changes to fix just issues from standard API log usage 2016-10-13 10:44:17 -04:00
Ryan Cramer
596acaa44b Merge branch 'dev' of https://github.com/adrianbj/processwire into adrianbj-dev 2016-10-13 10:23:51 -04:00
Ryan Cramer
36c7b268e1 Another adjustment to PageImage per issue #31 2016-10-13 10:14:47 -04:00
Ryan Cramer
6336fd4438 Attempt fix for issue #31 when Pageimage::hidpiWidth() called with unsupported string argument 2016-10-13 10:05:39 -04:00
Ryan Cramer
b08f3c082e Update install.php per issue #44 2016-10-13 08:20:13 -04:00
Ryan Cramer
d42a03ca57 Fix issue #40 with ImageInspector having issues with some GIF files 2016-10-13 06:08:35 -04:00
Ryan Cramer
5131edf57c Merge branch 'BitPoet-dev-wiremail-utf8' into dev 2016-10-13 05:54:08 -04:00
Ryan Cramer
e043a2b2f1 Merge branch 'dev-wiremail-utf8' of https://github.com/BitPoet/processwire into BitPoet-dev-wiremail-utf8 2016-10-13 05:52:35 -04:00
Ryan Cramer
e2e4817444 Add Pages::savePageOrFieldReady() and Pages::savedPageOrField() hooks per request 2016-10-13 05:51:34 -04:00
Chris
4d5259b11d Support utf8 characters in WireMail
Use quoted printable encoding for text and html body parts.
Also encode the subject and the name parts of from: and to: headers in
quoted printable.
2016-10-12 14:02:28 +02:00
Ryan Cramer
144872bedb Fix issue processwire/processwire-issues#38 2016-10-11 12:04:03 -04:00
Ryan Cramer
7568093ea7 Remove the "None" option for dateInputFormat per issue processwire/processwire-issues#37 2016-10-11 11:49:19 -04:00
Ryan Cramer
67f504834d Fix issue processwire/processwire-issues#34 2016-10-11 11:34:16 -04:00
Ryan Cramer
7aed0416a9 Fix issue processwire/processwire-issues#30 in PageComparison 2016-10-11 11:19:00 -04:00
Ryan Cramer
6b64a480b8 Update to add removal of incompatible sql_mode settings when used with MySQL 5.7.0 and newer, per issue processwire/processwire-issues#28 2016-10-11 11:07:37 -04:00
Ryan Cramer
cd71d45ef4 Update comments in WireMail 2016-10-09 06:34:14 -04:00
adrianbj
504d8b8645 Fix entry parts ending up in the wrong column in Log viewer.
This fixes: https://github.com/ryancramerdesign/ProcessWire/issues/1822

This fix includes changes for the count($parts) == 3 section which are necessary, but also includes changes for the count($parts) == 2 section which may be checking for situations that aren't possible, so see what you think about those changes.

I have included a nested ternary, but I think in this case it reads quite clearly and is ok, but you may want to revisit.

I'll add a comment shortly with a test log file so you can see these changes in action.
2016-10-06 19:38:19 -07:00
2289 changed files with 347516 additions and 69765 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
$ cat .gitattributes
*.module linguist-language=PHP

View File

@@ -410,7 +410,7 @@ https://processwire.com/about/license/mit/
The MIT License (MIT)
Copyright (c) 2015 Ryan Cramer <or other year/person if indicated in file>
Copyright (c) 2020 Ryan Cramer <or other year/person if indicated in file>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

216
README.md
View File

@@ -9,120 +9,156 @@ can be read at: https://github.com/processwire/processwire/blob/master/README.md
1. [About](#about-processwire)
2. [Installation](#installing-processwire)
3. [Upgrading](#upgrading-processwire)
4. [Troubleshooting](https://processwire.com/docs/install/troubleshooting/)
4. [Troubleshooting](https://processwire.com/docs/start/install/troubleshooting/)
5. [Support](#support-and-links)
## About ProcessWire
ProcessWire is an open source content management system (CMS) and web
application framework aimed at the needs of designers, developers and their
clients. ProcessWire gives you more control over your fields, templates and
markup than other platforms, and provides a powerful template system that
works the way you do. Not to mention, ProcessWire's API makes working with
your content easy and enjoyable. Managing and developing a site in
ProcessWire is shockingly simple compared to what you may be used to.
ProcessWire is a friendly and powerful open source CMS with an API that is a
joy to use at any scale. It is both a content management system (CMS) and
framework (CMF) built to save you time and work the way you do. With all custom
fields, a secure foundation, proven scalability and performance, ProcessWire
connects all of your content seamlessly, making your job fast, easy and fun.
* [ProcessWire Home](https://processwire.com)
* [API Reference](https://processwire.com/api/ref/)
* [Download](https://processwire.com/download/)
* [Support](https://processwire.com/talk/)
* [Modules/Plugins](http://modules.processwire.com)
ProcessWire gives you more control over your fields, templates and markup than
other platforms, while ProcessWires API makes working with your content easy and
enjoyable. Managing and developing a site in ProcessWire is shockingly simple
compared to what you may be used to.
ProcessWire is widely trusted by web professionals for its exceptional consistency,
stability and security; revered by web developers for its API that saves time and
makes work fun; valued by web designers for its adaptability and flexibility with
modern website/application content management needs; and loved by clients for its
no-nonsense interface and ease-of-use in adding, updating and maintaining content.
New versions of ProcessWire are released just about every week on the
development branch.
### Background
ProcessWire is a timeless tool for web professionals that has always been
committed to the long term. It started in 2003, gained the name ProcessWire
in 2006, and has been in active development as an open source project since 2010.
Now more than a decade later (2025), were just getting started, as ProcessWire
continues to grow and develop into the next 10 years and beyond.
While ProcessWire has been around for a long time, dont feel bad if you havent
heard of it till today. We are fundamentally different from other projects in
that we dont make a lot of noise, were not into promotion, we value quality
over quantity, sustainability over growth, and a friendly community over
popularity. ProcessWire is designed to be a silent partner, not easily
identified from the front-end of any website. We dont aim to be big, we are
instead focused on being best-in-class.
Web developers find ProcessWire when the time is right, after theyve tried
some other platforms. And once they start using ProcessWire, they tend to
stay. ProcessWire is addictive, easy to maintain for the long term, and doesnt
have the security and upgrade woes of other platforms. But dont take our word
for it; unless your livelihood depends on some other platform, find out for
yourself.
### Community
ProcessWire is more than just software, it is also a friendly community
of web professionals dedicated to building great sites and applications, and
helping others do so too.
Please visit and join our
[friendly community](https://processwire.com/talk/)
in the ProcessWire forums, subscribe to our
[weekly newsletter](https://processwire.com/community/newsletter/subscribe/)
for the latest ProcessWire news, check out our
[website showcase](https://processwire.com/sites/)
to see what others are building with ProcessWire.
Weekly ProcessWire news is posted by Teppo Koivula on his site
[ProcessWire Weekly](https://weekly.pw).
Weekly core updates and related topics are posted by Ryan Cramer in the
ProcessWire support forum
[News and Announcements](https://processwire.com/talk/forum/7-news-amp-announcements/)
board.
### Learn more
* [ProcessWire website](https://processwire.com)
* [About ProcessWire](https://processwire.com/about/)
* [Support forums](https://processwire.com/talk/)
* [Documentation](https://processwire.com/docs/)
* [API reference](https://processwire.com/api/ref/)
* [Downloads](https://processwire.com/download/)
* [Modules/plugins](https://processwire.com/modules/)
* [Showcase](https://processwire.com/sites/)
-----------------------------------------------------------------
## Installing ProcessWire
Simply extract the ProcessWire files to an http accessible location and
load the URL in your web browser. This will start the installer. See our
[Installation Guide](https://processwire.com/docs/install/new/) for more
[Installation Guide](https://processwire.com/docs/start/install/new/) for more
details and instructions. If you run into any trouble, please see our
[Troubleshooting Guide](https://processwire.com/docs/install/troubleshooting/).
[Troubleshooting Guide](https://processwire.com/docs/start/install/troubleshooting/).
## Upgrading ProcessWire
Before proceeding with any version upgrade, please read the
[Upgrading ProcessWire](https://processwire.com/docs/install/upgrade/)
guide and keep it open during your upgrade in case you need to refer back to it.
Upgrading is easy and usually just a matter of replacing your `/wire/` directory
with the one from the new version. But to be safe, before proceeding with any version upgrade, please see the
[Upgrading ProcessWire](https://processwire.com/docs/start/install/upgrade/)
guide and perhaps keep it open during your upgrade in case you need to refer back to it.
If upgrading from one 3.x version to another, please use the
[General Upgrade Process](https://processwire.com/docs/install/upgrade/#general-upgrade-process).
Chances are that you can upgrade simply by replacing the /wire/ directory.
When upgrading from one 3.x version to another, please use the
[general upgrade process](https://processwire.com/docs/start/install/upgrade/#general-upgrade-process).
This consists primarily of making sure you've got everything backed up and then just
replacing your `/wire/` directory with the one from the newer version.
- If you are upgrading from a 3.x version prior to 3.0.135 then please also follow
[these instructions](https://processwire.com/docs/start/install/upgrade/from-3.x/).
- If you are upgrading from any 2.x version then please see
[upgrading from ProcessWire 2.x](https://processwire.com/docs/start/install/upgrade/from-2.x/).
- If you run into any trouble upgrading, please see our
[troubleshooting upgrades guide](https://processwire.com/docs/start/install/troubleshooting/#troubleshooting-upgrades).
### Upgrading from ProcessWire 2.x
### Pro module version upgrade notes (if applicable)
If upgrading from ProcessWire 2.5 or older, we recommend that you upgrade
to ProcessWire [2.8](https://github.com/processwire/processwire-legacy) or
[2.7](https://github.com/ryancramerdesign/processwire) first. Both of those
versions include details in the README file on how to upgrade from these
older versions of ProcessWire. To upgrade from ProcessWire 2.6 (or newer)
to ProcessWire 3.x, please follow the instructions below.
1. Login to the admin of your site.
2. Edit your `/site/config.php` file and set `$config->debug = true;` to ensure
you can see error messages. This is optional but recommended.
3. Replace your `/wire/` directory and `/index.php` file with the new ones from here.
4. Click a navigation link in your admin, such as "Pages". You may notice a delay.
This is ProcessWire compiling 3rd party modules into a format that is
compatible with version 3.x. Keep an eye out for any error messages.
If you see any issues, it's possible you may need to upgrade one or more
3rd party modules. If you see messages about it applying updates, keep hitting
reload in your browser until you no longer see any update messages.
5. Once you've resolved error messages in your admin, you'll want to test out
the front end of your site. Again, expect a delay while ProcessWire compiles
any files to make them compatible with 3.x. Depending on your template file
strategy, updates may or may not be necessary. If you run into any pages
that aren't working, see the section further down on troubleshooting.
Thoroughly test every aspect if your site to ensure that everything is
working as you expect.
6. When you've confirmed a successful upgrade, remember to restore the
`$config->debug` setting back to `false` in your /site/config.php file.
**Troubleshooting a 3.x upgrade**
If you run into any trouble upgrading, please see our troubleshooting guide
located at <https://processwire.com/download/troubleshooting/#upgrades>.
### Pro module upgrade notes
- If using [FormBuilder](https://processwire.com/api/modules/form-builder/),
we recommend using only v0.3.0 or newer.
- If using [ProCache](https://processwire.com/api/modules/procache/),
we recommend using only v3.1.4 or newer.
- If using [ListerPro](https://processwire.com/api/modules/lister-pro/),
we recommend using only v1.0.9 or newer.
- If using [ProFields](https://processwire.com/api/modules/profields/),
we recommend grabbing the latest versions in the ProFields support board.
- If using ProCache and you upgraded your .htaccess file, you should
go to your ProCache settings after the upgrade to have it update
your .htaccess file again. If no upgrades to your .htaccess file
are necessary, then the ProCache settings page won't mention it.
- [FormBuilder](https://processwire.com/store/form-builder/)
version 0.5.5 or newer recommended.
- [ListerPro](https://processwire.com/store/lister-pro/)
version 1.1.6 or newer recommended.
- [ProFields](https://processwire.com/store/pro-fields/)
the latest versions of all ProFields (10 modules) are recommended.
- [LoginRegisterPro](https://processwire.com/store/login-register-pro/)
version 8 or newer recommended.
- [ProCache](https://processwire.com/store/pro-cache/)
version 4.0.5 or newer recommended. After upgrading, go to your ProCache
settings in the admin (Setup > ProCache) and see if it suggests any
modifications to your .htaccess file.
- For all other Pro modules not mentioned above we recommend using the
latest available versions when possible.
## Debug Mode
Debug mode causes all errors to be reported to the screen, which can be
Debug mode causes all errors to be reported to the screen. This can be
helpful during development or troubleshooting. When in the admin, it also
enables reporting of extra information in the footer. Debug mode is not
intended for live or production sites, as the information reported could
be a problem for security. So be sure not to leave debug mode on for
any live/production sites. However, we think you'll find it very handy
during development or when resolving issues.
enables a “Debug” link (see footer) for reporting of extra information in a
panel. Debug mode is not intended for live or production sites, as the
information reported is for the developer only. Do not leave debug mode
on for any live/production sites, as it could be a security concern. However,
we think you'll find it very handy during development or when resolving issues.
1. Edit this file: `/site/config.php`
2. Find this line: `$config->debug = false;`
3. Change the `false` to `true`, like below, and save.
3. Change the `false` to `true` like below, and save.
```
$config->debug = true;
```
This can be found near the bottom of the file, or you can add it if not
already there. It will make PHP and ProcessWire report all errors, warnings,
notices, etc. Of course, you'll want to set it back to false once you've
@@ -131,14 +167,14 @@ resolved any issues.
## Support and Links
* [ProcessWire Support](https://processwire.com/talk/)
* [ProcessWire Weekly](https://weekly.pw/)
* [ProcessWire Blog](https://processwire.com/blog/)
* [Follow @processwire on Twitter](http://twitter.com/processwire/)
* [Contact ProcessWire](https://processwire.com/contact/)
* [Sites running ProcessWire](https://processwire.com/about/sites/)
* [ProcessWire Support Forums](https://processwire.com/talk/)
* [ProcessWire Weekly News](https://weekly.pw/)
* [Sites running ProcessWire](https://processwire.com/sites/)
* [Subscribe to ProcessWire Weekly email](https://processwire.com/community/newsletter/subscribe/)
* [Submit your site to our directory](https://processwire.com/sites/submit/)
* [Contact ProcessWire developer](https://processwire.com/contact/)
* [Report issue](https://github.com/processwire/processwire-issues/issues)
------
Copyright 2016 by Ryan Cramer / Ryan Cramer Design, LLC
Copyright 2025 by Ryan Cramer / Ryan Cramer Design, LLC

View File

@@ -14,7 +14,7 @@
}
],
"require": {
"php": ">=5.3.8",
"php": ">=7.1",
"ext-gd": "*"
},
"autoload": {

View File

@@ -1,26 +1,78 @@
#################################################################################################
# START PROCESSWIRE HTACCESS DIRECTIVES
# @version 3.0
# @indexVersion 300
# @htaccessVersion 301
#################################################################################################
#
# Upgrading htaccess (or index) version 300 to 301
# -----------------------------------------------------------------------------------------------
# If you never modified your previous .htaccess file, then you can simply replace it with this
# one. If you have modified your .htaccess file, then you will want to copy/paste some updates
# to the old one instead:
# If your htaccess/index version is 300, upgrade to this version by replacing all of sections #5
# and #15 (Access Restrictions). Also take a look at section #9, which you might also consider
# replacing if using HTTPS, though it is not required. (For instance, HSTS might be worthwhile)
#
# Following that, optionally review the rest of the file to see if there are any other changes
# you also want to apply. Sections tagged "(v301)" are new or have significant changes.
#
# When finished, add a line at the top identical to the "htaccessVersion 301" that you see at
# the top of this file. This tells ProcessWire your .htaccess file is up-to-date.
#
# Resolving 500 errors
# -----------------------------------------------------------------------------------------------
# Depending on your server, some htaccess rules may not be compatible and result in a 500 error.
# If you experience this, find all instances of the term "(500)" in this file for suggestions on
# things you can change to resolve 500 errors.
#
# Optional features
# -----------------------------------------------------------------------------------------------
# Many of the rules in this .htaccess file are optional and commented out by default. While the
# defaults are okay for many, you may want to review each section in this .htaccess file for
# optional rules that you can enable to increase security, speed or best practices. To quickly
# locate all optional rules, search this file for all instances of "(O)".
#
# If using a load balancer
# -----------------------------------------------------------------------------------------------
# If using a load balancer (like those available from AWS) some htaccess rules will need to
# change. Search this file for instances of "(L)" for details.
#
# -----------------------------------------------------------------------------------------------
# 1. Don't show directory indexes, but do follow symbolic links
# 500 NOTE: Some cloud hosting companies don't allow +FollowSymLinks.
# Uncomment +SymLinksifOwnerMatch and comment +FollowSymLinks if you have 500 errors.
# If that doesn't resolve the error, then set it back to +FollowSymLinks.
# 1. Apache Options
#
# Note: If you experience a (500) error, it may indicate your host does not allow setting one or
# more of these options. First try replacing the +FollowSymLinks with +SymLinksifOwnerMatch.
# If that does not work, try commenting them all out, then uncommenting one at a time to
# determine which one is the source of the 500 error.
# -----------------------------------------------------------------------------------------------
# Do not show directory indexes (strongly recommended)
Options -Indexes
# Do not use multiviews (v301)
Options -MultiViews
# Do follow symbolic links
Options +FollowSymLinks
# Options +SymLinksifOwnerMatch
# Character encoding: Serve text/html or text/plain as UTF-8
AddDefaultCharset UTF-8
# -----------------------------------------------------------------------------------------------
# 2. Let ProcessWire handle 404s
# 2. ErrorDocument settings: Have ProcessWire handle 404s
#
# For options and optimizations (O) see:
# https://processwire.com/blog/posts/optimizing-404s-in-processwire/
# -----------------------------------------------------------------------------------------------
ErrorDocument 404 /index.php
# -----------------------------------------------------------------------------------------------
# 3. Handle request for missing favicon.ico/robots.txt files (no ending quote for Apache 1.3)
# -----------------------------------------------------------------------------------------------
@@ -33,6 +85,7 @@ ErrorDocument 404 /index.php
ErrorDocument 404 "The requested file robots.txt was not found.
</Files>
# -----------------------------------------------------------------------------------------------
# 4. Protect from XSS with Apache headers
# -----------------------------------------------------------------------------------------------
@@ -42,18 +95,25 @@ ErrorDocument 404 /index.php
# you will need to remove this one if you want to allow external iframes
Header always append X-Frame-Options SAMEORIGIN
# to prevent cross site scripting (IE8+ proprietary)
# To prevent cross site scripting (IE8+ proprietary)
Header set X-XSS-Protection "1; mode=block"
# prevent mime-based attacks via content sniffing (IE+Chrome)
# Optionally (O) prevent mime-based attacks via content sniffing (IE+Chrome)
# Header set X-Content-Type-Options "nosniff"
</IfModule>
# -----------------------------------------------------------------------------------------------
# 5. Protect ProcessWire system files
# 5. Prevent access to various types of files (v301)
#
# Note that some of these rules are duplicated by RewriteRules or other .htaccess files, as we
# try to maintain two layers of protection when/where possible.
# -----------------------------------------------------------------------------------------------
<FilesMatch "\.(inc|info|info\.json|module|sh|sql)$|^\..*$|composer\.(json|lock)$">
# 5A. Block access to inc, info, info.json/php, module/php, sh, sql and composer files
# -----------------------------------------------------------------------------------------------
<FilesMatch "\.(inc|info|info\.(json|php)|module|module\.php|sh|sql)$|^\..*$|composer\.(json|lock)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
@@ -62,9 +122,23 @@ ErrorDocument 404 /index.php
</IfModule>
</FilesMatch>
# 5B. Block bak, conf, dist, ini, log, orig, sh, sql, swo, swp, ~, and more
# -----------------------------------------------------------------------------------------------
<FilesMatch "(^#.*#|\.(bak|conf|dist|in[ci]|log|orig|sh|sql|sw[op])|~)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
</IfModule>
</FilesMatch>
# -----------------------------------------------------------------------------------------------
# 6. Override a few PHP settings that can't be changed at runtime (not required)
# 500 NOTE: Try commenting out this entire section below if getting Apache 500 errors.
# Note: try commenting out this entire section below if getting Apache (500) errors.
# -----------------------------------------------------------------------------------------------
<IfModule mod_php5.c>
@@ -73,63 +147,197 @@ ErrorDocument 404 /index.php
php_flag register_globals off
</IfModule>
# -----------------------------------------------------------------------------------------------
# 7. Set default directory index files
# -----------------------------------------------------------------------------------------------
DirectoryIndex index.php index.html index.htm
# -----------------------------------------------------------------------------------------------
# 8. ProcessWire requires mod_rewrite
# 8. Enable Apache mod_rewrite (required)
# -----------------------------------------------------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
AddDefaultCharset UTF-8
# 8A. Optionally (O) set a rewrite base if rewrites are not working properly on your server.
# -----------------------------------------------------------------------------------------------
# In addition, if your site directory starts with a "~" you will most likely have to use this.
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
# Examples of RewriteBase (root and subdirectories):
# RewriteBase /
# RewriteBase /pw/
# RewriteBase /~user/
# 8B. Set an environment variable so the installer can detect that mod_rewrite is active.
# -----------------------------------------------------------------------------------------------
# 9. If you only want to allow HTTPS, uncomment the RewriteCond and RewriteRule lines below.
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTPS} off
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# -----------------------------------------------------------------------------------------------
# 10. Set an environment variable so the installer can detect that mod_rewrite is active.
# Note that some web hosts don't support this. If you get a 500 error, you might try
# commenting out this SetEnv line below.
# -----------------------------------------------------------------------------------------------
# Note that some web hosts don't support this. If you get a (500) error, try commenting out this
# SetEnv line below.
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
# -----------------------------------------------------------------------------------------------
# 11. OPTIONAL: Set a rewrite base if rewrites aren't working properly on your server.
# And if your site directory starts with a "~" you will most likely have to use this.
# -----------------------------------------------------------------------------------------------
# RewriteBase /
# RewriteBase /pw/
# RewriteBase /~user/
# -----------------------------------------------------------------------------------------------
# 12. Access Restrictions: Keep web users out of dirs that begin with a period,
# 9. Optionally Force HTTPS (O)
# -----------------------------------------------------------------------------------------------
# Note that on some web hosts you may need to replace %{HTTPS} with %{ENV:HTTPS} in order
# for it to work (in sections 9A and 9D below). If on a load balancer or proxy setup, you will
# likely need to use 9B rather than 9A, and 9E rather than 9D.
# -----------------------------------------------------------------------------------------------
# 9A. To redirect HTTP requests to HTTPS, uncomment the lines below (also see note above):
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTPS} !=on
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 9B. If using load balancer/AWS or behind proxy, use the following rather than 9A above: (L)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP:X-Forwarded-Proto} =http
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 9C. If using cPanel AutoSSL or Let's Encrypt webroot you may need to MOVE one of the below
# lines after the first RewriteCond in 9A or 9B to allow certificate validation:
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/
# RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[\w-]+$
# RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
# 9D. Store current scheme in a 'proto' environment variable for later use
# -----------------------------------------------------------------------------------------------
RewriteCond %{HTTPS} =on
RewriteRule ^ - [env=proto:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^ - [env=proto:http]
# 9E. If using load balancer/AWS or behind proxy, use lines below rather than 9D: (L)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP:X-Forwarded-Proto} =https
# RewriteRule ^ - [env=proto:https]
# RewriteCond %{HTTP:X-Forwarded-Proto} =http
# RewriteRule ^ - [env=proto:http]
# 9F. Tell web browsers to only allow access via HSTS: Strict-Transport-Security (O) (v301)
# -----------------------------------------------------------------------------------------------
# This forces client-side SSL redirection. Before enabling be absolutely certain you can
# always serve via HTTPS because it becomes non-revokable for the duration of your max-age.
# See link below for details and options (note 'max-age=31536000' is 1-year):
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
<IfModule mod_headers.c>
# Uncomment one (1) line below & adjust as needed to enable Strict-Transport-Security (HSTS):
# Header always set Strict-Transport-Security "max-age=31536000;"
# Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains"
# Header always set Strict-Transport-Security "max-age=31536000; preload"
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>
# Section 10 intentionally omitted for future use
# -----------------------------------------------------------------------------------------------
# 11. Nuisance blocking/firewall
# -----------------------------------------------------------------------------------------------
# None of these are enabled by default, but are here for convenience when the need arises.
# Review and uncomment as needed. For more complete firewall (and more overhead), the 7G firewall
# (or latest version) is worth considering, see: https://perishablepress.com/7g-firewall/
# -----------------------------------------------------------------------------------------------
# 11A. Block via IP addresses
# -----------------------------------------------------------------------------------------------
# Note that IP addresses here are examples only and should be replaced with actual IPs.
# Block single IP address
# Deny from 111.222.333.444
# Block multiple IP addresses
# Deny from 111.222.333.444 44.33.22.11
# Block IP address ranges (999.88.*, 99.88.77.*, 1.2.3.*)
# Deny from 999.888 99.88.77 1.2.3
# 11B. Block via request URI (matches strings anywhere in request URL)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REQUEST_URI} (bad-word|wp-admin|wp-content) [NC]
# RewriteRule .* - [F,L]
# 11B. Block via user agent strings (matches strings anywhere in user-agent)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP_USER_AGENT} (bad-bot|mean-bot) [NC]
# RewriteRule .* - [F,L]
# 11C. Block via remote hosts
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REMOTE_HOST} (bad-host|annoying-host) [NC]
# RewriteRule .* - [F,L]
# 11D. Block via HTTP referrer (matches anywhere in referrer URL)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP_REFERER} (bad-referrer|gross-referrer) [NC]
# RewriteRule .* - [F,L]
# 11E. Block unneeded request methods (only if you do not need them)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REQUEST_METHOD} ^(connect|debug|delete|move|put|trace|track) [NC]
# RewriteRule .* - [F,L]
# 11F. Limit file upload size from Apache (i.e. 10240000=10 MB, adjust as needed)
# -----------------------------------------------------------------------------------------------
# LimitRequestBody 10240000
# -----------------------------------------------------------------------------------------------
# 12. Access Restrictions: Keep web users out of dirs or files that begin with a period,
# but let services like Lets Encrypt use the webroot authentication method.
# -----------------------------------------------------------------------------------------------
RewriteRule "(^|/)\.(?!well-known)" - [F]
# -----------------------------------------------------------------------------------------------
# 13. OPTIONAL: Redirect users to the 'www.' version of the site (uncomment to enable).
# For example: http://processwire.com/ would be redirected to http://www.processwire.com/
# 13. Optional domain redirects (O)
#
# Redirect domain.com to www.domain.com redirect (or www to domain.com redirect).
# To use, uncomment either 13A, 13B or 13C. Do not use more than one of them. 13A and 13B
# redirect non-www hosts to www.domain.com, 13C redirects www.domain.com host to domain.com.
# -----------------------------------------------------------------------------------------------
# 13A. Redirect domain.com and *.domain.com to www.domain.com (see also 13B as alternate):
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# RewriteCond %{SERVER_ADDR} !=127.0.0.1
# RewriteCond %{SERVER_ADDR} !=::1
# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 13B. Alternate www redirect if 13A does not work for your server:
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 13C. Redirect www.domain.com to domain.com (do not combine with 13A or 13B):
# -----------------------------------------------------------------------------------------------
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
# RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]
# -----------------------------------------------------------------------------------------------
# 14. OPTIONAL: Send URLs with non-ASCII name-format characters to 404 page (optimization)
# 14. Optionally send URLs with non-ASCII name-format characters to 404 page (optimization).
#
# This ensures that ProcessWire does not spend time processing URLs that we know ahead of time
# are going to result in 404s. Uncomment lines below to enable. (O)
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REQUEST_URI} "[^-_.a-zA-Z0-9/~]"
@@ -137,49 +345,92 @@ DirectoryIndex index.php index.html index.htm
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^(.*)$ index.php?it=/http404/ [L,QSA]
# -----------------------------------------------------------------------------------------------
# 15. Access Restrictions: Protect ProcessWire system files
# 15. Access Restrictions (v301)
# -----------------------------------------------------------------------------------------------
# 15A. Keep http requests out of specific files and directories
# -----------------------------------------------------------------------------------------------
# Allow screenshot files (for install.php only: this 1 line below may be removed after install)
RewriteCond %{REQUEST_URI} !(^|/)site-[^/]+/install/[^/]+\.(jpg|jpeg|png|gif)$
# Prevent all the following rules from blocking images in site install directories
RewriteCond %{REQUEST_URI} !(^|/)site-[^/]+/install/[^/]+\.(jpg|jpeg|png|gif|webp|svg)$
# Block access to any htaccess files
RewriteCond %{REQUEST_URI} (^|/)\.htaccess$ [NC,OR]
# Block access to protected assets directories
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets/(cache|logs|backups|sessions|config|install|tmp)($|/.*$) [OR]
# Block acceess to the /site/install/ directory
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/install($|/.*$) [OR]
# Block dirs in /site/assets/ dirs that start with a hyphen
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets.*/-.+/.* [OR]
# Block access to /wire/config.php, /site/config.php, /site/config-dev.php, and /wire/index.config.php
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php$ [OR]
# Block access to any PHP-based files in /templates-admin/
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))$ [OR]
# Block access to any PHP or markup files in /site/templates/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))$ [OR]
# Block access to any PHP files in /site/assets/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.php)$ [OR]
# Block access to any PHP files in core or core module directories
RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)$ [OR]
# Block access to any PHP files in /site/modules/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module|info\.json)$ [OR]
# Block access to any software identifying txt files
RewriteCond %{REQUEST_URI} (^|/)(COPYRIGHT|INSTALL|README|htaccess)\.(txt|md|textile)$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(\.htaccess|htaccess\..*)$ [NC,OR]
# Block access to various assets directories
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets/(cache|logs|backups|sessions|config|install|tmp)($|/.*$) [NC,OR]
# Block access to the /site/install/ directories
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/install($|/.*$) [NC,OR]
# Block dirs in /site/assets/dirs that start with a hyphen (see config.pagefileSecure)
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets.*/-.+/.* [NC,OR]
# Block access to /wire/config.php, /site/config.php, /site/config-dev.php, /wire/index.config.php, etc.
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php($|/) [NC,OR]
# Block access to any PHP-based files in /site/templates-admin/ or /wire/templates-admin/
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))($|/) [NC,OR]
# Block access to any PHP or markup files in /site/templates/ or /site-*/templates/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))($|/) [NC,OR]
# Block access to any files in /site/classes/ or /site-*/classes/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/classes($|/.*) [NC,OR]
# Block access to any PHP files within /site/assets/ and further
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.ph(p|ps|tml|p[0-9]))($|/) [NC,OR]
# Block access to any PHP, module, inc or info files in core or core modules directories
RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)($|/) [NC,OR]
# Block access to any PHP, tpl or info.json files in /site/modules/ or /site-*/modules/
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module|info\.json)$ [NC,OR]
# Block access to any software identifying txt, markdown or textile files
RewriteCond %{REQUEST_URI} (^|/)(COPYRIGHT|INSTALL|README|CHANGELOG|LICENSE|htaccess)\.(txt|md|textile)$ [NC,OR]
# Block potential arbitrary backup files within site directories for things like config
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/(config[^/]*/?|[^/]+\.php.*)$ [NC,OR]
# Block access throughout to temporary files ending with tilde created by certain editors
RewriteCond %{REQUEST_URI} \.(html?|inc|json|lock|module|php|py|rb|sh|sql|tpl|tmpl|twig)~$ [NC,OR]
# Block access to names of potential backup file extensions within wire or site directories
RewriteCond %{REQUEST_URI} (^|/)(wire/|site[-/]).+\.(bak|old|sql|sw[op]|(bak|php|sql)[./]+.*)[\d.]*$ [NC,OR]
# Block all http access to the default/uninstalled site-default directory
RewriteCond %{REQUEST_URI} (^|/)site-default/
# If any conditions above match, issue a 403 forbidden
RewriteRule ^.*$ - [F,L]
# 15B. Block archive file types commonly used for backup purposes (O)
# -----------------------------------------------------------------------------------------------
# This blocks requests for zip, rar, tar, gz, and tgz files that are sometimes left on servers
# as backup files, and thus can be problematic for security. This rule blocks those files
# unless they are located within the /site/assets/files/ directory. This is not enabled by
# default since there are many legitimate use cases for these files, so uncomment the lines
# below if you want to enable this.
# RewriteCond %{REQUEST_URI} \.(zip|rar|tar|gz|tgz)$ [NC]
# RewriteCond %{REQUEST_URI} !(^|/)(site|site-[^/]+)/assets/files/\d+/ [NC]
# RewriteRule ^.*$ - [F,L]
# PW-PAGENAME
# -----------------------------------------------------------------------------------------------
# 16a. Ensure that the URL follows the name-format specification required by PW
# 16A. Ensure that the URL follows the name-format specification required by PW
# See also directive 16b below, you should choose and use either 16a or 16b.
# -----------------------------------------------------------------------------------------------
RewriteCond %{REQUEST_URI} "^/~?[-_.a-zA-Z0-9/]*$"
# -----------------------------------------------------------------------------------------------
# 16b. Alternative name-format specification for UTF8 page name support.
# 16B. Alternative name-format specification for UTF8 page name support. (O)
# If used, comment out section 16a above and uncomment the directive below. If you have updated
# your $config->pageNameWhitelist make the characters below consistent with that.
# -----------------------------------------------------------------------------------------------
@@ -197,30 +448,34 @@ DirectoryIndex index.php index.html index.htm
RewriteCond %{REQUEST_FILENAME} !(favicon\.ico|robots\.txt)
# -----------------------------------------------------------------------------------------------
# 18. OPTIONAL: Prevent ProcessWire from attempting to serve images or anything in /site/assets/.
# 18. Optionally (O) prevent PW from serving some file types, or anything in /site/assets/.
# Both of these lines are optional, but can help to reduce server load. However, they
# are not compatible with the $config->pagefileSecure option (if enabled) and they
# may produce an Apache 404 rather than your regular 404. You may uncomment the two lines
# below if you don't need to use the $config->pagefileSecure option.
# below if you don't need to use the $config->pagefileSecure option. After uncommenting, test
# a URL like domain.com/site/assets/files/test.jpg to make sure you are getting a 404 and not
# your homepage. If getting your homepage, then either: do not use this option, or comment out
# section #2 above that makes ProcessWire the 404 handler.
# -----------------------------------------------------------------------------------------------
# RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|ico)$ [NC]
# RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|gif|png|ico|webp|svg|js|css)$ [NC]
# RewriteCond %{REQUEST_FILENAME} !(^|/)site/assets/
# -----------------------------------------------------------------------------------------------
# 19. Pass control to ProcessWire if all the above directives allow us to this point.
# For regular VirtualHosts (most installs)
# -----------------------------------------------------------------------------------------------
RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]
# -----------------------------------------------------------------------------------------------
# 20. If using VirtualDocumentRoot (500 NOTE): comment out the one above and use this one instead
# 20. If using VirtualDocumentRoot (500): comment out the one above and use this one instead
# -----------------------------------------------------------------------------------------------
# RewriteRule ^(.*)$ /index.php?it=$1 [L,QSA]
</IfModule>
#################################################################################################
# END PROCESSWIRE HTACCESS DIRECTIVES
#################################################################################################
#################################################################################################

View File

@@ -10,7 +10,7 @@
* do so after you have installed the site, as the installer is not informed
* of any changes made in this file.
*
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
* ProcessWire 3.x, Copyright 2020 by Ryan Cramer
* https://processwire.com
*
* @version 3.0
@@ -29,7 +29,7 @@ $rootPath = __DIR__;
if(DIRECTORY_SEPARATOR != '/') $rootPath = str_replace(DIRECTORY_SEPARATOR, '/', $rootPath);
$composerAutoloader = $rootPath . '/vendor/autoload.php'; // composer autoloader
if(file_exists($composerAutoloader)) require_once($composerAutoloader);
if(!class_exists("ProcessWire", false)) require_once("$rootPath/wire/core/ProcessWire.php");
if(!class_exists("ProcessWire\\ProcessWire", false)) require_once("$rootPath/wire/core/ProcessWire.php");
$config = ProcessWire::buildConfig($rootPath);
if(!$config->dbName) {
@@ -50,7 +50,7 @@ $wire = null;
try {
// Bootstrap ProcessWire's core and make the API available with $wire
$wire = new ProcessWire($config);
$process = $wire->modules->get('ProcessPageView');
$process = $wire->modules->get('ProcessPageView'); /** @var ProcessPageView $process */
$wire->wire('process', $process);
echo $process->execute($config->internal);
$config->internal ? $process->finished() : extract($wire->wire('all')->getArray());

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +0,0 @@
<?php
// Intentionally left blank to test that htaccess rewrite rules are working.
// Accessing this file from http should produce a '403 forbidden' error,
// since all PHP files are blocked under /assets/.

View File

@@ -1,53 +0,0 @@
<?php namespace ProcessWire;
/**
* ProcessWire Configuration File
*
* Site-specific configuration for ProcessWire
*
* Please see the file /wire/config.php which contains all configuration options you may
* specify here. Simply copy any of the configuration options from that file and paste
* them into this file in order to modify them.
*
* SECURITY NOTICE
* In non-dedicated environments, you should lock down the permissions of this file so
* that it cannot be seen by other users on the system. For more information, please
* see the config.php section at: https://processwire.com/docs/security/file-permissions/
*
* This file is licensed under the MIT license
* https://processwire.com/about/license/mit/
*
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
* https://processwire.com
*
*/
if(!defined("PROCESSWIRE")) die();
/*** SITE CONFIG *************************************************************************/
/**
* Enable debug mode?
*
* Debug mode causes additional info to appear for use during dev and debugging.
* This is almost always recommended for sites in development. However, you should
* always have this disabled for live/production sites.
*
* @var bool
*
*/
$config->debug = false;
/**
* Prepend template file
*
* PHP file in /site/templates/ that will be loaded before each page's template file.
* Example: _init.php
*
* @var string
*
*/
$config->prependTemplateFile = '_init.php';
/*** INSTALLER CONFIG ********************************************************************/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

View File

@@ -1 +0,0 @@
This file is here to ensure Git adds the dir to the repo. You may delete this file.

View File

@@ -1,6 +0,0 @@
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
$info = array(
'title' => "Default (Beginner Edition)",
'summary' => "A minimal responsive site profile that serves as a good starting point for new sites or for learning about ProcessWire. Focuses on using the easiest to understand template concepts for new users.",
'screenshot' => "screenshot.png"
);

View File

@@ -1,538 +0,0 @@
--- WireDatabaseBackup {"time":"2014-08-27 12:18:44","user":"","dbName":"pw2_blank","description":"","tables":[],"excludeTables":["pages_drafts","pages_roles","permissions","roles","roles_permissions","users","users_roles","user","role","permission"],"excludeCreateTables":[],"excludeExportTables":["field_roles","field_permissions","field_email","field_pass","caches","session_login_throttle","page_path_history"]}
DROP TABLE IF EXISTS `caches`;
CREATE TABLE `caches` (
`name` varchar(250) NOT NULL,
`data` mediumtext NOT NULL,
`expires` datetime NOT NULL,
PRIMARY KEY (`name`),
KEY `expires` (`expires`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_body`;
CREATE TABLE `field_body` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('27', '<h3>The page you were looking for is not found.</h3><p>Please use our search engine or navigation above to find the page.</p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1', '<h2>What is ProcessWire?</h2>\r\n\r\n<p>ProcessWire gives you full control over your fields, templates and markup. It provides a powerful template system that works the way you do. Not to mention, ProcessWire\'s API makes working with your content easy and enjoyable. <a href=\"http://processwire.com\">Learn more</a></p>\r\n\r\n<h3>About this site profile</h3>\r\n\r\n<p>This is a basic minimal site for you to use in developing your own site or to learn from. There are a few pages here to serve as examples, but this site profile does not make any attempt to demonstrate all that ProcessWire can do. To learn more or ask questions, visit the <a href=\"http://www.processwire.com/talk/\" target=\"_blank\">ProcessWire forums</a> or <a href=\"http://modules.processwire.com/categories/site-profile/\">browse more site profiles</a>. If you are building a new site, this minimal profile is a good place to start. You may use these existing templates and design as they are, or you may replace them entirely.</p>\r\n\r\n<h3>Browse the site</h3>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1002', '<h2>Ut capio feugiat saepius torqueo olim</h2>\r\n\r\n<h3>In utinam facilisi eum vicis feugait nimis</h3>\r\n\r\n<p>Iusto incassum appellatio cui macto genitus vel. Lobortis aliquam luctus, roto enim, imputo wisi tamen. Ratis odio, genitus acsi, neo illum consequat consectetuer ut.</p>\r\n\r\n<blockquote>\r\n<p>Wisi fere virtus cogo, ex ut vel nullus similis vel iusto. Tation incassum adsum in, quibus capto premo diam suscipere facilisi. Uxor laoreet mos capio premo feugait ille et. Pecus abigo immitto epulae duis vel. Neque causa, indoles verto, decet ingenium dignissim.</p>\r\n</blockquote>\r\n\r\n<p>Patria iriure vel vel autem proprius indoles ille sit. Tation blandit refoveo, accumsan ut ulciscor lucidus inhibeo capto aptent opes, foras.</p>\r\n\r\n<h3>Dolore ea valde refero feugait utinam luctus</h3>\r\n\r\n<p><img alt=\"Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.\" class=\"align_left\" src=\"/site/assets/files/1002/psych_cartoon_4-20.400x0.jpg\" />Usitas, nostrud transverbero, in, amet, nostrud ad. Ex feugiat opto diam os aliquam regula lobortis dolore ut ut quadrum. Esse eu quis nunc jugis iriure volutpat wisi, fere blandit inhibeo melior, hendrerit, saluto velit. Eu bene ideo dignissim delenit accumsan nunc. Usitas ille autem camur consequat typicus feugait elit ex accumsan nutus accumsan nimis pagus, occuro. Immitto populus, qui feugiat opto pneum letalis paratus. Mara conventio torqueo nibh caecus abigo sit eum brevitas. Populus, duis ex quae exerci hendrerit, si antehabeo nobis, consequat ea praemitto zelus.</p>\r\n\r\n<p>Immitto os ratis euismod conventio erat jus caecus sudo. code test Appellatio consequat, et ibidem ludus nulla dolor augue abdo tego euismod plaga lenis. Sit at nimis venio venio tego os et pecus enim pneum magna nobis ad pneum. Saepius turpis probo refero molior nonummy aliquam neque appellatio jus luctus acsi. Ulciscor refero pagus imputo eu refoveo valetudo duis dolore usitas. Consequat suscipere quod torqueo ratis ullamcorper, dolore lenis, letalis quia quadrum plaga minim.</p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1001', '<h2>Si lobortis singularis genitus ibidem saluto.</h2><p>Dolore ad nunc, mos accumsan paratus duis suscipit luptatum facilisis macto uxor iaceo quadrum. Demoveo, appellatio elit neque ad commodo ea. Wisi, iaceo, tincidunt at commoveo rusticus et, ludus. Feugait at blandit bene blandit suscipere abdo duis ideo bis commoveo pagus ex, velit. Consequat commodo roto accumsan, duis transverbero.</p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1004', '<h2>Pertineo vel dignissim, natu letalis fere odio</h2><p>Magna in gemino, gilvus iusto capto jugis abdo mos aptent acsi qui. Utrum inhibeo humo humo duis quae. Lucidus paulatim facilisi scisco quibus hendrerit conventio adsum.</p><h3>Si lobortis singularis genitus ibidem saluto</h3><ul><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ul><p>Iriure, ex velit, praesent vulpes delenit capio vero gilvus inhibeo letatio aliquip metuo qui eros. Transverbero demoveo euismod letatio torqueo melior. Ut odio in suscipit paulatim amet huic letalis suscipere eros causa, letalis magna.</p><ol><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ol>');
DROP TABLE IF EXISTS `field_email`;
CREATE TABLE `field_email` (
`pages_id` int(10) unsigned NOT NULL,
`data` varchar(250) NOT NULL DEFAULT '',
PRIMARY KEY (`pages_id`),
KEY `data_exact` (`data`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_headline`;
CREATE TABLE `field_headline` (
`pages_id` int(10) unsigned NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1', 'Minimal Site Profile');
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1001', 'About Us');
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('27', '404 Page Not Found');
DROP TABLE IF EXISTS `field_images`;
CREATE TABLE `field_images` (
`pages_id` int(10) unsigned NOT NULL,
`data` varchar(250) NOT NULL,
`sort` int(10) unsigned NOT NULL,
`description` text NOT NULL,
`modified` datetime DEFAULT NULL,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`),
KEY `modified` (`modified`),
KEY `created` (`created`),
FULLTEXT KEY `description` (`description`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1002', 'psych_cartoon_4-20.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'rough_cartoon_puppet.jpg', '1', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'airport_cartoon_3.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
DROP TABLE IF EXISTS `field_pass`;
CREATE TABLE `field_pass` (
`pages_id` int(10) unsigned NOT NULL,
`data` char(40) NOT NULL,
`salt` char(32) NOT NULL,
PRIMARY KEY (`pages_id`),
KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
DROP TABLE IF EXISTS `field_permissions`;
CREATE TABLE `field_permissions` (
`pages_id` int(10) unsigned NOT NULL,
`data` int(11) NOT NULL,
`sort` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`,`pages_id`,`sort`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_process`;
CREATE TABLE `field_process` (
`pages_id` int(11) NOT NULL DEFAULT '0',
`data` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pages_id`),
KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('6', '17');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('3', '12');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('8', '12');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('9', '14');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('10', '7');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('11', '47');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('16', '48');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('300', '104');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('21', '50');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('29', '66');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('23', '10');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('304', '138');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('31', '136');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('22', '76');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('30', '68');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('303', '129');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('2', '87');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('302', '121');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('301', '109');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('28', '76');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('1007', '150');
DROP TABLE IF EXISTS `field_roles`;
CREATE TABLE `field_roles` (
`pages_id` int(10) unsigned NOT NULL,
`data` int(11) NOT NULL,
`sort` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`,`pages_id`,`sort`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_sidebar`;
CREATE TABLE `field_sidebar` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1', '<h3>About ProcessWire</h3>\r\n\r\n<p>ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients.</p>\r\n\r\n<ul>\r\n <li><a href=\"http://processwire.com/talk/\">Support</a>&nbsp;</li>\r\n <li><a href=\"http://processwire.com/docs/\">Documentation</a></li>\r\n <li><a href=\"http://processwire.com/docs/tutorials/\">Tutorials</a></li>\r\n <li><a href=\"http://cheatsheet.processwire.com\">API Cheatsheet</a></li>\r\n <li><a href=\"http://modules.processwire.com\">Modules/Plugins</a></li>\r\n</ul>');
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1002', '<h3>Sudo nullus</h3>\r\n\r\n<p>Et torqueo vulpes vereor luctus augue quod consectetuer antehabeo causa patria tation ex plaga ut. Abluo delenit wisi iriure eros feugiat probo nisl aliquip nisl, patria. Antehabeo esse camur nisl modo utinam. Sudo nullus ventosus ibidem facilisis saepius eum sino pneum, vicis odio voco opto.</p>');
DROP TABLE IF EXISTS `field_summary`;
CREATE TABLE `field_summary` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1002', 'Dolore ea valde refero feugait utinam luctus. Probo velit commoveo et, delenit praesent, suscipit zelus, hendrerit zelus illum facilisi, regula. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1001', 'This is a placeholder page with two child pages to serve as an example. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1005', 'View this template\'s source for a demonstration of how to create a basic site map. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1004', 'Mos erat reprobo in praesent, mara premo, obruo iustum pecus velit lobortis te sagaciter populus.');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1', 'ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients. ');
DROP TABLE IF EXISTS `field_title`;
CREATE TABLE `field_title` (
`pages_id` int(10) unsigned NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`pages_id`),
KEY `data_exact` (`data`(255)),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('11', 'Templates');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('16', 'Fields');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('22', 'Setup');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('3', 'Pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('6', 'Add Page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('8', 'Tree');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('9', 'Save Sort');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('10', 'Edit Page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('21', 'Modules');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('29', 'Users');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('30', 'Roles');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('2', 'Admin');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('7', 'Trash');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('27', '404 Page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('302', 'Insert Link');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('23', 'Login');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('304', 'Profile');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('301', 'Empty Trash');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('300', 'Search');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('303', 'Insert Image');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('28', 'Access');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('31', 'Permissions');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('32', 'Edit pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('34', 'Delete pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('35', 'Move pages (change parent)');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('36', 'View pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('50', 'Sort child pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('51', 'Change templates on pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('52', 'Administer users');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('53', 'User can update profile/password');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('54', 'Lock or unlock a page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1', 'Home');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1001', 'About');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1002', 'Child page example 1');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1000', 'Search');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1004', 'Child page example 2');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1005', 'Site Map');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1006', 'Use Page Lister');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1007', 'Find');
DROP TABLE IF EXISTS `fieldgroups`;
CREATE TABLE `fieldgroups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('2', 'admin');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('3', 'user');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('4', 'role');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('5', 'permission');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('1', 'home');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('88', 'sitemap');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('83', 'basic-page');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('80', 'search');
DROP TABLE IF EXISTS `fieldgroups_fields`;
CREATE TABLE `fieldgroups_fields` (
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
`fields_id` int(10) unsigned NOT NULL DEFAULT '0',
`sort` int(11) unsigned NOT NULL DEFAULT '0',
`data` text,
PRIMARY KEY (`fieldgroups_id`,`fields_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '2', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '3', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '4', '2', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('4', '5', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('5', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '92', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '44', '5', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '76', '3', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('80', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '44', '5', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '76', '3', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '78', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '79', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '79', '2', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '82', '4', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '82', '4', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '78', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '79', '2', NULL);
DROP TABLE IF EXISTS `fields`;
CREATE TABLE `fields` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(128) CHARACTER SET ascii NOT NULL,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
`flags` int(11) NOT NULL DEFAULT '0',
`label` varchar(250) NOT NULL DEFAULT '',
`data` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `type` (`type`)
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('1', 'FieldtypePageTitle', 'title', '13', 'Title', '{\"required\":1,\"textformatters\":[\"TextformatterEntities\"],\"size\":0,\"maxlength\":255}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('2', 'FieldtypeModule', 'process', '25', 'Process', '{\"description\":\"The process that is executed on this page. Since this is mostly used by ProcessWire internally, it is recommended that you don\'t change the value of this unless adding your own pages in the admin.\",\"collapsed\":1,\"required\":1,\"moduleTypes\":[\"Process\"],\"permanent\":1}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('3', 'FieldtypePassword', 'pass', '24', 'Set Password', '{\"collapsed\":1,\"size\":50,\"maxlength\":128}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('5', 'FieldtypePage', 'permissions', '24', 'Permissions', '{\"derefAsPage\":0,\"parent_id\":31,\"labelFieldName\":\"title\",\"inputfield\":\"InputfieldCheckboxes\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('4', 'FieldtypePage', 'roles', '24', 'Roles', '{\"derefAsPage\":0,\"parent_id\":30,\"labelFieldName\":\"name\",\"inputfield\":\"InputfieldCheckboxes\",\"description\":\"User will inherit the permissions assigned to each role. You may assign multiple roles to a user. When accessing a page, the user will only inherit permissions from the roles that are also assigned to the page\'s template.\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('92', 'FieldtypeEmail', 'email', '9', 'E-Mail Address', '{\"size\":70,\"maxlength\":255}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('82', 'FieldtypeTextarea', 'sidebar', '0', 'Sidebar', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":5,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8],\"collapsed\":2}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('44', 'FieldtypeImage', 'images', '0', 'Images', '{\"extensions\":\"gif jpg jpeg png\",\"adminThumbs\":1,\"inputfieldClass\":\"InputfieldImage\",\"maxFiles\":0,\"descriptionRows\":1,\"fileSchema\":2,\"textformatters\":[\"TextformatterEntities\"],\"outputFormat\":1,\"defaultValuePage\":0,\"defaultGrid\":0,\"icon\":\"camera\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('79', 'FieldtypeTextarea', 'summary', '1', 'Summary', '{\"textformatters\":[\"TextformatterEntities\"],\"inputfieldClass\":\"InputfieldTextarea\",\"collapsed\":2,\"rows\":3,\"contentType\":0}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('76', 'FieldtypeTextarea', 'body', '0', 'Body', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":10,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8]}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('78', 'FieldtypeText', 'headline', '0', 'Headline', '{\"description\":\"Use this instead of the Title if a longer headline is needed than what you want to appear in navigation.\",\"textformatters\":[\"TextformatterEntities\"],\"collapsed\":2,\"size\":0,\"maxlength\":1024}');
DROP TABLE IF EXISTS `modules`;
CREATE TABLE `modules` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`class` varchar(128) CHARACTER SET ascii NOT NULL,
`flags` int(11) NOT NULL DEFAULT '0',
`data` text NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `class` (`class`)
) ENGINE=MyISAM AUTO_INCREMENT=158 DEFAULT CHARSET=utf8;
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('6', 'FieldtypeFile', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('7', 'ProcessPageEdit', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('10', 'ProcessLogin', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('12', 'ProcessPageList', '0', '{\"pageLabelField\":\"title\",\"paginationLimit\":25,\"limit\":50}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('121', 'ProcessPageEditLink', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('14', 'ProcessPageSort', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('15', 'InputfieldPageListSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('117', 'JqueryUI', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('17', 'ProcessPageAdd', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('125', 'SessionLoginThrottle', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('122', 'InputfieldPassword', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('25', 'InputfieldAsmSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('116', 'JqueryCore', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('27', 'FieldtypeModule', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', 'FieldtypeDatetime', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('37', 'InputfieldCheckbox', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('38', 'InputfieldCheckboxes', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('39', 'InputfieldRadios', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', 'InputfieldHidden', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('114', 'PagePermissions', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('97', 'FieldtypeCheckbox', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('115', 'PageRender', '3', '{\"clearCache\":1}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('55', 'InputfieldFile', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('56', 'InputfieldImage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('57', 'FieldtypeImage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('60', 'InputfieldPage', '0', '{\"inputfieldClasses\":[\"InputfieldSelect\",\"InputfieldSelectMultiple\",\"InputfieldCheckboxes\",\"InputfieldRadios\",\"InputfieldAsmSelect\",\"InputfieldPageListSelect\",\"InputfieldPageListSelectMultiple\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('61', 'TextformatterEntities', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('66', 'ProcessUser', '0', '{\"showFields\":[\"name\",\"email\",\"roles\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('67', 'MarkupAdminDataTable', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('68', 'ProcessRole', '0', '{\"showFields\":[\"name\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('76', 'ProcessList', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('78', 'InputfieldFieldset', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('79', 'InputfieldMarkup', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('80', 'InputfieldEmail', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('89', 'FieldtypeFloat', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('83', 'ProcessPageView', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('84', 'FieldtypeInteger', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('85', 'InputfieldInteger', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('86', 'InputfieldPageName', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('87', 'ProcessHome', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('90', 'InputfieldFloat', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('94', 'InputfieldDatetime', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('98', 'MarkupPagerNav', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('129', 'ProcessPageEditImageSelect', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('103', 'JqueryTableSorter', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('104', 'ProcessPageSearch', '1', '{\"searchFields\":\"title\",\"displayField\":\"title path\"}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('105', 'FieldtypeFieldsetOpen', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('106', 'FieldtypeFieldsetClose', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('107', 'FieldtypeFieldsetTabOpen', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('109', 'ProcessPageTrash', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('111', 'FieldtypePageTitle', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('112', 'InputfieldPageTitle', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('113', 'MarkupPageArray', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('131', 'InputfieldButton', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('133', 'FieldtypePassword', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('134', 'ProcessPageType', '1', '{\"showFields\":[]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('135', 'FieldtypeURL', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('136', 'ProcessPermission', '1', '{\"showFields\":[\"name\",\"title\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('137', 'InputfieldPageListSelectMultiple', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('138', 'ProcessProfile', '1', '{\"profileFields\":[\"pass\",\"email\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('139', 'SystemUpdater', '1', '{\"systemVersion\":7}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148', 'AdminThemeDefault', '2', '{\"colors\":\"classic\"}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'JqueryMagnific', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('152', 'PagePathHistory', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldCKEditor', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('156', 'MarkupHTMLPurifier', '0', '', NOW());
DROP TABLE IF EXISTS `page_path_history`;
CREATE TABLE `page_path_history` (
`path` varchar(250) NOT NULL,
`pages_id` int(10) unsigned NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`path`),
KEY `pages_id` (`pages_id`),
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `pages`;
CREATE TABLE `pages` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`templates_id` int(11) unsigned NOT NULL DEFAULT '0',
`name` varchar(128) CHARACTER SET ascii NOT NULL,
`status` int(10) unsigned NOT NULL DEFAULT '1',
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified_users_id` int(10) unsigned NOT NULL DEFAULT '2',
`created` timestamp NOT NULL DEFAULT '2015-12-18 06:09:00',
`created_users_id` int(10) unsigned NOT NULL DEFAULT '2',
`sort` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `name_parent_id` (`name`,`parent_id`),
KEY `parent_id` (`parent_id`),
KEY `templates_id` (`templates_id`),
KEY `modified` (`modified`),
KEY `created` (`created`),
KEY `status` (`status`)
) ENGINE=MyISAM AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8;
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1', '0', '1', 'home', '9', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('2', '1', '2', 'processwire', '1035', NOW(), '40', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('3', '2', '2', 'page', '21', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('6', '3', '2', 'add', '1045', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('7', '1', '2', 'trash', '1039', NOW(), '41', NOW(), '2', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('8', '3', '2', 'list', '21', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('9', '3', '2', 'sort', '1047', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('10', '3', '2', 'edit', '1045', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('11', '22', '2', 'template', '21', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('16', '22', '2', 'field', '21', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('21', '2', '2', 'module', '21', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('22', '2', '2', 'setup', '21', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('23', '2', '2', 'login', '1035', NOW(), '41', NOW(), '2', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('27', '1', '29', 'http404', '1035', NOW(), '41', NOW(), '3', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('28', '2', '2', 'access', '13', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('29', '28', '2', 'users', '29', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('30', '28', '2', 'roles', '29', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('31', '28', '2', 'permissions', '29', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('32', '31', '5', 'page-edit', '25', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('34', '31', '5', 'page-delete', '25', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('35', '31', '5', 'page-move', '25', NOW(), '41', NOW(), '2', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('36', '31', '5', 'page-view', '25', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('37', '30', '4', 'guest', '25', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('38', '30', '4', 'superuser', '25', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('41', '29', '3', 'admin', '1', NOW(), '40', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('40', '29', '3', 'guest', '25', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('50', '31', '5', 'page-sort', '25', NOW(), '41', NOW(), '41', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('51', '31', '5', 'page-template', '25', NOW(), '41', NOW(), '41', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('52', '31', '5', 'user-admin', '25', NOW(), '41', NOW(), '41', '10');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('53', '31', '5', 'profile-edit', '1', NOW(), '41', NOW(), '41', '13');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('54', '31', '5', 'page-lock', '1', NOW(), '41', NOW(), '41', '8');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('300', '3', '2', 'search', '1045', NOW(), '41', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('301', '3', '2', 'trash', '1047', NOW(), '41', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('302', '3', '2', 'link', '1041', NOW(), '41', NOW(), '2', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('303', '3', '2', 'image', '1041', NOW(), '41', NOW(), '2', '7');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('304', '2', '2', 'profile', '1025', NOW(), '41', NOW(), '41', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1000', '1', '26', 'search', '1025', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1001', '1', '29', 'about', '1', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1002', '1001', '29', 'what', '1', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1004', '1001', '29', 'background', '1', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1005', '1', '34', 'site-map', '1', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1006', '31', '5', 'page-lister', '1', NOW(), '40', NOW(), '40', '9');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1007', '3', '2', 'lister', '1', NOW(), '40', NOW(), '40', '8');
DROP TABLE IF EXISTS `pages_access`;
CREATE TABLE `pages_access` (
`pages_id` int(11) NOT NULL,
`templates_id` int(11) NOT NULL,
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`pages_id`),
KEY `templates_id` (`templates_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('37', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('38', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('32', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('34', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('35', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('36', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('50', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('51', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('52', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('53', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('54', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('1006', '2', NOW());
DROP TABLE IF EXISTS `pages_parents`;
CREATE TABLE `pages_parents` (
`pages_id` int(10) unsigned NOT NULL,
`parents_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`parents_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('2', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('7', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1001', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1001');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1001');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1005', '1');
DROP TABLE IF EXISTS `pages_sortfields`;
CREATE TABLE `pages_sortfields` (
`pages_id` int(10) unsigned NOT NULL DEFAULT '0',
`sortfield` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`pages_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `session_login_throttle`;
CREATE TABLE `session_login_throttle` (
`name` varchar(128) NOT NULL,
`attempts` int(10) unsigned NOT NULL DEFAULT '0',
`last_attempt` int(10) unsigned NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `templates`;
CREATE TABLE `templates` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
`flags` int(11) NOT NULL DEFAULT '0',
`cache_time` mediumint(9) NOT NULL DEFAULT '0',
`data` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `fieldgroups_id` (`fieldgroups_id`)
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('2', 'admin', '2', '8', '0', '{\"useRoles\":1,\"parentTemplates\":[2],\"allowPageNum\":1,\"redirectLogin\":23,\"slashUrls\":1,\"noGlobal\":1,\"modified\":1406317841}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('3', 'user', '3', '8', '0', '{\"useRoles\":1,\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"User\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('4', 'role', '4', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"Role\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('5', 'permission', '5', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"guestSearchable\":1,\"pageClass\":\"Permission\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('1', 'home', '1', '0', '0', '{\"useRoles\":1,\"noParents\":1,\"slashUrls\":1,\"modified\":1409155727,\"roles\":[37]}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('29', 'basic-page', '83', '0', '0', '{\"slashUrls\":1,\"modified\":1409155715}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('26', 'search', '80', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"allowPageNum\":1,\"slashUrls\":1,\"modified\":1409155785}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('34', 'sitemap', '88', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"redirectLogin\":23,\"slashUrls\":1,\"modified\":1409155794}');
UPDATE pages SET created_users_id=41, modified_users_id=41, created=NOW(), modified=NOW();
--- /WireDatabaseBackup {"numTables":20,"numCreateTables":27,"numInserts":305,"numSeconds":0}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -1,89 +0,0 @@
ABOUT /SITE/MODULES/
====================
This directory /site/modules/ is where you may install additional plugin modules.
These modules are specific to your site only. There is also a corresponding
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
leave those alone).
If safe for your hosting environment, you may wish to make this directory
writable to PHP so that the installation of your modules can be managed from
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
environments and is completely optional.
Where to get modules?
---------------------
Visit the modules directory at: http://modules.processwire.com
Installing modules from the ProcessWire admin
---------------------------------------------
If your /site/modules/ directory is writable, you can install modules from
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
installation options.
Installing modules from the file system
---------------------------------------
Each module (and any related files) should live in a directory of its own. The
directory should generally carry the same name as the module. For instance, if
you are installing a module named ProcessDatabaseBackups.module, then it should
live in the directory /site/modules/ProcessDatabaseBackups/.
Once you have placed a new module in this directory, you need to let ProcessWire
know about it. Login to the admin and click "Modules". Then click the "Check for
new modules" button. It will find your new module(s). Click the "Install" button
next to any new modules that you want to install.
Removing modules
----------------
The first step in removing a module is to uninstall it from ProcessWire (if it
isn't already). You do this by going to the "Modules" page, and "Site" tab in
your ProcessWire admin. Click the "Uninstall" button next to the module you
want to remove.
After the module is uninstalled, you may remove the module files. If your
modules file system is writable to ProcessWire, it will give you a "Delete"
button next to the module in your "Modules" admin page. You may click that to
remove the module files.
If your file system is not writable, you may remove the module files manually
from the file system (via SFTP or whatever tool you are using to manage your
files on the server).
Interested in learning how to make your own modules?
----------------------------------------------------
We've created two "Hello World" modules as examples for those interested in
learning module development:
- Helloworld.module demonstrates the basics of modules and hooks.
http://modules.processwire.com/modules/helloworld/
- ProcessHello.module demonstrates the basics of how to create a Process
module. Process modules are those that create applications in the admin.
http://modules.processwire.com/modules/process-hello/
There is a module development forum located at:
https://processwire.com/talk/forum/19-moduleplugin-development/
For a tutorial on how to create modules, see:
http://wiki.processwire.com/index.php/Module_Creation
Additional resources
--------------------
To find and download new modules, see the modules directory at:
http://modules.processwire.com/
For more information about modules, see the documentation at:
http://processwire.com/api/modules/
For discussion and support of modules, see:
http://processwire.com/talk/forum/4-modulesplugins/

View File

@@ -1,221 +0,0 @@
Welcome to the Default/Basic Site Profile (Beginner Edition)
============================================================
This is a plain text document. If you are currently online with
internet access, you will find it much nicer to read an HTML
formatted version of this document located at:
http://processwire.com/docs/tutorials/default-site-profile/
Are you already somewhat familiar with ProcessWire and/or PHP? You
might also want to look into the Intermediate Edition of this profile.
Need multi-language support? The multi-language version of this
default site profile is a good place to start.
Both the intermediate and multi-language versions of this site
profile are available as installation options when installing
ProcessWire.
Introduction
============
Just getting started with ProcessWire and aren't totally clear on what
template files are? The good news is that template files aren't anything
other than regular HTML or PHP files, and you can use them however you
want!
If you know enough to create an HTML or PHP document, then you already
know how to use ProcessWire template files. The only difference is that
ProcessWire provides your template files with certain variables that
you may choose to use, or not use. Most notable is the $page variable,
which contains all the fields of text or other information contained
by the page being viewed.
For instance, $page->title contains the text contained in the Title
field of the current page, and $page->body contains the text for the
Body field of the current page. You can choose to output those wherever
you want. A really simple template file might look like a regular HTML
document except for where you want to output the dynamic portions (like
title and body). Here's an example:
<html>
<head>
<title><?= $page->title ?></title>
</head>
<body>
<h1><?= $page->title ?></h1>
<?= $page->body ?>
</body>
</html>
That's all that a template file is. Now when we're building something
for real, we like to save ourselves as much work as possible and avoid
writing the same HTML markup in multiple places. In order to do that
we'll usually isolate the repetitive markup into separate files or
functions so that we don't have to write it more than once. That's
not required of course, but it's a good strategy to save you time and
make it easier to maintain your site further down the road.
Template file strategies
========================
The two most popular strategies for template files are:
1. Direct Output is the simplest strategy and the one used by the
beginner edition of this site profile. While it doesn't scale as
well as other strategies, it is a very good point to start from.
If you've ever worked with WordPress templates, chances are you
already know how Direct Output works. Read more about the Direct
Output strategy:
http://processwire.com/to/direct-output/
2. Delayed Output is the strategy used by the intermediate edition
of this site profile. It is also quite simple but involves
populating content to placeholder variables rather than outputting
directly. As a result it may take a few more seconds to understand
than direct output, but the result is more scalable and
maintainable. Read more about Delayed Output here:
http://processwire.com/to/delayed-output/
How this Default Site Profile works (Beginner Edition)
======================================================
This Default Site Profile (beginner edition) uses the Direct Output
strategy. When a page is viewed on your site, here's what happens:
1. The initialization file is loaded (_init.php).
Here we use it just to define a shared function for navigation.
2. The template file is loaded (i.e. basic-page.php or another).
It outputs the content for the page.
Below are more details on exactly what takes place and in these two
steps outlined above:
1. The initialization file is loaded (_init.php)
---------------------------------------------
This step is completely optional with direct output, but we find
it handy to use this file to define our shared functions (if any).
In the case of this profile, we define a single renderNavTree()
function. It is useful to have this as a re-usable function since
we use it to generate markup for more than one place (specifically,
for sidebar navigation and for the sitemap). However, if you have
any confusion about this, ignore it for now and focus on #2 below
as an initialization file is completely optional.
2. The template file is loaded (i.e. basic-page.php or another)
------------------------------------------------------
Next, ProcessWire loads the template file used by the page being
viewed. For example, most pages here use basic-page.php.
The first thing that our template file does is include the HTML
header markup, which we've put in a file called _head.php:
include("./_head.php");
The above is simply a PHP function that says "include this file".
The leading "./" just means "from the current directory". We also
have an underscore "_" prepended to our filename here as a way
to identify this as an include file rather than a regular template
file. While completely optional, the underscore does also make
ProcessWire ignore it when looking for new template files, so you
may find it handy to use this convention in your own include files.
An alternate would be to use .inc as an extension rather than .php.
Have a look in the _head.php file now so you can see what's there.
It is basically half of an HTML file. Now have a look in _foot.php,
that's the other half. Notice that all the template files that
include _head.php at the beginning also include _foot.php at the
ending. This is to ensure there is a complete HTML document being
output.
To conclude, our template files (using direct output) are focused
on outputting what goes in-between the _head.php and _foot.php.
In our case, this is always a <div id='content'>...</div> and
optionally a <div id='sidebar'>...</div>. But for your own
template files you might choose to output something completely
different.
Files that make up this profile
===============================
Here is a summary of what is in each of the files in this directory.
We also recommend reviewing them in this order:
- _head.php
HTML header (top half of HTML document)
- _foot.php
HTML footer (bottom half of HTML document)
- basic-page.php
Template file outputting #content and #sidebar columns. This
template file is used by most pages in this small site.
- home.php
Template file used by homepage. Note that since the homepage uses
nearly the same layout as the other pages in the site, this
template file simply includes basic-page.php. No need two have
more than one template file with the same contents.
- sitemap.php
Outputs a sitemap of the entire site.
- search.php
Outputs results of site search queries.
- _init.php
Initialization file that we use to define a shared function for
generating navigation markup.
More template file resources
============================
- How do template files work?
https://processwire.com/api/templates/
Official documentation on template files.
- API variables
https://processwire.com/api/variables/
We mentioned $page above, but here are all the other API variables
your template file can make use of.
- API cheatsheet
http://cheatsheet.processwire.com/
Once you've got the basics down, this cheatsheet is invaluable in
describing all the properties and functions available to your
template files.
Tutorials that help with template files
=======================================
- Hello Worlds Tutoral, by Ryan Cramer
http://processwire.com/docs/tutorials/hello-worlds/
The Hello Worlds tutorial gently introduces ProcessWire and template
files, starting from a blank slate.
- "But what if I don't know how to code?", by Joss Sanglier
http://processwire.com/docs/tutorials/but-what-if-i-dont-know-how-to-code/
This particular series of tutorials will not only introduce you to
ProcessWire, but step by step, will give you those small bits of coding
knowledge that will get you going and open up this amazing world of a
Content Management Framework.
- Installing a CSS Framework, by Joss Sanglier
http://processwire.com/docs/tutorials/installing-a-css-framework/
A quick demonstration about how easy it is to use one of the many CSS
frameworks available to designers.
- How to structure your template files, by Ryan Cramer
http://processwire.com/docs/tutorials/how-to-structure-your-template-files/
This tutorial contrasts and compares the direct output and delayed
output strategies and more. It is a very good introduction to using
ProcessWire template files.

View File

@@ -1,22 +0,0 @@
</div><!--/#main-->
<!-- footer -->
<footer id='footer'>
<p>
Powered by <a href='http://processwire.com'>ProcessWire CMS</a> &nbsp; / &nbsp;
<?php
if($user->isLoggedin()) {
// if user is logged in, show a logout link
echo "<a href='{$config->urls->admin}login/logout/'>Logout ($user->name)</a>";
} else {
// if user not logged in, show a login link
echo "<a href='{$config->urls->admin}'>Admin Login</a>";
}
?>
</p>
</footer>
</body>
</html>

View File

@@ -1,98 +0,0 @@
<?php
/**
* Shared functions used by the beginner profile
*
* This file is included by the _init.php file, and is here just as an example.
* You could place these functions in the _init.php file if you prefer, but keeping
* them in this separate file is a better practice.
*
*/
/**
* Given a group of pages, render a simple <ul> navigation
*
* This is here to demonstrate an example of a simple shared function.
* Usage is completely optional.
*
* @param PageArray $items
*
*/
function renderNav(PageArray $items) {
if(!$items->count()) return;
echo "<ul class='nav'>";
// cycle through all the items
foreach($items as $item) {
// render markup for each navigation item as an <li>
if($item->id == wire('page')->id) {
// if current item is the same as the page being viewed, add a "current" class to it
echo "<li class='current'>";
} else {
// otherwise just a regular list item
echo "<li>";
}
// markup for the link
echo "<a href='$item->url'>$item->title</a> ";
// if the item has summary text, include that too
if($item->summary) echo "<div class='summary'>$item->summary</div>";
// close the list item
echo "</li>";
}
echo "</ul>";
}
/**
* Given a group of pages render a tree of navigation
*
* @param Page|PageArray $items Page to start the navigation tree from or pages to render
* @param int $maxDepth How many levels of navigation below current should it go?
*
*/
function renderNavTree($items, $maxDepth = 3) {
// if we've been given just one item, convert it to an array of items
if($items instanceof Page) $items = array($items);
// if there aren't any items to output, exit now
if(!count($items)) return;
// $out is where we store the markup we are creating in this function
// start our <ul> markup
echo "<ul class='nav nav-tree'>";
// cycle through all the items
foreach($items as $item) {
// markup for the list item...
// if current item is the same as the page being viewed, add a "current" class to it
if($item->id == wire('page')->id) {
echo "<li class='current'>";
} else {
echo "<li>";
}
// markup for the link
echo "<a href='$item->url'>$item->title</a>";
// if the item has children and we're allowed to output tree navigation (maxDepth)
// then call this same function again for the item's children
if($item->hasChildren() && $maxDepth) {
renderNavTree($item->children, $maxDepth-1);
}
// close the list item
echo "</li>";
}
// end our <ul> markup
echo "</ul>";
}

View File

@@ -1,60 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><?php echo $page->title; ?></title>
<meta name="description" content="<?php echo $page->summary; ?>" />
<link href='//fonts.googleapis.com/css?family=Lusitana:400,700|Quattrocento:400,700' rel='stylesheet' type='text/css' />
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
</head>
<body class='has-sidebar'>
<!-- top navigation -->
<ul class='topnav'><?php
// top navigation consists of homepage and its visible children
$homepage = $pages->get('/');
$children = $homepage->children();
// make 'home' the first item in the navigation
$children->prepend($homepage);
// render an <li> for each top navigation item
foreach($children as $child) {
if($child->id == $page->rootParent->id) {
// this $child page is currently being viewed (or one of it's children/descendents)
// so we highlight it as the current page in the navigation
echo "<li class='current'><a href='$child->url'>$child->title</a></li>";
} else {
echo "<li><a href='$child->url'>$child->title</a></li>";
}
}
// output an "Edit" link if this page happens to be editable by the current user
if($page->editable()) {
echo "<li class='edit'><a href='$page->editUrl'>Edit</a></li>";
}
?></ul>
<!-- search form -->
<form class='search' action='<?php echo $pages->get('template=search')->url; ?>' method='get'>
<input type='text' name='q' placeholder='Search' value='' />
<button type='submit' name='submit'>Search</button>
</form>
<!-- breadcrumbs -->
<div class='breadcrumbs'><?php
// breadcrumbs are the current page's parents
foreach($page->parents() as $item) {
echo "<span><a href='$item->url'>$item->title</a></span> ";
}
// optionally output the current page as the last item
echo "<span>$page->title</span> ";
?></div>
<div id='main'>

View File

@@ -1,15 +0,0 @@
<?php
/**
* Initialization file for template files
*
* This file is automatically included as a result of $config->prependTemplateFile
* option specified in your /site/config.php.
*
* You can initialize anything you want to here. In the case of this beginner profile,
* we are using it just to include another file with shared functions.
*
*/
include_once("./_func.php"); // include our shared functions

View File

@@ -1,15 +0,0 @@
<?php namespace ProcessWire;
/**
* Admin template just loads the admin application controller,
* and admin is just an application built on top of ProcessWire.
*
* This demonstrates how you can use ProcessWire as a front-end
* to another application.
*
* Feel free to hook admin-specific functionality from this file,
* but remember to leave the require() statement below at the end.
*
*/
require($config->paths->adminTemplates . 'controller.php');

View File

@@ -1,45 +0,0 @@
<?php
include('./_head.php'); // include header markup ?>
<div id='content'><?php
// output 'headline' if available, otherwise 'title'
echo "<h1>" . $page->get('headline|title') . "</h1>";
// output bodycopy
echo $page->body;
// render navigation to child pages
renderNav($page->children);
// TIP: Notice that this <div id='content'> section is
// identical between home.php and basic-page.php. You may
// want to move this to a separate file, like _content.php
// and then include('./_content.php'); here instead, on both
// the home.php and basic-page.php template files. Then when
// you make yet more templates that need the same thing, you
// can simply include() it from them.
?></div><!-- end content -->
<div id='sidebar'><?php
// rootParent is the parent page closest to the homepage
// you can think of this as the "section" that the user is in
// so we'll assign it to a $section variable for clarity
$section = $page->rootParent;
// if there's more than 1 page in this section...
if($section->hasChildren > 1) {
// output sidebar navigation
// see _init.php for the renderNavTree function
renderNavTree($section);
}
// output sidebar text if the page has it
echo $page->sidebar;
?></div><!-- end sidebar -->
<?php include('./_foot.php'); // include footer markup ?>

View File

@@ -1,11 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>500 Internal Server Error</title>
</head>
<body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
<p>{message}</p>
</body>
</html>

View File

@@ -1,21 +0,0 @@
When a fatal error occurs, ProcessWire displays the message:
"Unable to complete this request due to an error."
The message is intentionally vague for security purposes.
Details will be logged to /site/assets/logs/errors.txt.
When present in this directory, the file 500.html will be
displayed instead of the generic error message above. Feel
free to modify this file to show whatever you would like.
Please note the following:
* 500.html is plain HTML and has no PHP or API access.
* You may enter the tag {message} and ProcessWire will
replace this with additional details when applicable.
When not applicable, it will make it blank.
* If you are logged in as an admin, ProcessWire will
give you a detailed error message rather than 500.html.

View File

@@ -1,39 +0,0 @@
<?php
include('./_head.php'); // include header markup ?>
<div id='content'><?php
// output 'headline' if available, otherwise 'title'
echo "<h1>" . $page->get('headline|title') . "</h1>";
// output bodycopy
echo $page->body;
// render navigation to child pages
renderNav($page->children);
?></div><!-- end content -->
<div id='sidebar'><?php
if(count($page->images)) {
// if the page has images on it, grab one of them randomly...
$image = $page->images->getRandom();
// resize it to 400 pixels wide
$image = $image->width(400);
// output the image at the top of the sidebar...
echo "<img src='$image->url' alt='$image->description' />";
}
// output sidebar text if the page has it
echo $page->sidebar;
?></div><!-- end sidebar -->
<?php include('./_foot.php'); // include footer markup ?>

View File

@@ -1,3 +0,0 @@
// Well hello there. Looks like we don't have any Javascript.
// Maybe you could help a friend out and put some in here?
// Or at least, when ready, this might be a good place for it.

View File

@@ -1,69 +0,0 @@
<?php
include("./_head.php"); ?>
<div id='content'>
<?php
// search.php template file
// See README.txt for more information.
// look for a GET variable named 'q' and sanitize it
$q = $sanitizer->text($input->get->q);
// did $q have anything in it?
if($q) {
// Sanitize for placement within a selector string. This is important for any
// values that you plan to bundle in a selector string like we are doing here.
$q = $sanitizer->selectorValue($q);
// Search the title and body fields for our query text.
// Limit the results to 50 pages.
$selector = "title|body~=$q, limit=50";
// If user has access to admin pages, lets exclude them from the search results.
// Note that 2 is the ID of the admin page, so this excludes all results that have
// that page as one of the parents/ancestors. This isn't necessary if the user
// doesn't have access to view admin pages. So it's not technically necessary to
// have this here, but we thought it might be a good way to introduce has_parent.
if($user->isLoggedin()) $selector .= ", has_parent!=2";
// Find pages that match the selector
$matches = $pages->find($selector);
// did we find any matches? ...
if($matches->count) {
// we found matches
echo "<h2>Found $matches->count page(s) matching your query:</h2>";
// output navigation for them (see TIP below)
echo "<ul class='nav'>";
foreach($matches as $match) {
echo "<li><a href='$match->url'>$match->title</a>";
echo "<div class='summary'>$match->summary</div></li>";
}
echo "</ul>";
// TIP: you could replace everything from the <ul class='nav'> above
// all the way to here, with just this: renderNav($matches);
} else {
// we didn't find any
echo "<h2>Sorry, no results were found.</h2>";
}
} else {
// no search terms provided
echo "<h2>Please enter a search term in the search box (upper right corner)</h2>";
}
?>
</div><!-- end content -->
<?php include("./_foot.php"); ?>

View File

@@ -1,17 +0,0 @@
<?php
include("./_head.php"); ?>
<div id='content'>
<?php
$maxDepth = 4;
renderNavTree($pages->get('/'), $maxDepth);
// see the _init.php for the renderNavTree function
?>
</div>
<?php include("./_foot.php"); ?>

View File

@@ -1,293 +0,0 @@
/**
* main.css
*
* 1. General HTML tags
* 2. Masthead area
* 3. Main content and sidebar
* 4. Footer
* 5. Media queries for responsive layout
*
*/
/*********************************************************************
* 1. General HTML tags
*
*/
* {
box-sizing: border-box;
}
body {
padding: 5%;
max-width: 1600px;
margin: 0 auto;
}
body, td, input[type=text], textarea {
font-family: 'Quattrocento', serif;
font-size: 105%;
line-height: 1.8em;
color: #444;
}
img {
max-width: 100%;
}
h2 {
font-weight: normal;
}
h3 {
border-top: 1px solid #eee;
padding-top: 1em;
color: #777;
}
a {
color: #333;
text-decoration: none;
border-bottom: 1px solid #ccc;
}
a:hover,
.nav a:hover {
color: #000;
border-color: #aaa;
}
blockquote {
margin-left: 0;
padding-left: 1.5em;
padding-right: 2em;
border-left: 4px solid #ddd;
font-style: italic;
color: #777;
}
pre, code {
background: #eee;
border: 1px solid #ddd;
}
pre {
font-size: 14px;
line-height: 1.4em;
padding: 1em;
border-left: 4px solid #ddd;
}
/*********************************************************************
* 2. Masthead area
*
*/
.topnav, .topnav li {
list-style: none;
padding: 0;
margin: 0;
}
.topnav li {
float: left;
margin-right: 1em;
margin-bottom: 1em;
}
.topnav a {
padding: 0.25em 0.5em;
text-decoration: none;
display: block;
background: #eee;
color: #333;
border: 1px solid #eee;
}
.topnav a:hover {
background: #ddd;
border-color: #ddd;
}
.topnav li.current a {
background: #ccc;
border-color: #ccc;
}
.topnav li.edit a {
background: none;
}
form.search {
float: right;
margin: 0;
width: 30%;
}
form.search input {
margin: 0;
padding: 0.25em 0.5em;
border: 1px solid #ccc;
width: 100%;
}
form.search button {
display: none;
}
.breadcrumbs {
clear: both;
padding-top: 1em;
}
.breadcrumbs span:after {
content: ">";
color: #999;
padding-left: 0.5em;
padding-right: 0.25em;
}
/*********************************************************************
* 3. Main content and sidebar
*
*/
#main {
border-top: 1px solid #eee;
padding-top: 1em;
margin-top: 1em;
clear: both;
}
#content {
width: 65%;
float: left;
padding-bottom: 2em;
}
#sidebar {
width: 35%;
padding-left: 5%;
float: left;
padding-bottom: 2em;
}
.nav {
margin-left: 0;
padding-left: 0;
list-style: none;
}
.nav .nav {
padding-left: 1.5em;
list-style: disc;
}
.nav li {
margin: 1em 0;
}
.nav-tree li {
margin-top: 0;
margin-bottom: 0;
}
.nav a {
font-weight: bold;
}
.nav-tree li a {
color: #777;
}
.nav .current > a {
color: #333;
}
.align_left {
/* for images placed in rich text editor */
float: left;
margin: 0 1em 0.5em 0;
position: relative;
top: 0.5em;
max-width: 50%;
}
.align_right {
/* for images placed in rich text editor */
float: right;
margin: 0 0 0.5em 1em;
max-width: 50%;
}
.align_center {
/* for images placed in rich text editor */
display: block;
margin: 1em auto;
position: relative;
top: 0.5em;
}
figure {
display: table;
width: 1px;
margin: 1em 0;
}
figure img {
display: table-row;
margin-bottom: 0.5em;
}
figure figcaption {
display: table-row;
font-size: smaller;
color: #777;
line-height: 1.4em;
}
/*********************************************************************
* 4. Footer
*
*/
#footer {
clear: both;
border-top: 1px solid #eee;
font-size: 80%;
}
/*********************************************************************
* 5. Media queries for responsive layout
*
*/
@media only screen and (max-width: 767px) {
/* mobile layout */
body, td, textarea {
font-size: 100%;
}
#content,
#sidebar {
float: none;
width: 100%;
padding: 0;
}
form.search {
float: none;
width: 100%;
}
#content {
width: 100%;
}
#sidebar {
border-top: 1px solid #eee;
padding-top: 1em;
}
.align_left, .align_right, .align_center {
display: block;
float: none;
margin: 1em auto;
max-width: 100%;
}
}
@media only screen and (min-width: 1200px) {
/* extra-wide desktop layout */
body, td, textarea {
font-size: 115%;
}
}

View File

@@ -0,0 +1,20 @@
<?php namespace ProcessWire;
/**
* Example custom page class for pages using template “home”
*
* Feel free to delete this file if you do not want it. This is here as a
* placeholder to ensure the /site/classes/ directory exists.
*
* When this file/class is present, page using template “home” will use this
* class “HomePage” rather than class “Page”. You can do the same for any
* other templates. For example, template “basic-page” would have a class
* named “BasicPagePage” and template “admin” would have “AdminPage”, etc.
*
* Custom page classes must extend class “Page”, or one derived from it.
*
* @property string $title
*
*/
class HomePage extends Page {
}

View File

@@ -17,27 +17,33 @@
* This file is licensed under the MIT license
* https://processwire.com/about/license/mit/
*
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
* ProcessWire 3.x, Copyright 2025 by Ryan Cramer
* https://processwire.com
*
*/
if(!defined("PROCESSWIRE")) die();
/** @var Config $config */
/*** SITE CONFIG *************************************************************************/
/**
* Enable debug mode?
*
* Debug mode causes additional info to appear for use during dev and debugging.
* This is almost always recommended for sites in development. However, you should
* always have this disabled for live/production sites.
*
* @var bool
*
*/
$config->debug = false;
// Let core API vars also be functions? So you can use $page or page(), for example.
$config->useFunctionsAPI = true;
// Use custom Page classes in /site/classes/ ? (i.e. template "home" => HomePage.php)
$config->usePageClasses = true;
/*** INSTALLER CONFIG ********************************************************************/
// Use Markup Regions? (https://processwire.com/docs/front-end/output/markup-regions/)
$config->useMarkupRegions = true;
// Prepend this file in /site/templates/ to any rendered template files
$config->prependTemplateFile = '_init.php';
// Append this file in /site/templates/ to any rendered template files
$config->appendTemplateFile = '_main.php';
// Allow template files to be compiled for backwards compatibility?
$config->templateCompile = false;
/*** INSTALLER CONFIG ********************************************************************/

View File

@@ -1,5 +1,9 @@
<?php namespace ProcessWire;
if(!defined("PROCESSWIRE")) die();
/** @var ProcessWire $wire */
/**
* ProcessWire Request Finished
* ============================

12
site-blank/htaccess.txt Normal file
View File

@@ -0,0 +1,12 @@
# Start ProcessWire:pwbphp (install)
# Block PHP files from direct access (optional fallback if root .htaccess missing)
<FilesMatch "\.(php|module|inc)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</FilesMatch>
# End ProcessWire:pwbphp

View File

@@ -1,5 +1,9 @@
<?php namespace ProcessWire;
if(!defined("PROCESSWIRE")) die();
/** @var ProcessWire $wire */
/**
* ProcessWire Bootstrap Initialization
* ====================================
@@ -7,9 +11,9 @@
* This occurs after all autoload modules have been initialized, but before the current page
* has been determined. This is a good place to attach hooks. You may place whatever you'd
* like in this file. For example:
*
*
* $wire->addHookAfter('Page::render', function($event) {
* $event->return = str_replace("</body>", "<p>Hello World</p></body>", $event->return);
* });
*
*
*/

View File

@@ -1,6 +1,7 @@
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
<?php namespace ProcessWire;
if(!defined("PROCESSWIRE_INSTALL")) die();
$info = array(
'title' => "Blank",
'summary' => "This profile includes only the bare minimum pages, fields and templates, giving you essentially a blank slate. ",
'screenshot' => ""
);
);

View File

@@ -185,7 +185,6 @@ CREATE TABLE `modules` (
) ENGINE=MyISAM AUTO_INCREMENT=159 DEFAULT CHARSET=utf8;
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
@@ -207,7 +206,6 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', '
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
@@ -218,7 +216,6 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', '
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
@@ -267,7 +264,7 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148',
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'JqueryMagnific', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldCKEditor', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldTinyMCE', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('156', 'MarkupHTMLPurifier', '0', '', NOW());
DROP TABLE IF EXISTS `pages`;

View File

@@ -1,90 +1,4 @@
ABOUT /SITE/MODULES/
====================
This directory /site/modules/ is where you may install additional plugin modules.
These modules are specific to your site only. There is also a corresponding
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
leave those alone).
If safe for your hosting environment, you may wish to make this directory
writable to PHP so that the installation of your modules can be managed from
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
environments and is completely optional.
Where to get modules?
---------------------
Visit the modules directory at: http://modules.processwire.com
Installing modules from the ProcessWire admin
---------------------------------------------
If your /site/modules/ directory is writable, you can install modules from
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
installation options.
Installing modules from the file system
---------------------------------------
Each module (and any related files) should live in a directory of its own. The
directory should generally carry the same name as the module. For instance, if
you are installing a module named ProcessDatabaseBackups.module, then it should
live in the directory /site/modules/ProcessDatabaseBackups/.
Once you have placed a new module in this directory, you need to let ProcessWire
know about it. Login to the admin and click "Modules". Then click the "Check for
new modules" button. It will find your new module(s). Click the "Install" button
next to any new modules that you want to install.
Removing modules
----------------
The first step in removing a module is to uninstall it from ProcessWire (if it
isn't already). You do this by going to the "Modules" page, and "Site" tab in
your ProcessWire admin. Click the "Uninstall" button next to the module you
want to remove.
After the module is uninstalled, you may remove the module files. If your
modules file system is writable to ProcessWire, it will give you a "Delete"
button next to the module in your "Modules" admin page. You may click that to
remove the module files.
If your file system is not writable, you may remove the module files manually
from the file system (via SFTP or whatever tool you are using to manage your
files on the server).
Interested in learning how to make your own modules?
----------------------------------------------------
We've created two "Hello World" modules as examples for those interested in
learning module development:
- Helloworld.module demonstrates the basics of modules and hooks.
http://modules.processwire.com/modules/helloworld/
- ProcessHello.module demonstrates the basics of how to create a Process
module. Process modules are those that create applications in the admin.
http://modules.processwire.com/modules/process-hello/
There is a module development forum located at:
https://processwire.com/talk/forum/19-moduleplugin-development/
For a tutorial on how to create modules, see:
http://wiki.processwire.com/index.php/Module_Creation
Additional resources
--------------------
To find and download new modules, see the modules directory at:
http://modules.processwire.com/
For more information about modules, see the documentation at:
http://processwire.com/api/modules/
For discussion and support of modules, see:
http://processwire.com/talk/forum/4-modulesplugins/
This directory is for site-specific plugin modules.
Please see the URL below for more information:
https://processwire.com/docs/modules/about-site-modules/

View File

@@ -1,11 +1,15 @@
<?php namespace ProcessWire;
if(!defined("PROCESSWIRE")) die();
/** @var ProcessWire $wire */
/**
* ProcessWire Bootstrap API Ready
* ProcessWire Bootstrap API Ready
* ===============================
* This ready.php file is called during ProcessWire bootstrap initialization process.
* This occurs after the current page has been determined and the API is fully ready
* to use, but before the current page has started rendering. This file receives a
* This occurs after the current page has been determined and the API is fully ready
* to use, but before the current page has started rendering. This file receives a
* copy of all ProcessWire API variables.
*
*/
*/

View File

@@ -1 +0,0 @@
This file is here to ensure Git adds the dir to the repo. You may delete this file.

View File

@@ -0,0 +1,6 @@
<?php namespace ProcessWire;
// Optional initialization file, called before rendering any template file.
// This is defined by $config->prependTemplateFile in /site/config.php.
// Use this to define shared variables, functions, classes, includes, etc.

View File

@@ -0,0 +1,55 @@
<?php namespace ProcessWire;
// Optional main output file, called after rendering pages template file.
// This is defined by $config->appendTemplateFile in /site/config.php, and
// is typically used to define and output markup common among most pages.
//
// When the Markup Regions feature is used, template files can prepend, append,
// replace or delete any element defined here that has an "id" attribute.
// https://processwire.com/docs/front-end/output/markup-regions/
/** @var Page $page */
/** @var Pages $pages */
/** @var Config $config */
$home = $pages->get('/'); /** @var HomePage $home */
?><!DOCTYPE html>
<html lang="en">
<head id="html-head">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?php echo $page->title; ?></title>
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>styles/main.css" />
<script src="<?php echo $config->urls->templates; ?>scripts/main.js"></script>
</head>
<body id="html-body">
<p id="topnav">
<?php echo $home->and($home->children)->implode(" / ", "<a href='{url}'>{title}</a>"); ?>
</p>
<hr />
<h1 id="headline">
<?php if($page->parents->count()): // breadcrumbs ?>
<?php echo $page->parents->implode(" &gt; ", "<a href='{url}'>{title}</a>"); ?> &gt;
<?php endif; ?>
<?php echo $page->title; // headline ?>
</h1>
<div id="content">
Default content
</div>
<?php if($page->hasChildren): ?>
<ul>
<?php echo $page->children->each("<li><a href='{url}'>{title}</a></li>"); // subnav ?>
</ul>
<?php endif; ?>
<?php if($page->editable()): ?>
<p><a href='<?php echo $page->editUrl(); ?>'>Edit this page</a></p>
<?php endif; ?>
</body>
</html>

View File

@@ -10,6 +10,9 @@
* Feel free to hook admin-specific functionality from this file,
* but remember to leave the require() statement below at the end.
*
* Note: this template file does not use the _init.php or _main.php
*
*/
require($config->paths->adminTemplates . 'controller.php');
/** @var Config $config */
require($config->paths->core . "admin.php");

View File

@@ -1,13 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?php echo $page->title; ?></title>
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
</head>
<body>
<h1><?php echo $page->title; ?></h1>
<?php if($page->editable()) echo "<p><a href='$page->editURL'>Edit</a></p>"; ?>
</body>
</html>
<?php namespace ProcessWire;
// Template file for pages using the “basic-page” template
// -------------------------------------------------------
// The #content div in this file will replace the #content div in _main.php
// when the Markup Regions feature is enabled, as it is by default.
// You can also append to (or prepend to) the #content div, and much more.
// See the Markup Regions documentation:
// https://processwire.com/docs/front-end/output/markup-regions/
?>
<div id="content">
Basic page content
</div>

View File

@@ -1,3 +1,15 @@
<?php
<?php namespace ProcessWire;
include("./basic-page.php");
// Template file for “home” template used by the homepage
// ------------------------------------------------------
// The #content div in this file will replace the #content div in _main.php
// when the Markup Regions feature is enabled, as it is by default.
// You can also append to (or prepend to) the #content div, and much more.
// See the Markup Regions documentation:
// https://processwire.com/docs/front-end/output/markup-regions/
?>
<div id="content">
Homepage content
</div>

View File

@@ -1 +1 @@
// Blank
// Example JS file

View File

@@ -1 +1 @@
/* blank */
/* Example CSS file */

View File

@@ -1,4 +0,0 @@
<?php
// Intentionally left blank to test that htaccess rewrite rules are working.
// Accessing this file from http should produce a '403 forbidden' error,
// since all PHP files are blocked under /assets/.

View File

@@ -1,42 +0,0 @@
<?php namespace ProcessWire;
/**
* ProcessWire Configuration File
*
* Site-specific configuration for ProcessWire
*
* Please see the file /wire/config.php which contains all configuration options you may
* specify here. Simply copy any of the configuration options from that file and paste
* them into this file in order to modify them.
*
* SECURITY NOTICE
* In non-dedicated environments, you should lock down the permissions of this file so
* that it cannot be seen by other users on the system. For more information, please
* see the config.php section at: https://processwire.com/docs/security/file-permissions/
*
* This file is licensed under the MIT license
* https://processwire.com/about/license/mit/
*
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
* https://processwire.com
*
*/
if(!defined("PROCESSWIRE")) die();
/*** SITE CONFIG *************************************************************************/
/**
* Enable debug mode?
*
* Debug mode causes additional info to appear for use during dev and debugging.
* This is almost always recommended for sites in development. However, you should
* always have this disabled for live/production sites.
*
* @var bool
*
*/
$config->debug = false;
/*** INSTALLER CONFIG ********************************************************************/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 840 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

View File

@@ -1 +0,0 @@
This file is here to ensure Git adds the dir to the repo. You may delete this file.

View File

@@ -1,6 +0,0 @@
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
$info = array(
'title' => "Classic",
'summary' => "This was the default site profile from ProcessWire versions 2.0 through 2.4. While now a little older in appearance, it is a great starting point for learning about ProcessWire.",
'screenshot' => "screenshot.jpg"
);

View File

@@ -1,538 +0,0 @@
--- WireDatabaseBackup {"time":"2014-08-27 14:02:01","user":"","dbName":"pw2_tmp","description":"","tables":[],"excludeTables":["pages_drafts","pages_roles","permissions","roles","roles_permissions","users","users_roles","user","role","permission"],"excludeCreateTables":[],"excludeExportTables":["field_roles","field_permissions","field_email","field_pass","caches","session_login_throttle","page_path_history"]}
DROP TABLE IF EXISTS `caches`;
CREATE TABLE `caches` (
`name` varchar(128) NOT NULL,
`data` mediumtext NOT NULL,
`expires` datetime NOT NULL,
PRIMARY KEY (`name`),
KEY `expires` (`expires`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_body`;
CREATE TABLE `field_body` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('27', '<h3>The page you were looking for is not found.</h3>\r\n<p>Please use our search engine or navigation above to find the page.</p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1', '<h2>What is ProcessWire?</h2>\n\n<p>ProcessWire gives you full control over your fields, templates and markup. It provides a powerful template system that works the way you do. Not to mention, ProcessWire\'s API makes working with your content easy and enjoyable. <a href=\"http://processwire.com\">Learn more</a></p>\n\n<h2>Basic Site Profile</h2>\n\n<p>This is a basic starter site for you to use in developing your own site. There are a few pages here to serve as examples, but this site profile does not make any attempt to demonstrate all that ProcessWire can do. To learn more or ask questions, visit the <a href=\"http://www.processwire.com/talk/\" target=\"_blank\">ProcessWire forums</a>. If you are building a new site, this basic profile is a good place to start. You may use these existing templates and design as they are, or you may replace them entirely. <a href=\"./templates/\">Read more</a></p>\n\n<h2>Browse the Site</h2>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1002', '<h2>Ut capio feugiat saepius torqueo olim</h2><h3>In utinam facilisi eum vicis feugait nimis</h3><p>Iusto incassum appellatio cui macto genitus vel. Lobortis aliquam luctus, roto enim, imputo wisi tamen. Ratis odio, genitus acsi, neo illum consequat consectetuer ut. </p><p>Wisi fere virtus cogo, ex ut vel nullus similis vel iusto. Tation incassum adsum in, quibus capto premo diam suscipere facilisi. Uxor laoreet mos capio premo feugait ille et. Pecus abigo immitto epulae duis vel. Neque causa, indoles verto, decet ingenium dignissim. </p><p>Patria iriure vel vel autem proprius indoles ille sit. Tation blandit refoveo, accumsan ut ulciscor lucidus inhibeo capto aptent opes, foras. </p><h3>Dolore ea valde refero feugait utinam luctus</h3><p>Usitas, nostrud transverbero, in, amet, nostrud ad. Ex feugiat opto diam os aliquam regula lobortis dolore ut ut quadrum. Esse eu quis nunc jugis iriure volutpat wisi, fere blandit inhibeo melior, hendrerit, saluto velit. Eu bene ideo dignissim delenit accumsan nunc. Usitas ille autem camur consequat typicus feugait elit ex accumsan nutus accumsan nimis pagus, occuro. Immitto populus, qui feugiat opto pneum letalis paratus. Mara conventio torqueo nibh caecus abigo sit eum brevitas. Populus, duis ex quae exerci hendrerit, si antehabeo nobis, consequat ea praemitto zelus. </p><p>Immitto os ratis euismod conventio erat jus caecus sudo. Appellatio consequat, et ibidem ludus nulla dolor augue abdo tego euismod plaga lenis. Sit at nimis venio venio tego os et pecus enim pneum magna nobis ad pneum. Saepius turpis probo refero molior nonummy aliquam neque appellatio jus luctus acsi. Ulciscor refero pagus imputo eu refoveo valetudo duis dolore usitas. Consequat suscipere quod torqueo ratis ullamcorper, dolore lenis, letalis quia quadrum plaga minim. </p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1003', '<h2>The site template files are located in /site/templates/</h2>\n\n<p>Each of the template files in this site profile includes the header template (head.inc), outputs the bodycopy, and then includes the footer template (foot.inc). This is to avoid duplication of the markup that is the same across all pages in the site. This strategy is called <em>direct output with includes</em> and is just one strategy you can use for templates.</p>\n\n<p>You could of course make each template completely self contained with its own markup (called direct output), but if you have more than one template with some of the same markup, then it wouldn\'t be very efficient to do that. As a result, it\'s better to move the reused parts (aka partials) into include files.</p>\n\n<p>Another strategy would be to use a have a <em>main</em> template that contains all your markup and has placeholders (variables) for the dynamic parts. Then your other templates would populate the placeholders before including the main template. This strategy is called <em>delayed output.</em></p>\n\n<p><a href=\"https://processwire.com/docs/tutorials/how-to-structure-your-template-files/\">Read more about these template strategies</a></p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1001', '<h2>Si lobortis singularis genitus ibidem saluto.</h2>\n\n<p>Dolore ad nunc, mos accumsan paratus duis suscipit luptatum facilisis macto uxor iaceo quadrum. Demoveo, appellatio elit neque ad commodo ea. Wisi, iaceo, tincidunt at commoveo rusticus et, ludus. Feugait at blandit bene blandit suscipere abdo duis ideo bis commoveo pagus ex, velit. Consequat commodo roto accumsan, duis transverbero.</p>');
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1004', '<h2>Pertineo vel dignissim, natu letalis fere odio</h2><h3>Si lobortis singularis genitus ibidem saluto</h3><p>Magna in gemino, gilvus iusto capto jugis abdo mos aptent acsi qui. Utrum inhibeo humo humo duis quae. Lucidus paulatim facilisi scisco quibus hendrerit conventio adsum. Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud. Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu. Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit. Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue. </p><p>Iriure, ex velit, praesent vulpes delenit capio vero gilvus inhibeo letatio aliquip metuo qui eros. Transverbero demoveo euismod letatio torqueo melior. Ut odio in suscipit paulatim amet huic letalis suscipere eros causa, letalis magna. </p>');
DROP TABLE IF EXISTS `field_email`;
CREATE TABLE `field_email` (
`pages_id` int(10) unsigned NOT NULL,
`data` varchar(250) NOT NULL DEFAULT '',
PRIMARY KEY (`pages_id`),
KEY `data_exact` (`data`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_headline`;
CREATE TABLE `field_headline` (
`pages_id` int(10) unsigned NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1', 'Basic Example Site');
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1001', 'About Us');
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1003', 'Developing Site Templates');
DROP TABLE IF EXISTS `field_images`;
CREATE TABLE `field_images` (
`pages_id` int(10) unsigned NOT NULL,
`data` varchar(250) NOT NULL,
`sort` int(10) unsigned NOT NULL,
`description` text NOT NULL,
`modified` datetime DEFAULT NULL,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`),
KEY `modified` (`modified`),
KEY `created` (`created`),
FULLTEXT KEY `description` (`description`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'westin_interior2.jpg', '7', 'Westin Peachtree Atlanta hotel lobby area.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior7b.jpg', '5', 'Elevator at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior13b_med.jpg', '6', 'Atrium at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior3.jpg', '4', 'Elevator core at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt_interior11.jpg', '3', 'Looking up from the lobby area at the Atlanta Hyatt hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt2.jpg', '2', 'Detail from Atlanta Hyatt Hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt_interior9.jpg', '1', 'Detail from Atlanta Hyatt Hotel.', NOW(), NOW());
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'westin_interior1.jpg', '0', 'Westin Peachtree Atlanta hotel lobby area.', NOW(), NOW());
DROP TABLE IF EXISTS `field_pass`;
CREATE TABLE `field_pass` (
`pages_id` int(10) unsigned NOT NULL,
`data` char(40) NOT NULL,
`salt` char(32) NOT NULL,
PRIMARY KEY (`pages_id`),
KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
DROP TABLE IF EXISTS `field_permissions`;
CREATE TABLE `field_permissions` (
`pages_id` int(10) unsigned NOT NULL,
`data` int(11) NOT NULL,
`sort` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`,`pages_id`,`sort`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_process`;
CREATE TABLE `field_process` (
`pages_id` int(11) NOT NULL DEFAULT '0',
`data` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pages_id`),
KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('6', '17');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('3', '12');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('8', '12');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('9', '14');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('10', '7');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('11', '47');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('16', '48');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('300', '104');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('21', '50');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('29', '66');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('23', '10');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('304', '138');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('31', '136');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('22', '76');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('30', '68');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('303', '129');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('2', '87');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('302', '121');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('301', '109');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('28', '76');
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('1007', '150');
DROP TABLE IF EXISTS `field_roles`;
CREATE TABLE `field_roles` (
`pages_id` int(10) unsigned NOT NULL,
`data` int(11) NOT NULL,
`sort` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`sort`),
KEY `data` (`data`,`pages_id`,`sort`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `field_sidebar`;
CREATE TABLE `field_sidebar` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1', '<h3>About ProcessWire</h3>\n\n<p>ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients.</p>\n\n<p><a href=\"https://processwire.com/about/sites/\">Showcase</a><br /><a href=\"https://processwire.com/docs/\">Documentation</a><br /><a href=\"https://processwire.com/docs/tutorials/\">Tutorials</a><br /><a href=\"https://processwire.com/talk/\">Support</a><br /><a href=\"http://cheatsheet.processwire.com\">API Cheatsheet</a><br /><a href=\"http://modules.processwire.com\">Modules</a></p>\n\n<p> </p>\n\n<p> </p>');
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1002', '<h3>Sudo nullus</h3><p>Et torqueo vulpes vereor luctus augue quod consectetuer antehabeo causa patria tation ex plaga ut. Abluo delenit wisi iriure eros feugiat probo nisl aliquip nisl, patria. Antehabeo esse camur nisl modo utinam. Sudo nullus ventosus ibidem facilisis saepius eum sino pneum, vicis odio voco opto.</p>');
DROP TABLE IF EXISTS `field_summary`;
CREATE TABLE `field_summary` (
`pages_id` int(10) unsigned NOT NULL,
`data` mediumtext NOT NULL,
PRIMARY KEY (`pages_id`),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1002', 'Dolore ea valde refero feugait utinam luctus. Probo velit commoveo et, delenit praesent, suscipit zelus, hendrerit zelus illum facilisi, regula. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1001', 'This is a placeholder page with two child pages to serve as an example. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1005', 'View this template\'s source for a demonstration of how to create a basic site map. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1003', 'More about the templates included in this basic site profile. ');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1004', 'Mos erat reprobo in praesent, mara premo, obruo iustum pecus velit lobortis te sagaciter populus.');
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1', 'ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients. ');
DROP TABLE IF EXISTS `field_title`;
CREATE TABLE `field_title` (
`pages_id` int(10) unsigned NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`pages_id`),
KEY `data_exact` (`data`(255)),
FULLTEXT KEY `data` (`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('11', 'Templates');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('16', 'Fields');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('22', 'Setup');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('3', 'Pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('6', 'Add Page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('8', 'Tree');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('9', 'Save Sort');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('10', 'Edit Page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('21', 'Modules');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('29', 'Users');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('30', 'Roles');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('2', 'Admin');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('7', 'Trash');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('27', '404 Page Not Found');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('302', 'Insert Link');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('23', 'Login');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('304', 'Profile');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('301', 'Empty Trash');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('300', 'Search');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('303', 'Insert Image');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('28', 'Access');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('31', 'Permissions');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('32', 'Edit pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('34', 'Delete pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('35', 'Move pages (change parent)');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('36', 'View pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('50', 'Sort child pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('51', 'Change templates on pages');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('52', 'Administer users');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('53', 'User can update profile/password');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('54', 'Lock or unlock a page');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1', 'Home');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1001', 'About');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1002', 'Child page example 1');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1000', 'Search');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1003', 'Templates');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1004', 'Child page example 2');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1005', 'Site Map');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1006', 'Use Page Lister');
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1007', 'Find');
DROP TABLE IF EXISTS `fieldgroups`;
CREATE TABLE `fieldgroups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('2', 'admin');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('3', 'user');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('4', 'role');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('5', 'permission');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('1', 'home');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('88', 'sitemap');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('83', 'basic-page');
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('80', 'search');
DROP TABLE IF EXISTS `fieldgroups_fields`;
CREATE TABLE `fieldgroups_fields` (
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
`fields_id` int(10) unsigned NOT NULL DEFAULT '0',
`sort` int(11) unsigned NOT NULL DEFAULT '0',
`data` text,
PRIMARY KEY (`fieldgroups_id`,`fields_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '2', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '3', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '4', '2', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('4', '5', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('5', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '92', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '44', '5', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '76', '3', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('80', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '78', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '44', '5', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '82', '4', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '79', '1', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '79', '2', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '82', '4', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '76', '3', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '79', '2', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '1', '0', NULL);
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '78', '1', NULL);
DROP TABLE IF EXISTS `fields`;
CREATE TABLE `fields` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(128) CHARACTER SET ascii NOT NULL,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
`flags` int(11) NOT NULL DEFAULT '0',
`label` varchar(250) NOT NULL DEFAULT '',
`data` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `type` (`type`)
) ENGINE=MyISAM AUTO_INCREMENT=98 DEFAULT CHARSET=utf8;
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('1', 'FieldtypePageTitle', 'title', '13', 'Title', '{\"required\":1,\"textformatters\":[\"TextformatterEntities\"],\"size\":0,\"maxlength\":255}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('2', 'FieldtypeModule', 'process', '25', 'Process', '{\"description\":\"The process that is executed on this page. Since this is mostly used by ProcessWire internally, it is recommended that you don\'t change the value of this unless adding your own pages in the admin.\",\"collapsed\":1,\"required\":1,\"moduleTypes\":[\"Process\"],\"permanent\":1}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('3', 'FieldtypePassword', 'pass', '24', 'Set Password', '{\"collapsed\":1,\"size\":50,\"maxlength\":128}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('5', 'FieldtypePage', 'permissions', '24', 'Permissions', '{\"derefAsPage\":0,\"parent_id\":31,\"labelFieldName\":\"title\",\"inputfield\":\"InputfieldCheckboxes\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('4', 'FieldtypePage', 'roles', '24', 'Roles', '{\"derefAsPage\":0,\"parent_id\":30,\"labelFieldName\":\"name\",\"inputfield\":\"InputfieldCheckboxes\",\"description\":\"User will inherit the permissions assigned to each role. You may assign multiple roles to a user. When accessing a page, the user will only inherit permissions from the roles that are also assigned to the page\'s template.\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('92', 'FieldtypeEmail', 'email', '9', 'E-Mail Address', '{\"size\":70,\"maxlength\":255}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('82', 'FieldtypeTextarea', 'sidebar', '0', 'Sidebar', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":5,\"contentType\":1,\"toolbar\":\"Format, Styles, -, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"toggles\":[2,4,8],\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"collapsed\":2}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('44', 'FieldtypeImage', 'images', '0', 'Images', '{\"extensions\":\"gif jpg jpeg png\",\"adminThumbs\":1,\"inputfieldClass\":\"InputfieldImage\",\"maxFiles\":0,\"descriptionRows\":1,\"fileSchema\":2,\"textformatters\":[\"TextformatterEntities\"],\"outputFormat\":1,\"defaultValuePage\":0,\"defaultGrid\":0,\"icon\":\"camera\"}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('79', 'FieldtypeTextarea', 'summary', '1', 'Summary', '{\"textformatters\":[\"TextformatterEntities\"],\"inputfieldClass\":\"InputfieldTextarea\",\"collapsed\":2,\"rows\":3,\"contentType\":0}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('76', 'FieldtypeTextarea', 'body', '0', 'Body', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":10,\"contentType\":1,\"toolbar\":\"Format, Styles, -, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8]}');
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('78', 'FieldtypeText', 'headline', '0', 'Headline', '{\"description\":\"Use this instead of the Title if a longer headline is needed than what you want to appear in navigation.\",\"textformatters\":[\"TextformatterEntities\"],\"collapsed\":2,\"size\":0,\"maxlength\":1024}');
DROP TABLE IF EXISTS `modules`;
CREATE TABLE `modules` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`class` varchar(128) CHARACTER SET ascii NOT NULL,
`flags` int(11) NOT NULL DEFAULT '0',
`data` text NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `class` (`class`)
) ENGINE=MyISAM AUTO_INCREMENT=155 DEFAULT CHARSET=utf8;
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('6', 'FieldtypeFile', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('7', 'ProcessPageEdit', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('10', 'ProcessLogin', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('12', 'ProcessPageList', '0', '{\"pageLabelField\":\"title\",\"paginationLimit\":25,\"limit\":50}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('121', 'ProcessPageEditLink', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('14', 'ProcessPageSort', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('15', 'InputfieldPageListSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('117', 'JqueryUI', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('17', 'ProcessPageAdd', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('125', 'SessionLoginThrottle', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('122', 'InputfieldPassword', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('25', 'InputfieldAsmSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('116', 'JqueryCore', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('27', 'FieldtypeModule', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', 'FieldtypeDatetime', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('37', 'InputfieldCheckbox', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('38', 'InputfieldCheckboxes', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('39', 'InputfieldRadios', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', 'InputfieldHidden', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('114', 'PagePermissions', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('97', 'FieldtypeCheckbox', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('115', 'PageRender', '3', '{\"clearCache\":1}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('55', 'InputfieldFile', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('56', 'InputfieldImage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('57', 'FieldtypeImage', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('60', 'InputfieldPage', '0', '{\"inputfieldClasses\":[\"InputfieldSelect\",\"InputfieldSelectMultiple\",\"InputfieldCheckboxes\",\"InputfieldRadios\",\"InputfieldAsmSelect\",\"InputfieldPageListSelect\",\"InputfieldPageListSelectMultiple\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('61', 'TextformatterEntities', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('66', 'ProcessUser', '0', '{\"showFields\":[\"name\",\"email\",\"roles\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('67', 'MarkupAdminDataTable', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('68', 'ProcessRole', '0', '{\"showFields\":[\"name\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('76', 'ProcessList', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('78', 'InputfieldFieldset', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('79', 'InputfieldMarkup', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('80', 'InputfieldEmail', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('89', 'FieldtypeFloat', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('83', 'ProcessPageView', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('84', 'FieldtypeInteger', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('85', 'InputfieldInteger', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('86', 'InputfieldPageName', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('87', 'ProcessHome', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('90', 'InputfieldFloat', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('92', 'InputfieldTinyMCE', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('94', 'InputfieldDatetime', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('98', 'MarkupPagerNav', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('129', 'ProcessPageEditImageSelect', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('103', 'JqueryTableSorter', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('104', 'ProcessPageSearch', '1', '{\"searchFields\":\"title\",\"displayField\":\"title path\"}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('105', 'FieldtypeFieldsetOpen', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('106', 'FieldtypeFieldsetClose', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('107', 'FieldtypeFieldsetTabOpen', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('109', 'ProcessPageTrash', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('111', 'FieldtypePageTitle', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('112', 'InputfieldPageTitle', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('113', 'MarkupPageArray', '3', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('131', 'InputfieldButton', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('133', 'FieldtypePassword', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('134', 'ProcessPageType', '1', '{\"showFields\":[]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('135', 'FieldtypeURL', '1', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('136', 'ProcessPermission', '1', '{\"showFields\":[\"name\",\"title\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('137', 'InputfieldPageListSelectMultiple', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('138', 'ProcessProfile', '1', '{\"profileFields\":[\"pass\",\"email\"]}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('139', 'SystemUpdater', '1', '{\"systemVersion\":7}', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148', 'AdminThemeDefault', '2', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'InputfieldCKEditor', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('152', 'MarkupHTMLPurifier', '0', '', NOW());
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('153', 'JqueryMagnific', '1', '', NOW());
DROP TABLE IF EXISTS `pages`;
CREATE TABLE `pages` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`templates_id` int(11) unsigned NOT NULL DEFAULT '0',
`name` varchar(128) CHARACTER SET ascii NOT NULL,
`status` int(10) unsigned NOT NULL DEFAULT '1',
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified_users_id` int(10) unsigned NOT NULL DEFAULT '2',
`created` timestamp NOT NULL DEFAULT '2015-12-18 06:09:00',
`created_users_id` int(10) unsigned NOT NULL DEFAULT '2',
`sort` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `name_parent_id` (`name`,`parent_id`),
KEY `parent_id` (`parent_id`),
KEY `templates_id` (`templates_id`),
KEY `modified` (`modified`),
KEY `created` (`created`),
KEY `status` (`status`)
) ENGINE=MyISAM AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8;
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1', '0', '1', 'home', '9', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('2', '1', '2', 'processwire', '1035', NOW(), '40', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('3', '2', '2', 'page', '21', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('6', '3', '2', 'add', '1045', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('7', '1', '2', 'trash', '1039', NOW(), '41', NOW(), '2', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('8', '3', '2', 'list', '21', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('9', '3', '2', 'sort', '1047', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('10', '3', '2', 'edit', '1045', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('11', '22', '2', 'template', '21', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('16', '22', '2', 'field', '21', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('21', '2', '2', 'module', '21', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('22', '2', '2', 'setup', '21', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('23', '2', '2', 'login', '1035', NOW(), '41', NOW(), '2', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('27', '1', '29', 'http404', '1035', NOW(), '41', NOW(), '3', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('28', '2', '2', 'access', '13', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('29', '28', '2', 'users', '29', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('30', '28', '2', 'roles', '29', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('31', '28', '2', 'permissions', '29', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('32', '31', '5', 'page-edit', '25', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('34', '31', '5', 'page-delete', '25', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('35', '31', '5', 'page-move', '25', NOW(), '41', NOW(), '2', '4');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('36', '31', '5', 'page-view', '25', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('37', '30', '4', 'guest', '25', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('38', '30', '4', 'superuser', '25', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('41', '29', '3', 'admin', '1', NOW(), '40', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('40', '29', '3', 'guest', '25', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('50', '31', '5', 'page-sort', '25', NOW(), '41', NOW(), '41', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('51', '31', '5', 'page-template', '25', NOW(), '41', NOW(), '41', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('52', '31', '5', 'user-admin', '25', NOW(), '41', NOW(), '41', '10');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('53', '31', '5', 'profile-edit', '1', NOW(), '41', NOW(), '41', '13');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('54', '31', '5', 'page-lock', '1', NOW(), '41', NOW(), '41', '8');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('300', '3', '2', 'search', '1045', NOW(), '41', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('301', '3', '2', 'trash', '1047', NOW(), '41', NOW(), '2', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('302', '3', '2', 'link', '1041', NOW(), '41', NOW(), '2', '6');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('303', '3', '2', 'image', '1041', NOW(), '41', NOW(), '2', '7');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('304', '2', '2', 'profile', '1025', NOW(), '41', NOW(), '41', '5');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1000', '1', '26', 'search', '1025', NOW(), '41', NOW(), '2', '3');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1001', '1', '29', 'about', '1', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1002', '1001', '29', 'what', '1', NOW(), '41', NOW(), '2', '0');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1003', '1', '29', 'templates', '1', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1004', '1001', '29', 'background', '1', NOW(), '41', NOW(), '2', '1');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1005', '1', '34', 'site-map', '1', NOW(), '41', NOW(), '2', '2');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1006', '31', '5', 'page-lister', '1', NOW(), '40', NOW(), '40', '9');
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1007', '3', '2', 'lister', '1', NOW(), '40', NOW(), '40', '8');
DROP TABLE IF EXISTS `pages_access`;
CREATE TABLE `pages_access` (
`pages_id` int(11) NOT NULL,
`templates_id` int(11) NOT NULL,
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`pages_id`),
KEY `templates_id` (`templates_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('37', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('38', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('32', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('34', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('35', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('36', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('50', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('51', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('52', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('53', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('54', '2', NOW());
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('1006', '2', NOW());
DROP TABLE IF EXISTS `pages_parents`;
CREATE TABLE `pages_parents` (
`pages_id` int(10) unsigned NOT NULL,
`parents_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`pages_id`,`parents_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('2', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('7', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '2');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '28');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1001', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1001');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1003', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1001');
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1005', '1');
DROP TABLE IF EXISTS `pages_sortfields`;
CREATE TABLE `pages_sortfields` (
`pages_id` int(10) unsigned NOT NULL DEFAULT '0',
`sortfield` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`pages_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `session_login_throttle`;
CREATE TABLE `session_login_throttle` (
`name` varchar(128) NOT NULL,
`attempts` int(10) unsigned NOT NULL DEFAULT '0',
`last_attempt` int(10) unsigned NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `templates`;
CREATE TABLE `templates` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(250) CHARACTER SET ascii NOT NULL,
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
`flags` int(11) NOT NULL DEFAULT '0',
`cache_time` mediumint(9) NOT NULL DEFAULT '0',
`data` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `fieldgroups_id` (`fieldgroups_id`)
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('2', 'admin', '2', '8', '0', '{\"useRoles\":1,\"parentTemplates\":[2],\"allowPageNum\":1,\"redirectLogin\":23,\"slashUrls\":1,\"noGlobal\":1,\"modified\":1377936792}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('3', 'user', '3', '8', '0', '{\"useRoles\":1,\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"User\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('4', 'role', '4', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"Role\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('5', 'permission', '5', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"guestSearchable\":1,\"pageClass\":\"Permission\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('1', 'home', '1', '0', '0', '{\"useRoles\":1,\"noParents\":1,\"slashUrls\":1,\"modified\":1377936792,\"roles\":[37]}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('29', 'basic-page', '83', '0', '0', '{\"slashUrls\":1,\"modified\":1377936792}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('26', 'search', '80', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"allowPageNum\":1,\"slashUrls\":1,\"modified\":1377936792}');
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('34', 'sitemap', '88', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"redirectLogin\":23,\"slashUrls\":1,\"modified\":1377936792}');
UPDATE pages SET created_users_id=41, modified_users_id=41, created=NOW(), modified=NOW();
--- /WireDatabaseBackup {"numTables":16,"numCreateTables":22,"numInserts":302,"numSeconds":0}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -1,90 +0,0 @@
ABOUT /SITE/MODULES/
====================
This directory /site/modules/ is where you may install additional plugin modules.
These modules are specific to your site only. There is also a corresponding
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
leave those alone).
If safe for your hosting environment, you may wish to make this directory
writable to PHP so that the installation of your modules can be managed from
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
environments and is completely optional.
Where to get modules?
---------------------
Visit the modules directory at: http://modules.processwire.com
Installing modules from the ProcessWire admin
---------------------------------------------
If your /site/modules/ directory is writable, you can install modules from
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
installation options.
Installing modules from the file system
---------------------------------------
Each module (and any related files) should live in a directory of its own. The
directory should generally carry the same name as the module. For instance, if
you are installing a module named ProcessDatabaseBackups.module, then it should
live in the directory /site/modules/ProcessDatabaseBackups/.
Once you have placed a new module in this directory, you need to let ProcessWire
know about it. Login to the admin and click "Modules". Then click the "Check for
new modules" button. It will find your new module(s). Click the "Install" button
next to any new modules that you want to install.
Removing modules
----------------
The first step in removing a module is to uninstall it from ProcessWire (if it
isn't already). You do this by going to the "Modules" page, and "Site" tab in
your ProcessWire admin. Click the "Uninstall" button next to the module you
want to remove.
After the module is uninstalled, you may remove the module files. If your
modules file system is writable to ProcessWire, it will give you a "Delete"
button next to the module in your "Modules" admin page. You may click that to
remove the module files.
If your file system is not writable, you may remove the module files manually
from the file system (via SFTP or whatever tool you are using to manage your
files on the server).
Interested in learning how to make your own modules?
----------------------------------------------------
We've created two "Hello World" modules as examples for those interested in
learning module development:
- Helloworld.module demonstrates the basics of modules and hooks.
http://modules.processwire.com/modules/helloworld/
- ProcessHello.module demonstrates the basics of how to create a Process
module. Process modules are those that create applications in the admin.
http://modules.processwire.com/modules/process-hello/
There is a module development forum located at:
https://processwire.com/talk/forum/19-moduleplugin-development/
For a tutorial on how to create modules, see:
http://wiki.processwire.com/index.php/Module_Creation
Additional resources
--------------------
To find and download new modules, see the modules directory at:
http://modules.processwire.com/
For more information about modules, see the documentation at:
http://processwire.com/api/modules/
For discussion and support of modules, see:
http://processwire.com/talk/forum/4-modulesplugins/

View File

@@ -1,98 +0,0 @@
PROCESSWIRE TEMPLATE FILES
==========================
The files in this directory correspond with the templates list in ProcessWire admin. Template files are just
PHP files that output markup. They may also be just basic HTML files (with a .PHP extension). Most pages in
the site are assigned to one of the template files in this directory.
These template files typically comprise the majority of what makes your site unique from any other
ProcessWire installation. In keeping with this approach, you'll also see '/scripts/' and '/styles/'
directories within this templates directory. They contain the site's javascript and CSS files. Though
that is stylistic only, you can certainly place them somewhere else or rename them as desired.
Templates have full unrestricted access to the ProcessWire API and typically use it for finding pages and
referencing their properties for output. If desired, templates may go further than this and call upon other
web applications or anything else that you might do with PHP.
Every template is supplied with a $page object that refers to the current page being viewed. This $page
object is locally scoped to the template file. The only thing you need to do to access it is directly
refer to it in your PHP code. For instance, if you wanted to output the page's $title field from your
template, you would do the following:
<?php echo $page->title; ?>
...or short syntax (if supported by your web host):
<?=$page->title?>
And likewise for any other fields assigned to the template. Though some fields require more, like
files, images, page references and the like.
For more details about the $page API variable, please see:
http://processwire.com/api/variables/page/
LOADING OTHER PAGES FROM YOUR TEMPLATE
======================================
Templates are also supplied with a $pages API variable that provides for loading and finding other pages.
The most common methods used in that object are get() and find(), both of which take a selector string to
locate and return pages. The only difference between them is that get() always returns 1 page, and find()
returns a PageArray. Below are examples:
// find all pages using the skyscraper template
$skyscrapers = $pages->find("template=skyscraper");
// find all skyscrapers with a height greater than 500 ft, and less than or equal to 1000 ft.
$skyscrapers = $pages->find("template=skyscraper, height>500, height<=1000");
// find all skyscrapers in Chicago with 60+ floors, sorted by floors ascending
$skyscrapers = $pages->get("/cities/chicago/")->children("floors>=60, sort=floors");
// find all skyscrapers built before 1950 with 10+ floors, sorted by year, then floors
$skyscrapers = $pages->find("template=skyscraper, year<1950, floors>=10, sort=-year, sort=-floors");
// find all skyscrapers by architects David Childs or Renzo Piano, and sort by height descending
$david = $pages->get("/architects/david-childs/");
$renzo = $pages->get("/architects/renzo-piano/");
$skyscrapers = $pages->find("architect=$david|$renzo, sort=-height");
// find all skyscrapers that mention the words "limestone" and "granite" somewhere in their body copy.
$skyscrapers = $pages->get("/cities/")->find("template=skyscraper, body~=limestone granite");
// find all skyscrapers that mention the phrase "empire state building" in their body copy.
$skyscrapers = $pages->find("template=skyscraper, body*=empire state building");
For more about the $pages API variable, please see:
http://processwire.com/api/variables/pages/
INCLUDING A TEMPLATE FROM ANOTHER TEMPLATE
==========================================
When you include a template from another template, use the following syntax:
include("./my-template.php");
Note the leading "./" above. Do NOT use this syntax:
include("my-template.php");
The difference between the second [incorrect] example and the first [correct] example is that the first
example starts with: "./". This tells PHP to look in the current directory. Whereas if you omit that part,
PHP will search your include path, which could result in an error, or even worse, include the wrong file.
So just remember to always precede your included files with "./".
MORE INFORMATION
================
The information in this file is very brief. Please see the official documentation at:
http://processwire.com/api/
The ProcessWire API cheatsheet is especially handy:
http://processwire.com/api/cheatsheet/
Please join the ProcessWire forum and we're always glad to assist with any questions you have:
http://processwire.com/talk/

View File

@@ -1,15 +0,0 @@
<?php namespace ProcessWire;
/**
* Admin template just loads the admin application controller,
* and admin is just an application built on top of ProcessWire.
*
* This demonstrates how you can use ProcessWire as a front-end
* to another application.
*
* Feel free to hook admin-specific functionality from this file,
* but remember to leave the require() statement below at the end.
*
*/
require($config->paths->adminTemplates . 'controller.php');

View File

@@ -1,13 +0,0 @@
<?php
/**
* Page template
*
*/
include("./head.inc");
echo $page->body;
include("./foot.inc");

View File

@@ -1,11 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>500 Internal Server Error</title>
</head>
<body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
<p>{message}</p>
</body>
</html>

View File

@@ -1,21 +0,0 @@
When a fatal error occurs, ProcessWire displays the message:
"Unable to complete this request due to an error."
The message is intentionally vague for security purposes.
Details will be logged to /site/assets/logs/errors.txt.
When present in this directory, the file 500.html will be
displayed instead of the generic error message above. Feel
free to modify this file to show whatever you would like.
Please note the following:
* 500.html is plain HTML and has no PHP or API access.
* You may enter the tag {message} and ProcessWire will
replace this with additional details when applicable.
When not applicable, it will make it blank.
* If you are logged in as an admin, ProcessWire will
give you a detailed error message rather than 500.html.

View File

@@ -1,43 +0,0 @@
<?php
// Output navigation for any children below the bodycopy.
// This navigation cycles through the page's children and prints
// a link and summary:
if($page->numChildren) {
echo "<ul class='nav'>";
foreach($page->children as $child) {
echo "<li><p><a href='{$child->url}'>{$child->title}</a><br />";
echo "<span class='summary'>{$child->summary}</span></p></li>";
}
echo "</ul>";
}
?>
</div><!--/bodycopy-->
</div><!--/container-->
</div><!--/content-->
<div id="footer" class="footer">
<div class="container">
<p>Powered by <a href='http://processwire.com'>ProcessWire Open Source CMS/CMF</a></p>
</div>
</div>
<?php
// If the page is editable, then output a link that takes us straight to the page edit screen:
if($page->editable()) {
echo "<a class='nav' id='editpage' href='{$config->urls->admin}page/edit/?id={$page->id}'>Edit</a>";
}
?>
</body>
</html>

View File

@@ -1,160 +0,0 @@
<?php
/**
* Demo site header include file (HTML5)
*
* Note that this file has nothing to do with ProcessWire. We just split our common
* header and footer markup into separate files (head.inc and foot.inc) like this,
* since it was common to all of our templates.
*
*/
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?php echo $page->get("headline|title"); ?></title>
<meta name="description" content="<?php echo $page->summary; ?>" />
<meta name="generator" content="ProcessWire <?php echo $config->version; ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/ie.css" />
<![endif]-->
<!-- This website is powered by ProcessWire CMF/CMS - https://processwire.com -->
</head>
<body>
<p id='bgtitle'><?php
// print the section title as big faded text that appears near the top left of the page
echo $page->rootParent->title;
?></p>
<div id="masthead" class="masthead">
<div class="container">
<a href='<?php echo $config->urls->root; ?>'><p id='logo'>ProcessWire</p></a>
<ul id='topnav'><?php
// Create the top navigation list by listing the children of the homepage.
// If the section we are in is the current (identified by $page->rootParent)
// then note it with <a class='on'> so we can style it differently in our CSS.
// In this case we also want the homepage to be part of our top navigation,
// so we prepend it to the pages we cycle through:
$homepage = $pages->get("/");
$children = $homepage->children;
$children->prepend($homepage);
foreach($children as $child) {
$class = $child === $page->rootParent ? " class='on'" : '';
echo "<li><a$class href='{$child->url}'>{$child->title}</a></li>";
}
?></ul>
<ul id='breadcrumb'><?php
// Create breadcrumb navigation by cycling through the current $page's
// parents in order, linking to each:
foreach($page->parents as $parent) {
echo "<li><a href='{$parent->url}'>{$parent->title}</a> &gt; </li>";
}
?></ul>
<h1 id='title'><?php
// The statement below asks for the page's headline or title.
// Separating multiple fields with a pipe "|" returns the first
// one that has a value. So in this case, we print the headline
// field if it's there, otherwise we print the title.
echo $page->get("headline|title");
?></h1>
<form id='search_form' action='<?php echo $config->urls->root?>search/' method='get'>
<input type='text' name='q' id='search_query' value='<?php echo htmlentities($input->whitelist('q'), ENT_QUOTES, 'UTF-8'); ?>' />
<button type='submit' id='search_submit'>Search</button>
</form>
<?php
// Grab a random image from the homepage and display it.
// Note that $homepage was loaded above where we generated the top navigation.
if(count($homepage->images)) {
$image = $homepage->images->getRandom();
$thumb = $image->size(232, 176);
echo "<a href='{$image->url}'><img id='photo' src='{$thumb->url}' alt='{$thumb->description}' width='{$thumb->width}' height='{$thumb->height}' /></a>";
}
?>
</div>
</div>
<div id="content" class="content">
<div class="container">
<div id="sidebar">
<?php
// Output subnavigation
//
// Below we check to see that we're not on the homepage, and that
// there are at least one or more pages in this section.
//
// Note $page->rootParent is always the top level section the page is in,
// or to word differently: the first parent page that isn't the homepage.
if($page->path != '/' && $page->rootParent->numChildren > 0) {
// We have determined that we're not on the homepage
// and that this section has child pages, so make navigation:
echo "<ul id='subnav' class='nav'>";
foreach($page->rootParent->children as $child) {
$class = $page === $child ? " class='on'" : '';
echo "<li><a$class href='{$child->url}'>{$child->title}</a></li>";
}
echo "</ul>";
}
?>
<div class='sidebar_item'>
<?php
// if the current page has a populated 'sidebar' field, then print it,
// otherwise print the sidebar from the homepage
if($page->sidebar) echo $page->sidebar;
else echo $homepage->sidebar;
?>
</div>
</div><!--/sidebar-->
<div id="bodycopy">

View File

@@ -1,13 +0,0 @@
<?php
/**
* Home template
*
*/
include("./head.inc");
echo $page->body;
include("./foot.inc");

View File

@@ -1,49 +0,0 @@
<?php
/**
* Search template
*
*/
$out = '';
if($q = $sanitizer->selectorValue($input->get->q)) {
// Send our sanitized query 'q' variable to the whitelist where it will be
// picked up and echoed in the search box by the head.inc file.
$input->whitelist('q', $q);
// Search the title, body and sidebar fields for our query text.
// Limit the results to 50 pages.
// Exclude results that use the 'admin' template.
$matches = $pages->find("title|body|sidebar~=$q, limit=50");
$count = count($matches);
if($count) {
$out .= "<h2>Found $count pages matching your query:</h2>" .
"<ul class='nav'>";
foreach($matches as $m) {
$out .= "<li><p><a href='{$m->url}'>{$m->title}</a><br />{$m->summary}</p></li>";
}
$out .= "</ul>";
} else {
$out .= "<h2>Sorry, no results were found.</h2>";
}
} else {
$out .= "<h2>Please enter a search term in the search box (upper right corner)</h2>";
}
// Note that we stored our output in $out before printing it because we wanted to execute
// the search before including the header template. This is because the header template
// displays the current search query in the search box (via the $input->whitelist) and
// we wanted to make sure we had that setup before including the header template.
include("./head.inc");
echo $out;
include("./foot.inc");

View File

@@ -1,28 +0,0 @@
<?php
/**
* Site map template
*
*/
include("./head.inc");
function sitemapListPage($page) {
echo "<li><a href='{$page->url}'>{$page->title}</a> ";
if($page->numChildren) {
echo "<ul>";
foreach($page->children as $child) sitemapListPage($child);
echo "</ul>";
}
echo "</li>";
}
echo "<ul class='sitemap'>";
sitemapListPage($pages->get("/"));
echo "</ul>";
include("./foot.inc");

View File

@@ -1,5 +0,0 @@
#bgtitle {
/* This doesn't render well in IE (any version), so we just exclude it. */
display: none;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 B

Some files were not shown because too many files have changed in this diff Show More