Funktion um User und Gruppen zu ermitteln

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
kleinerChemiker
Regular
Posts: 765
Joined: Tue Oct 17, 2006 2:36 pm
Location: Vienna/Austria
Contact:

Funktion um User und Gruppen zu ermitteln

Post by kleinerChemiker »

Gibt es eine Funktion bei Plugins um die User aus der DB auszulesen?

Bisher hatte ich eine fixe IP und konnte daher bei Google Analytics meine eigenen Zugriffe leicht wegfiltern. Da ich aber gerade eine dynamische IP habe, ist mir erst bewußt geworden, daß das nun nicht geht und eventuell auch andere gerne ihre eigenen Zugriffe nicht zählen wollen. Daher will ich eine Liste mit allen Usern (am besten nach Gruppe geordnet) und eine mit allen Gruppen, sodaß man auswählen kann, bei wem der Tracking-Code nicht eingefügt wird.

Gibt es dafür schon eine fertige Funktion, und muß ich das über eine SQL-Abfrage machen? Bei der Gelegenheit, hat s9y eigentlich eine SQL-Abstraktion? Falls ja, gibts da ne Dok dazu?

tia

MIK
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Funktion um User und Gruppen zu ermitteln

Post by garvinhicking »

Hi!

Serendipity bietet dafür Funktionen an, ja.

Siehe include/functions_config.inc.php:
serendipity_getGroups()
serendipity_getAllGroups()

include/functions.inc.php:
serendipity_fetchUsers()

Code: Select all

Bei der Gelegenheit, hat s9y eigentlich eine SQL-Abstraktion? Falls ja, gibts da ne Dok dazu?
Serendipity hat nen einfachen Datenbanklayer, serendipity_db_query et al in der include/db/db.inc.php. SQL Abstraktion wird wenig betrieben, wir nutzen einfach SQL-Kommandoes die in SQLite, PGSQL und MYSQL gültig sind. Ansonsten halt if/else konstrukte, z.b. bei abweichender Volltextsuche.


Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
kleinerChemiker
Regular
Posts: 765
Joined: Tue Oct 17, 2006 2:36 pm
Location: Vienna/Austria
Contact:

Post by kleinerChemiker »

super, danke. und wie bekomme ich die user-id und gruppen-id des eingeloggten users?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Die aktuelle User-ID ist in der Variable $serendipity['authorid']. Die zugehörigen Gruppen musst Du mittels serendipity_getGroups() ermitteln.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
kleinerChemiker
Regular
Posts: 765
Joined: Tue Oct 17, 2006 2:36 pm
Location: Vienna/Austria
Contact:

Post by kleinerChemiker »

und schon die nächste frage.

so sieht die config derzeit aus:

Code: Select all

			case 'analytics_exclude_groups':
				function plugin_google_analytics_exclude_groups() {
					$groups = serendipity_getAllGroups();
					foreach ($groups as $group) {
						$exclude_groups[$group['id']] = $group['name'];
					}
					return $exclude_groups;
				}
				$propbag->add('type',			'select');
				$propbag->add('name',			PLUGIN_EVENT_GOOGLE_ANALYTICS_EXCLUDE_GROUPS);
				$propbag->add('description',	PLUGIN_EVENT_GOOGLE_ANALYTICS_EXCLUDE_GROUPS_DESC);
				$propbag->add('select_values',	plugin_google_analytics_exclude_groups());
				break;

wie schaffe ich es, daß es ein select wird, bei dem man mehrere oder auch gar kein element auswählen kann?

tia
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Ein Tipp: Eine Funktion solltest Du nicht an dieser Stelle deklarieren, die musst Du ausserhalb setzen!

Ein Multi-Select Feld ist nicht so einfach zu realisieren. Schau dir mal das serendipity_event_spamblock.php an und guck nach "hide_for_authors".

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply