Commit Graph

1013 Commits

Author SHA1 Message Date
Ralf Becker
e9d1e81c49 api update script to deinstall on longer existing EMailAdmin and create it's 14.1 tables, if they are not already there (update from before 14.1) 2016-04-03 08:14:53 +00:00
Ralf Becker
2baf654e14 move all tables to new api and update api to 16.1 2016-04-02 19:55:08 +00:00
Ralf Becker
adb748d6e7 move hooks class to api and only cache hooks in instance cache (instead of database: filesystem scan takes ~4ms, cache ~0.2ms) 2016-04-02 14:16:20 +00:00
Ralf Becker
682fd42a26 move CalDAV/CardDAV server to api 2016-04-02 10:44:17 +00:00
Ralf Becker
25a1bf6360 fix missing use EGroupware\Api 2016-04-02 09:16:53 +00:00
Ralf Becker
0e443b720d fix imap server shows smpt types and visa versa, also change case of DBMail 2016-04-01 12:46:10 +00:00
Ralf Becker
63804dc101 give right aligned table cells a padding-right 8px 2016-04-01 10:18:38 +00:00
Hadi Nategh
c7b576481b Set name attribute for searchbox input as it is necessary to get autocomplete working 2016-04-01 08:19:12 +00:00
Ralf Becker
8fb9063157 moving common::(next|last)_id methods to Api\Accounts\Ldap, storing ids now in egw_config instead of egw_nextid table (which will be droped), also fix "Protocol error" on creating new accouts r55591 on 14.x 2016-04-01 08:07:03 +00:00
Nathan Gray
0f18558682 Print function for calendar 2016-03-31 20:55:41 +00:00
Ralf Becker
f838eb0f01 move country class to api, made all methods static and update country list with current (lowercase) ISO 3166 list 2016-03-31 19:41:39 +00:00
Ralf Becker
082884007e move acl class to api 2016-03-31 18:52:09 +00:00
Ralf Becker
b9809f0c19 Show icons again left of message in dialogs, only use width: 100%, if a template is specified (div has an id) 2016-03-31 17:07:05 +00:00
Hadi Nategh
42d2e62c97 Fix infolog description field keeps always empty space regardless of label content 2016-03-31 14:47:49 +00:00
Ralf Becker
ac6b0e9a94 implement et2_label_empty class for all set_label methods and remove no longer necessary label.et2_label > input[type="checkbox"], as it is covered by the standard case 2016-03-31 13:05:03 +00:00
Ralf Becker
df2791ab63 fix PHP Fatal error: Access to undeclared static property: EGroupware\Api\Mail\Html::$system_charset in api/src/Mail/Html.php on line 233 2016-03-31 11:40:17 +00:00
Ralf Becker
a54f8f2a28 fix some alignment issues: always have a margin for widgets with a lable, ... 2016-03-31 09:21:55 +00:00
Ralf Becker
22a78c4f1f some icons for Stylite template 2016-03-30 19:47:04 +00:00
Ralf Becker
4243e02f1a fix buttons with image in dialogs for non-Pixelegg template 2016-03-30 14:45:44 +00:00
Ralf Becker
2673891b97 for et2_dialogs with template, make template full width 2016-03-30 13:38:22 +00:00
Hadi Nategh
b3639466a0 Add width and height options into dialog widget 2016-03-30 09:56:00 +00:00
Hadi Nategh
d5c9994d50 Fix slideSwitch styling for both desktop and mobile templates 2016-03-29 14:43:36 +00:00
Ralf Becker
58834a0c73 fix An error happened (ErrorException): Argument 4 passed to EGroupware\Api\Vfs::copy_files() must be of the type array, none given 2016-03-29 11:01:34 +00:00
Ralf Becker
7a77706878 make send function compatible with Horde_Mime_Mail::send() to stop PHP complaining, also updated doco a bit 2016-03-29 10:40:48 +00:00
Hadi Nategh
989d1ca389 Mobile theme W.I.P:
- Fix calendar toolbar messed up with too many shown actions
- Fix SVG icons for list, planner, 4days, multiweek and today buttons
2016-03-29 10:33:10 +00:00
Ralf Becker
b42c2fe4f7 fix error when saving mail-account 2016-03-29 09:58:17 +00:00
Ralf Becker
2bd9c7c7e5 fix some wrong case usages of new Api\Html class 2016-03-29 09:13:46 +00:00
Hadi Nategh
58e7ed75dd Mobile theme W.I.P:
- Fix toolbar menulist does not respect buttons width
- Add new font size
- Fix etemplate2.css reference
2016-03-29 09:04:37 +00:00
Ralf Becker
b202223f62 fix PHP Fatal error: Cannot make static method EGroupware\Api\Vfs\Sqlfs\StreamWrapper::get_eacl() non static in class EGroupware\Api\Vfs\Links\StreamWrapper 2016-03-29 07:01:36 +00:00
Ralf Becker
f68dab4862 remove no longer required use egw_mailer, since Mailer is api now 2016-03-29 06:46:42 +00:00
Ralf Becker
47eca40f25 remove no longer required use common 2016-03-29 06:43:18 +00:00
Ralf Becker
10e6c62aa3 fix PHP Fatal error: Cannot use preferences as preferences because the name is already in use 2016-03-29 06:38:09 +00:00
Ralf Becker
5f68bc6664 move html mail specific part of translation class to Api\Mail\Html 2016-03-28 19:38:21 +00:00
Ralf Becker
d1924fee2f fix PHP Fatal error: Class 'EGroupware\Api\auth' not found 2016-03-28 19:08:05 +00:00
Ralf Becker
cfe77bd468 fix PHP Fatal error: Class 'EGroupware\Api\config' not found 2016-03-28 19:03:23 +00:00
Ralf Becker
00abda4682 moving emailadmin to api and admin, only emailadmin_hooks and tables still need moving 2016-03-28 18:51:38 +00:00
Ralf Becker
a417310b9d make all static methods static to avoid warning when they get called static 2016-03-27 09:41:58 +00:00
Nathan Gray
2d26d595b6 Avoid type mismatch causing 'Not an integer' 2016-03-25 16:22:06 +00:00
Nathan Gray
12ca409137 When server gives taglist options via ajax, take them all. Only filter local suggestions. 2016-03-25 16:04:27 +00:00
Nathan Gray
8105b93f80 Fix cat_is_select setting was not used 2016-03-24 19:05:26 +00:00
Nathan Gray
dcc83171ad Turn off error log 2016-03-24 18:10:42 +00:00
Nathan Gray
633a1b1dec Fix category sorting 2016-03-24 17:47:55 +00:00
Nathan Gray
11fbdbd34a Move gantt widget into projectmanager - remove gantt from api widget list
- Should fix some random etemplate breaking
2016-03-24 15:55:43 +00:00
Nathan Gray
63a69c03cd Move gantt widget into projectmanager 2016-03-22 21:33:58 +00:00
Nathan Gray
c871b6728d Default taglist category to need 0 characters before expanding, since we'll have the options. 2016-03-22 14:48:59 +00:00
Ralf Becker
3f3973af51 only scanning widget directory, not parent 2016-03-22 10:21:13 +00:00
Ralf Becker
9c0cd79425 missing propset svn:keywords Id 2016-03-22 09:10:08 +00:00
Ralf Becker
066257ff30 fix PHP Fatal error: Call to a member function read() on null in etemplate/inc/class.contact_widget.inc.php, private var must be only protected 2016-03-22 08:56:55 +00:00
Ralf Becker
7c1d0dfdf1 fix PHP Fatal error: require_once(): Failed opening required HTTP/WebDAV/Server.php, caused by it's new location 2016-03-22 08:44:11 +00:00
Nathan Gray
6a2167f11b Change some inconsistent relative dates 2016-03-21 23:50:21 +00:00
Nathan Gray
b28792ffaf Better handling of missing top-level cache (happens in sitemgr) to avoid infinite loops 2016-03-21 22:25:33 +00:00
Nathan Gray
8ed3a42a7a Fix scoping caused legacy categories to fail 2016-03-21 22:04:10 +00:00
Ralf Becker
77c5102792 fixed more namespace issues found by doc/check_namespace.php I wrote and forgot about it ;-) 2016-03-21 21:21:40 +00:00
Nathan Gray
847abfb198 - Fix some namespace issues breaking custom filter header
- Fix some copy+paste errors
2016-03-21 20:36:12 +00:00
Nathan Gray
496d24592b Correctly handle optgroups in both processed & legacy forms 2016-03-21 19:56:40 +00:00
Nathan Gray
47198549f7 Fix unable to re-open datepicker after clicking 'today' 2016-03-21 19:17:11 +00:00
Nathan Gray
e214a7153c Break out Nextmatch sub-widgets into their own files, and make sure sub widgets can get autoloaded. 2016-03-21 18:40:43 +00:00
Nathan Gray
9905a3f6bd Cache widget registry for an hour.
Fixes historylog not loading entries.
2016-03-21 17:08:17 +00:00
Nathan Gray
2935c25eed Add missing use egw_framework 2016-03-21 16:06:26 +00:00
Nathan Gray
ca0a896fa3 Fix widget scan 2016-03-21 16:05:51 +00:00
Ralf Becker
77624244e6 do NOT call et2_ready for dialogs with a template, as it would overwrite this.et2 in app.js 2016-03-21 15:31:02 +00:00
Nathan Gray
374cfffb89 Fix missing optgroup labels 2016-03-21 15:09:57 +00:00
Nathan Gray
fd3c729454 Fix selectbox cache - needs to be undefined if missing for subsequent processing
(broken by r55418)
2016-03-21 14:43:39 +00:00
Ralf Becker
8a14cd54b8 explicilty import DateInterval, so phpDoc is correct too 2016-03-21 09:45:10 +00:00
Ralf Becker
a0d478a92b fix PHP Fatal error in CalDAV preferences, caused by missing explicit import of old preferences class 2016-03-21 09:31:40 +00:00
Ralf Becker
fb4101e38a moving et2 images to api 2016-03-21 09:27:41 +00:00
Ralf Becker
23f07571c6 moving et2 images to api 2016-03-21 09:26:03 +00:00
Ralf Becker
1b5429f0ff replacing common::egw_exit() with exit, there is no more extra cleanup 2016-03-20 16:30:01 +00:00
Ralf Becker
67cb60b972 moving egw_digest_auth, vfs_webdav_server and egw_sharing to new api 2016-03-20 16:19:53 +00:00
Ralf Becker
485416d5f1 replace create_function with performanter, because opcachable closure 2016-03-20 14:01:29 +00:00
Ralf Becker
4da844a70f move categories class to api 2016-03-20 13:41:33 +00:00
Ralf Becker
52a7f2198a move egw_json_(request|response|push) to api 2016-03-20 13:02:55 +00:00
Ralf Becker
31b4e66690 fix not working changing of preferences, caused by missing reference operator in expand_widget 2016-03-20 11:14:06 +00:00
Ralf Becker
7968afc67d add missing docu of parameter 2016-03-20 10:59:59 +00:00
Ralf Becker
59ffb2497b add missing use common 2016-03-19 17:05:59 +00:00
Ralf Becker
df7d8c414a modified client-side to call new server-side classes in api, instead compatibility classes in etemplate 2016-03-19 16:16:59 +00:00
Ralf Becker
6af1e23b66 move et2 widget browser to api, thought link to it is currently only in old eTemplate sidebox menu 2016-03-19 15:25:32 +00:00
Ralf Becker
d8514e47b9 move etemplate2.css to api 2016-03-19 15:22:41 +00:00
Ralf Becker
9b446f7c17 moving et2 js files to api 2016-03-19 13:48:07 +00:00
Ralf Becker
2f4c727f9d moving eT2 server-side to api 2016-03-19 13:06:07 +00:00
Ralf Becker
7b0cc41f3f fix old eTemplate buttons with text and image to not have image behind caption 2016-03-19 11:38:00 +00:00
Ralf Becker
0cd226b91d make static functions static as they should be 2016-03-19 10:44:00 +00:00
Nathan Gray
c2eaabaa5b Fix namespace error 2016-03-18 15:37:57 +00:00
Klaus Leithoff
5fc0e88b68 fix issues with new namespaces / translation class moved to new api/src location 2016-03-17 09:29:54 +00:00
Klaus Leithoff
70e5dbf50f further refinement on activate_links 2016-03-15 15:30:17 +00:00
Ralf Becker
a5946c4379 fix typo causing old etemplate to fail when using ckeditor 2016-03-15 13:33:03 +00:00
Hadi Nategh
b7a1280c17 Fix can not open any attachment caused by wrong path 2016-03-15 10:05:34 +00:00
Nathan Gray
d1da1f8bb7 Fix class not found error 2016-03-14 21:11:37 +00:00
Ralf Becker
99714aa9e9 move egw_framework::csp_*_source_attrs($attrs) to Api\Header\ContentSecurityPolicy::add(*-src, $attrs) and egw_ckeditor_config to Api\Html\CkEditorConfig 2016-03-13 14:08:31 +00:00
Ralf Becker
69a070498b fix wrong namespace 2016-03-13 12:48:45 +00:00
Ralf Becker
02bf09aaae move egw_htmLawed to api/src/Html/HtmLawed, @Klaus: does mail really need to call that class, cant it use Html::purify? 2016-03-13 11:56:00 +00:00
Ralf Becker
85695f0d41 split html class to Api\Html, Api\Header\Content, Api\Header\UserAgent and translation 2016-03-13 11:22:44 +00:00
Ralf Becker
c1e0b16d88 if there is no primary key lock table on backup to be able to query rows in chunks to limit memory usage 2016-03-09 20:25:22 +00:00
Ralf Becker
20da4e41bc an other namespace fix 2016-03-09 19:45:21 +00:00
Hadi Nategh
f3965b964f Mobile theme:
- Implement check avaliable apps for mobile on client-side
2016-03-09 11:12:44 +00:00
Ralf Becker
22d833affa for mobile devices prever $app/templates/mobile/images 2016-03-08 13:10:03 +00:00
Ralf Becker
c431cf3c0e fix wrong class-name used only for accounts in LDAP and addressbook in SQL 2016-03-08 08:54:40 +00:00
Ralf Becker
564b2b0fd7 fixes and first successful tests with Ldap backend 2016-03-08 08:13:26 +00:00
Ralf Becker
0fa46377d8 fix PHP Fatal error: Class 'EGroupware\Api\Storage\notifications' not found in api/src/Storage/Tracking.php on line 769 2016-03-07 10:03:14 +00:00
Ralf Becker
fca25726c9 fix 2 PHP Fatal error:
- Class 'EGroupware\Api\etemplate' not found in api/src/Contacts.php on line 1527
- Undefined constant 'EGroupware\Api\SessionEGW_SESSION_VAR' in api/src/Storage/Tracking.php on line 409
2016-03-07 09:59:12 +00:00
Ralf Becker
0ba4283f9f move egw_link to Api\Link 2016-03-07 08:46:32 +00:00
Ralf Becker
3c02af0875 fix typo in case 2016-03-06 21:13:26 +00:00
Ralf Becker
3742ecec05 some more resolved dependencies 2016-03-06 20:56:09 +00:00
Ralf Becker
f116751110 move auth classes to Api\Auth, only Sql is currently tested! 2016-03-06 20:48:37 +00:00
Ralf Becker
b95727bb6f move auth classes to Api\Auth, only Sql is currently tested! 2016-03-06 20:47:10 +00:00
Ralf Becker
d407b9aae1 moved accounts classes to Api\Accounts 2016-03-06 15:54:07 +00:00
Ralf Becker
7ada2354d3 move addresbook_bo to Api\Contacts, ldap to Api\Ldap, ldapserverinfo to Api\Ldap\ServerInfo, bo_tracking to Api\Storage\Tracking, historylog to Api\Storage\History, Api\Customfields to Api\Storage\Customfields 2016-03-06 13:45:15 +00:00
Ralf Becker
fcca19cfcf moving so_sql* to Api\Storage 2016-03-06 09:05:20 +00:00
Ralf Becker
29c7d2d1f8 cleaning up common class, moving image handling to Api\Image, eg. Api\Image::find($app,$image) instead of common::image($app,$image) 2016-03-06 09:04:44 +00:00
Ralf Becker
f7441c2e2e Api\Vfs::mime_icon() only returns url or eTemplate app/name string, no more html image tag, egw_vfs compatibility class still implements that 2016-03-05 15:59:20 +00:00
Ralf Becker
49c45ff53a cleaning up common class, moving image handling to Api\Image, eg. Api\Image::find($app,$image) instead of common::image($app,$image) 2016-03-05 15:32:49 +00:00
Ralf Becker
1484c94c28 using DateTime::to() instead of common::dateformatorder/formattime 2016-03-05 15:22:35 +00:00
Ralf Becker
ed8f6f45c4 move egw_csrf class to Api\Csrf without a compatibility class 2016-03-05 14:02:13 +00:00
Ralf Becker
0f2131e29a move egw_customfields class to Api\Customfields 2016-03-05 13:33:32 +00:00
Ralf Becker
aeb9c93b55 moved egw_session class to Api\Session and removed unused egw_session_(files|memcache) as listing sessions is done now via egw_sessions table in db and memcache has its own session handler 2016-03-05 13:14:54 +00:00
Ralf Becker
7989d702dd move mime_magic class to Api\MimeMagic 2016-03-05 12:33:37 +00:00
Ralf Becker
a24c1121a2 move egw_time class to Api\DateTime 2016-03-05 11:14:01 +00:00
Ralf Becker
49f75bc8dd move non-mail specific methods of translation class to Api\Translation 2016-03-05 10:47:20 +00:00
Ralf Becker
ea798d93f2 move config to Api\Config 2016-03-05 10:23:11 +00:00
Ralf Becker
7aa3296cc5 move config to Api\Config 2016-03-05 10:22:40 +00:00
Ralf Becker
1f3c674ef6 adding an Exceptions for caching problems 2016-03-03 11:41:45 +00:00
Ralf Becker
4486d9d7a2 fix namespace usage in refactured code:
namespace EGroupware\Api --> use eg. just Db, not Api\Db for EGroupware\Api\Db
use EGroupware\Api       --> use eg. Api\Db for EGroupware\Api\Db
2016-03-01 09:14:06 +00:00
Ralf Becker
0637063660 fix namespaces in Db exceptions 2016-02-29 13:39:35 +00:00
Ralf Becker
27c204cc7a fix namespaces in stock PHP class \Memcache(d) 2016-02-29 08:53:05 +00:00
Ralf Becker
d2e7c7da4d check for php serialization before using igbinary_unserialize 2016-02-29 08:45:33 +00:00
Ralf Becker
1ab66dd811 move exceptions to new api structure, thought to catch an exception by its deprecated name, new exceptions have to extend deprecated ones 2016-02-28 13:43:06 +00:00
Ralf Becker
b596b615b4 APCIterator is from global namespace 2016-02-28 13:22:09 +00:00
Ralf Becker
9bf4dd288e moved egw_cache to Api\Cache 2016-02-28 09:38:36 +00:00
Ralf Becker
0f93bdfcff append (optional) length of index in brackets to column, to adapt to improved pull request for ADOdb 2016-02-24 09:27:54 +00:00
Ralf Becker
e3fb4142fc need to cast to string, as ADOdb 5.20 would return NULL instead of '' for NULL, causing us to write that into NOT NULL columns 2016-02-22 13:31:44 +00:00
Ralf Becker
7f40ff5b17 work around broken ADORecordSet::GetAssoc() in ADOdb 5.20 2016-02-21 11:59:14 +00:00
Ralf Becker
2a056cca06 fix old class name in Galera health check 2016-02-21 11:07:46 +00:00
Ralf Becker
86955dfc95 work in progress: using ADOdb 5.20 and move db classes to new api directory 2016-02-20 20:27:17 +00:00
Ralf Becker
651be2a4cf removing for some of our ADOdb patches 2016-02-20 18:16:21 +00:00
Ralf Becker
ddbf473642 fix wired error in scandir "(errno 115): Operation now in progress" caused by calling opendir with undefined context 2016-01-22 13:55:37 +00:00
Ralf Becker
b4a20773b8 fix whole directories where not cleaned up, when deleting old versions and deleted files, changed .versions dir to only contain older versions (no longer deleted files / stuff from .attic too) 2016-01-21 14:35:45 +00:00
Ralf Becker
29c73a8694 * Filemanager: add ability to finally delete all old versions or deleted files from a versioned directory 2016-01-21 11:49:50 +00:00
Ralf Becker
c34ebcf9b2 fixed creating of symlink failed for not-writable entry-directory (attachments), because wrong url_stat was used, needs to be static::url_stat not self::, to use method of extending classes 2015-09-30 03:24:04 +00:00
Ralf Becker
ac04fcaa27 shorten filenames to precision of the column (200 characters9, to not give SQL error under PostgreSQL 2015-08-22 12:46:42 +00:00
Ralf Becker
02de20bddb * Filemanager/WebDAV: rename of a file or directory removed other files with names only differing in case eg. "test" and "Test" 2015-08-06 12:59:56 +00:00
Ralf Becker
92c9fbc7dc * Filemanager/Versioning: filesystem checks now fixes directories existing multiple times, causing them to appear empty 2015-07-29 09:08:31 +00:00
Ralf Becker
3943fca39d make sure we are connected, as we need ADOdb object to convert charset to MySQL (eg. utf-8 --> utf8) 2015-07-15 21:27:48 +00:00
Ralf Becker
b27dbc617c allow to specify multiple ;-separated hosts for database, by default first one is used, on connection failure other ones are tried too 2015-07-06 11:15:14 +00:00
Ralf Becker
14ccc8f0b5 added todo with url to php class allowing to stream a zip file of arbitrary size 2015-06-11 12:46:27 +00:00
Klaus Leithoff
ed12869f0d * API/VFS: download as zip; increase the time limit on a small amount of files, as they may hold a big amount of data 2015-06-11 12:30:38 +00:00
Ralf Becker
c823f64c4b fix not working download url for share on a subdirectory of a mounted filesystem with given download url 2015-04-23 19:40:55 +00:00
Ralf Becker
d1038c6d65 need to return stat array 2015-04-14 17:25:51 +00:00
Ralf Becker
e6a751e1c5 fix old class-name 2015-04-14 17:06:41 +00:00
Ralf Becker
08609c1e0b always return resource seeked to its start 2015-04-14 17:05:38 +00:00
Ralf Becker
0223553284 allow to specify "egw_data" => egw_link::set_data() instead of "tmp_name" of uploaded file to create attachments with egw_link::link() 2015-04-14 15:04:21 +00:00
Nathan Gray
f5863852e4 Make sure stat url is present before changing it. Fixes error loading mounted etemplates. 2015-03-24 19:42:32 +00:00
Nathan Gray
8a2b996021 Store url/dir query parameters in local var 2015-03-23 17:40:20 +00:00
Nathan Gray
e89d8e9e64 Make sure query doesn't get lost 2015-03-18 23:36:17 +00:00
Ralf Becker
157cfd84f8 fixed a couple more issues with session reusage when using sharing urls:
- to resolve sharing-path to url, we need to restore full mount-tab
- egw_vfs::clearstatcache() was not clearing resolve_url cache, causing previous share to be used
- need to set egw_info[user][vfs_user] after egw_session::create, as it overwrites it
2015-03-02 21:09:08 +00:00
Ralf Becker
9c569a8c1e * Sharing: fixed not accessible share, if user already logged into same EGroupware instance, also fixed WebDAV problems using a share URL 2015-02-28 22:08:23 +00:00
Ralf Becker
9686d8ff5b use error_log instead of echo to give constant feedback (echo uses output buffering) and set fs_content in all rows to NULL, as it is a lot quicker 2015-02-17 07:55:11 +00:00
Ralf Becker
7e8f2716e6 seems like bindValue need to be done for each execute 2015-02-16 15:51:44 +00:00
Ralf Becker
42413373b5 fix migrate_db2fs to only fetch 5 files per query, as we dont want to require enough memory to hold all file in memory 2015-02-16 15:15:54 +00:00
Ralf Becker
dd097695ac * Filemanager/Mail: fixed not created thumbnails for readable shares 2015-02-11 11:16:33 +00:00
Ralf Becker
fc70b2213e missing use / namespace aliases 2015-01-31 16:20:21 +00:00
Ralf Becker
c853502a01 fix an other not aliased global class (egw_time) 2015-01-27 17:17:50 +00:00
Ralf Becker
481803ac3b fix PHP Fatal error: Class "EGroupware\Api\ZipArchive" not found 2015-01-27 17:09:00 +00:00
Ralf Becker
70b603ac77 moving VFS API classes into a namespaced PSR4 autoloadable structure:
- PSR4 autoloader exists beside our old autloader to support old as well as new structure until everything is ported over
- moved ported API stuff from phpgwapi to new api directory (idea is phpgwapi become a compatibility layer for old code, while we only port selected stuff to new api directory)
- namespaces use prefix "EGroupware", then (first letter capitalised) app-name or "Api", sub-system names like "Vfs" or for apps "Ui", "Bo, "So" and at least class name starting with a capital letter and without understores eg. "StreamWrapper" plus just ".php"
- examples:
  + egw_vfs in phpgwapi/inc/class.egw_vfs.inc.php --> EGroupware\Api\Vfs in api/src/Vfs.php
  + sqlfs_stream_wrapper in phpgwapi/inc/class.sqlfs_stream_wrapper.inc.php --> EGroupware\Api\Vfs\Sqlfs\StreamWrapper in api/src/Vfs/Sqlfs/StreamWrapper.php
  + sqlfs_utils in phpgwapi/inc/class.sqlfs_utils.inc.php --> EGroupware\Api\Vfs\Sqlfs\Utils in api/src/Vfs/Sqlfs/Utils.php
- api directory is no a new svn module but exists (like home) as sub-directory under base egroupware module
2015-01-26 09:15:07 +00:00