- Last Active
- Preferred Name
Hello & welcome to the community
This one can be a bit tricky because the data is serialized, but if you only need to pull out a few fields at a time there is a way:
SELECT (CASE WHEN (@find := LOCATE('s:3:"001";s', gibbonPerson.fields)) > 0 THEN REPLACE(LEFT( @var := SUBSTRING(gibbonPerson.fields, @find + 15), LOCATE('";', @var)-1), '"', '') ELSE '' END) AS `Your Custom Field` FROM gibbonPerson
What this will do is extract a single value by locating the start and end of the string (with a couple variables to help). You can add this statement as part of any query on the gibbonPerson table to get custom field values.
The important part of the above statements is
s:3:"001", where the 001 is the ID of the custom field. When you're editing the custom field in Gibbon you can see the ID number in the url bar as
gibbonPersonFieldID=001. If you need a different custom field you can replace the 001 with the ID of the field you need. You can repeat this statement if you need to pull out a few different custom fields, just change the ID value for each one (and the `Your Custom Field` part).
Hope this helps! I think it would certainly be great if Query Builder had a way to pull out this data built-in, it's possibly something we can look into.
When you're on any main docs page, such as https://docs.gibbonedu.org/administrators/, scroll to the bottom and click Printable Page. From here you can get a single page copy of all the docs for that section. If you click Print in your browser, it likely has a Save as PDF option, which you can use to save the docs as a PDF.
Hope this helps!
Ah shoot, looks like the updater needs extra slashes, this is the correct code for the updater:
However if you're running it through something like phpMyAdmin, there's only two slashes on the decimal pattern:
UPDATE `gibboni18n` SET `dateFormatRegEx` = '/^(0[1-9]|[0-9]|3)[- /.](0[1-9]|1)[- /.](19|20)\\d\\d$/i' WHERE gibboni18n.code = 'pl_PL';