Applied D6LTS contrib patch SA-CONTRIB-2017-022

This commit is contained in:
Manuel Cillero 2018-05-08 13:25:39 +02:00
parent ed9947609d
commit f0c004b427
5 changed files with 13 additions and 13 deletions

View file

@ -31,7 +31,7 @@ class views_handler_argument_term_node_tid extends views_handler_argument_many_t
$titles = array();
$placeholders = implode(', ', array_fill(0, sizeof($this->value), '%d'));
$result = db_query("SELECT name FROM {term_data} WHERE tid IN ($placeholders)", $this->value);
$result = db_query(db_rewrite_sql("SELECT t.name FROM {term_data} t WHERE t.tid IN ($placeholders)", 't', 'tid', array($this->value)), $this->value);
while ($term = db_fetch_object($result)) {
$titles[] = check_plain($term->name);
}

View file

@ -79,10 +79,10 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li
$voc = '';
$voc_ids = array_filter($this->options['vids']);
if (!empty($this->options['limit']) && !empty($voc_ids)) {
$voc = " AND td.vid IN (" . implode(', ', array_keys($voc_ids)) . ")";
$voc = " AND t.vid IN (" . implode(', ', array_keys($voc_ids)) . ")";
}
$result = db_query("SELECT tn.vid AS node_vid, td.*, v.name as vocabulary FROM {term_data} td INNER JOIN {term_node} tn ON td.tid = tn.tid INNER JOIN {vocabulary} v ON v.vid = td.vid WHERE tn.vid IN (" . implode(', ', $vids) . ")$voc ORDER BY td.weight, td.name");
$result = db_query("SELECT tn.vid AS node_vid, t.*, v.name as vocabulary FROM {term_data} t INNER JOIN {term_node} tn ON t.tid = tn.tid INNER JOIN {vocabulary} v ON v.vid = t.vid WHERE tn.vid IN (" . implode(', ', $vids) . ")$voc ORDER BY t.weight, t.name");
while ($term = db_fetch_object($result)) {
$this->items[$term->node_vid][$term->tid]['name'] = check_plain($term->name);

View file

@ -80,7 +80,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
if ($this->options['type'] == 'textfield') {
$default = '';
if ($this->value) {
$result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN (" . implode(', ', $this->value) . ')');
$result = db_query("SELECT t.* FROM {term_data} t WHERE t.tid IN (" . implode(', ', $this->value) . ')');
while ($term = db_fetch_object($result)) {
if ($default) {
$default .= ', ';
@ -118,7 +118,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
$result = db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t WHERE t.vid = %d ORDER BY t.weight, t.name", 't', 'tid'), $vocabulary->vid);
}
else {
$result = db_query(db_rewrite_sql("SELECT td.* FROM {term_data} td INNER JOIN {vocabulary} v ON td.vid = v.vid ORDER BY v.weight, v.name, td.weight, td.name", 'td', 'tid'));
$result = db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t INNER JOIN {vocabulary} v ON t.vid = v.vid ORDER BY v.weight, v.name, t.weight, t.name", 't', 'tid'));
}
while ($term = db_fetch_object($result)) {
$options[$term->tid] = $term->name;
@ -262,7 +262,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
// add the taxonomy vid to the argument list.
$args[] = $this->options['vid'];
$result = db_query("SELECT * FROM {term_data} td WHERE td.name IN (" . implode(', ', $placeholders) . ") AND td.vid = %d", $args);
$result = db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t WHERE t.name IN (" . implode(', ', $placeholders) . ") AND t.vid = %d", 't', 'tid', $args), $args);
while ($term = db_fetch_object($result)) {
unset($missing[strtolower($term->name)]);
$tids[] = $term->tid;
@ -291,7 +291,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
$this->value_options = array();
if ($this->value) {
$result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN (" . implode(', ', $this->value) . ")");
$result = db_query("SELECT t.* FROM {term_data} t WHERE t.tid IN (" . implode(', ', $this->value) . ")");
while ($term = db_fetch_object($result)) {
$this->value_options[$term->tid] = $term->name;

View file

@ -57,7 +57,7 @@ class views_handler_relationship_node_term_data extends views_handler_relationsh
$def['field'] = 'revision';
// fapi ensures vids are safe here.
$vids = implode(', ', array_filter($this->options['vids']));
$def['table formula'] = "(SELECT td.*, tn.vid AS revision FROM {term_data} td INNER JOIN {term_node} tn ON tn.tid = td.tid WHERE td.vid IN ($vids))";
$def['table formula'] = "(SELECT t.*, tn.vid AS revision FROM {term_data} t INNER JOIN {term_node} tn ON tn.tid = t.tid WHERE t.vid IN ($vids))";
}
$join = new views_join();

View file

@ -62,7 +62,7 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument
return FALSE;
}
$result = db_fetch_object(db_query("SELECT * FROM {term_data} WHERE tid = %d", $argument));
$result = db_fetch_object(db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t WHERE t.tid = %d", 't', 'tid', array($argument)), $argument));
if (!$result) {
return FALSE;
}
@ -103,7 +103,7 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument
if (count($test)) {
$placeholders = implode(', ', array_fill(0, count($test), '%d'));
$result = db_query("SELECT * FROM {term_data} WHERE tid IN ($placeholders)", $test);
$result = db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t WHERE t.tid IN ($placeholders)", 't', 'tid', array($test)), $test);
while ($term = db_fetch_object($result)) {
if ($vids && empty($vids[$term->vid])) {
$validated_cache[$term->tid] = FALSE;
@ -125,13 +125,13 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument
case 'convert':
$and = '';
if (!empty($vids)) {
$and = " AND td.vid IN(" . implode(', ', $vids) . ')';
$and = " AND t.vid IN(" . implode(', ', $vids) . ')';
}
if ($transform) {
$result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (replace(td.name, ' ', '-') = '%s' OR replace(ts.name, ' ', '-') = '%s')$and", $argument, $argument));
$result = db_fetch_object(db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t LEFT JOIN {term_synonym} ts ON ts.tid = t.tid WHERE (replace(t.name, ' ', '-') = '%s' OR replace(ts.name, ' ', '-') = '%s')$and", 't', 'tid', array($argument, $argument)), $argument, $argument));
}
else {
$result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (td.name = '%s' OR ts.name = '%s')$and", $argument, $argument));
$result = db_fetch_object(db_query(db_rewrite_sql("SELECT t.* FROM {term_data} t LEFT JOIN {term_synonym} ts ON ts.tid = t.tid WHERE (t.name = '%s' OR ts.name = '%s')$and", 't', 'tid', array($argument, $argument)), $argument, $argument));
}
if (!$result) {
return FALSE;