| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | <?php/** * @file * General functions for the db module *//** * @defgroup tripal_legacy_db Legacy Database Reference Module * @ingroup tripal_legacy_modules * @{ * Provides functions for managing chado database references which link chado content, such * as features and stocks, to records/pages in external databases/websites. For example, * you might have a feature record in your site which is also in the NCBI website and by * adding a database refrence to your feature, an automatic link to the content at NCBI * is created. * @} */require_once 'api/tripal_db.DEPRECATED.inc';/** * Implements hook_menu(). * * @ingroup tripal_legacy_db */function tripal_db_menu() {  $items = array();  $items['admin/tripal/legacy/tripal_db/views/dbs/enable'] = array(    'title' => 'Enable Database Administrative View',    'page callback' => 'tripal_enable_view',    'page arguments' => array('tripal_db_admin_dbs', 'admin/tripal/legacy/tripal_db'),    'access arguments' => array('administer db cross-references'),    'type' => MENU_CALLBACK,  );  $items['admin/tripal/legacy/tripal_db/views/dbxrefs/enable'] = array(    'title' => 'Enable Reference Administrative View',    'page callback' => 'tripal_enable_view',    'page arguments' => array('tripal_db_admin_dbxrefs', 'admin/tripal/legacy/tripal_db'),    'access arguments' => array('administer db cross-references'),    'type' => MENU_CALLBACK,  );  $items['admin/tripal/legacy/tripal_db/dbxref/auto_name/%/%'] = array(    'page callback' => 'tripal_db_dbxref_accession_autocomplete',    'page arguments' => array(6, 7),    'access arguments' => array('administer db cross-references'),    'type' => MENU_CALLBACK,  );  return $items;}/** * Implements hook_help(). ( * Purpose: Adds a help page to the module list */function tripal_db_help ($path, $arg) {  if ($path == 'admin/help#tripal_db') {    return theme('tripal_db_help', array());  }}/** * Implements hook_permission(). * * Set the permission types that the chado module uses.  Essentially we *  want permissionis that protect creation, editing and deleting of chado *  data objects * * @ingroup tripal_legacy_db */function tripal_db_permission() {  return array(    'administer db cross-references' => array(      'title' => t('Administer External Database Cross-references.'),      'description' => t('Allows the user to add, edit or delete external databases references stored in the Chado database.'),    ),  );}/** * Implements hook_views_api(). * * Essentially this hook tells drupal that there is views support for *  for this module which then includes tripal_db.views.inc where all the *  views integration code is * * @ingroup tripal_legacy_db */function tripal_db_views_api() {  return array('api' => 3.0);}/** *  Implements hook_theme(). * *  We need to let drupal know about our theme functions and their arguments. *  We create theme functions to allow users of the module to customize the *  look and feel of the output generated in this module * * @ingroup tripal_legacy_db */function tripal_db_theme($existing, $type, $theme, $path) { $items = array(    'tripal_db_help' => array(      'template' => 'tripal_db_help',      'variables' =>  array(NULL),      'path' => "$path/theme/templates"    )  );  return $items;}/** * This function is intended to be used in autocomplete forms * for searching for accession that begin with the provided string * * @param $db_id *   The DB ID in which to search for the term * @param $string *   The string to search for * * @return *   A json array of terms that begin with the provided string * * @ingroup tripal_legacy_db_api */function tripal_db_dbxref_accession_autocomplete($db_id, $string = '') {  if (!$db_id) {    return drupal_json_output(array());  }  $sql = "    SELECT dbxref_id, accession    FROM {dbxref}    WHERE db_id = :db_id and lower(accession) like lower(:accession)    ORDER by accession    LIMIT 25 OFFSET 0  ";  $results = chado_query($sql, array(':db_id' => $db_id, ':accession' => $string . '%'));  $items = array();  foreach ($results as $ref) {    $items[$ref->accession] = $ref->accession;  }  drupal_json_output($items);}
 |