Seite 2 von 2
Verfasst: Mi 22.Nov, 2006 23:16
von oxpus
[quote="Holger";p="66750"]Also? Ich bitte um eine Zusammenfassung ;-)[/quote]
Für was?
Du hattest gefragt, ob das Script auch in der usercp_viewprofile.php verwendbar ist und das haben wir bejaht.
Verfasst: Do 23.Nov, 2006 08:56
von Holger
Eine kleine Sache noch: wie kann ich Umlaute verwenden?
http://www.gremminger.se/service/forum/ ... t.php?id=3
Es soll heissen "Från", wird aber als "Frln" dargestellt ...
Amigalink, wie definiere ich diesen Platzhalter? Und wie bekomme ich dieses u=?? dran?
(Ich lerne)
EDIT: etwa so?
Code: Alles auswählen
$medlemskort_url = append_sid("medlemskort.$phpEx?" . POST_USERS_URL . "=" . $profiledata['user_id']);
Verfasst: Do 23.Nov, 2006 10:18
von oxpus
Ja, die Konstante ("Platzhalter") ist so korrekt eingebunden.
Und Umlaute...
Liegt am Zeichensatz, der auf der Seite verwendet wird...
Verfasst: Do 23.Nov, 2006 12:57
von AmigaLink
Mal ein Beispiel zum entgültigem einbinden in das Profil:
Code: Alles auswählen
#
#-----[ OPEN ]----------------------------------------------------------------
#
medlemskort.php
#
#-----[ FIND ]----------------------------------------------------------------
#
$profiledata = get_userdata(intval($HTTP_GET_VARS['id']));
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
$profiledata = get_userdata(intval($HTTP_GET_VARS[POST_USERS_URL]));
#
#-----[ OPEN ]----------------------------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]----------------------------------------------------------------
#
'YIM' => $yim,
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#
'MEDLEMSKORT_IMG' => ($userdata['user_id'] == $profiledata['user_id']) ? '<img src="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '" alt="Mitgliedskarte" title="Mitgliedskarte">' : '',
#
#-----[ OPEN ]----------------------------------------------------------------
#
templates/subSilver/profile_view_body.tpl
#
#-----[ FIND ]----------------------------------------------------------------
#
<tr>
<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_INTERESTS}:</span></td>
<td> <b><span class="gen">{INTERESTS}</span></b></td>
</tr>
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#
<tr>
<td valign="top" align="middle" colspan="2" nowrap="nowrap">{MEDLEMSKORT_IMG}</td>
</tr>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM
Wobei ich es jetzt so gemacht habe, daß das Bild nur Angezeigt wird, wenn der User sein eigenes Profil aufruft. Schaut sich jemand anderes das Profil an, wird das Bild nicht angezeigt. (So wolltest du es doch oder?)
Das mit dem (Schwedischem) Sonderzeichen ist so eine sache für sich. Probier mal
å anstelle des Sonderzeichens (wo ist das auf der Tastatur?). Wenn das nichts bringt, liegt es wirklich am Zeichensatz.
Die gd_library enthält 5 Zeichensätze. Wenn du Glück hast, kann einer davon dieses Zeichen darstellen. Wenn nicht, dann hast du ein Problem. Man kann zwar andere Zeichensätze in die gd_library laden. Aber damit habe ich keinerlei Erfahrung.
Probier erstmal die internen.
ImageString(); hat 6 Parameter die mittels komma getrennt sind. Der erste definiert das zu bearbeitende Bild (ist für dich also uninteressant).
Der zweite bestimmt den verwendeten Zeichensatz! Experimentier hier mal mit den Zahlen 1-5.
Der dritte Wert ist die Position des Textes, in Pixeln, von links.
Der vierte Wert ist die Position des Textes, in Pixeln, von oben.
Der fünfte Wert ist der Text und der sechte Wert ist die Farbe des Textes (die vorher mittels
ImageColorAllocate(); definiert wurde.
Verfasst: Do 23.Nov, 2006 13:21
von Holger
[quote="AmigaLink";p="66773"]Wobei ich es jetzt so gemacht habe, daß das Bild nur Angezeigt wird, wenn der User sein eigenes Profil aufruft. Schaut sich jemand anderes das Profil an, wird das Bild nicht angezeigt. (So wolltest du es doch oder?)[/quote]
PERFEKT!
[quote="AmigaLink";p="66773"]
Das mit dem (Schwedischem) Sonderzeichen ist so eine sache für sich. Probier mal
å anstelle des Sonderzeichens (wo ist das auf der Tastatur?). Wenn das nichts bringt, liegt es wirklich am Zeichensatz.
Die gd_library enthält 5 Zeichensätze. Wenn du Glück hast, kann einer davon dieses Zeichen darstellen. Wenn nicht, dann hast du ein Problem. Man kann zwar andere Zeichensätze in die gd_library laden. Aber damit habe ich keinerlei Erfahrung.[/quote]
Eh, å IST doch das Sonderzeichen ...
(ALT + 0229)
[quote="AmigaLink";p="66773"]
Probier erstmal die internen.
ImageString(); hat 6 Parameter die mittels komma getrennt sind. Der erste definiert das zu bearbeitende Bild (ist für dich also uninteressant).
Der zweite bestimmt den verwendeten Zeichensatz! Experimentier hier mal mit den Zahlen 1-5.
Der dritte Wert ist die Position des Textes, in Pixeln, von links.
Der vierte Wert ist die Position des Textes, in Pixeln, von oben.
Der fünfte Wert ist der Text und der sechte Wert ist die Farbe des Textes (die vorher mittels
ImageColorAllocate(); definiert wurde.[/quote]
Wird getestet!
Verfasst: Do 23.Nov, 2006 13:33
von AmigaLink
Eh, å IST doch das Sonderzeichen ...
Sorry - hab vergessen das Kürzel zu trennen, um zu verhindern das es Umgesetzt wird.
Ich meinte: Probier mal
& a r i n g ; (ohne Leerzeichen) anstelle des å

(ALT + 0229 funktioniert bei mir nicht. Das ergibt: }²²]
Verfasst: Do 23.Nov, 2006 13:43
von Holger
Neee, & aring ; (ohne Leerzeichen) geht nicht, das wird genau so dargestellt, wie es geschrieben wird.
Die unterschiedlichen Schriften 1-5 sind nur Variationen (fett, gross, klein, usw), es ist immer die gleiche Schrift, also ohne å!
Aber es muss doch möglich sein, eine andere Schrift zu aktivieren ...
Verfasst: Do 23.Nov, 2006 14:06
von AmigaLink
Man kann mit ImageLoadFont(); Bitmap-Fonts laden. Aber damit habe ich, wie gesagt, keinerlei Erfahrung.
Verfasst: Do 23.Nov, 2006 14:18
von Holger
Ich müsste in diesem Teil noch Sprachabhängigen Text reinbringen:
Code: Alles auswählen
'MEDLEMSKORT_IMG' => ($userdata['user_id'] == $profiledata['user_id']) ? '<img src="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '" alt="Mitgliedskarte" title="Mitgliedskarte">' : '',
Geht das?
Ich habe einen lang-Text definiert und eingefügt, aber der wird immer angezeigt, also auch, wenn nicht der Besitzer das Profil anschaut, dann fehlt natürlich das Bild unter dem Text. Deshalb würd eich gerne den Text an das Bild knüpfen ...
Verfasst: Fr 24.Nov, 2006 14:01
von AmigaLink
Machbar ist (fast) alles.

So wäre z.B. ein text über dem Bild:
Code: Alles auswählen
'MEDLEMSKORT_IMG' => ($userdata['user_id'] == $profiledata['user_id']) ? $lang['medlemskort_text'] . '<br /><img src="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '" alt="Mitgliedskarte" title="Mitgliedskarte">' : '',
Und so darunter:
Code: Alles auswählen
'MEDLEMSKORT_IMG' => ($userdata['user_id'] == $profiledata['user_id']) ? '<img src="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '" alt="Mitgliedskarte" title="Mitgliedskarte"><br />' . $lang['medlemskort_text'] : '',
Wenn du noch mehr sachen damit Verknüfen möchtest, wäre aber evtl. die Definition eines Switches ratsam.
Verfasst: Fr 24.Nov, 2006 14:19
von Holger
Geil! Mit ein paar Modifikationen habe ich es hinbekommen! Danke!
Verfasst: Fr 24.Nov, 2006 14:46
von Christian_N
Und Holger, könntest vielleicht mal die Datei ggf. anhängen mit einem step to step anleitung was so gemacht hast, sicher findet sich auch noch andere intressante für diese erweiterung

u.a. würde mich das ganze auch mal interessieren

Verfasst: Fr 24.Nov, 2006 17:06
von Holger
Mache ich, habe alles in der Firma liegen, leider kann das erst am Montag zusamenstellen!
Verfasst: Fr 24.Nov, 2006 17:09
von Christian_N
Null Problemo, hat Zeit, danke schonmal

Verfasst: Mo 27.Nov, 2006 14:51
von Holger
Aaaaaalso:
alles kommt von Oxpus und Amigalink
Erstmal habe ich im Forum-Root Dateien namens medlemskort.png und medlemskort.php angelegt.
Inhalt:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$profiledata = get_userdata(intval($HTTP_GET_VARS[POST_USERS_URL]));
$image = "medlemskort.png";
$im = imagecreatefrompng($image);
$tc = ImageColorAllocate ($im, 0, 0, 0);
$user_name = $profiledata['username'];
$user_from = $profiledata['user_from'];
$country = $profiledata['user_country'];
$regdate = date("d/m Y", $profiledata['user_regdate']);
ImageString($im, 3, 5, 115, "Medlemsnamn: $user_name", $tc);
ImageString($im, 2, 5, 125, "Från: $user_from", $tc);
ImageString($im, 2, 5, 135, "Land: $country", $tc);
ImageString($im, 2, 5, 105, "Blev medlem $regdate", $tc);
header("Content-Type: image/png");
Imagepng($im,'',100);
ImageDestroy ($im);
?>
Dann:
Code: Alles auswählen
#
#-----[ OPEN ]----------------------------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]----------------------------------------------------------------
#
'YIM' => $yim,
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#
'MEDLEMSKORT_IMG' => ($userdata['user_id'] == $profiledata['user_id']) ? '<br><img src="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '" alt="Medlemskort" title="Medlemskort" border="0"></a>' : '',
'MEDLEMSKORT_URL' => ($userdata['user_id'] == $profiledata['user_id']) ? $lang['Medlemskort_explain'] . '<a href="medlemskort.' . $phpEx . '?' . POST_USERS_URL . '=' . $profiledata['user_id'] . '"' : '',
#
#-----[ OPEN ]----------------------------------------------------------------
#
templates/subSilver/profile_view_body.tpl
#
#-----[ FIND ]----------------------------------------------------------------
#
//--></script><noscript>{ICQ_IMG}</noscript></td>
</tr>
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#
<tr>
<td valign="top" align="middle" colspan="2"><span class="gen">{MEDLEMSKORT_URL}<br>{MEDLEMSKORT_IMG}</span></td>
</tr>
#
#-----[ OPEN ]----------------------------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]----------------------------------------------------------------
#
$lang['YIM'] = 'Yahoo Messenger';
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#
$lang['Medlemskort_explain'] = '<b>Your personal membercard!</b> Click on the membercard to view the print-version.';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM
Ich hoffe, das war alles!
Grosses DANKESCHÖN an Oxpus und Amigalink!!!!!!!
Verfasst: Mo 27.Nov, 2006 15:09
von AmigaLink
Also von meiner Seite her, kein Problem.

Ich weiss übrigens mittlerweile auch wie man andere Zeichensätze Läd und verwendet.
Code: Alles auswählen
<?php
$image = "Bild.png";
$font = ImageLoadFont('font.gdf');
$im = ImageCreateFromPNG($image);
$tc = ImageColorAllocate ($im, 0, 0, 0);
$x_pos = 10;
$y_pos = 10;
ImageString($im, $font, $x_pos, $y_pos, "Beispieltext", $tc);
Header('Content-type: image/png');
ImagePNG($im);
ImageDestroy($im);
?>
Die Sache hat aber einen dicken Hacken. Denn es handelt sich dabei um ein Spezielles Format. Und zwar werden GDFonts (.gdf) benötigt. Und davon habe ich bisher so gut wie keine Kostenlosen im Internet gefunden.

Verfasst: Mo 27.Nov, 2006 15:14
von Holger
Klasse! Na, dann werde ich mal ein wenig suchen!
Verfasst: Mo 27.Nov, 2006 15:21
von AmigaLink
Wenn du fündig wirst, sag bitte mal bescheid.
Ich hätte da nämlich auch Verwendung für.

Verfasst: Mo 27.Nov, 2006 15:22
von Holger
Ich habe hier einen Experten an der Hand ...
Melde mich ...
EDIT: wie wäre es damit?
http://www.philiplb.de/?showdownload=63&p=Downloads
EDIT2:
Leider hat es damit nicht funktioniert:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$profiledata = get_userdata(intval($HTTP_GET_VARS[POST_USERS_URL]));
$image = "medlemskort.png";
$font = ImageLoadFont('Arial.gdf');
$im = imagecreatefrompng($image);
$tc = ImageColorAllocate ($im, 0, 0, 0);
$user_name = $profiledata['username'];
$user_from = $profiledata['user_from'];
$country = $profiledata['user_country'];
$regdate = date("d/m Y", $profiledata['user_regdate']);
ImageString($im, $font, 3, 5, 115, "Medlemsnamn: $user_name", $tc);
ImageString($im, $font, 2, 5, 125, "Från: $user_from", $tc);
ImageString($im, $font, 2, 5, 135, "Land: $country", $tc);
ImageString($im, $font, 2, 5, 105, "Blev medlem $regdate", $tc);
header("Content-Type: image/png");
Imagepng($im,'',100);
ImageDestroy ($im);
?>
Verfasst: Mo 27.Nov, 2006 21:16
von AmigaLink
Leider hat es damit nicht funktioniert:
Kann ja auch nicht, wenn du nun einen Parameter in ImageString(); zuviel hast!
Code: Alles auswählen
ImageString($im, $font, 5, 115, "Medlemsnamn: $user_name", $tc);
ImageString($im, $font, 5, 125, "Från: $user_from", $tc);
ImageString($im, $font, 5, 135, "Land: $country", $tc);
ImageString($im, $font, 5, 105, "Blev medlem $regdate", $tc);
Der GDFont Generator ist nicht uninteressant.

Verfasst: Di 28.Nov, 2006 13:05
von Holger
Rggggg, klar! Manoman!
Jetzt klappt es! Danke für den Hinweis!
GDFont Generator funktioniert einwandfrei so wie ich das sehe!
Habe gerade Arial für die Mitgliedskarte verwendet ...
Verfasst: Di 28.Nov, 2006 14:59
von AmigaLink
Prima

Verfasst: Di 28.Nov, 2006 15:03
von Holger
Was kann ich denn alles mit den .gdf-Dateien anstellen?
Verfasst: Di 28.Nov, 2006 15:24
von AmigaLink

? Wie, was kannst du damit anstellen?
Das sind Zeichensätze die von der GD-Library genutzt werden können. Nicht mehr und nicht weniger.
