Webform Einträge durchsuchen
Bei umfangreichen Webform-Formularen und über 100 Einträgen (Submissions) wird es schwer gezielt Einträge wiederzufinden. Deswegen habe ich mal angefangen ein Minimodul zu erstellen das den hook_search von Drupal nutzt um die Daten der Webformeinträge zu durchsuchen.
Mit folgender Funktion lassen sich bereits eingegebene Daten finden. Um die Webform-Suche zu nutzen muss die Funktion in ein eigenes Modul gepackt und über Drupal aktiviert werden. Dann findet man in der Drupalsuche einen neuen Reiter "Webform".
<?php
function webform_search($op = 'search', $keys = NULL) {
switch ($op) {
case 'name':
if (user_access('access webform results')) {
return t('Webform');
}
case 'search':
$find = array();
// Replace wildcards with MySQL/PostgreSQL wildcards.
$keys = preg_replace('!\*+!', '%', $keys);
$query = "SELECT s.sid, s.nid, GROUP_CONCAT(sd.data) as data
FROM {webform_submissions} s
LEFT JOIN {webform_submitted_data} sd ON sd.sid = s.sid
WHERE LOWER(data) LIKE LOWER('%%%s%%')
GROUP BY s.sid";
$result = pager_query($query, 15, 0, NULL, $keys);
while ($submission = db_fetch_object($result)) {
$find[] = array('title' => t('Submission #') . $submission->sid, 'link' => url('node/'. $submission->nid . '/submission/' . $submission->sid, NULL, NULL, TRUE));
}
return $find;
}
}
?>Die Funktion ist allerdings nur ein erster Entwurf, es fehlen noch Zugriffsbeschränkungen, etc. 


Danke Pebosi, warum hab ich
Danke Pebosi, warum hab ich das nicht auf Drupalcenter gefunden, hat mir auf alle Fälle schonmal weitergeholfen.
Bis denne auf DC,
Gruß Andreas
Neuen Kommentar schreiben