News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 10
Seite [1]
Hellfire


Beginner




Beiträge: 2
# Thema - 18.03.2008 um 16:56 Uhr
Ich hab mich mal versucht die Abcodes zu erweitern, bin aber erbärmlich dran gescheitert (white page).

Was ich vor hatte war eine ABcode Erweiterung um Strings welche im Trackmaniastil formatiert sind
einzubauen. Dazu wollte ich folgende PHP Klasse verwenden:

http://fish.oorf.de/index.php?page=downloads&subpage=98

Diese Klasse hat eine Funktion die den String entgegennimmt und als HTML zurückgibt.

Kann mir wer helfen und eventuell nen Code Paste drauß machen?

PS: Ist mein erster Post hier, ich hoffe das ist die richtige Stelle für solche Anfragen
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 18.03.2008 um 18:20 Uhr
hi!
für solche sachen benutzt man am besten die debug.php statt der index.php, dann bekommst du statt einer weißen seite auch mal die auftretenden fehler mitgeteilt.
generell ist der abcode in der cs_secure in der datei system/core/abcode.php.
dort mal die funktion der klasse aufrufen..

gruß
duRiel


Inaktiv
|
NaTzoR


Wannabe poster




Beiträge: 37
# Antwort: 2 - 18.03.2008 um 20:27 Uhr
Hi Hellfire, stellst dann auch die Codepaste hier rein oder? Würden uns sehr freuen!

Thx
NaTzoR


Inaktiv
|
Hellfire
Thread-Ersteller


Beginner




Beiträge: 2
# Antwort: 3 - 18.03.2008 um 22:57 Uhr
Danke für den Tip mit der Debug, hatte doch tatsächlich nen Semikolon vergeßen *schäm*

Anleitung:

Zuerst ladet ihr euch von obigen Link die Dateien runter, nehmt die ColorParser.php und verschiebt sie nach system/core
und stellt die Berechtigungen ein.

So dann nur noch der Codepaste, wo die einzelnen Teile hinkommen ist kklar wenn man sich die system/core/abcode.php
anschaut:

 
1.
2.
3.
4.
1. / 2. / ... 
<?php 
//Trackmania Strings by Hellfire
  
$img cs_html_img($coop 'trackmaniastring' $ext,0,0,0,$cs_lang['tm']);
  
$var .= cs_abcode_button($name$cs_lang['tm'], '[tm]''[/tm]'$img); ?>


 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
1. / 2. / ... 
<?php //Trackmania String by Hellfire
function cs_abcode_tm($matches) {

    if (
$matches[0] == '[/tm]') {
        
$return cs_html_div(0);
    }
    elseif(empty(
$matches[1])) {
        
$return cs_html_div(1,0,1);
    } 
    else {
        include_once (
'system/core/ColorParser.php');
        
$Cp = new ColorParser();
        
$name        $Cp->toHTML($matches[1]);
        
$return    $name;
    }
    return 
$return;
?>


 
1.
2.
3.
1. / 2. / ... 
<?php 
//trackmaniaStrings by Hellfire
    
$replace preg_replace_callback("=\[tm\](.*?)\[/tm\]=si","cs_abcode_tm",$replace); ?>


Sorry wenns nett ganz so hübsch ist, bin mit php noch net so bewandert und Clansphere muss ich erst
seit gestern mit arbeiten.

Hab nen Fehler festgestellt, wer kann mir hier helfen?
Ich muss die Colorparser umbauen da mir Clansphere meldet, das ich Templates statt Html Tags benutzen
soll:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
1. / 2. / ... 
<?php  function getStyledString($string$match$col$wide$narrow$caps$italic){
        
$string str_replace($match""$string);
        
$string trim ($string);

        if (
$caps$string strtoupper($string);

        if ((
$col||$wide||$narrow||$italic)&&($string)){
            
$start1 "<span style='";
            
$start2 "'>";
            
$styles "";
            
$end "</span>";
            if (
$col){
                
$styles.="color:#".$col.";";
            }
            if (
$italic){
                
$styles.="font-style:italic;";
            }
            if (
$wide){
                
$styles.="font-weight:bold;";
            }
            if (
$narrow){
                
$styles.="letter-spacing: -0.1em;font-size:smaller";
            }
            
$string $start1.$styles.$start2.$string.$end;
        }
        return 
$string;
    } 
?>



So der Fehler hat sich erledigt, war nur weil ich einen zu langen String Parsen wollte und der das Design zerschoßen hat!

Der oben beschrieben Lösungsweg funktioniert sonst perfekt, man könnte höchstens noch in der getStyledString Function aus der ColorParser.php die letzte Zuweisung in

 
1.
1. / 2. / ... 
<?php $string cs_html_span(1,$styles).$string.cs_html_span(0); ?>

ändern



Zuletzt editiert von Hellfire am 19.03.2008 um 01:15 Uhr (2x Editiert)
Inaktiv
|
NaTzoR


Wannabe poster




Beiträge: 37
# Antwort: 4 - 19.03.2008 um 11:43 Uhr
Hallo Hellfire,

erstmal danke für deine Mühe, aber ich muss sagen, dass ich das Gefühl habe, dass es hoffentlich noch ein wenig Anwenderfreundlicher werden könnte.

Ich finde es ziemlich schwierig gestaltet, denn auch wenn ich mir die etwas unübersichtliche (subjektive Meinung) abcode.php angucke, weiß ich nicht wo deine Codepaste welche immer wieder neue <?php ... ?> umschließt, hinkommt.

Könntest du evtl. dies nochmal erläutern, oder deine Datei zur Verfügung stellen.

Gruß
NaTzoR


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 19.03.2008 um 17:27 Uhr
hi!
die php tags brauchst du nicht mit zu kopieren!

gruß
duRiel


Inaktiv
|
NaTzoR


Wannabe poster




Beiträge: 37
# Antwort: 6 - 19.03.2008 um 21:42 Uhr
Das weiß ich, habe die 3 Codepasten-Teile ohne <?php ?> einfach unten vor dem "?>" hinzugefügt, dennoch beokmme ich im Adminmenü folgende Fehler:


Notice: Undefined variable: coop in /var/www/web4/web/system/core/abcode.php on line 625

Notice: Undefined variable: ext in /var/www/web4/web/system/core/abcode.php on line 625

Notice: Undefined index: tm in /var/www/web4/web/system/core/abcode.php on line 625

Notice: Undefined variable: name in /var/www/web4/web/system/core/abcode.php on line 626

Notice: Undefined index: tm in /var/www/web4/web/system/core/abcode.php on line 626

Notice: Undefined variable: var in /var/www/web4/web/system/core/abcode.php on line 626

Notice: Undefined variable: replace in /var/www/web4/web/system/core/abcode.php on line 647


Gruß
NaTzoR


Inaktiv
|
Hellfire
Thread-Ersteller


Beginner




Beiträge: 2
# Antwort: 7 - 20.03.2008 um 12:15 Uhr
Nein, du musst dir die Datei schonmal scharf angucken, der erste Teil steht relativ weit oben in der abcode,
da ist ne ganze Liste die fast genauso aussieht, da packste den ersten Codepaste drunter. (Das sind immer
Zeilenpaare wobei die erste mit "$img =" und die zweite mit "$var .=" anfängt)

Beim zweiten Teil musste nach fuktionen gucken die so aussehen: cs_abcode_xx(...), davon gibts auch ne ganze
Menge, einfach da drunter einfügen.

Und beim letzten Teil suchst du einfach am ende der Datei, da taucht immer wieder $replace auf! Einfahc drunter einfügen!


Inaktiv
|
NaTzoR


Wannabe poster




Beiträge: 37
# Antwort: 8 - 20.03.2008 um 12:23 Uhr
Okay Ich werds ma versuchen, hatte es mir fast schon gedacht, doch Faulheit obsiegt leider manchmal auch im Stress.

Da du anscheinend ja auch TrackMania "Benutzer" bist, kann ich ja gleich ma fragen, ob du evtl dem Freezeman helfen könntest, bei den "GameServer Queries" TrackMania Nations / United mit einzubauen?

Gruß und Danke
NaTzoR

Edit: So hab das jetzt hinbekommen mit den richtigen Stellen usw. Danke nochmals, hatte mir nochn dummen Klammerfehler eingebrockt!


Zuletzt editiert von NaTzoR am 20.03.2008 um 12:38 Uhr (1x Editiert)
Inaktiv
|
beastmaster


Wannabe poster




Beiträge: 29
# Antwort: 9 - 28.04.2009 um 14:22 Uhr
Ich möchte auch TM String in unsere HP einbauen und habe mich auch an die Anleitung ^^
gehallten nur weiss ich jetzt noch nicht wie ich die TM String benutzen kann d.H. ich habe nach dem einbau jetzt nur noch keinen Zugriff auf die TM string wie erhallte ich den bzw wo ..

Ich bin über jede Hilfe dankbar...

Soweit geht ja auch alles d.H. die TM Strings Funktionieren sehr gut ich möcht nur einen Button wie die hier oben ^^ mit einbauen wie mache ich dass....


Zuletzt editiert von beastmaster am 28.04.2009 um 15:22 Uhr (1x Editiert)
Inaktiv
|
beastmaster


Wannabe poster




Beiträge: 29
# Antwort: 10 - 02.05.2009 um 01:25 Uhr
Ich hab die TM Strings im der 2009 er version eigebaut.

Ich habe fast alles hinbekommen bis auf die erweiterung des Buttons für die cs_abcode_insert() Funktion

wenn mir dabei noch jemand hilft wäre ich euch sehr Dankbar

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
1. / 2. / ... 
<?php 
function cs_abcode_features($name$html 0) {

  
$cs_lang cs_translate('system/abcodes');

  global 
$cs_main;

  
$data = array();
  
$data['var']['imgpath'] = $cs_main['img_path'];
  
$data['var']['ext'] = $cs_main['img_ext'];
  
$data['if']['html'] = empty($html) ? false true;
  
$data['var']['textarea'] = $name;

  return 
cs_subtemplate(__FILE__$data'abcode''features');
}


//Tm Strings 
function cs_abcode_features_old($name$html 0) {

  
$cs_lang cs_translate('system/abcodes');

  global 
$cs_main;
  
$coop 'symbols/' $cs_main['img_path'] . '/openoffice/lc_';
  
$ext '.' $cs_main['img_ext'];

  
$img cs_html_img($coop 'trackmaniastring' $ext,0,0,0,$cs_lang['tm']);
  
$var .= cs_abcode_button($name$cs_lang['tm'], '[tm]''[/tm]'$img); 

  return 
$var;
}
 
?>


Ich habe keine Ahnung wie die Funktion dafür in der 2009er RC2 version auszusehen hat.
Daher habe ich erstmal eine alte version eingebaut damit ich keinen Error in der HP hab.
Ansonsten alles wie gehabt in der HP einbauen....


Zuletzt editiert von beastmaster am 02.05.2009 um 14:24 Uhr (2x Editiert)
Inaktiv
|
Antworten: 10
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo