|  | @@ -0,0 +1,173 @@
 | 
	
		
			
				|  |  | +<?php
 | 
	
		
			
				|  |  | +// Purpose: This template provides the layout of the feature node (page)
 | 
	
		
			
				|  |  | +//   using the same templates used for the various feature content blocks.
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +// To Customize the Featture Node Page:
 | 
	
		
			
				|  |  | +//   - This Template: customize basic layout and which elements are included
 | 
	
		
			
				|  |  | +//   - Using Panels: Override the node page using Panels3 and place the blocks
 | 
	
		
			
				|  |  | +//       of content as you please. This method requires no programming. See
 | 
	
		
			
				|  |  | +//       the Tripal User Guide for more details
 | 
	
		
			
				|  |  | +//   - Block Templates: customize the content/layout of each block of stock 
 | 
	
		
			
				|  |  | +//       content. These templates are found in the tripal_stock subdirectory
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +// Variables Available:
 | 
	
		
			
				|  |  | +//   - $node: a standard object which contains all the fields associated with
 | 
	
		
			
				|  |  | +//       nodes including nid, type, title, taxonomy. It also includes stock
 | 
	
		
			
				|  |  | +//       specific fields such as stock_name, uniquename, stock_type, synonyms,
 | 
	
		
			
				|  |  | +//       properties, db_references, object_relationships, subject_relationships,
 | 
	
		
			
				|  |  | +//       organism, etc.
 | 
	
		
			
				|  |  | +//   NOTE: For a full listing of fields available in the node object the
 | 
	
		
			
				|  |  | +//       print_r $node line below or install the Drupal Devel module which 
 | 
	
		
			
				|  |  | +//       provides an extra tab at the top of the node page labelled Devel
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$feature  = $variables['node']->feature;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// get the template settings
 | 
	
		
			
				|  |  | +$template_settings = theme_get_setting('tripal');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// toggle the sidebar if desired
 | 
	
		
			
				|  |  | +$no_sidebar = 0;
 | 
	
		
			
				|  |  | +if (is_array($template_settings['tripal_no_sidebar']) and 
 | 
	
		
			
				|  |  | +   $template_settings['tripal_no_sidebar']['feature']) {
 | 
	
		
			
				|  |  | +  $no_sidebar = 1;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +$feature_no_sidebar = preg_split('/\n/', $template_settings['tripal_feature_no_sidebar']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if ($teaser) { 
 | 
	
		
			
				|  |  | +  print theme('tripal_feature_teaser', $variables); 
 | 
	
		
			
				|  |  | +} 
 | 
	
		
			
				|  |  | +else { ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script type="text/javascript">
 | 
	
		
			
				|  |  | +(function ($) {
 | 
	
		
			
				|  |  | +  Drupal.behaviors.featureBehavior = {
 | 
	
		
			
				|  |  | +    attach: function (context, settings){ <?php 
 | 
	
		
			
				|  |  | +      if ($no_sidebar or in_array($feature->type_id->name, $feature_no_sidebar)) { ?>    
 | 
	
		
			
				|  |  | +        // hide the resource side bar and strech the details section    
 | 
	
		
			
				|  |  | +        $(".tripal_toc").hide();
 | 
	
		
			
				|  |  | +        $(".tripal_details").addClass("tripal_details_full");
 | 
	
		
			
				|  |  | +        $(".tripal_details_full").removeClass("tripal_details"); <?php
 | 
	
		
			
				|  |  | +      } else { ?>
 | 
	
		
			
				|  |  | +        // use default resource sidebar
 | 
	
		
			
				|  |  | +        $(".tripal-info-box").hide(); <?php
 | 
	
		
			
				|  |  | +      } ?>
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +      // iterate through all of the info boxes and add their titles
 | 
	
		
			
				|  |  | +      // to the table of contents
 | 
	
		
			
				|  |  | +      $(".tripal-info-box-title").each(function(){
 | 
	
		
			
				|  |  | +        var parent = $(this).parent();
 | 
	
		
			
				|  |  | +        var id = $(parent).attr('id');
 | 
	
		
			
				|  |  | +        var title = $(this).text();
 | 
	
		
			
				|  |  | +        $('#tripal_feature_toc_list').append('<li><a href="#'+id+'" class="tripal_feature_toc_item">'+title+'</a></li>');
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // when a title in the table of contents is clicked, then
 | 
	
		
			
				|  |  | +      // show the corresponding item in the details box
 | 
	
		
			
				|  |  | +      $(".tripal_feature_toc_item").click(function(){
 | 
	
		
			
				|  |  | +         $(".tripal-info-box").hide();
 | 
	
		
			
				|  |  | +         href = $(this).attr('href');
 | 
	
		
			
				|  |  | +         $(href).fadeIn('slow');
 | 
	
		
			
				|  |  | +         // we want to make sure our table of contents and the details
 | 
	
		
			
				|  |  | +         // box stay the same height
 | 
	
		
			
				|  |  | +         $("#tripal_feature_toc").height($(href).parent().height());
 | 
	
		
			
				|  |  | +         return false;
 | 
	
		
			
				|  |  | +      }); 
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // we want the base details to show up when the page is first shown 
 | 
	
		
			
				|  |  | +      // unless the user specified a specific block
 | 
	
		
			
				|  |  | +      var block = window.location.href.match(/[\?|\&]block=(.+?)\&/)
 | 
	
		
			
				|  |  | +      if(block == null){
 | 
	
		
			
				|  |  | +         block = window.location.href.match(/[\?|\&]block=(.+)/)
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if(block != null){
 | 
	
		
			
				|  |  | +         $("#tripal_feature-"+block[1]+"-box").show();
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +         $("#tripal_feature-base-box").show();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      $("#tripal_organism_toc").height($("#tripal_feature-base-box").parent().height());
 | 
	
		
			
				|  |  | +    }     
 | 
	
		
			
				|  |  | +  };
 | 
	
		
			
				|  |  | +})(jQuery);
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<div id="tripal_feature_details" class="tripal_details">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Basic Details Theme -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_base',$node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Database References -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_references', $node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Properties -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_properties', $node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Annotated Terms -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_terms', $node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Synonyms -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_synonyms', $node); ?>
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   <!-- Phenotypes -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_phenotypes', $node); ?>
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   <!-- Maps -->   
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_featurepos', $node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Sequence --> <?php 
 | 
	
		
			
				|  |  | +   if(strcmp($feature->type_id->name,'scaffold')!=0 and 
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'chromosome')!=0 and
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'supercontig')!=0 and
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'pseudomolecule')!=0)
 | 
	
		
			
				|  |  | +   {
 | 
	
		
			
				|  |  | +      print theme('tripal_feature_sequence', $node); 
 | 
	
		
			
				|  |  | +   } ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Formatted Sequences -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_featureloc_sequences', $node); ?>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +   <!-- Relationships -->
 | 
	
		
			
				|  |  | +   <?php print theme('tripal_feature_relationships', $node); ?>
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   <!-- Feature locations --> <?php 
 | 
	
		
			
				|  |  | +   if(strcmp($feature->type_id->name,'scaffold')!=0 and 
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'chromosome')!=0 and
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'supercontig')!=0 and
 | 
	
		
			
				|  |  | +      strcmp($feature->type_id->name,'pseudomolecule')!=0)
 | 
	
		
			
				|  |  | +   {
 | 
	
		
			
				|  |  | +      print theme('tripal_feature_alignments', $node); 
 | 
	
		
			
				|  |  | +   } ?>
 | 
	
		
			
				|  |  | +     
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +   <!-- Resource Blocks CCK elements --><?php
 | 
	
		
			
				|  |  | +   for($i = 0; $i < count($node->field_resource_titles); $i++){
 | 
	
		
			
				|  |  | +     if($node->field_resource_titles[$i]['value']){ ?>
 | 
	
		
			
				|  |  | +       <div id="tripal_feature-resource_<?php print $i?>-box" class="tripal_feature-info-box tripal-info-box">
 | 
	
		
			
				|  |  | +         <div class="tripal_feature-info-box-title tripal-info-box-title"><?php print $node->field_resource_titles[$i]['value'] ?></div>
 | 
	
		
			
				|  |  | +         <?php print $node->field_resource_blocks[$i]['value']; ?>
 | 
	
		
			
				|  |  | +       </div><?php
 | 
	
		
			
				|  |  | +     }
 | 
	
		
			
				|  |  | +   }?>
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   <!-- Let modules add more content -->
 | 
	
		
			
				|  |  | +   <?php print $content ?>
 | 
	
		
			
				|  |  | +</div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<!-- Table of contents -->
 | 
	
		
			
				|  |  | +<div id="tripal_feature_toc" class="tripal_toc">
 | 
	
		
			
				|  |  | +   <div id="tripal_feature_toc_title" class="tripal_toc_title">Resources</div>
 | 
	
		
			
				|  |  | +   <ul id="tripal_feature_toc_list" class="tripal_toc_list">
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +     <!-- Resource Links CCK elements --><?php
 | 
	
		
			
				|  |  | +     for($i = 0; $i < count($node->field_resource_links); $i++){
 | 
	
		
			
				|  |  | +       if($node->field_resource_links[$i]['value']){
 | 
	
		
			
				|  |  | +         $matches = preg_split("/\|/",$node->field_resource_links[$i]['value']);?>
 | 
	
		
			
				|  |  | +         <li><a href="<?php print $matches[1] ?>" target="_blank"><?php print $matches[0] ?></a></li><?php
 | 
	
		
			
				|  |  | +       }
 | 
	
		
			
				|  |  | +     }?>
 | 
	
		
			
				|  |  | +     
 | 
	
		
			
				|  |  | +     <?php // ADD CUSTOMIZED <li> LINKS HERE ?>
 | 
	
		
			
				|  |  | +   </ul>
 | 
	
		
			
				|  |  | +</div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<?php } ?>
 |