Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * @file
- *
- * Functions that return data used in the subject field.
- */
- function grab_subjects() {
- $squery = db_select('taxonomy_term_data', 't');
- $squery
- ->fields('t', array('vid', 'name', 'tid', 'weight'))
- ->condition('t.vid', 2, '=')
- ->orderBy('t.weight', 'ASC');
- $sresult = $squery->execute();
- $soptions = array();
- foreach ($sresult as $srow) {
- $soptions[$srow->tid] = $srow->name;
- };
- return $soptions;
- }
- function grab_grades() {
- $gquery = db_select('taxonomy_term_data', 't');
- $gquery
- ->fields('t', array('vid', 'name', 'tid', 'weight'))
- ->condition('t.vid', 3, '=')
- ->orderBy('t.weight', 'ASC');
- $gresult = $gquery->execute();
- $goptions = array();
- foreach ($gresult as $grow) {
- $goptions[$grow->tid] = $grow->name;
- };
- return $goptions;
- }
- function grab_strands($subjids, $gradids) {
- $strquery = db_select('taxonomy_term_data', 'str');
- $strquery->join('field_data_field_strand_subject', 's', 'str.tid = s.entity_id');
- $strquery->join(' field_data_field_strand_grade', 'g', 'str.tid = g.entity_id');
- $strquery->fields('str', array('vid', 'name', 'tid'));
- $strquery->fields('s', array('field_strand_subject_tid'));
- $strquery->fields('g', array('field_strand_grade_tid'));
- $db_or = db_or();
- foreach ($subjids as $subjid) {
- $db_or->condition('s.field_strand_subject_tid', $subjid, '=');
- $strquery->condition($db_or);
- }
- $db_more = db_or();
- foreach ($gradids as $gradid) {
- $db_more->condition('g.field_strand_grade_tid', $gradid, '=');
- $strquery->condition($db_more);
- }
- $strresult = $strquery->execute();
- $stroptions = array();
- foreach ($strresult as $strrow) {
- $stroptions[$strrow->tid] = $strrow->name;
- };
- return $stroptions;
- }
- function grab_topics($subjids, $gradids, $strandids) {
- $topquery = db_select('taxonomy_term_data', 't');
- $topquery->join('field_data_field_topic_subject', 's', 't.tid = s.entity_id');
- $topquery->join('field_data_field_topic_grade', 'g', 't.tid = g.entity_id');
- if (!empty($strandids) && (in_array(15, $gradids) || in_array(16, $gradids))) {
- $topquery->join('field_data_field_topic_strand', 'str', 't.tid = str.entity_id');
- }
- $topquery->fields('t', array('vid', 'name', 'tid'));
- $topquery->fields('s', array('field_topic_subject_tid'));
- $topquery->fields('g', array('field_topic_grade_tid'));
- if (!empty($strandids) && (in_array(15, $gradids) || in_array(16, $gradids))) {
- $topquery->fields('str', array('field_topic_strand_tid'));
- }
- $topquery->condition('t.vid', 5, '=');
- $db_or = db_or();
- foreach ($subjids as $subjid) {
- $db_or->condition('s.field_topic_subject_tid', $subjid, '=');
- $topquery->condition($db_or);
- }
- $db_more = db_or();
- foreach ($gradids as $gradid) {
- $db_more->condition('g.field_topic_grade_tid', $gradid, '=');
- $topquery->condition($db_more);
- }
- $topresult = $topquery->execute();
- $topoptions = array();
- $strandids[] = 539;
- foreach ($topresult as $toprow) {
- if (!(isset($toprow->field_topic_strand_tid))) {
- $topoptions[$toprow->tid] = $toprow->name;
- }
- if ((isset($toprow->field_topic_strand_tid)) && (in_array($toprow->field_topic_strand_tid, $strandids))) {
- $topoptions[$toprow->tid] = $toprow->name;
- }
- };
- return $topoptions;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement