| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | <?php/***  Implementation of hook_install();** @ingroup tripal_cv*/function tripal_cv_install(){   // create the module's data directory   tripal_create_moddir('tripal_cv');   // Add the materialized view needed to keep track of the    //    $previous_db = tripal_db_set_active('chado');   if (db_table_exists('cv_root_mview')) {      $sql = "DROP TABLE cv_root_mview";      db_query($sql);   }   tripal_db_set_active($previous_db);   // Create the MView   tripal_add_mview(      // view name      'cv_root_mview',      // module name        'tripal_cv',      // table name      'cv_root_mview',      // table schema      'name character varying(1024), cvterm_id integer, cv_id integer,        cv_name character varying(255)',      // indexed columns      'cvterm_id, cv_id',      // SQL statement that populates the view      'SELECT DISTINCT CVT.name,CVT.cvterm_id, CV.cv_id, CV.name       FROM {cvterm_relationship} CVTR         INNER JOIN cvterm CVT on CVTR.object_id = CVT.cvterm_id         INNER JOIN CV on CV.cv_id = CVT.cv_id       WHERE CVTR.object_id not in         (SELECT subject_id FROM {cvterm_relationship}) ',      // special index      ''   );   // create the tables that correlate OBO files/references with a chado CV   drupal_install_schema('tripal_cv');   tripal_cv_add_obo_defaults();}/***  This update adds the new tripal_obo table.  This is an upgrade from*  Tripal version 0.2** @ingroup tripal_cv*/function tripal_cv_update_6000(){   drupal_install_schema('tripal_cv');   tripal_cv_add_obo_defaults();   $ret = array(      '#finished' => 1,   );      return $ret;}/*** Implementation of hook_uninstall()** @ingroup tripal_cv*/function tripal_cv_uninstall(){	// remove the materialized view   $mview = tripal_mviews_get_mview_id('cv_root_mview');   if($mview){	   tripal_mviews_action('delete',$mview);	}   drupal_uninstall_schema('tripal_cv');}/** * Implementation of hook_requirements(). Make sure 'Tripal Core' is enabled * before installation * * @ingroup tripal_cv */function tripal_cv_requirements($phase) {   $requirements = array();   if ($phase == 'install') {      if (!function_exists('tripal_create_moddir')) {         $requirements ['tripal_cv'] = array(            'title' => "tripal_cv",            'value' => "Required modules must be installed first before Tripal CV module can be installed",            'severity' => REQUIREMENT_ERROR,         );      }   }   return $requirements;}/*** Implementation of hook_schema().** @ingroup tripal_cv*/function tripal_cv_schema() {   $schema = tripal_cv_get_schemas();   return $schema;}/*** This function simply defines all tables needed for the module to work* correctly.  By putting the table definitions in a separate function we * can easily provide the entire list for hook_install or individual* tables for an update.** @ingroup tripal_cv*/function tripal_cv_get_schemas (){    $schema = array();  $schema['tripal_cv_obo'] = array(      'fields' => array(         'obo_id' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),         'name'  => array('type' => 'varchar','length' => 255),         'path'   => array('type' => 'varchar','length' => 1024),      ),      'indexes' => array(         'obo_id' => array('obo_id'),       ),      'primary key' => array('obo_id'),  );  return $schema;}/*** Add's defaults to the tripal_cv_obo table** @ingroup tripal_cv*/function tripal_cv_add_obo_defaults(){   // insert commonly used ontologies into the tables   $isql = "INSERT INTO tripal_cv_obo (name,path) VALUES ('%s','%s')";   db_query($isql,'Chado Feature Properties',drupal_get_path('module','tripal_cv').'/feature_property.obo');   db_query($isql,'Relationship Ontology','http://www.obofoundry.org/ro/ro.obo');   db_query($isql,'Sequence Ontology','http://song.cvs.sourceforge.net/*checkout*/song/ontology/so.obo');   db_query($isql,'Gene Ontology','http://www.geneontology.org/ontology/gene_ontology.obo');   db_query($isql,'Cell Ontology','http://obo.cvs.sourceforge.net/obo/obo/ontology/anatomy/cell_type/cell.obo?rev=HEAD');   db_query($isql,'Plant Structure Ontology','http://palea.cgrb.oregonstate.edu/viewsvn/Poc/trunk/ontology/OBO_format/po_anatomy.obo?view=co');     db_query($isql,'Plant Growth and Development Stages Ontology','http://palea.cgrb.oregonstate.edu/viewsvn/Poc/trunk/ontology/OBO_format/po_temporal.obo?view=co');}
 |