| 1 |
<?php |
<?php |
| 2 |
// $Id: biblio.keywords.inc,v 1.15 2009/06/25 18:23:09 rjerome Exp $ |
// $Id: biblio.keywords.inc,v 1.16 2009/10/01 01:45:42 rjerome Exp $ |
| 3 |
/** |
/** |
| 4 |
* biblio.module for Drupal |
* biblio.module for Drupal |
| 5 |
* |
* |
| 29 |
static $keywords = array(); |
static $keywords = array(); |
| 30 |
|
|
| 31 |
if (!$kid = array_search($name, $keywords)) { |
if (!$kid = array_search($name, $keywords)) { |
| 32 |
$term = db_fetch_object(db_query("SELECT * FROM {biblio_keyword_data} k WHERE LOWER(k.word) = LOWER('%s')", trim($name))); |
$term = db_query("SELECT * FROM {biblio_keyword_data} k WHERE LOWER(k.word) = LOWER(':name')", array(':name' => trim($name)))->fetchAll(); |
| 33 |
if ($term) { |
if ($term) { |
| 34 |
$keywords[$term->kid] = $term; |
$keywords[$term->kid] = $term; |
| 35 |
return $keywords[$term->kid]; |
return $keywords[$term->kid]; |
| 87 |
$typed_keywords = $node->biblio_keywords; |
$typed_keywords = $node->biblio_keywords; |
| 88 |
} |
} |
| 89 |
|
|
| 90 |
if (!$update) db_query('DELETE FROM {biblio_keyword} WHERE nid = %d AND vid = %d', array($node->nid, $node->vid)); |
if (!$update) db_query('DELETE FROM {biblio_keyword} WHERE nid = :nid AND vid = :vid', array(':nid' => $node->nid, ':vid' => $node->vid)); |
| 91 |
if (isset($node->taxonomy) && is_array($node->taxonomy) && variable_get('biblio_copy_taxo_terms_to_keywords', 0)) { //add any taxonomy terms to our keyword list |
if (isset($node->taxonomy) && is_array($node->taxonomy) && variable_get('biblio_copy_taxo_terms_to_keywords', 0)) { //add any taxonomy terms to our keyword list |
| 92 |
foreach ($node->taxonomy as $vid => $term) { |
foreach ($node->taxonomy as $vid => $term) { |
| 93 |
if ($vid == 'copy_to_biblio' && $term == 0 ) {// don't copy if user overrides the default to copy, just set the $taxo_terms to an empty array and break out of the for loop |
if ($vid == 'copy_to_biblio' && $term == 0 ) {// don't copy if user overrides the default to copy, just set the $taxo_terms to an empty array and break out of the for loop |
| 126 |
} |
} |
| 127 |
// Defend against duplicate, differently cased tags |
// Defend against duplicate, differently cased tags |
| 128 |
if (!isset($inserted[$kid])) { |
if (!isset($inserted[$kid])) { |
| 129 |
if ($update) db_query('DELETE FROM {biblio_keyword} WHERE nid = %d AND vid = %d AND kid = %d', array($node->nid, $node->vid, $kid)); |
if ($update) db_query('DELETE FROM {biblio_keyword} WHERE nid = :nid AND vid = :vid AND kid = :kid', array(':nid' => $node->nid, ':vid' => $node->vid, ':kid' => $kid)); |
| 130 |
db_query('INSERT INTO {biblio_keyword} (kid, nid, vid) VALUES (%d, %d, %d)', $kid, $node->nid, $node->vid); |
//db_query('INSERT INTO {biblio_keyword} (kid, nid, vid) VALUES (%d, %d, %d)', $kid, $node->nid, $node->vid); |
| 131 |
$inserted[$kid] = TRUE; |
$inserted[$kid] = db_insert('biblio_keyword')->fields(array( |
| 132 |
|
'kid' => $kid, |
| 133 |
|
'nid' => $node->nid, |
| 134 |
|
'vid' => $node->vid)) |
| 135 |
|
->execute(); |
| 136 |
|
|
| 137 |
} |
} |
| 138 |
} |
} |
| 139 |
|
|