Commit Graph

5308 Commits

Author SHA1 Message Date
gruberroland 08771b3ffd Merge pull request #9 from LDAPAccountManager/type_api
new type API
2017-01-08 21:06:10 +01:00
Roland Gruber 17b71064ee support multiple type configs 2017-01-08 20:59:09 +01:00
Roland Gruber 6b643729d0 new type API 2017-01-07 19:14:29 +01:00
Roland Gruber 7d60eba628 removed obsolete code 2017-01-07 19:10:33 +01:00
Roland Gruber d6b9a28b58 new type API 2017-01-07 19:10:12 +01:00
Roland Gruber 84f2b43923 new type API for delete 2017-01-07 18:39:40 +01:00
Roland Gruber cdaa9a8a12 new type API for upload 2017-01-07 18:23:04 +01:00
Roland Gruber 9355b55982 init PDF and account profiles 2017-01-06 13:56:17 +01:00
Roland Gruber 752417f355 performance improvements 2017-01-06 11:38:52 +01:00
Roland Gruber 695f94e322 new type API for PDF 2017-01-06 10:11:47 +01:00
Roland Gruber 164433343c fixed select 2017-01-06 10:11:29 +01:00
Roland Gruber 61647ed008 PDF import with new type API 2017-01-05 21:40:48 +01:00
Roland Gruber 8774583532 new type API for PDF 2017-01-05 21:05:17 +01:00
Roland Gruber a9234c1537 new type API for PDF 2017-01-04 20:52:51 +01:00
Roland Gruber 22cfb56f60 new type API 2017-01-03 20:02:29 +01:00
Roland Gruber e93d59740c moved getSuffixList() 2016-12-31 14:44:46 +01:00
Roland Gruber 7027522950 new type API 2016-12-31 11:13:36 +01:00
Roland Gruber ccc2721f51 formatting 2016-12-31 11:00:47 +01:00
Roland Gruber b408538403 getSuffixList() no longer supports self service 2016-12-31 10:55:56 +01:00
Roland Gruber 7f6574af8c move reading of suffix list 2016-12-31 10:43:31 +01:00
Roland Gruber a6330b41e2 new type API 2016-12-29 20:12:15 +01:00
Roland Gruber 23c1251009 new type API 2016-12-29 19:39:34 +01:00
Roland Gruber da5661a0f9 configuration for multi-types 2016-12-28 19:53:49 +01:00
Roland Gruber fe21487a3b multi type support 2016-12-28 19:53:18 +01:00
Roland Gruber 769aea44ba multi type support 2016-12-28 19:52:57 +01:00
Roland Gruber cf872b330c fixed missing $types 2016-12-28 19:51:48 +01:00
Roland Gruber 5f699648d0 reset password 2016-12-28 18:26:17 +01:00
Roland Gruber 294ab941b1 new type API 2016-12-26 19:28:34 +01:00
Roland Gruber cbdd69f7f6 new type API 2016-12-26 19:11:05 +01:00
Roland Gruber 0bf8702763 new type API 2016-12-26 18:41:22 +01:00
Roland Gruber 4417e5aff7 check if tests can be run 2016-12-26 18:16:49 +01:00
Roland Gruber 56bc52a7a7 changed include paths 2016-12-26 18:01:08 +01:00
Roland Gruber fe4fa15ee7 tests 2016-12-26 17:40:25 +01:00
Roland Gruber ed31fe6dd4 new type API 2016-12-26 10:26:26 +01:00
Roland Gruber 50468a1fef added namespace 2016-12-26 10:02:08 +01:00
Roland Gruber dbb3c779c4 new type API 2016-12-25 18:46:41 +01:00
Roland Gruber 207cd984ce new type API 2016-12-24 15:39:02 +01:00
Roland Gruber f9995d7cb6 new type API 2016-12-24 13:04:31 +01:00
Roland Gruber aa9c11ae0c new type API 2016-12-23 20:58:01 +01:00
Roland Gruber d510dc58c1 fixed PHP error 2016-12-20 22:12:31 +01:00
Roland Gruber 3fc092b3b7 namespace 2016-12-19 21:37:27 +01:00
Roland Gruber 97be076bba namespace for types 2016-12-19 21:32:08 +01:00
Roland Gruber f16a0286f7 removed advanced options 2016-12-19 17:05:47 +01:00
Roland Gruber b8e76638c4 5.7 2016-12-19 16:34:36 +01:00
Roland Gruber c0fb2a785c 5.6 2016-12-18 19:42:04 +01:00
Roland Gruber 6222f3d1f3 Merge branch 'develop' of git@github.com:LDAPAccountManager/lam.git into develop 2016-12-18 13:16:57 +01:00
Roland Gruber db60c61ef5 added class 2016-12-18 13:16:41 +01:00
gruberroland 184b0e5b82 Merge pull request #8 from LDAPAccountManager/responsive_config
responsive
2016-12-18 13:11:09 +01:00
Roland Gruber 7b2cef9981 fixed log message 2016-12-18 13:08:55 +01:00
Roland Gruber 5708f5b96c responsive 2016-12-14 20:43:16 +01:00
Roland Gruber f8eee85c29 translation update 2016-12-11 20:00:20 +01:00
Roland Gruber 7838c9da25 translation update 2016-12-09 19:54:23 +01:00
Roland Gruber 308e3292c9 fixed error message 2016-12-08 18:17:04 +01:00
Roland Gruber eddfb11cf0 Ajax file upload 2016-12-07 21:18:06 +01:00
Roland Gruber c9008b3c7c fix PHP notices 2016-12-07 21:17:20 +01:00
Roland Gruber 502a47ecfa updated copyright + manual 2016-12-03 13:44:21 +01:00
Roland Gruber 30e1bd8469 translation update 2016-12-01 20:45:45 +01:00
Roland Gruber 2804d7ccaa translation update 2016-11-29 21:59:24 +01:00
Roland Gruber fd5de4198c translation update 2016-11-29 19:24:21 +01:00
Roland Gruber a7d99aa2ea 5.6 2016-11-28 19:01:48 +01:00
Roland Gruber 2b29f054bc fixed typos 2016-11-28 18:59:10 +01:00
Roland Gruber 422ab23a72 multiple security questions 2016-11-27 12:06:58 +01:00
Roland Gruber 44a722351a buttons 2016-11-26 18:24:51 +01:00
Roland Gruber f6d018f3f4 new replacement system 2016-11-20 10:32:13 +01:00
Roland Gruber dc23a7b766 new wildcard mechanism 2016-11-19 19:20:44 +01:00
Roland Gruber bb73f687ed more default translations 2016-11-14 19:37:39 +01:00
Roland Gruber cf636521f4 custom scripts 2016-11-14 19:17:59 +01:00
Roland Gruber 9f9802549a attributes field maxlength=1000 2016-11-14 19:17:10 +01:00
Roland Gruber 5f5b86b16d label for manual scripts 2016-11-14 19:15:08 +01:00
Roland Gruber 213c65d115 fixed mail check 2016-11-12 09:51:08 +01:00
Roland Gruber 4373c1b040 mail routing for groups 2016-11-12 09:48:34 +01:00
Roland Gruber 9f9cb353b1 new Windows attributes 2016-11-09 21:49:02 +01:00
Roland Gruber 7211faaf47 added proxyAddresses 2016-11-09 21:46:27 +01:00
Roland Gruber 2382108462 support for company, mobile, otherMobile, pager, otherPager 2016-11-09 19:22:43 +01:00
Roland Gruber a0dffd1f08 set INFO.userPasswordStatusChange in personal module 2016-11-06 10:08:36 +01:00
Roland Gruber a050000879 5.6 2016-11-05 12:51:31 +01:00
Roland Gruber 82c579e56e docs update 2016-11-05 12:13:14 +01:00
Roland Gruber 55f0964710 job history 2016-11-01 15:33:29 +01:00
Roland Gruber 9b9a462517 added tablepadding05 2016-11-01 15:17:26 +01:00
Roland Gruber 10c2e2c726 replaced dry run icon 2016-11-01 11:48:16 +01:00
Roland Gruber a0c02057f5 tar.bz2 update 2016-11-01 09:24:31 +01:00
Roland Gruber bc68b0eb5a install sample config 2016-11-01 08:55:34 +01:00
Roland Gruber aa5020d46b expiration hint 2016-10-25 20:02:10 +02:00
Roland Gruber 68bee45561 evaluation hint 2016-10-25 19:50:46 +02:00
Roland Gruber 70e3afc38e license expiration 2016-10-24 20:26:39 +02:00
Roland Gruber 54afe29cb8 hide login when no profiles were found 2016-10-09 10:59:43 +02:00
Roland Gruber 69932539b0 new version 2016-10-09 10:39:17 +02:00
Roland Gruber cd46b06dd4 fixed autoconf installation 2016-10-09 10:37:35 +02:00
Roland Gruber 0813e24b7a fixed rights 2016-09-10 16:16:10 +02:00
Roland Gruber c4bc0b3f07 translation updates 2016-09-10 16:09:34 +02:00
Roland Gruber 6efa35bdbc phpdoc 2016-09-10 15:34:29 +02:00
Roland Gruber 6d24baa182 5.5 2016-09-10 15:17:40 +02:00
Roland Gruber bff8c8dfad translation update 2016-09-06 18:52:55 +02:00
Roland Gruber d9e4871576 changed order 2016-09-06 17:49:34 +02:00
Roland Gruber 9acf4c86c0 translation update 2016-09-05 14:39:19 +02:00
Roland Gruber 52594017d6 white background 2016-09-02 14:57:11 +02:00
Roland Gruber d0df311595 do not modify if value is the same 2016-09-02 11:07:15 +02:00
Roland Gruber e3901f434e use ldap_modify_batch if available 2016-09-02 11:05:19 +02:00
Roland Gruber 3aaa019701 PHP 5.4 fix 2016-09-02 10:06:39 +02:00
Roland Gruber f350424b97 translation update 2016-09-01 19:23:19 +02:00
Roland Gruber 1142b54ea4 translations 2016-08-29 19:44:58 +02:00
Roland Gruber 7dab0517a4 Revert "5.5"
This reverts commit 7db31cb041.
2016-08-27 22:10:34 +02:00
Roland Gruber 7db31cb041 5.5 2016-08-27 21:48:20 +02:00
Roland Gruber 6efdc5d030 license docs 2016-08-27 19:52:52 +02:00
Roland Gruber 5c6988eea2 responsive design 2016-08-27 15:56:23 +02:00
Roland Gruber 5b284f84f8 style 2016-08-27 15:31:59 +02:00
Roland Gruber d4df8a98e3 new version 2016-08-27 12:05:24 +02:00
Roland Gruber 5bde5554aa style changes 2016-08-27 10:40:05 +02:00
Roland Gruber faba43680c changed license check 2016-08-27 09:15:33 +02:00
Roland Gruber 08a329eb7d added license key 2016-08-21 11:16:44 +02:00
Roland Gruber 619b715a60 env 2016-08-21 09:18:04 +02:00
Roland Gruber 500d0eecf9 removed obsolete code 2016-08-12 20:23:35 +02:00
Roland Gruber d13d2908a8 lamdaemon SSH key 2016-08-09 20:18:58 +02:00
Roland Gruber b5e8794163 support lamdaemon authentication with SSH key 2016-08-08 22:01:36 +02:00
Roland Gruber 7a580d0296 PHP 7 issue 2016-08-07 10:42:21 +02:00
Roland Gruber 5f725d3253 moved encryption functions to security.inc 2016-08-07 10:40:36 +02:00
Roland Gruber b50d48e082 fixed issue with password change icon 2016-07-30 09:37:07 +02:00
Roland Gruber ce3d5930be 389ds password mail job 2016-07-23 10:46:50 +02:00
Roland Gruber d6365d3c1d added 389ds password expiration 2016-07-21 20:31:40 +02:00
Roland Gruber 75f7ee43ca removed mktime calls 2016-07-20 20:19:26 +02:00
Roland Gruber b2fc9fe4c6 removed getDate() 2016-07-18 20:58:47 +02:00
Roland Gruber be211bedea removed getDate() 2016-07-18 20:34:43 +02:00
Roland Gruber 32e79e6417 check for duplicate MACs 2016-07-17 20:45:17 +02:00
Roland Gruber 41b0172810 added Windows cleanup job 2016-07-17 10:26:22 +02:00
Roland Gruber 3bef3a577a added Qmail cleanup job 2016-07-17 09:25:36 +02:00
Roland Gruber 3e923725db cleanup job FreeRadius 2016-07-16 16:07:21 +02:00
Roland Gruber 4f5d7273c8 new styles 2016-07-16 14:35:11 +02:00
Roland Gruber 9e767e885c added htmlContentLink 2016-07-16 14:34:53 +02:00
Roland Gruber a195a9e9f8 move/delete expired accounts 2016-07-16 10:31:21 +02:00
Roland Gruber 0bb6888ad0 added job to move or delete expired accounts 2016-07-16 09:52:09 +02:00
Roland Gruber 1a3f0f5d8a removed obsolete code 2016-07-14 21:00:47 +02:00
Roland Gruber d3cacaaa5d allow to show effective members 2016-07-13 22:05:03 +02:00
Roland Gruber 9cdb618a01 5.5 2016-07-13 20:09:45 +02:00
Roland Gruber 9c57805972 remove empty image tags when no photo is set 2016-07-11 19:30:53 +02:00
Roland Gruber 7ba57d8161 password history 2016-07-09 09:31:55 +02:00
Roland Gruber feaa741096 password history 2016-07-09 08:26:05 +02:00
Roland Gruber 8bb1b358d2 Allow to sync Unix password with Windows password 2016-06-26 10:15:45 +02:00
Roland Gruber 5d85a88ca1 fixed rights 2016-06-21 20:11:25 +02:00
Roland Gruber f0a376846c updated LAM Pro files 2016-06-21 20:06:09 +02:00
Roland Gruber ca85245fac 5.4 2016-06-21 19:00:44 +02:00
Roland Gruber b5afb21b21 389ds locking 2016-06-19 17:12:00 +02:00
Roland Gruber f4f6b7c34c support 389ds (de)activation 2016-06-19 15:34:02 +02:00
Roland Gruber 2509cb1d68 support 389ds (de)activation 2016-06-19 14:48:28 +02:00
Roland Gruber cfc5aee617 added password to PDF fields 2016-06-19 11:41:47 +02:00
Roland Gruber 60b57e12f0 translation update 2016-06-09 17:27:50 +02:00
Roland Gruber b73cbf63cb translation update 2016-06-06 19:30:43 +02:00
Roland Gruber 33205d0e8b translation update 2016-05-31 17:57:16 +02:00
Roland Gruber ec2d11dd6a translation update 2016-05-30 21:44:48 +02:00
Roland Gruber 12d8870334 translation update 2016-05-29 08:48:51 +02:00
Roland Gruber ec84e6935c translation update 2016-05-28 19:43:39 +02:00
Roland Gruber 89bdcdfe3d Samba history support 2016-05-27 21:18:40 +02:00
Roland Gruber 1e9a5bd74c Samba history support 2016-05-27 21:17:22 +02:00
Roland Gruber 6089935a71 check password minimum age for Samba 3 2016-05-26 20:08:08 +02:00
Roland Gruber 3a2580478d check password history in self service 2016-05-26 19:41:10 +02:00
Roland Gruber d47438d4a8 fixed search_domains 2016-05-26 19:40:37 +02:00
Roland Gruber 8879f2cfd2 check password history 2016-05-22 09:56:32 +02:00
Roland Gruber bdae11ff4a store sambaPasswordHistory 2016-05-20 19:38:36 +02:00
Roland Gruber cf5132745d support for 389ds locking and deactivation 2016-05-15 12:15:30 +02:00
Roland Gruber 616b11e362 show 389ds lock status 2016-05-14 14:12:24 +02:00
Roland Gruber 016025fe2d show 389ds deactivation status in account list 2016-05-14 13:28:22 +02:00
Roland Gruber bbf6d31827 CC and BCC address for password notification jobs (RFE 134) 2016-05-14 11:25:26 +02:00
Roland Gruber 3387e210ad CC and BCC address for password notification jobs (RFE 134) 2016-05-14 11:22:36 +02:00
Roland Gruber 06e716139a ship with patched version of fpdf 2016-05-10 18:37:01 +02:00
Roland Gruber c4075de648 phpseclib 1.0.2 2016-05-10 18:14:55 +02:00
Roland Gruber 88b7a32187 optional posixAccount object class 2016-05-09 20:10:14 +02:00
Roland Gruber 0b3c6b1036 do not copy .gitignore 2016-04-22 22:09:14 +02:00
Roland Gruber fa1713323f ignore 2016-04-22 21:55:22 +02:00
Roland Gruber 7a338d26f3 browsers 2016-04-19 20:42:37 +02:00
Roland Gruber db9a2ba2a1 fix for 32bit systems (179) 2016-04-19 20:41:51 +02:00
Roland Gruber ed969dec2d 5.4.RC1 2016-04-02 15:40:01 +02:00
Roland Gruber ad2002c3e1 reCAPTCHA 2016-04-02 13:42:07 +02:00
Roland Gruber bcf888423b support for Google reCAPTCHA 2016-04-02 13:30:06 +02:00
Roland Gruber cb5f5bb3d2 support magic numbers for UIDs/GIDs 2016-03-28 11:15:14 +02:00
Roland Gruber e66931e393 support magic numbers for UIDs/GIDs 2016-03-28 11:11:06 +02:00
Roland Gruber 75a239f10b support magic numbers for UID/GID 2016-03-28 11:06:04 +02:00
Roland Gruber 25f546e100 rename SQLite database on profile rename 2016-03-28 09:25:21 +02:00
Roland Gruber e8760f2541 .gitignore 2016-03-26 15:02:04 +01:00
Roland Gruber b9455e4b3a .gitignore 2016-03-26 14:45:46 +01:00
Roland Gruber e0d5ed512b .gitignores 2016-03-25 13:17:51 +01:00
Roland Gruber 4c3708897a 2016-03-21 18:23:33 +00:00
Roland Gruber e8ede90eb5 added filter function to html.inc 2016-03-19 09:06:53 +00:00
Roland Gruber fcd03fd509 translation update 2016-03-17 19:15:51 +00:00
Roland Gruber 38c5293577 translation update 2016-03-16 19:37:37 +00:00
Roland Gruber 6fc9c857c6 translation update 2016-03-16 19:31:26 +00:00
Roland Gruber a46cefc336 translation update 2016-03-09 20:32:28 +00:00
Roland Gruber 4e2e355c5d translation update 2016-03-07 18:25:57 +00:00
Roland Gruber 012b91fe15 2016-03-06 09:21:52 +00:00
Roland Gruber 7534019074 2016-03-06 09:07:58 +00:00
Roland Gruber dfef863ec1 translation update 2016-03-06 09:07:41 +00:00
Roland Gruber 0af33438f5 2016-03-05 19:43:08 +00:00
Roland Gruber b5f3a48a84 new options for password reset page 2016-02-28 14:24:37 +00:00
Roland Gruber 38c6f488a5 new options for password reset page 2016-02-26 19:49:57 +00:00
Roland Gruber d68bf64505 2016-02-13 18:07:03 +00:00
Roland Gruber cd01231c4a puppet: allow to enforce classes 2016-02-13 14:36:48 +00:00
Roland Gruber a0f8e8ddd1 puppet: allow to enforce classes 2016-02-13 14:35:42 +00:00
Roland Gruber 91b5523b81 allow to enforce classes 2016-02-13 14:29:41 +00:00
Roland Gruber 0bbf26bc17 support multi-value selects 2016-02-13 14:29:25 +00:00
Roland Gruber a02441f0ab show classes+variables as single line input fields, added autocomplete 2016-02-13 13:50:14 +00:00
Roland Gruber db4bfd306b allow @ in UNC path (#178) 2016-02-07 17:19:19 +00:00
Roland Gruber 81bd228c6b calendar fields for custom fields 2016-02-02 20:19:57 +00:00
Roland Gruber 3f4e2ab3c1 calendar fields for custom fields 2016-02-02 20:19:24 +00:00
Roland Gruber 46840ce839 2016-02-02 19:51:48 +00:00
Roland Gruber c04ee71ddd pwdExpireWarning for PPolicy notification job 2016-01-31 16:45:52 +00:00
Roland Gruber 4e18e82f0b ppolicy notification job tests 2016-01-26 20:32:11 +00:00
Roland Gruber d6716ee9b4 test for shadowAccount expiration job 2016-01-20 20:49:23 +00:00
Roland Gruber 2d878b02f6 better testability 2016-01-20 20:48:53 +00:00
Roland Gruber f8e7adf82d refactoring 2016-01-20 20:48:30 +00:00
Roland Gruber 3715bb4377 phpseclib 1.0.1 2016-01-19 18:02:38 +00:00
Roland Gruber 27d1ea33c9 set correct content type for JSON requests 2016-01-16 19:19:48 +00:00
Roland Gruber f2168738bd set correct content type for JSON requests 2016-01-16 19:17:19 +00:00
Roland Gruber edef026b24 expiration date placeholder for jobs 2016-01-16 18:46:58 +00:00
Roland Gruber b627bc7088 added NIS netgroup module for hosts 2016-01-10 10:45:09 +00:00
Roland Gruber 26cd5736d2 added NIS netgroup module for hosts 2016-01-09 19:20:57 +00:00
Roland Gruber 06f47376e5 fixed PHP notices for hosts 2016-01-09 19:20:28 +00:00
Roland Gruber ed0673332f support for LDAP views based on nsview 2016-01-06 15:37:09 +00:00
Roland Gruber 3b20a34774 support for LDAP views based on nsview 2016-01-06 15:05:52 +00:00
Roland Gruber a3a5cd0dc5 fixed problem with autoload in tree view 2016-01-05 16:55:01 +00:00
Roland Gruber a659bdeccf added fax number 2016-01-03 15:43:28 +00:00
Roland Gruber 9e80d5a205 2016 2016-01-03 11:09:38 +00:00
Roland Gruber 56201b02d8 allow to set a display name for the server 2016-01-03 11:03:10 +00:00
Roland Gruber 856b35ae05 allow to set a display name for the server 2016-01-03 10:56:57 +00:00
Roland Gruber 410948f612 config tests 2016-01-02 16:00:38 +00:00
Roland Gruber c677a10b6d config fixes 2016-01-02 14:28:03 +00:00
Roland Gruber 7c0cada014 PHPunit 2016-01-02 13:39:28 +00:00
Roland Gruber 38f52e6a98 2016-01-02 12:17:28 +00:00
Roland Gruber 7d124bb77c support K5KEY 2016-01-02 12:16:14 +00:00
Roland Gruber bc0505db1c set attributes only if extension was added 2016-01-02 12:14:58 +00:00
Roland Gruber 8a7a18b361 require PHP 5.4.0 2016-01-01 18:45:46 +00:00
Roland Gruber 8ef6848477 PHP7 fixes - constructor must be named __construct() 2016-01-01 18:21:59 +00:00
Roland Gruber 758bc8dd5f PHP7 fixes - constructor must be named __construct() 2016-01-01 18:11:36 +00:00
Roland Gruber e24021d2eb added 64bit hint 2016-01-01 17:44:28 +00:00
Roland Gruber 87627acd61 PHP7 fixes - constructor must be named __construct() 2015-12-31 14:07:31 +00:00
Roland Gruber a1c2039371 2015-12-30 19:17:42 +00:00
Roland Gruber 78f12f42d8 PHP 7 2015-12-22 19:43:55 +00:00
Roland Gruber a14a3bb0de layout fix if content area is too wide 2015-12-20 19:07:04 +00:00
Roland Gruber c02f80d996 prevent clickjacking 2015-12-19 09:31:21 +00:00
Roland Gruber 36f054b84e mark cookies HTTP only 2015-12-19 09:12:47 +00:00
Roland Gruber b38bc8bc8a 2015-12-15 17:12:51 +00:00
Roland Gruber 949f4775a8 translation update 2015-12-15 17:11:18 +00:00
Roland Gruber 1bf355b0b1 translation update 2015-12-14 19:24:30 +00:00
Roland Gruber 4f1c423815 translation update 2015-12-10 21:34:04 +00:00
Roland Gruber 7bcca7c3bd support for Windows 2015-12-09 17:12:20 +00:00
Roland Gruber 18bdb2a044 enhanced filtering 2015-12-08 16:46:08 +00:00
Roland Gruber 146196a441 2015-12-05 09:24:46 +00:00
Roland Gruber 8c803f607a added "-" in profile editor 2015-12-05 08:51:01 +00:00
Roland Gruber 589847548b doc update 2015-12-05 08:42:07 +00:00
Roland Gruber 52874b8bef translation update 2015-12-02 19:35:58 +00:00
Roland Gruber d101d11e1b translation update 2015-12-02 19:29:56 +00:00
Roland Gruber 647d206589 translation update 2015-12-02 19:26:31 +00:00
Roland Gruber 59ccfc607f translation update 2015-12-02 19:19:23 +00:00