Benachrichtigung wenn User auf Link klickt - Joomla

Chewbacca3000

Grünschnabel
Hallo,

ich würde gerne benachrichtigt werden, wenn ein User einen bestimmten Link anklickt. Das soll dann so aussehen:

"User xy mit der IP xx hat um xx:xx Uhr auf Link xy geklickt."

Soweit ich weiss ist das mit php umsetzbar, nur weiss ich leider nicht wie, da meine php Kenntnisse mehr als beschränkt sind. Theoretisch funktioniert das doch so ähnlich wie ein registrier button?

Ich habe mir den mal genauer angeschaut (com_user/controller.php)


function register_save()
{
global $mainframe;
// Get required system objects
$user = clone(JFactory::getUser());
$pathway =& $mainframe->getPathway();
$config =& JFactory::getConfig();
$authorize =& JFactory::getACL();
$document =& JFactory::getDocument();

// Send registration confirmation mail
$password = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$password = preg_replace('/[\x00-\x1F\x7F]/', '', $password); //Disallow control chars in the email
UserController::_sendMail($user, $password);

// Set some initial user values
$user->set('id', 0);
$user->set('usertype', $newUsertype);
$user->set('gid', $authorize->get_group_id( '', $newUsertype, 'ARO' ));

$date =& JFactory::getDate();
$user->set('registerDate', $date->toMySQL());


Wie bekomme ich das jetzt hin dass mir eine Mail geschickt wird?

"User xy mit der IP xx hat um xx:xx Uhr auf Link xy geklickt."

<?php
{ function sendenbeianklicken ()
$user =& JFactory::getUser();
$date =& JFactory::getDate();
$ip =& JFactory::getIP(); <---?

if ($user->klicktaufbuttonxyz) <- ****************?
{_sendMail($user, $date, $ip); <- ************? send to whom************
}
}
?>

Hmmm irgendwie funktioniert das nicht :( Vielleicht sollte ich php lernen :rolleyes:
 
Hey Chewbacca,

die einzige Möglichkeit, wie das mit PHP gehen könnte, seh ich darin, dass du keine direkten Links machst, sondern die Links an ne Datei übergibst, die dir erst ne Mail schickt bzw. nen Log schreibt und dann den User auf die betreffende Seite weiterleitet.

Ein Link würd dann z. B. so aussehn:
HTML:
<a href="linklogger.php?link=http://www.google.de">Google</a>

In der Datei linklogger.php würde dann alles weitere geschehen. Alternativ (oder zusätzlich) kannst du auch IDs übergeben, damit du wirklich eindeutig weißt, welcher Link genau geklickt wurde.

Ohne PHP zu können wirds aber schwer werden, sowas umzusetzen ;-)

Grüße,
Frezl
 
Kann das sein, dass du mit Joomla arbeitest?
Wenn du interne Verweisklicke (bei denen Joomla aufgerufen wird) protokollieren möchtest, dann würde sich das eigentlich leicht gestalten.
Ich weiß zwar jetzt nicht, welche Stelle in Joomla die eleganteste ist, um den entsprechenden Code einzufügen, aber es ist machbar.

Ansonsten für externe Links geht nur Frezl's Lösung.
 
Danke für eure Antworten!

Scheint wohl schwieriger zu sein, als ich mir vorgestellt habe. Die Links über eine linklogger.php weiterzuleiten und IDs zu vergeben ist schonmal ein guter Ansatz! Wie ich das umsetzen kann ist mir jedoch sehr schleierhaft. Gibt es vielleicht gute fertige Skripte/Anleitungen? Das meiste was ich finde sind irgendwelche Registrierungs-Skripte. Wonach muss ich suchen?

Und ja ich verwende Joomla (siehe Titel). Dafür gibt es sogar Plugins die alle internen Links loggen (joomlawatch), aber keine externen (wie du schon geschrieben hast).
 
Zurück