@@ -41,18 +41,29 @@ function loadPlugins() {
4141 global $ app ,$ conf ;
4242
4343 $ plugins_dir = $ conf ["rootpath " ].$ conf ["fs_div " ]."plugins-enabled " .$ conf ["fs_div " ];
44+ $ tmp_plugins = array ();
4445
4546 if (is_dir ($ plugins_dir )) {
4647 if ($ dh = opendir ($ plugins_dir )) {
48+ //** Go trough all files in the plugin dir
4749 while (($ file = readdir ($ dh )) !== false ) {
4850 if ($ file != '. ' && $ file != '.. ' && substr ($ file ,-8 ,8 ) == '.inc.php ' ) {
4951 $ plugin_name = substr ($ file ,0 ,-8 );
50- include_once ($ plugins_dir .$ file );
51- $ app ->log ("Loading Plugin: $ plugin_name " ,LOGLEVEL_DEBUG );
52- $ app ->loaded_plugins [$ plugin_name ] = new $ plugin_name ;
53- $ app ->loaded_plugins [$ plugin_name ]->onLoad ();
52+ $ tmp_plugins [$ plugin_name ] = $ file ;
5453 }
5554 }
55+ //** sort the plugins by name
56+ ksort ($ tmp_plugins );
57+
58+ //** load the plugins
59+ foreach ($ tmp_plugins as $ plugin_name => $ file ) {
60+ include_once ($ plugins_dir .$ file );
61+ $ app ->log ("Loading Plugin: $ plugin_name " ,LOGLEVEL_DEBUG );
62+ $ app ->loaded_plugins [$ plugin_name ] = new $ plugin_name ;
63+ $ app ->loaded_plugins [$ plugin_name ]->onLoad ();
64+ }
65+ } else {
66+ $ app ->log ("Unable to open the plugin directory: $ plugins_dir " ,LOGLEVEL_ERROR );
5667 }
5768 } else {
5869 $ app ->log ("Plugin directory missing: $ plugins_dir " ,LOGLEVEL_ERROR );
0 commit comments