Reply to comment
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. 
Trackback URL for this post:
http://www.pebosi.net/trackback/128

