| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- <?php
 
- /**
 
-  *
 
-  *
 
-  * @ingroup tripal_pub
 
-  */
 
- function tripal_pub_preprocess_tripal_pub_relationships(&$variables) {
 
-    $pub = $variables['node']->pub;
 
-   
 
-    // expand the pub object to include the pub relationships.
 
-   $options = array(
 
-     'return_array' => 1,
 
-     // we don't want to fully recurse we only need information about the
 
-     // relationship type and the object and subject pubs (including pub type)
 
-     'include_fk' => array(
 
-       'type_id' => 1,
 
-       'object_id' => array(
 
-         'type_id' => 1,
 
-       ),
 
-       'subject_id'  => array(
 
-         'type_id' => 1,
 
-       ),
 
-     ),
 
-   );
 
-   $pub = chado_expand_var($pub, 'table', 'pub_relationship', $options);
 
-   // get the subject relationships
 
-   $srelationships = $pub->pub_relationship->subject_id;
 
-   $orelationships = $pub->pub_relationship->object_id;
 
-   // combine both object and subject relationshisp into a single array
 
-   $relationships = array();
 
-   $relationships['object'] = array();
 
-   $relationships['subject'] = array();
 
-   // iterate through the object relationships
 
-   if ($orelationships) {
 
-     foreach ($orelationships as $relationship) {
 
-       $rel = new stdClass();
 
-       $rel->record = $relationship;
 
-        
 
-       // get the relationship and child types
 
-       $rel_type = t(preg_replace('/_/', " ", $relationship->type_id->name));
 
-       $child_type = $relationship->subject_id->type_id->name;
 
-        
 
-       // get the node id of the subject
 
-       $sql = "SELECT nid FROM {chado_pub} WHERE pub_id = :pub_id";
 
-       $n = db_query($sql, array(':pub_id' => $relationship->subject_id->pub_id))->fetchObject();
 
-       if ($n) {
 
-         $rel->record->nid = $n->nid;
 
-       }
 
-       if (!array_key_exists($rel_type, $relationships['object'])) {
 
-         $relationships['object'][$rel_type] = array();
 
-       }
 
-       if (!array_key_exists($child_type, $relationships['object'][$rel_type])) {
 
-         $relationships['object'][$rel_type][$child_type] = array();
 
-       }
 
-       $relationships['object'][$rel_type][$child_type][] = $rel;
 
-     }
 
-   }
 
-   // now add in the subject relationships
 
-   if ($srelationships) {
 
-     foreach ($srelationships as $relationship) {
 
-       $rel = new stdClass();
 
-       $rel->record = $relationship;
 
-       $rel_type = t(preg_replace('/_/', " ", $relationship->type_id->name));
 
-       $parent_type = $relationship->object_id->type_id->name;
 
-        
 
-       // get the node id of the subject
 
-       $sql = "SELECT nid FROM {chado_pub} WHERE pub_id = :pub_id";
 
-       $n = db_query($sql, array(':pub_id' => $relationship->object_id->pub_id))->fetchObject();
 
-       if ($n) {
 
-         $rel->record->nid = $n->nid;
 
-       }
 
-        
 
-       if (!array_key_exists($rel_type, $relationships['subject'])) {
 
-         $relationships['subject'][$rel_type] = array();
 
-       }
 
-       if (!array_key_exists($parent_type, $relationships['subject'][$rel_type])) {
 
-         $relationships['subject'][$rel_type][$parent_type] = array();
 
-       }
 
-       $relationships['subject'][$rel_type][$parent_type][] = $rel;
 
-     }
 
-   }
 
-   $pub->all_relationships = $relationships;
 
- }
 
 
  |