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. Smiling

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

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Textual smileys will be replaced with graphical ones.

More information about formatting options