Seite 1 von 1

Eingefügter Link mit Kategorienamen versehen

Verfasst: Mo 07.Dez, 2009 17:15
von bce
wenn ich hier im forum bei den downloads auf einen link rechts klicke und dann "link-adresse kopieren" wähle, danach füge ich den link in einen beitrag ein. nach dem absenden stehtn icht der link im text sondern der downloadtitel.
z.b. http://oxpus.de/downloads.php?view=detail&df_id=417

was ist nötig, damit dies auch beim galery-mod möglich ist?
damit nicht der link zur kategorie (bsp: http://oxpus.de/gallery/album.php?album_id=8) angezeigt wird, sondern dessen titel... halt so wie beim download-mod

wo muss ich ansetzen?

Re: Eingefügter Link mit Kategorienamen versehen

Verfasst: Mo 07.Dez, 2009 17:19
von oxpus
Die Funktion wird in der bbcode.php umgesetzt. Dort wird zunächst per regulärem Ausdruck der Beitrag geprüft, in wie weit ein Download Link vorhanden ist und dann per Callback-Funktion aufgelöst.
Ist nicht ganz so einfach zu erklären, aber eigentlich einfach in der Umsetzung.

Re: Eingefügter Link mit Kategorienamen versehen

Verfasst: Mo 07.Dez, 2009 19:48
von bce
habe in der install_mod.xml vom download-mod nachgesehen, aber keinen eintrag der bbcode.php gefunden. habe auch keinen ansatzpunkt wo ich loslegen könnte :(

wäre prima wenn derl inkname auch für die galerie funktionieren würde...

Re: Eingefügter Link mit Kategorienamen versehen

Verfasst: Mo 07.Dez, 2009 20:55
von oxpus
Naja gut, bbcode.php war es in der 5er Version der MOD noch, jetzt ist es in der includes/functions_content.php:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
includes/functions_content.php">

#
#-----[ FIND ]-----
#
	switch ($type)
	{
		case MAGIC_URL_LOCAL:
			$tag			= 'l';
			$relative_url	= preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));
			$url			= $url . '/' . $relative_url;
			$text			= $relative_url;

#
#-----[ AFTER, ADD ]-----
#
			// Download MOD 6 - Check for download title, if directlink to download was given 
			$text =  preg_replace_callback("#(downloads\.php\?view=detail&df_id=)(\d+)#i", 'dl_mod_callback', $text);
			// Download MOD 6

#
#-----[ FIND ]-----
#
/**
* make_clickable function
*

#
#-----[ BEFORE, ADD ]-----
#
/*
* Download MOD 6
* reformatting directlinks to downloads into links with download titles
*/
function dl_mod_callback($part) 
{ 
	if($part[1] == "downloads.php?view=detail&df_id=")
	{
		global $db;

		$sql = "SELECT description, desc_uid, desc_bitfield, desc_flags FROM " . DOWNLOADS_TABLE . "
		    WHERE id = " . (int)$part[2]; 
		$result = $db->sql_query($sql);

		$row = $db->sql_fetchrow($result);
		$title = $row['description'];
		$desc_uid = $row['desc_uid'];
		$desc_bitfield = $row['desc_bitfield'];
		$desc_flags = $row['desc_flags'];

		$db->sql_freeresult($result);

		$title = generate_text_for_display($title, $desc_uid, $desc_bitfield, $desc_flags);		

		return $title; 
	}

	return $part[1].$part[2];
}