[RISOLTO] Gdrc 5.5 funzione per richiamare oggetto in chat
Pagine → 1 2
04/02/2022 13:12:51
Per il commento, sì avevo pensato ad una cosa simile ma ho provato a richiamarlo così ma comunque non funziona.
<?php echo gdrcd_bbcoder(gdrcd_filter('out',$loaded_item['commento'])); ?>
04/02/2022 13:21:38
staff shadowland ha scritto: Per il commento, sì avevo pensato ad una cosa simile ma ho provato a richiamarlo così ma comunque non funziona.
<?php echo gdrcd_bbcoder(gdrcd_filter('out',$loaded_item['commento'])); ?>
Ho capito il problema. E' che noi non usiamo i commenti, quindi non capivo.
Il campo commento è nella tabella clgpersonaggiooggetto.
Nella versione precedente della funzione cercavo di passare al popup anche il nome del personaggio, ma va in conflitto col chat_me.
Quindi adesso il controllo di proprietà è stato spostato nella funzione, il personaggio non è più nell'url del popup e questo non crea problemi. Però tutti valori presenti in clgpersonaggiooggetto (quindi nel tuo caso il commento, ma anche la quantità posseduta e le cariche, ad esempio) non vengono caricati dal popup.
08/02/2022 12:32:00
Se può essere di utilità a qualcuno, ho risolto semplicemente in questo modo:
<div class="inventario_nome"><?php echo gdrcd_filter('out', $caricaoggetto['commento']);
?></div>
08/02/2022 14:47:14
staff shadowland ha scritto: Se può essere di utilità a qualcuno, ho risolto semplicemente in questo modo:
<div class="inventario_nome"><?php echo gdrcd_filter('out', $caricaoggetto['commento']);
?></div>
Ma dici nel file del popup?
Ci sto provando ma non mi carica i commenti...
hai modificato solo questa parte?
08/02/2022 14:53:53
Sì in quella pagina lì ma non ho risistemato il codice con il tuo ultimo post, dovrei verificare
08/02/2022 17:08:16 e modificato da staff shadowland il 08/02/2022 17:09:58
Allego con la modifica effettuata se si vuole inserire anche la parte inerente il commento oggetti. Le righe sono quelle già indicate da Haruka, le mie cambiano avendo modificato il codice.
in function:
/**
* Richiama descrizione oggetto in chat tramite popup
*/
function gdrcd_chat_loadItem(
$str,
$personaggio
) {
// Fix: evita di triggerare gdrcd_chatme
$personaggio_oggetto = $_SESSION['login'] != $personaggio ? $personaggio : NULL;
return
preg_replace_callback(
'#\[(.+?)\]#is',
function($aMatches) use($personaggio) {
$caricaoggetto = gdrcd_query("SELECT * FROM oggetto JOIN clgpersonaggiooggetto ON oggetto.id_oggetto = clgpersonaggiooggetto.id_oggetto WHERE clgpersonaggiooggetto.nome='".$personaggio."' AND oggetto.nome='".gdrcd_filter('get', $aMatches[1])."'");
if ($caricaoggetto['posizione']>0) {
$caricaoggetto = gdrcd_query("SELECT * FROM oggetto WHERE oggetto.nome='".gdrcd_filter('get', $aMatches[1])."'");
$urloggetto= 'javascript:modalWindow(\'oggetto\', \'Oggetto\', \'popup.php?page=popupitemconcheck&pg='.$personaggio.'&oggetto='. $caricaoggetto['id_oggetto'] .'\', 800, 450);';
return '<a href="' . $urloggetto . '"><span style="color: #c21616;">-'.$aMatches[1].'-</span></a>';
}
else {
return '<span style="color: green;">-'.$aMatches[1].'-</span>';
}
},
$str);
}
in ref_header:
$add_chat.= '<span class="chat_msg">'.gdrcd_chatcolor( gdrcd_chat_loadItem(gdrcd_filter('out', $row['testo']), $row['mittente'])).'</span>';
in popupitemconcheck
/*Caricamento oggetti*/
$id_oggetto = gdrcd_filter('num', $_GET['oggetto']);
$personaggio = gdrcd_filter('in',$_REQUEST['pg']);
if (empty($personaggio)) {$personaggio = $_SESSION['login'];}
$id_oggetto = gdrcd_filter('num', $_GET['oggetto']);
$loaded_item = gdrcd_query("SELECT * FROM oggetto WHERE id_oggetto = ".$id_oggetto."");
$caricaoggetto = gdrcd_query("SELECT * FROM oggetto JOIN clgpersonaggiooggetto ON oggetto.id_oggetto = clgpersonaggiooggetto.id_oggetto WHERE clgpersonaggiooggetto.nome='".$personaggio."' AND oggetto.id_oggetto='".$id_oggetto."'");
if ($caricaoggetto['posizione']>0) {
?>
<table id="lista" class="sortable">
e da qui il codice prosegue come postato da Haruka. Il mio cambia da questo punto in poi, per questo motivo non allego la pagina completa che potrebbe creare qualche problema essendo stata modificata secondo le mie esigenze.
inserite questa parte per richiamare il commento dove vi serve:
<div class="inventario_nome"><?php echo gdrcd_filter('out', $caricaoggetto['commento']);
?></div>
Ma per il resto, dovrebbe funzionare :)
08/02/2022 17:23:01 e modificato da haruka il 08/02/2022 17:24:35
staff shadowland ha scritto:
Ma per il resto, dovrebbe funzionare :)
Purtroppo no, nel senso. Questo codice che stai usando, che era quello che avevo postato buggato e poi tolto, va in conflitto con chat_me.
Infatti se vedi la parte di codice che hai postato tu - che io avevo indicato come soluzione temporanea - ovvero:
$add_chat.= '<span class="chat_msg">'.gdrcd_chatcolor( gdrcd_chat_loadItem(gdrcd_filter('out', $row['testo']), $row['mittente'])).'</span>';
non richiama la funzione chat_me.
Cosa che fa questa:
$add_chat .= '<span class="chat_msg">'.gdrcd_chatme($_SESSION['login'], gdrcd_chatcolor( gdrcd_chat_loadItem(gdrcd_filter('out', $row['testo']), $row['mittente']))).'</span>';
Ma le due funzioni vanno in conflitto, quindi personalmente siccome mi spiace perdere il chat_me (che è quella funzione che colora il nick di un personaggio se qualcun altro lo nomina) ho preferito la soluzione del post delle 04/02/2022 13:04:05
Che non passa più il personaggio nel popup, per cui può caricare l'oggetto ma non può caricare le informazioni personalizzate dell'oggetto (numero, cariche, commento).
Personalmente se devo sacrificare qualcosa, preferisco sacrificare questo nel popup ma tenermi il chat_me :)
Poi sono gusti ed esigenze ;)
08/02/2022 18:17:24
Ah sarà che non faccio uso di quella funzione per questo motivo non mi creava il conflitto =)
12/02/2022 13:02:24
scaredy cat ha scritto: grazie mille per aver condiviso il codice sia ad haruka che a staffshadowsland, sono riuscita a implementarlo nella stringa di equipaggiamento in chat **
Figurati ^_^
Ringraziamo piuttosto kasa per l'aiuto inestimabile che da sempre alla community.
13/02/2022 08:57:08
In realtà, a parte dare qualche idea sul come pensare la cosa, ho fatto ben poco.
Davvero complimenti ad @haruka e @staff shadowland per il lavoro fatto e le giuste correzioni applicate. Come immaginavo, il chatme si è rilevato una bella spina.
Kasa.
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Tibia ↗
Exclusive Villa GdR ↗
RAID Shadow Legends ↗
Hero Wars ↗
Foundation Galactic Frontier ↗
Wuthering Waves ↗
Cafuné ↗
Tiles Survive ↗