MyBB.de Forum
BB Code - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: BB Code (/thread-7326.html)

Seiten: Seiten: 1 2


RE: BB Code - Chrissi - 08.10.2007

Hi,

und wie lautet diese? bei preg_replace ist $1 die Variable, die angibt, was zwischen [player] und [/player] steht, also wenn ich [player]blablae[/player] schreibe, ist $1 = "blablae".

lg


RE: BB Code - Michael - 08.10.2007

Du musst die Funktion preg_replace_callback benutzen.


RE: BB Code - Chrissi - 11.10.2007

Danke, funktioniert nun alles. Noch Feinarbeiten, dann kann ich meinen ersten Hack veröffentlichen *freu* Big Grin

lg


RE: BB Code - Chrissi - 03.11.2007

Ich schon wieder Big Grin

Ich hab noch einen Fehler:

PHP-Code:
function get_villageid($x$y){
  global 
$db;
  if(isset(
$x) and isset($y)) {
    
$query $db->simple_select(TABLE_PREFIX."ds_villages""*""x = '".$x."' AND y = '".$y."'");
    
$dsvillage $db->fetch_array($query);
    if (isset(
$dsvillage['id'])) {
      return 
$dsvillage['id'];
    }else{
      return 
"false"// überall so beabsichtigt!
    
}
  }else{
    return 
"false"// überall so beabsichtigt!
  
}


Liefert false (ja extra als string) zurück, obwohl das ganze in der Datenbank enthalten ist.
var_dumps:
$query
resource(59) of type (mysql result)
resource(61) of type (mysql result)
$dsvillage
bool(false)
bool(false)

Der BB Code [village] wurde in dem Thread zweimal angewandt, die $x und $y Werte werden richtig übergeben.
Eine Suche per phpmyadmin hat ergeben, dass das Dorf vorhanden ist.
Auch wenn ich $db nicht verwende und mysql_query() und mysql_fetch_array() selber nutze, bekomme ich false zurück. Mit dem gleichen mysql_query Befehl kann ich aber in der phpmyadmin suchen!

Was mache ich falsch?

Danke im Vorraus!

lg

/edit: Die Funktion:
PHP-Code:
function dsbb_village($vstring){
  global 
$mybb$lang;
  
$world $mybb->settings['dsbb_world'];
  
$dsdomain get_serverdomain($world);
  
$vid get_villageid($vstring[1], $vstring[2]);
  if(
$vid == "false") {
    return 
$vstring[1].'|'.$vstring[2].' ('.$lang->village_na.')';
  }else{
    return 
'<a href="'.$dsdomain.'/page.php?page=inbound&screen=info_village&id='.$vid.'">'.get_villagename($vid).'</a>';
  }

Und
PHP-Code:
function dsbbcodes_run($message) {
  global 
$mybb$lang;
  
$lang->load("dsbbcodes");
  require_once(
MYBB_ROOT."inc/functions_dsbb.php");

  
$message preg_replace_callback("#\[player\](.*?)\[/player\]#i""dsbb_player"$message);
  
$message preg_replace_callback("#\[ally\](.*?)\[/ally\]#i""dsbb_ally"$message);
  
$message preg_replace_callback("#\[village\](.*?)\|(.*?)\[/village\]#i""dsbb_village"$message);
  return 
$message;



In der Plugin Datei.
Vielen Dank für eure Antworten -.-


RE: BB Code - Michael - 05.11.2007

Ich sehe leider keinen Fehler im Code, vermutlich musst du Zeile für Zeile debuggen. Befindet sich die Tabelle PREFIX_ds_villages in der gleichen Datenbank wie die Tabellen des Forums?


RE: BB Code - Chrissi - 05.11.2007

Ja, befindet sie sich.

Dazu auch mal der Hilfe Artikel über die Weltdaten, wobei diese hier auch richtig importiert werden...

http://de10.die-staemme.de/help2.php?article=map_data


RE: BB Code - Darklord - 09.07.2008

Hallo Chrissi,

Ist dein Addon öffentlich verfügbar? Ich würde es mir gerne anschauen und gegebenfalls gerne einbauen, wenn du nichts dagegen hast.

Gruß

Markus