mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #14483
[Bug 1067724] Re: Unable to read language directory
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
References