- Patch #314147 by catch: more taxonomy standardization.
parent
3f6359f3fb
commit
2bc3b99bc7
|
@ -79,12 +79,13 @@ function forum_form_submit($form, &$form_state) {
|
|||
$type = t('forum');
|
||||
}
|
||||
|
||||
$status = taxonomy_save_term($form_state['values']);
|
||||
$term = (object) $form_state['values'];
|
||||
$status = taxonomy_term_save($term);
|
||||
switch ($status) {
|
||||
case SAVED_NEW:
|
||||
if ($container) {
|
||||
$containers = variable_get('forum_containers', array());
|
||||
$containers[] = $form_state['values']['tid'];
|
||||
$containers[] = $term->tid;
|
||||
variable_set('forum_containers', $containers);
|
||||
}
|
||||
drupal_set_message(t('Created new @type %term.', array('%term' => $form_state['values']['name'], '@type' => $type)));
|
||||
|
|
|
@ -52,7 +52,7 @@ class TaxonomyHooksTestCase extends DrupalWebTestCase {
|
|||
$this->assertTrue(in_array($edit['antonyms'], $term->antonyms), t('Antonym was successfully edited'));
|
||||
|
||||
// Delete the term.
|
||||
taxonomy_del_term($term->tid);
|
||||
taxonomy_term_delete($term->tid);
|
||||
$antonyms = db_query('SELECT taid FROM {term_antonym} WHERE tid = :tid', array(':tid' => $term->tid))->fetchField();
|
||||
$this->assertFalse($antonyms, t('The antonyms were deleted from the database.'));
|
||||
}
|
||||
|
|
|
@ -514,7 +514,7 @@ function taxonomy_overview_terms_submit($form, &$form_state) {
|
|||
|
||||
// Save all updated terms.
|
||||
foreach ($changed_terms as $term) {
|
||||
taxonomy_save_term($term);
|
||||
taxonomy_term_save($term);
|
||||
}
|
||||
|
||||
// Update the vocabulary hierarchy to flat or single hierarchy.
|
||||
|
@ -748,15 +748,16 @@ function taxonomy_form_term_submit($form, &$form_state) {
|
|||
return;
|
||||
}
|
||||
|
||||
$status = taxonomy_save_term($form_state['values']);
|
||||
$term = (object) $form_state['values'];
|
||||
$status = taxonomy_term_save($term);
|
||||
switch ($status) {
|
||||
case SAVED_NEW:
|
||||
drupal_set_message(t('Created new term %term.', array('%term' => $form_state['values']['name'])));
|
||||
watchdog('taxonomy', 'Created new term %term.', array('%term' => $form_state['values']['name']), WATCHDOG_NOTICE, l(t('edit'), 'taxonomy/term/' . $form_state['values']['tid'] . '/edit'));
|
||||
drupal_set_message(t('Created new term %term.', array('%term' => $term->name)));
|
||||
watchdog('taxonomy', 'Created new term %term.', array('%term' => $term->name), WATCHDOG_NOTICE, l(t('edit'), 'taxonomy/term/' . $term->tid . '/edit'));
|
||||
break;
|
||||
case SAVED_UPDATED:
|
||||
drupal_set_message(t('Updated term %term.', array('%term' => $form_state['values']['name'])));
|
||||
watchdog('taxonomy', 'Updated term %term.', array('%term' => $form_state['values']['name']), WATCHDOG_NOTICE, l(t('edit'), 'taxonomy/term/' . $form_state['values']['tid'] . '/edit'));
|
||||
drupal_set_message(t('Updated term %term.', array('%term' => $term->name)));
|
||||
watchdog('taxonomy', 'Updated term %term.', array('%term' => $term->name), WATCHDOG_NOTICE, l(t('edit'), 'taxonomy/term/' . $term->tid . '/edit'));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -782,7 +783,7 @@ function taxonomy_form_term_submit($form, &$form_state) {
|
|||
}
|
||||
}
|
||||
|
||||
$form_state['tid'] = $form_state['values']['tid'];
|
||||
$form_state['tid'] = $term->tid;
|
||||
$form_state['redirect'] = 'admin/content/taxonomy';
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -256,7 +256,7 @@ function taxonomy_vocabulary_delete($vid) {
|
|||
db_query('DELETE FROM {vocabulary_node_types} WHERE vid = %d', $vid);
|
||||
$result = db_query('SELECT tid FROM {term_data} WHERE vid = %d', $vid);
|
||||
while ($term = db_fetch_object($result)) {
|
||||
taxonomy_del_term($term->tid);
|
||||
taxonomy_term_delete($term->tid);
|
||||
}
|
||||
|
||||
module_invoke_all('taxonomy', 'delete', 'vocabulary', $vocabulary);
|
||||
|
@ -308,67 +308,58 @@ function taxonomy_check_vocabulary_hierarchy($vocabulary, $changed_term) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Helper function for taxonomy_form_term_submit().
|
||||
* Save a term object to the database.
|
||||
*
|
||||
* @param $form_state['values']
|
||||
* @param $term
|
||||
* A term object.
|
||||
* @return
|
||||
* Status constant indicating if term was inserted or updated.
|
||||
*/
|
||||
function taxonomy_save_term(&$form_values) {
|
||||
$form_values += array(
|
||||
'description' => '',
|
||||
'weight' => 0
|
||||
);
|
||||
function taxonomy_term_save($term) {
|
||||
|
||||
$term = (object) $form_values;
|
||||
|
||||
if (!empty($form_values['tid']) && $form_values['name']) {
|
||||
$status = drupal_write_record('term_data', $form_values, 'tid');
|
||||
if (!empty($term->tid) && $term->name) {
|
||||
$status = drupal_write_record('term_data', $term, 'tid');
|
||||
module_invoke_all('taxonomy_term_insert', $term);
|
||||
}
|
||||
elseif (!empty($form_values['tid'])) {
|
||||
return taxonomy_del_term($form_values['tid']);
|
||||
}
|
||||
else {
|
||||
$status = drupal_write_record('term_data', $form_values);
|
||||
$term->tid = $form_values['tid'];
|
||||
$status = drupal_write_record('term_data', $term);
|
||||
module_invoke_all('taxonomy_term_update', $term);
|
||||
}
|
||||
db_delete('term_relation')->condition('tid1', $term->tid, 'OR')->condition('tid2', $term->tid)->execute();
|
||||
|
||||
db_query('DELETE FROM {term_relation} WHERE tid1 = %d OR tid2 = %d', $form_values['tid'], $form_values['tid']);
|
||||
if (!empty($form_values['relations'])) {
|
||||
foreach ($form_values['relations'] as $related_id) {
|
||||
if (!empty($term->relations)) {
|
||||
foreach ($term->relations as $related_id) {
|
||||
if ($related_id != 0) {
|
||||
db_query('INSERT INTO {term_relation} (tid1, tid2) VALUES (%d, %d)', $form_values['tid'], $related_id);
|
||||
db_insert('term_relation')->fields(array('tid1' => $term->tid, 'tid2' => $related_id))->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
db_delete('term_hierarchy')->condition('tid', $term->tid)->execute();
|
||||
|
||||
db_query('DELETE FROM {term_hierarchy} WHERE tid = %d', $form_values['tid']);
|
||||
if (!isset($form_values['parent']) || empty($form_values['parent'])) {
|
||||
$form_values['parent'] = array(0);
|
||||
if (!isset($term->parent) || empty($term->parent)) {
|
||||
$term->parent = array(0);
|
||||
}
|
||||
if (is_array($form_values['parent'])) {
|
||||
foreach ($form_values['parent'] as $parent) {
|
||||
if (is_array($term->parent)) {
|
||||
foreach ($term->parent as $parent) {
|
||||
if (is_array($parent)) {
|
||||
foreach ($parent as $tid) {
|
||||
db_query('INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)', $form_values['tid'], $tid);
|
||||
db_insert('term_hierarchy')->fields(array('tid' => $term->tid, 'parent' => $tid))->execute();
|
||||
}
|
||||
}
|
||||
else {
|
||||
db_query('INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)', $form_values['tid'], $parent);
|
||||
db_insert('term_hierarchy')->fields(array('tid' => $term->tid, 'parent' => $parent))->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
db_query('INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)', $form_values['tid'], $form_values['parent']);
|
||||
db_insert('term_hierarchy')->field(array('tid' => $term_tid, 'parent' => $term->parent))->execute();
|
||||
}
|
||||
|
||||
db_query('DELETE FROM {term_synonym} WHERE tid = %d', $form_values['tid']);
|
||||
if (!empty($form_values['synonyms'])) {
|
||||
foreach (explode ("\n", str_replace("\r", '', $form_values['synonyms'])) as $synonym) {
|
||||
db_delete('term_synonym')->condition('tid', $term->tid)->execute();
|
||||
if (!empty($term->synonyms)) {
|
||||
foreach (explode ("\n", str_replace("\r", '', $term->synonyms)) as $synonym) {
|
||||
if ($synonym) {
|
||||
db_query("INSERT INTO {term_synonym} (tid, name) VALUES (%d, '%s')", $form_values['tid'], chop($synonym));
|
||||
db_insert('term_synonym')->fields(array('tid' => $term->tid, 'name' => rtrim($synonym)))->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -386,7 +377,7 @@ function taxonomy_save_term(&$form_values) {
|
|||
* @return
|
||||
* Status constant indicating deletion.
|
||||
*/
|
||||
function taxonomy_del_term($tid) {
|
||||
function taxonomy_term_delete($tid) {
|
||||
$tids = array($tid);
|
||||
while ($tids) {
|
||||
$children_tids = $orphans = array();
|
||||
|
@ -685,7 +676,7 @@ function taxonomy_node_save($node, $terms) {
|
|||
|
||||
if (!$typed_term_tid) {
|
||||
$edit = array('vid' => $vid, 'name' => $typed_term);
|
||||
$status = taxonomy_save_term($edit);
|
||||
$status = taxonomy_term_save($edit);
|
||||
$typed_term_tid = $edit['tid'];
|
||||
}
|
||||
|
||||
|
|
|
@ -195,7 +195,8 @@ class TaxonomyTermFunctionsTestCase extends DrupalWebTestCase {
|
|||
}
|
||||
$termsyn = implode("\n", $synonyms);
|
||||
$data = array('name' => $termname, 'description' => $termdesc, 'weight' => $termweight, 'synonyms' => $termsyn, 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
|
||||
// Retrieve term and check all fields.
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
|
@ -213,7 +214,8 @@ class TaxonomyTermFunctionsTestCase extends DrupalWebTestCase {
|
|||
$relations[] = $staryTid;
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => 0, 'vid' => $edit['vid'], 'tid' => 0, 'relations' => array($staryTid));
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$getTerm = $_tArray[0];
|
||||
$relations[] = $getTerm->tid;
|
||||
|
@ -221,7 +223,8 @@ class TaxonomyTermFunctionsTestCase extends DrupalWebTestCase {
|
|||
// Creating another term related to 2 terms above.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => 0, 'vid' => $edit['vid'], 'tid' => 0, 'relations' => array($staryTid, $getTerm->tid));
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$getTerm = $_tArray[0];
|
||||
|
||||
|
@ -272,14 +275,16 @@ class TaxonomyTermSingleTestCase extends DrupalWebTestCase {
|
|||
// Create 1st term.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent = $_tArray[0];
|
||||
|
||||
// Create 2nd term as a child.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0, 'parent' => array($parent->tid));
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$children = $_tArray[0];
|
||||
|
||||
|
@ -329,21 +334,24 @@ class TaxonomyTermMultipleTestCase extends DrupalWebTestCase {
|
|||
$parent = array();
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[] = $_tArray[0]->tid;
|
||||
|
||||
// Create 2nd term.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[] = $_tArray[0]->tid;
|
||||
|
||||
// Create 3rd term as a child.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $edit['vid'], 'tid' => 0, 'relations' => 0, 'parent' => array($parent));
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$children = $_tArray[0];
|
||||
|
||||
|
@ -436,7 +444,8 @@ class TaxonomyTestNodeApiTestCase extends DrupalWebTestCase {
|
|||
// Create 1st term.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $vid, 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[$_tArray[0]->tid] = $_tArray[0]->tid;
|
||||
$patternArray['term name 1'] = $termname;
|
||||
|
@ -444,7 +453,8 @@ class TaxonomyTestNodeApiTestCase extends DrupalWebTestCase {
|
|||
// Create 2nd term.
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $vid, 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[$_tArray[0]->tid] = $_tArray[0]->tid;
|
||||
$patternArray['term name 2'] = $termname;
|
||||
|
@ -485,7 +495,8 @@ class TaxonomyTestNodeApiTestCase extends DrupalWebTestCase {
|
|||
// create 1st term
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $vid, 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[] = $_tArray[0]->tid;
|
||||
$patternArray['term name 2'] = $termname;
|
||||
|
@ -493,7 +504,8 @@ class TaxonomyTestNodeApiTestCase extends DrupalWebTestCase {
|
|||
// create 2nd term
|
||||
$termname = $this->randomName(20);
|
||||
$data = array('name' => $termname, 'description' => '', 'weight' => 0, 'synonyms' => '', 'vid' => $vid, 'tid' => 0, 'relations' => 0);
|
||||
taxonomy_save_term($data);
|
||||
$term = (object) $data;
|
||||
taxonomy_term_save($term);
|
||||
$_tArray = taxonomy_get_term_by_name($termname);
|
||||
$parent[] = $_tArray[0]->tid;
|
||||
$patternArray['term name 3'] = $termname;
|
||||
|
|
Loading…
Reference in New Issue