Ich hatte in der Version 2.2.9 ein wenig zusätzlichen Code eingebaut, damit ich im Suchfeld auch nach dem Pfadinamen suchen konnte, denn dies ist für uns häufig einfacher. Nun hatte ich ein Update auf 2.3.1 durchgeführt und versucht, dort den Code einzubauen. Leider werden jetzt BEI DER SUCHE nur noch alle Personen angezeigt, die auch einen Pfadinamen hinterlegt haben. Wenn ich normal auf Benutzerverwaltung klicke, dann werden alle aufgelistet. Hier mein geänderter Code:
Zeile 61:
Code: Alles auswählen
// Bedingung fuer die Suchanfrage
$search_string = str_replace(',', '', $getSearch). '%';
$search_condition = ' AND ( last_name.usd_value || \' \' || first_name.usd_value || \' \' || scout_name.usd_value LIKE \''.$search_string.'\'
OR last_name.usd_value || \' \' || scout_name.usd_value || \' \' || first_name.usd_value LIKE \''.$search_string.'\'
OR first_name.usd_value || \' \' || scout_name.usd_value || \' \' || last_name.usd_value LIKE \''.$search_string.'\'
OR first_name.usd_value || \' \' || last_name.usd_value || \' \' || scout_name.usd_value LIKE \''.$search_string.'\'
OR scout_name.usd_value || \' \' || last_name.usd_value || \' \' || first_name.usd_value LIKE \''.$search_string.'\'
OR scout_name.usd_value || \' \' || first_name.usd_value || \' \' || last_name.usd_value LIKE \''.$search_string.'\' ) ';
}
Code: Alles auswählen
// Anzahl relevanter Datensaetze ermitteln
$sql = 'SELECT COUNT(1) as count
FROM '. TBL_USERS. '
JOIN '. TBL_USER_DATA. ' as last_name
ON last_name.usd_usr_id = usr_id
AND last_name.usd_usf_id = '. $gProfileFields->getProperty('LAST_NAME', 'usf_id'). '
JOIN '. TBL_USER_DATA. ' as first_name
ON first_name.usd_usr_id = usr_id
AND first_name.usd_usf_id = '. $gProfileFields->getProperty('FIRST_NAME', 'usf_id'). '
LEFT JOIN '. TBL_USER_DATA. ' as scout_name
ON scout_name.usd_usr_id = usr_id
AND scout_name.usd_usf_id = '. $gProfileFields->getProperty('PFADINAME', 'usf_id'). '
WHERE usr_valid = 1
'.$member_condition.
$search_condition;
$result = $gDb->query($sql);
$row = $gDb->fetch_array($result);
$num_members = $row['count'];
// alle Mitglieder zur Auswahl selektieren
// unbestaetigte User werden dabei nicht angezeigt
$sql = 'SELECT usr_id, last_name.usd_value as last_name, first_name.usd_value as first_name, scout_name.usd_value as scout_name,
email.usd_value as email, website.usd_value as website,
usr_login_name, COALESCE(usr_timestamp_change, usr_timestamp_create) as timestamp,
(SELECT count(*)
FROM '. TBL_ROLES. ', '. TBL_CATEGORIES. ', '. TBL_MEMBERS. '
WHERE rol_valid = 1
AND rol_cat_id = cat_id
AND ( cat_org_id = '. $gCurrentOrganization->getValue('org_id'). '
OR cat_org_id IS NULL )
AND mem_rol_id = rol_id
AND mem_begin <= \''.DATE_NOW.'\'
AND mem_end > \''.DATE_NOW.'\'
AND mem_usr_id = usr_id) as member_this_orga,
(SELECT count(*)
FROM '. TBL_ROLES. ', '. TBL_CATEGORIES. ', '. TBL_MEMBERS. '
WHERE rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id <> '. $gCurrentOrganization->getValue('org_id'). '
AND mem_rol_id = rol_id
AND mem_begin <= \''.DATE_NOW.'\'
AND mem_end > \''.DATE_NOW.'\'
AND mem_usr_id = usr_id) as member_other_orga
FROM '. TBL_USERS. '
JOIN '. TBL_USER_DATA. ' as last_name
ON last_name.usd_usr_id = usr_id
AND last_name.usd_usf_id = '. $gProfileFields->getProperty('LAST_NAME', 'usf_id'). '
JOIN '. TBL_USER_DATA. ' as first_name
ON first_name.usd_usr_id = usr_id
AND first_name.usd_usf_id = '. $gProfileFields->getProperty('FIRST_NAME', 'usf_id'). '
LEFT JOIN '. TBL_USER_DATA. ' as scout_name
ON scout_name.usd_usr_id = usr_id
AND scout_name.usd_usf_id = '. $gProfileFields->getProperty('PFADINAME', 'usf_id'). '
LEFT JOIN '. TBL_USER_DATA. ' as email
ON email.usd_usr_id = usr_id
AND email.usd_usf_id = '. $gProfileFields->getProperty('EMAIL', 'usf_id'). '
LEFT JOIN '. TBL_USER_DATA. ' as website
ON website.usd_usr_id = usr_id
AND website.usd_usf_id = '. $gProfileFields->getProperty('WEBSITE', 'usf_id'). '
WHERE usr_valid = 1
'.$member_condition.
$search_condition.'
ORDER BY last_name.usd_value, first_name.usd_value
LIMIT '.$members_per_page.' OFFSET '.$getStart;
$result_mgl = $gDb->query($sql);
Könnt ihr mir da helfen und sagen, was ich falsch gemacht habe? Ich komme einfach nicht drauf, keine Ahnung, wo der Hund vergraben ist!
Danke schon im Voraus.
Gruzz Jammon