1717*/
1818date_default_timezone_set ('Europe/Brussels ' );
1919require_once __DIR__ . '/../../vendor/autoload.php ' ;
20- require_once __DIR__ . '/../config/common.config.php ' ;
21- require_once __DIR__ . '/../class/DB.class.php ' ;
22- require_once __DIR__ . '/../class/config.class.php ' ;
23- require_once __DIR__ . '/../class/jeedom.class.php ' ;
24- require_once __DIR__ . '/../class/plugin.class.php ' ;
25- require_once __DIR__ . '/../class/translate.class.php ' ;
26- require_once __DIR__ . '/utils.inc.php ' ;
27- include_file ('core ' , 'jeedom ' , 'config ' );
28- include_file ('core ' , 'compatibility ' , 'config ' );
29- include_file ('core ' , 'utils ' , 'class ' );
30- include_file ('core ' , 'log ' , 'class ' );
3120
3221try {
3322 $ configs = config::byKeys (array ('timezone ' , 'log::level ' ));
4635} catch (Error $ e ) {
4736}
4837
38+ /**
39+ * Autoload function for specific Jeedom classes
40+ * this function is called after the default Composer autoloader
41+ * it will load specific classes such as Cmd, Real, etc.
42+ * for plugins that do not use namespaces or Composer autoloading
43+ */
4944function jeedomAutoload ($ _classname ) {
50- /* core class always in /core/class : */
51- $ path = __DIR__ . "/../../core/class/ $ _classname.class.php " ;
52- if (file_exists ($ path )) {
53- include_file ('core ' , $ _classname , 'class ' );
54- } else if (substr ($ _classname , 0 , 4 ) === 'com_ ' ) {
55- /* class com_$1 in /core/com/$1.com.php */
56- include_file ('core ' , substr ($ _classname , 4 ), 'com ' );
57- } else if (substr ($ _classname , 0 , 5 ) === 'repo_ ' ) {
58- /* class repo_$1 in /core/repo/$1.repo.php */
59- include_file ('core ' , substr ($ _classname , 5 ), 'repo ' );
60- } else if (strpos ($ _classname , '\\' ) === false && strpos ($ _classname , '/ ' ) === false ) {
45+ if (strpos ($ _classname , '\\' ) === false && strpos ($ _classname , '/ ' ) === false ) {
6146 /* autoload for plugins : no namespace */
6247 $ classname = str_replace (array ('Real ' , 'Cmd ' ), '' , $ _classname );
6348 $ plugin_active = config::byKey ('active ' , $ classname , null );
@@ -69,12 +54,12 @@ function jeedomAutoload($_classname) {
6954 try {
7055 include_file ('core ' , $ classname , 'class ' , $ classname );
7156 } catch (Exception $ e ) {
72-
57+ log:: add ( ' jeedom ' , ' error ' , ' Error loading class ' . $ classname . ' : ' . $ e -> getMessage ());
7358 } catch (Error $ e ) {
74-
59+ log:: add ( ' jeedom ' , ' error ' , ' Error loading class ' . $ classname . ' : ' . $ e -> getMessage ());
7560 }
7661 }
7762 }
7863}
7964
80- spl_autoload_register ('jeedomAutoload ' , true , true );
65+ spl_autoload_register ('jeedomAutoload ' , false , false );
0 commit comments