I was unable to replicate the error in 1.5_STABLE. From looking at the glob() documentation ( http://php.net/glob ) I note that the glob function is meant to just return an empty array if it can't find anything, or false on error. So, it's possible that some environments may be causing glob to error out, and the code isn't handling that properly.
There's also this: "Note: On some systems it is impossible to distinguish between empty match and an error. " It's unclear whether that means that an empty match returns false, or whether it means that an error returns an empty array. But the return value that Jan noted (nearly 1 year ago today) is what you get when you cast boolean false as an array: var_dump((array) false); array(1) { [0]=> bool(false) } ** Changed in: mahara Milestone: 1.8.0 => 1.8.1 -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1067724 Title: Unable to read language directory Status in Mahara ePortfolio: Triaged Bug description: Running Mahara 1.5 here. No relation to system or PHP version I guess. On page: admin/users/pendingregistrations.php I get this error: Unable to read language directory lang [full log appended but not necessary] which is because in lib/mahara.php on line 596 (+/- 5 lines) $datarootpaths = (array)glob(get_config('dataroot') . 'langpacks/*', GLOB_MARK | GLOB_ONLYDIR); assign array(0 => false) to $datarootpaths My 3 line patch goes directly below that line and looks like this: foreach($datarootpaths as $key => $path) if(!is_string($path)) unset($datarootpaths[$key]); *** full error log *** Call stack (most recent first): log_message("Unable to read language directory lang/", 8, true, true) at /srv/http/mahara/testing/mahara_code/lib/errors.php:109 log_warn("Unable to read language directory lang/") at /srv/http/mahara/testing/mahara_code/lib/mahara.php:564 get_languages() at /srv/http/mahara/testing/mahara_code/lib/web.php:3346 language_select_form() at /srv/http/mahara/testing/mahara_code/lib/web.php:437 smarty(array(size 0), array(size 0), array(size 0), array(size 2)) at /srv/http/mahara/testing/mahara_code/auth/lib.php:1009 auth_draw_login_page(null, object(Pieform)) at /srv/http/mahara/testing/mahara_code/auth/lib.php:516 auth_setup() at /srv/http/mahara/testing/mahara_code/init.php:291 require("/srv/http/mahara/testing/mahara_code/init.php") at /srv/http/mahara/testing/mahara_code/admin/users/pendingregistrations.php:30 To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1067724/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : mahara-contributors@lists.launchpad.net Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp