Patricia hits the following error when accessing the past classes folder:
Back-trace:
# File Line Call
0 Pdo.php 56 Zend_Db_Statement_Pdo->_execute(NULL);
1 Statement.php 283 Harmoni_Db_Statement_Pdo->_execute(NULL);
2 IsAuthorizedCache.class.php 656 Zend_Db_Statement->execute();
3 IsAuthorizedCache.class.php 505 AuthZ2_IsAuthorizedCache->_loadSingle(String: "USER", String: "105223");
4 IsAuthorizedCache.class.php 258 AuthZ2_IsAuthorizedCache->_loadQueue(String: "USER");
5 AuthorizationManager.class.php 533 AuthZ2_IsAuthorizedCache->isUserAuthorized(Object: HarmoniId, Object: HarmoniId);
6 AllVisiblePortalFolder.class.php 166 AuthZ2_AuthorizationManager->isUserAuthorized(Object: HarmoniId, Object: HarmoniId);
7 AllEditablePortalFolder.class.php 73 AllVisiblePortalFolder->includeSite(Object: HarmoniId);
8 AllVisiblePortalFolder.class.php 130 AllEditablePortalFolder->includeSite(Object: HarmoniId);
9 AllVisiblePortalFolder.class.php 75 AllVisiblePortalFolder->getSiteIds();
10 list.act.php 154 AllVisiblePortalFolder->getSlots();
11 MainWindowAction.class.php 118 listAction->buildContent();
12 ClassesActionSource.class.php 115 MainWindowAction->execute();
13 ActionHandler.class.php 209 ClassesActionSource->executeAction(String: "portal", String: "list");
14 ActionHandler.class.php 176 ActionHandler->_execute(String: "portal", String: "list");
15 Harmoni.class.php 371 ActionHandler->execute(String: "portal", String: "list");
16 index.php 79 Harmoni->execute();
REQUEST_URI: /portal/list/folder/all_editable
HTTP_REFERER: https://segue2.middlebury.edu/portal/list/folder/upcoming_classes
GET:
Array
(
)
POST:
Array
(
)
HTTP_USER_AGENT:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
Logged In: YES
user_id=789554
Originator: YES
Turns out this is not for past-classes, this for the all editable folder.
Logged In: YES
user_id=789554
Originator: YES
This is being caused by the WAGs department LDAP dn messing up the SQL.
Logged In: YES
user_id=789554
Originator: YES
The SQL is valid, but it seems to be a PHP/PDO bug in which prepared statements that contain escaped single-quotes will cause a segmentation fault. The following code will produce this segmentation fault, but a version with the fk_qualifier parameter hard-coded will work.
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT *
FROM
`az2_explicit_az`
WHERE
`fk_agent` IN ('Tim O\'Brien - abcdefghijklmnopqrstuvwxyzabc')
AND `fk_qualifier`=?";
$qualifierIdString = "12345";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $qualifierIdString, PDO::PARAM_STR);
$stmt->execute();
Logged In: YES
user_id=789554
Originator: YES
Submitted comment to PHP bug #41125
http://bugs.php.net/bug.php?id=41125
See also:
http://slug.middlebury.edu/~afranco/PHP_PDO_segfault/info.txt
Logged In: YES
user_id=789554
Originator: YES
Lowering the priority to non-blocking as we currently have a workaround and this is a PHP issue, not a Segue-code issue.