function buildClassesArray($hash) { $_SESSION['crhash'] = $hash; // Pull out the latest matching saved road's classes and majors $classdata = CourseRoadDB::getClassDataFromRoad($hash); if (!$classdata) { die; } $classes = json_decode(CourseRoadDB::decrypt($classdata['classes']), true); $majors = stripslashes(CourseRoadDB::decrypt($classdata['majors'])); $majors = json_decode($majors, true); if (!$classes) { return array('error' => true, 'errorDesc' => 'No classes'); } $classes_data = array(); foreach ($classes as &$class) { if (!isset($class['override'])) { $class['override'] = false; } if (!isset($class['substitute'])) { $class['substitute'] = ''; } if (isset($class['custom'])) { $classes_data[] = pullCustom($class['name'], $class['units'], $class['term'], $class['override'], $class['substitute']); } else { $classdata = pullClass($class['id'], $class['year'], $class['term'], $class['override'], $class['substitute']); if ($classdata !== 'noclass') { $classes_data[] = $classdata; } } } return array('classes' => $classes_data, 'majors' => $majors); }