Problema Bacheca - bacheca nazione
Problema Bacheca - bacheca nazione postato il 08/05/2013 19:08:24 nel forum programmazione, open source e hosting
Ciao a tutti, sto cercando di far si che ci sia una bacheca nazione che dia l'accesso ai pg con solo quella nazione.
il sistema funziona come quello della razza e riesco a creare tutto.
Se vado in gestione bacheche mi crea e salva tutto solo che quando con un pg che non è gestore provo ad accedere alla sua bacheca nazione questo gli è permesso.
se controllo nel db trovo il salvataggio con l'id della nazione.
Da cosa può dipendere?
ho modificato i file gestione_bacheche.inc.php - forum.inc.php e scheda.inc.php ma allora da che cosa può dipendere? mi sto scordando qualche cosa?
grazie mille dell'aiuto a tutti!^^
Pagine → 1 2
08/05/2013 23:06:13
sicuramente dal check nel forum.inc.php che decide se mostrare o meno la bacheca
09/05/2013 10:19:17
no scusami forse mi sono espresso male. La bacheca viene creata e me la visualizza però non so come mai non fa accedere i pg che appartengono alla dovuta nazionalità;(
in caso potresti dirmi dove modificare questo ceck?^^
09/05/2013 11:38:16
Non essendo una cosa nativa di gdrcd c'è da vedere come hai implementato la nazionalità. E' un campo nella tabella personaggio?
in tutti i casi basta andare nel file forum.inc.php nei case op=read e op=visit nel primo check di "if" dove sono introdotti tutti i casi in cui quella bacheca e quel thread viene visualizzato si aggiunge quello per la nazionalità
09/05/2013 13:03:45
apro la pagina forum.inc.php e dalle tue parole trovo queste 2 parti:
<?php /*Visualizzazione topic*/
if($_REQUEST['op']=='read')
{
$result = gdrcd_query("SELECT messaggioaraldo.id_messaggio, messaggioaraldo.id_messaggio_padre, messaggioaraldo.titolo, messaggioaraldo.messaggio, messaggioaraldo.autore, messaggioaraldo.data_messaggio, messaggioaraldo.chiuso, araldo.tipo, araldo.nome, araldo.proprietari, personaggio.url_img FROM messaggioaraldo LEFT JOIN araldo ON messaggioaraldo.id_araldo = araldo.id_araldo LEFT JOIN personaggio ON messaggioaraldo.autore = personaggio.nome WHERE messaggioaraldo.id_messaggio_padre = ".gdrcd_filter('num',$_REQUEST['what'])." OR messaggioaraldo.id_messaggio = ".gdrcd_filter('num',$_REQUEST['what'])." ORDER BY id_messaggio_padre, data_messaggio", 'result');
$row = gdrcd_query($result, 'fetch');
$check_letto = gdrcd_query("SELECT * FROM araldo_letto WHERE nome = '".$_SESSION['login']."' AND thread_id = ".gdrcd_filter('num',$_REQUEST['what']));
if ($check_letto['id'] > 0)
{
}
else
{
gdrcd_query("INSERT INTO araldo_letto (nome, araldo_id, thread_id) VALUES ('".$_SESSION['login']."', ".gdrcd_filter('num',$_REQUEST['where']).", ".gdrcd_filter('num',$_REQUEST['what']).")");
}
$chiuso = $row['chiuso'];
<?php /*Visualizzazione dei topic */
if(gdrcd_filter('get',$_REQUEST['op'])=='visit')
{
//Permessi
$row=gdrcd_query("SELECT tipo, proprietari FROM araldo WHERE id_araldo = ".gdrcd_filter('num',$_REQUEST['what'])."");
if ((($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']==SOLOGILDA)&&(strpos($_SESSION['gilda'],'*'.$row['proprietari'].'*')===FALSE)&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']>=SOLOMASTERS)&&($_SESSION['permessi']<GAMEMASTER))||
(($row['tipo']>=SOLOMODERATORS)&&($_SESSION['permessi']<MODERATOR))){ /*Restrizione di visualizzazione solo master e admin*/
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>'; ?>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['back']); ?>
</a>
</div>
premetto che ora ti ho postato il codice nativo senza alcuna modifica;)
nella seconda parte ho capito come modificarlo..devo creare una cosa del genere:
(($row['tipo']==SOLONAZIONE)&&($_SESSION['id_nazione']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))|
e naturalmente crearla anche nel file constant_values.inc.php
ma nella prima parte come inserisco ciò che mi interessa per la nazione?
grazie mille dell'aiuto!^^
09/05/2013 14:18:23
la prima parte è giusta solo in parte, dovrebbe esserci una cosa simile a quella sotto qualche riga più in basso. Ti basta duplicare il codice
09/05/2013 18:41:50
io non so più che cosa fare;(
posto qui il contenuto delle pagine come lo modifico io, ma non mi sembra di stare a sbagliare nulla;(
questo è il contenuto della pagina forum.inc.php :
<?php /*HELP: */ ?>
<div class="pagina_forum">
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$PARAMETERS['names']['forum']['plur']); ?></h2>
</div>
<!-- Box principale -->
<div class="page_body">
<?php
/*Patch by Breaker: Funzione Segna tutto come letto*/
if($_POST['action']=='readall')
{
$result = gdrcd_query("SELECT * FROM messaggioaraldo WHERE id_messaggio_padre = -1", 'result');
while($row=mysql_fetch_array($result))
{
$esiste = gdrcd_query("SELECT id FROM araldo_letto WHERE thread_id = ".$row['id_messaggio']." AND nome = '".$_SESSION['login']."'");
if($esiste['id'] > 0)
{
}
else
{
gdrcd_query("INSERT INTO araldo_letto (nome, araldo_id, thread_id) VALUES ('".$_SESSION['login']."', ".$row['id_araldo'].", ".$row['id_messaggio'].")");
}
}
}
/*Inserimento messaggio o topic*/
if($_POST['op']=='insert')
{
gdrcd_query("DELETE FROM araldo_letto WHERE thread_id = ".gdrcd_filter('num',$_POST['padre']));
gdrcd_query("INSERT INTO messaggioaraldo (id_messaggio_padre, id_araldo, titolo, messaggio, autore, data_messaggio ) VALUES (".gdrcd_filter('num',$_POST['padre']).", ".gdrcd_filter('num',$_POST['araldo']).", '".gdrcd_filter('in',$_POST['titolo'])."', '".gdrcd_filter('in',$_POST['messaggio'])."', '".gdrcd_filter('in',$_SESSION['login'])."', NOW())");?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['inserted']);?>
</div>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Modifica messaggio o topic*/
if($_POST['op']=='edit')
{
$row = gdrcd_query("SELECT autore, titolo, messaggio, id_messaggio_padre FROM messaggioaraldo WHERE id_messaggio=".gdrcd_filter('num',$_POST['id_messaggio'])."");
if ($row['autore'] == $_SESSION['login'] || ($row['autore'] != $_SESSION['login'] && $_SESSION['permessi'] >= MODERATOR))
{
$time=strftime('%d').'/'.strftime('%m').'/'.strftime('%Y').' '.strftime('%H:%M');
gdrcd_query("UPDATE messaggioaraldo SET messaggio = '".gdrcd_filter('in',$_POST['messaggio']).'
Edit ('.$_SESSION['login'].'): '.$time."', titolo = '".gdrcd_filter('in',$_POST['titolo'])."' WHERE id_messaggio = ".gdrcd_filter('num',$_POST['id_messaggio'])." LIMIT 1");
?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['modified']);?>
</div>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['back']); ?>
</a>
</div>
<?php
}else
{
?>
<div class="warning">
Furbacchione ;-)
</div>
<?php
}
}
?>
<?php /*Form modifica*/
if($_REQUEST['op']=='modifica')
{
$row = gdrcd_query("SELECT autore, titolo, messaggio, id_messaggio_padre FROM messaggioaraldo WHERE id_messaggio=".gdrcd_filter('num',$_REQUEST['what'])."");
if ($row['autore'] == $_SESSION['login'] || ($row['autore'] != $_SESSION['login'] && $_SESSION['permessi'] >= MODERATOR))
{
?>
<div class="panels_box">
<div class="form_gioco">
<form action="main.php?page=forum"
method="post">
<?php if ($row['id_messaggio_padre']==-1){/*Se è il primo di un topic serve un titolo*/ ?>
<div class="form_label">
<?php echo $MESSAGE['interface']['forums']['insert']['title']; ?>
</div>
<div class="form_field">
<input name="titolo"
value="<?php echo gdrcd_filter('out',$row['titolo']); ?>"/>
</div>
<?php }//if ?>
<div class="form_label">
<?php echo $MESSAGE['interface']['forums']['insert']['message']; ?>
</div>
<div class="form_field">
<textarea name="messaggio" /><?php echo $row['messaggio']; ?></textarea>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['help']['bbcode']); ?>
</div>
<div class="form_submit">
<input type="hidden"
name="op"
value="edit" />
<input type="hidden"
name="id_messaggio"
value="<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>" />
<input type="submit"
name="dummy"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
</div>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['topic']); ?>
</a>
</div>
<?php
}else
{
?>
<div class="warning">
Impossibile visualizzare il post richiesto, il messaggio potrebbe non esistere oppure non disponi delle autorizzazioni necessarie per poterlo visionare
</div>
<?php
}
} ?>
<?php /*Cancellatura messaggio o topic*/
if($_REQUEST['op']=='delete'){
if((gdrcd_filter('num',$_REQUEST['padre'])==-1)&&($_SESSION['permessi']>=MODERATOR)){/*Cancello un topic da admin*/
gdrcd_query("DELETE FROM araldo_letto WHERE thread_id = ".gdrcd_filter('num',$_POST['id_record']));
$query="DELETE FROM messaggioaraldo WHERE id_messaggio_padre= ".gdrcd_filter('num',$_REQUEST['id_record'])." OR id_messaggio= ".gdrcd_filter('num',$_REQUEST['id_record'])."";
$back='forum';
} elseif ($_SESSION['permessi']>=MODERATOR) {/*Cancello un post da admin*/
$query="DELETE FROM messaggioaraldo WHERE id_messaggio_padre <> -1 AND id_messaggio = ".gdrcd_filter('num',$_REQUEST['id_record'])." LIMIT 1";
$back='forum&op=read&what='.gdrcd_filter('num',$_REQUEST['padre']);
} elseif (gdrcd_filter('num',$_REQUEST['padre'])==-1) {/*Cancello un topic che l'utente ha inserito*/
gdrcd_query("DELETE FROM araldo_letto WHERE thread_id = ".gdrcd_filter('num',$_POST['id_record']));
$query="DELETE FROM messaggioaraldo WHERE id_messaggio_padre= ".gdrcd_filter('num',$_REQUEST['id_record'])." OR (autore = '".$_SESSION['login']."' AND id_messaggio = ".gdrcd_filter('num',$_REQUEST['id_record']).")";
$back='forum';
} else {/*Cancello un post che l'utente ha inserito*/
$query="DELETE FROM messaggioaraldo WHERE id_messaggio_padre <> -1 AND id_messaggio = ".gdrcd_filter('num',$_REQUEST['id_record'])." AND autore='".$_SESSION['login']."' LIMIT 1";
$back='forum&op=read&what='.gdrcd_filter('get',gdrcd_filter('num',$_REQUEST['padre']));
}
gdrcd_query($query); ?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['deleted']);?>
</div>
<div class="link_back">
<a href="main.php?page=<?php echo $back; ?>">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['topic']); ?>
</a>
</div>
<?php } ?>
<?php
/** * Procedure messaggi importanti e chiusi
* @author Blancks <[email protected]>
*/
if ($_SESSION['permessi'] >= MODERATOR)
{
switch ($_POST['ops'])
{
case 'important':
$id_record = (int)$_POST['id_record'];
$status_imp = (int)$_POST['status_imp'];
gdrcd_query("UPDATE messaggioaraldo SET importante = $status_imp WHERE id_messaggio = $id_record")or die(mysql_error());
break;
case 'close':
$id_record = (int)$_POST['id_record'];
$status_cls = (int)$_POST['status_cls'];
gdrcd_query("UPDATE messaggioaraldo SET chiuso = $status_cls WHERE id_messaggio = $id_record")or die(mysql_error());
break;
}
}
/** * Fine Procedura per topic importanti/chiusi
*/
?>
<?php /*Creazione nuovi messaggi e topic*/
if(gdrcd_filter('get',$_REQUEST['op'])=='composer'){
$padre=gdrcd_filter('num',$_REQUEST['what']);
$araldo=gdrcd_filter('num',$_REQUEST['where']);?>
<div class="panels_box">
<div class="form_gioco">
<form action="main.php?page=forum"
method="post">
<?php if ($padre==-1){ /*Se e' il primo post di un topic serve il titolo*/?>
<div class="form_label">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['insert']['title']); ?>
</div>
<div class="form_field">
<input name="titolo" />
</div>
<?php } ?>
<div class="form_label">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['insert']['message']); ?>
</div>
<div class="form_field">
<textarea name="messaggio" /></textarea>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['help']['bbcode']); ?>
</div>
<div class="form_submit">
<input type="hidden"
name="op"
value="insert" />
<input type="hidden"
name="araldo"
value="<?php echo $araldo; ?>" />
<input type="hidden"
name="padre"
value="<?php echo $padre; ?>" />
<input type="submit"
name="dummy"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
</div>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['topic']); ?>
</a>
</div>
<?php } ?>
<?php /*Visualizzazione topic*/
if($_REQUEST['op']=='read')
{
$result = gdrcd_query("SELECT messaggioaraldo.id_messaggio, messaggioaraldo.id_messaggio_padre, messaggioaraldo.titolo, messaggioaraldo.messaggio, messaggioaraldo.autore, messaggioaraldo.data_messaggio, messaggioaraldo.chiuso, araldo.tipo, araldo.nome, araldo.proprietari, personaggio.url_img FROM messaggioaraldo LEFT JOIN araldo ON messaggioaraldo.id_araldo = araldo.id_araldo LEFT JOIN personaggio ON messaggioaraldo.autore = personaggio.nome WHERE messaggioaraldo.id_messaggio_padre = ".gdrcd_filter('num',$_REQUEST['what'])." OR messaggioaraldo.id_messaggio = ".gdrcd_filter('num',$_REQUEST['what'])." ORDER BY id_messaggio_padre, data_messaggio", 'result');
$row = gdrcd_query($result, 'fetch');
$check_letto = gdrcd_query("SELECT * FROM araldo_letto WHERE nome = '".$_SESSION['login']."' AND thread_id = ".gdrcd_filter('num',$_REQUEST['what']));
if ($check_letto['id'] > 0)
{
}
else
{
gdrcd_query("INSERT INTO araldo_letto (nome, araldo_id, thread_id) VALUES ('".$_SESSION['login']."', ".gdrcd_filter('num',$_REQUEST['where']).", ".gdrcd_filter('num',$_REQUEST['what']).")");
}
$chiuso = $row['chiuso'];
/*Restrizione di accesso i forum admin e master*/
if ((($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']==SOLONAZIONE)&&($_SESSION['id_nazione']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']==SOLOGILDA)&&(strpos($_SESSION['gilda'],'*'.$row['proprietari'].'*')===FALSE)&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']>=SOLOMASTERS)&&($_SESSION['permessi']<GAMEMASTER))||
(($row['tipo']>=SOLOMODERATORS)&&($_SESSION['permessi']<MODERATOR))){
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';
} else { ?>
<div class="panels_box">
<table>
<tr><!-- Intestazione tabella -->
<td colspan="2"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$row['nome']); ?>
</div></td>
</tr>
<tr>
<td colspan="2" class="forum_main_title">
<div class="forum_post_title">
<?php echo gdrcd_filter('out',$row['titolo']); ?>
</div>
</td>
</tr>
<tr>
<td class="forum_main_post_author">
<div class="forum_post_author">
<a href="main.php?page=scheda&pg=<?php echo gdrcd_filter('out',$row['autore']); ?>">
<?php echo gdrcd_filter('out',$row['autore']); ?>
</a>
<div class="forum_avatar">
<img src="<?php echo gdrcd_filter('out',$row['url_img']); ?>" class="img_forum_avatar">
</div>
<div class="forum_date_small">
<?php echo gdrcd_format_date($row['data_messaggio']).' '.gdrcd_format_time($row['data_messaggio']); ?>
</div>
</div>
</td>
<td class="forum_main_post_message">
<div class="forum_post_message">
<?php
/** * Se è disponibile il plugin bbd per il trattamento del bbcode usiamo quella
* @author Blancks
*/
if ($PARAMETERS['settings']['forum_bbcode']['type'] == 'bbd')
{
echo bbdecoder(gdrcd_filter('out',$row['messaggio']), true);
}else
{
echo gdrcd_bbcoder(gdrcd_filter('out',$row['messaggio']));
}
?>
</div>
<?php if(($_SESSION['login']==$row['autore'] && $chiuso == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=modifica&what=<?php echo $row['id_messaggio'];?>">[<?php echo $MESSAGE['interface']['forums']['link']['edit']; ?>]</a>
<a href="main.php?page=forum&op=delete&id_record=<?php echo $row['id_messaggio'];?>&padre=<?php echo $row['id_messaggio_padre'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['delete']); ?>]</a>
</div>
<?php } ?>
</td>
</tr>
<?php while($row = gdrcd_query($result, 'fetch')){ ?>
<tr>
<td class="forum_other_post_author">
<div class="forum_post_author">
<a href="main.php?page=scheda&pg=<?php echo gdrcd_filter('out',$row['autore']); ?>">
<?php echo gdrcd_filter('out',$row['autore']); ?>
</a>
<div class="forum_avatar">
<img src="<?php echo gdrcd_filter('out',$row['url_img']); ?>" class="img_forum_avatar">
</div>
<div class="forum_date_small">
<?php echo gdrcd_format_date($row['data_messaggio']).' '.gdrcd_format_time($row['data_messaggio']); ?>
</div>
</div>
</td>
<td class="forum_other_post_message">
<div class="forum_post_message">
<?php
/** * Se è disponibile il plugin bbd per il trattamento del bbcode usiamo quella
* @author Blancks
*/
if ($PARAMETERS['settings']['forum_bbcode']['type'] == 'bbd')
{
echo bbdecoder(gdrcd_filter('out',$row['messaggio']), true);
}else
{
echo gdrcd_bbcoder(gdrcd_filter('out',$row['messaggio']));
}
?>
</div>
<?php if(($_SESSION['login']==$row['autore'] && $row['chiuso'] == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=modifica&what=<?php echo $row['id_messaggio'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['edit']); ?>]</a>
<a href="main.php?page=forum&op=delete&id_record=<?php echo $row['id_messaggio'];?>&padre=<?php echo $row['id_messaggio_padre'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['delete']); ?>]</a>
</div>
<?php } ?>
</td>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
</div>
<?php }//else ?>
<!-- link a fondo pagina -->
<div class="link_back">
<?php
if ($chiuso == 0 || $_SESSION['permessi']>=MODERATOR)
{
?>
<a href="main.php?page=forum&op=composer&what=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['new_post']); ?>
</a><br />
<?php
}
?>
<a href="main.php?page=forum&op=visit&what=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['forum']); ?>
</a><br />
</div>
<?php } ?>
<?php /*Visualizzazione di base (Elenco forum)*/
if(isset($_REQUEST['op'])===FALSE){
/*Carico l'elenco dei forum*/
$result = gdrcd_query("SELECT id_araldo, nome, tipo, proprietari FROM araldo ORDER BY tipo, nome", 'result');
$ultimotipo=-1;?>
<!-- Elenco forum -->
<div class="elenco_esteso">
<div class="elenco_record_giocoforum">
<table>
<?php while($row = gdrcd_query($result, 'fetch'))
{
if($row['tipo']!=$ultimotipo){/*Sono ordinati per tipo, se cambia stampo il nuovo tipo come capoverso*/
$ultimotipo=$row['tipo']; ?>
<tr><!-- Intestazione tabella -->
<td colspan="2"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['forum']['plur'].' '.strtolower($MESSAGE['interface']['forums']['type'][$ultimotipo])); ?>
</div></td>
</tr>
<?php } //if
$new_msg = gdrcd_query("SELECT COUNT(id) AS num FROM araldo_letto WHERE araldo_id = ".$row['id_araldo']." AND nome = '".$_SESSION['login']."';");
// print_r($result2);
$new_msg2 = gdrcd_query("SELECT COUNT(id_messaggio) AS num FROM messaggioaraldo WHERE id_araldo = ".$row['id_araldo']." AND id_messaggio_padre = -1");
$nuovi_mes = $new_msg2['num'] - $new_msg['num'];
?>
<tr><!-- Forum della categoria -->
<td class="forum_main_post_author">
<div class="forum_date_big">
<?php
if($new_msg['num'] != $new_msg2['num'])
{
if ($nuovi_mes == 1)
echo $nuovi_mes . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['sing'];
else
echo $nuovi_mes . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['plur'];
}
?>
</div>
</td>
<td class="casella_elementoforum"><div class="elementi_elencoforum">
<?php if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$row['proprietari']))||
(($row['tipo']==SOLONAZIONE)&&($_SESSION['id_nazione']==$row['proprietari']))||
(($row['tipo']==SOLOGILDA)&&(strpos($_SESSION['gilda'],'*'.$row['proprietari'].'*')!=FALSE))||
(($row['tipo']==SOLOMASTERS)&&($_SESSION['permessi']>=GAMEMASTER))||
($_SESSION['permessi']>=MODERATOR)){ /*Restrizione di visualizzazione solo master e admin*/ ?>
<a href="main.php?page=forum&op=visit&what=<?php echo gdrcd_filter('out',$row['id_araldo']); ?>&name=<?php echo gdrcd_filter('out',$row['nome']); ?>">
<?php } ?>
<?php echo gdrcd_filter('out',$row['nome']); ?>
<?php if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$row['proprietari']))||
(($row['tipo']==SOLONAZIONE)&&($_SESSION['id_nazione']==$row['proprietari']))||
(($row['tipo']==SOLOGILDA)&&(strpos($_SESSION['gilda'],'*'.$row['proprietari'].'*')!=FALSE))||
(($row['tipo']==SOLOMASTERS)&&($_SESSION['permessi']>=GAMEMASTER))||
($_SESSION['permessi']>=MODERATOR)){ /*Restrizione di visualizzazione solo master e admin*/ ?>
</a>
<?php }//if ?>
</div></td>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
<?php //Pulsante segna tutto come letto ?>
<div style="position:relative; width:220px; left: 50%; margin-left: -110px;">
<form action="<?php echo $_SERVER['PHP_SELF'].'?page=forum';?>"
method="post">
<input type="hidden"
name="action"
value="readall" />
<input type="submit"
name="dummy"
value="Segna tutto come letto" />
</form>
</div>
</div>
</div>
<?php } ?>
<?php /*Visualizzazione dei topic */
if(gdrcd_filter('get',$_REQUEST['op'])=='visit')
{
//Permessi
$row=gdrcd_query("SELECT tipo, proprietari FROM araldo WHERE id_araldo = ".gdrcd_filter('num',$_REQUEST['what'])."");
if ((($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']==SOLONAZIONE)&&($_SESSION['id_nazione']!=$row['proprietari'])&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']==SOLOGILDA)&&(strpos($_SESSION['gilda'],'*'.$row['proprietari'].'*')===FALSE)&&($_SESSION['permessi']<MODERATOR))||
(($row['tipo']>=SOLOMASTERS)&&($_SESSION['permessi']<GAMEMASTER))||
(($row['tipo']>=SOLOMODERATORS)&&($_SESSION['permessi']<MODERATOR))){ /*Restrizione di visualizzazione solo master e admin*/
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>'; ?>
<div class="link_back">
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['back']); ?>
</a>
</div>
<?php } else {
//Determinazione pagina (paginazione)
$pagebegin=(int)$_REQUEST['offset']*$PARAMETERS['settings']['posts_per_page'];
$pageend=$pagebegin+$PARAMETERS['settings']['posts_per_page'];
//Conteggio record totali
$record_globale = gdrcd_query("SELECT COUNT(*) FROM messaggioaraldo WHERE id_messaggio_padre = -1 AND id_araldo = ".gdrcd_filter('num',$_REQUEST['what'])."");
$totaleresults = $record_globale['COUNT(*)'];
/*Carico l'elenco dei forum*/
$result = gdrcd_query("SELECT id_messaggio, titolo, autore, data_messaggio, importante, chiuso FROM messaggioaraldo WHERE id_messaggio_padre = -1 AND id_araldo = ".gdrcd_filter('num',$_REQUEST['what'])." ORDER BY importante DESC, data_messaggio DESC LIMIT ".$pagebegin.", ".$pageend."", 'result');
if (gdrcd_query($result, 'num_rows') == 0){?>
<div class="warning"><?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['warning']['no_topic']); ?></div>
<?php } else { ?>
<!-- Elenco forum -->
<div class="elenco_esteso">
<div class="elenco_record_giocoforum">
<table>
<tr><!-- Intestazione tabella -->
<?php if ($_SESSION['permessi']>=MODERATOR){ ?><td colspan="4"><?php } else {?>
<td colspan="3"><?php } ?>
<div class="capitolo_elenco">
<?php echo gdrcd_filter('get',$_REQUEST['nome']); ?>
</div></td>
</tr>
<tr><!-- Intestazione tabella -->
<td class="casella_titolo"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['topic']['title']); ?>
</div></td>
<td class="casella_titolo"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['topic']['author']); ?>
</div></td>
<td class="casella_titolo"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['topic']['posts']); ?>
</div></td>
<?php if ($_SESSION['permessi']>=MODERATOR){ ?>
<td class="casella_titolo"><div class="capitolo_elenco">
<?php echo ' '; ?>
</div></td>
<?php } ?>
</tr>
<?php while($row=mysql_fetch_array($result))
{
$readinfo=gdrcd_query("SELECT MAX(data_messaggio) AS latest, COUNT(*) AS replies FROM messaggioaraldo WHERE id_messaggio_padre = ".gdrcd_filter('get',$row['id_messaggio'])."");
$lastupdate=$readinfo['latest'];
$postsnumber=$readinfo['replies'];
$new_msg = gdrcd_query("SELECT * FROM araldo_letto WHERE thread_id = ".$row['id_messaggio']." AND nome = '".$_SESSION['login']."'");
?>
<tr><!-- Topic -->
<td class="casella_elemento"><div class="elementi_elenco"><!-- Titolo -->
<a href="main.php?page=forum&op=read&what=<?php echo gdrcd_filter('out',$row['id_messaggio']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>">
<div class="forum_column">
<?php
/** * Topic importante
* @author Blancks <[email protected]>
*/
echo ($row['importante'])? $MESSAGE['interface']['administration']['ops']['important'].': ': '';
/** * Fine
*/
?>
<?php echo gdrcd_filter('out',$row['titolo']); ?>
<?php
if($new_msg['id'] > 0)
{
}
else
{
echo '(';
echo $MESSAGE['interface']['forums']['topic']['new_posts']['plur'];
echo ')';
}
?>
</div></a>
<?php
/** * Topic Chiuso
* @author Blancks <[email protected]>
*/
echo ($row['chiuso'])? '<div class="forum_column">'.$MESSAGE['interface']['forums']['topic']['title'].' '.$MESSAGE['interface']['administration']['ops']['close'].'</div>': '';
/** * Fine
*/
?>
<div class="forum_date_big"><?php echo gdrcd_format_date($row['data_messaggio']).' '.gdrcd_format_time($row['data_messaggio']); ?></div>
</div></td>
<td class="casella_elemento"><div class="elementi_elenco"><!-- Autore -->
<a href="main.php?page=scheda&pg=<?php echo gdrcd_filter('out',$row['autore']); ?>">
<?php echo gdrcd_filter('out',$row['autore']); ?>
</a>
</div></td>
<td class="casella_elemento">
<div class="elementi_elenco"><!-- Data -->
<?php echo $postsnumber.' '.gdrcd_filter('out',$MESSAGE['interface']['forums']['topic']['posts']); ?>
<div class="forum_date_big"><?php if($postsnumber > 0) { echo gdrcd_filter('out',$MESSAGE['interface']['forums']['topic']['last_post']).': '.gdrcd_format_date($lastupdate).' '.gdrcd_format_time($lastupdate); }?></div>
</div>
</td>
<?php if ($_SESSION['permessi']>=MODERATOR){ ?>
<?php
/** * Topic importanti/chiusi
* @author Blancks <[email protected]>
*/
$set_imp = ($row['importante'])? '0' : '1';
$set_cls = ($row['chiuso'])? '0' : '1';
$img_imp = ($row['importante'])? 'importante.png' : 'non_importante.png';
$img_cls = ($row['chiuso'])? 'topic_chiuso.png' : 'topic_aperto.png' ;
$label_imp = ($row['importante'])? 'important' : 'not_important';
$label_cls = ($row['chiuso'])? 'close' : 'open';
/** * Fine
*/
?>
<td class="casella_titolo">
<div class="controlli_elenco"><!-- controlli -->
<!--
/** * Topic importanti/chiusi
* @author Blancks <[email protected]>
*/
-->
<!-- Importante -->
<div class="controllo_elenco" >
<form action="main.php?<?php echo $_SERVER['QUERY_STRING']; ?>" method="post">
<input type="hidden" name="id_record" value="<?php echo $row['id_messaggio']?>" />
<input type="hidden" name="status_imp" value="<?php echo $set_imp; ?>" />
<input type="hidden" name="ops" value="important" />
<input type="image"
src="imgs/icons/<?php echo $img_imp; ?>"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops'][$label_imp]); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops'][$label_imp]); ?>"/>
</form>
</div>
<!-- Topic Chiuso -->
<div class="controllo_elenco" >
<form action="main.php?<?php echo $_SERVER['QUERY_STRING']; ?>" method="post">
<input type="hidden" name="id_record" value="<?php echo $row['id_messaggio']?>" />
<input type="hidden" name="status_cls" value="<?php echo $set_cls; ?>" />
<input type="hidden" name="ops" value="close" />
<input type="image"
src="imgs/icons/<?php echo $img_cls; ?>"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops'][$label_cls]); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops'][$label_cls]); ?>"/>
</form>
</div>
<!--
/** * Fine
*/
-->
<!-- Elimina -->
<div class="controllo_elenco" >
<form action="main.php?page=forum" method="post">
<input type="hidden" name="id_record" value="<?php echo $row['id_messaggio']?>" />
<input type="hidden" name="padre" value="-1" />
<input type="hidden" name="op" value="delete" />
<input type="image"
src="imgs/icons/erase.png"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['erase']); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['erase']); ?>"/>
</form>
</div>
</div>
</td>
<?php } ?>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
</div>
</div>
<?php }//else ?>
<!-- Paginatore elenco -->
<div class="pager">
<?php if($totaleresults>$PARAMETERS['settings']['posts_per_page']){
echo gdrcd_filter('out',$MESSAGE['interface']['pager']['pages_name']);
for($i=0;$i<=floor($totaleresults/$PARAMETERS['settings']['posts_per_page']);$i++){
if ($i!=$_REQUEST['offset']){?>
<a href="main.php?page=forum&op=visit&what=<?php echo gdrcd_filter('num',$_REQUEST['what']) ?>&offset=<?php echo $i; ?>"><?php echo $i+1; ?></a>
<?php } else { echo ' '.($i+1).' '; }
} //for
}//if ?>
</div>
<!-- link crea nuovo -->
<div class="link_back">
<a href="main.php?page=forum&op=composer&what=-1&where=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['new_topic']); ?>
</a><br />
<a href="main.php?page=forum">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['back']); ?>
</a>
</div>
<?php } //else ?>
<?php } ?>
</div><!-- Box principale -->
</div><!-- Pagina -->
questo invece è il contenuto della pagina gestione_bacheche.inc.php:
<div class="gestione_bacheche">
<?php /*HELP: */
/*Controllo permessi utente*/
if ($_SESSION['permessi']<MODERATOR){
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';
} else { ?>
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['page_name']); ?></h2>
</div>
<!-- Corpo della pagina -->
<div class="page_body">
<?php /*Inserimento di un nuovo record*/
if (gdrcd_filter('get',$_POST['op'])==$MESSAGE['interface']['administration']['forums']['submit']['insert']) { ?>
<?php /*Eseguo l'inserimento*/
gdrcd_query("INSERT INTO araldo (nome, tipo, proprietari) VALUES ('".gdrcd_filter('in',$_POST['nome'])."', ".gdrcd_filter('num',$_POST['tipo']).", ".gdrcd_filter('num',$_POST['owner']).")");?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['inserted']);?>
</div>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=gestione_bacheche">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['link']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Cancellatura in un record*/
if ($_POST['op']=='erase'){ ?>
<?php /*Eseguo la cancellatura*/
gdrcd_query("DELETE FROM messaggioaraldo WHERE id_araldo=".gdrcd_filter('num',$_POST['id_record'])."");
gdrcd_query("DELETE FROM araldo WHERE id_araldo=".gdrcd_filter('num',$_POST['id_record'])." LIMIT 1");
?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['deleted']);?>
</div>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=gestione_bacheche">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['link']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Modifica di un record*/
if ($_POST['op']==$MESSAGE['interface']['administration']['forums']['submit']['edit']){ ?>
<?php /*Eseguo l'aggiornamento*/
gdrcd_query("UPDATE araldo SET nome ='".gdrcd_filter('in',$_POST['nome'])."', tipo = ".gdrcd_filter('num',$_POST['tipo']).", proprietari = ".gdrcd_filter('num',$_POST['owner'])." WHERE id_araldo = ".gdrcd_filter('num',$_POST['id_record'])." LIMIT 1");
?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['modified']);?>
</div>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=gestione_bacheche">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['link']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Form di inserimento/modifica*/
if ((gdrcd_filter('get',$_POST['op'])=='edit') || (gdrcd_filter('get',$_REQUEST['op'])=='new')){
/*Preseleziono l'operazione di inserimento*/
$operation='insert';
/*Se è stata richiesta una modifica*/
if (gdrcd_filter('get',$_POST['op'])=='edit'){
/*Carico il record da modificare*/
/*
$query="SELECT * FROM araldo WHERE id_araldo=".gdrcd_filter('num',$_POST['id_record'])." LIMIT 1 ";
$result=mysql_query($query);
*/
$loaded_record=gdrcd_query("SELECT * FROM araldo WHERE id_araldo=".gdrcd_filter('num',$_POST['id_record'])." LIMIT 1 ");
/*Cambio l'operazione in modifica*/
$operation='edit';
}
?>
<!-- Form di inserimento/modifica -->
<div class="panels_box">
<form action="main.php?page=gestione_bacheche"
method="post"
class="form_gestione">
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['name']); ?>
</div>
<div class='form_field'>
<input name="nome"
value="<?php echo $loaded_record['nome']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['type']['name']); ?>
</div>
<div class='form_field'>
<!-- Elenco dei tipi -->
<select name="tipo">
<option value="<?php echo INGIOCO; ?>"
<?php if ($loaded_record['tipo']==INGIOCO){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][INGIOCO]);?>
</option>
<option value="<?php echo PERTUTTI; ?>"
<?php if ($loaded_record['tipo']==PERTUTTI){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][PERTUTTI]);?>
</option>
<option value="<?php echo SOLORAZZA; ?>"
<?php if ($loaded_record['tipo']==SOLORAZZA){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][SOLORAZZA]); ?>
</option>
<option value="<?php echo SOLOGILDA; ?>"
<?php if ($loaded_record['tipo']==SOLOGILDA){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][SOLOGILDA]); ?>
</option>
<option value="<?php echo SOLOMASTERS; ?>"
<?php if ($loaded_record['tipo']==SOLOMASTERS){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][SOLOMASTERS]); ?>
</option>
<option value="<?php echo SOLOMODERATORS; ?>"
<?php if ($loaded_record['tipo']==SOLOMODERATORS){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][SOLOMODERATORS]); ?>
</option>
<option value="<?php echo SOLONAZIONE; ?>"
<?php if ($loaded_record['tipo']==SOLONAZIONE){echo "selected";} ?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][SOLONAZIONE]); ?>
</option>
</select>
</div>
<div class='form_info'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type']['info']); ?>
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['owner']); ?>
</div>
<div class='form_field'>
<?php /* Carico l'elenco delle mappe inserite */
$razze=gdrcd_query("SELECT id_razza, nome_razza FROM razza", 'result');
$nazione=gdrcd_query("SELECT id_nazione, nome_nazione FROM nazione", 'result');
$gilde=gdrcd_query("SELECT id_gilda, nome FROM gilda", 'result');?>
<!-- Elenco delle mappe -->
<select name="owner">
<!-- Opzione "Nessuna" -->
<option value="-1"><!-- Opzione "Nessuno" -->
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['no_owner']); ?>
</option>
<?php while($option=gdrcd_query($razze, 'fetch')){ ?>
<option value="<?php echo gdrcd_filter('out', $option['id_razza']); ?>"
<?php if(($loaded_record['proprietari']==$option['id_razza']) && ($loaded_record['tipo']==SOLORAZZA)){
echo 'SELECTED';
} ?>>
<?php echo gdrcd_filter('out',$option['nome_razza']); ?>
</option>
<?php }
gdrcd_query($razze, 'free');
?>
<?php while($option=gdrcd_query($nazione, 'fetch')){ ?>
<option value="<?php echo gdrcd_filter('out', $option['id_nazione']); ?>"
<?php if(($loaded_record['proprietari']==$option['id_nazione']) && ($loaded_record['tipo']==SOLONAZIONE)){
echo 'SELECTED';
} ?>>
<?php echo gdrcd_filter('out',$option['nome_nazione']); ?>
</option>
<?php }
gdrcd_query($nazione, 'free');
?>
<?php while($option=gdrcd_query($gilde, 'fetch')){ ?>
<option value="<?php echo gdrcd_filter('out',$option['id_gilda']); ?>"
<?php if(($loaded_record['proprietari']==$option['id_gilda']) && ($loaded_record['tipo']==SOLOGILDA)){
echo 'SELECTED';
} ?>>
<?php echo gdrcd_filter('out',$option['nome']); ?>
</option>
<?php }
gdrcd_query($gilde, 'free');
?>
</select>
</div>
<!-- bottoni -->
<div class='form_submit'>
<?php /* Se l'operazione è una modifica stampo i tasti modifica e annulla */
if ($operation == "edit"){?>
<input type="hidden" name="id_record" value="<?php echo $loaded_record['id_araldo'];?>">
<input type="submit"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['submit']['edit']);?>"
name="op" />
<input type="submit"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['submit']['undo']);?>"
name="cancel" />
<?php } /* Altrimenti il tasto inserisci */
else { ?>
<input type="submit"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['submit']['insert']);?>"
name="op" />
<?php } ?>
</div>
</form>
</div>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=gestione_bacheche"><?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['link']['back']); ?></a>
</div>
<?php }//if ?>
<?php if ((isset($_POST['op'])===FALSE)&&(isset($_REQUEST['op'])===FALSE)) {
/*Elenco record (Visualizzaione di base della pagina)*/
//Determinazione pagina (paginazione)
$pagebegin=(int)$_REQUEST['offset']*$PARAMETERS['settings']['records_per_page'];
$pageend=$PARAMETERS['settings']['records_per_page'];
//Conteggio record totali
/*
$query="SELECT COUNT(*) FROM araldo";
$result_globale=mysql_query($query);
*/
$record_globale=gdrcd_query("SELECT COUNT(*) FROM araldo");
$totaleresults=$record_globale['COUNT(*)'];
//Lettura record
$result=gdrcd_query("SELECT id_araldo, nome, tipo FROM araldo ORDER BY nome LIMIT ".$pagebegin.", ".$pageend."", 'result');
$numresults=gdrcd_query($result, 'num_rows');
/* Se esistono record */
if ($numresults>0){ ?>
<!-- Elenco dei record paginato -->
<div class="elenco_record_gestione">
<table>
<!-- Intestazione tabella -->
<tr>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['name']);?></div></td>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['type']['name']); ?></div></td>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops_col']); ?></div></td>
</tr>
<!-- Record -->
<?php while ($row=gdrcd_query($result, 'fetch')){ ?>
<tr>
<td class="casella_elemento">
<div class="elementi_elenco">
<?php echo gdrcd_filter('out',$row['nome']); ?>
</div>
</td>
<td class="casella_elemento">
<div class="elementi_elenco">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['type'][$row['tipo']]); ?>
</div>
</td>
<!-- Icone dei controlli -->
<td class="casella_controlli">
<!-- Modifica -->
<div class="controlli_elenco">
<div class="controllo_elenco" >
<form action="main.php?page=gestione_bacheche" method="post">
<input type="hidden" name="id_record" value="<?php echo $row['id_araldo']?>" />
<input type="hidden" name="op" value="edit" />
<input type="image"
src="imgs/icons/edit.png"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['edit']); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['edit']); ?>" />
</form>
</div>
<!-- Elimina -->
<div class="controllo_elenco" >
<form action="main.php?page=gestione_bacheche" method="post">
<input type="hidden" name="id_record" value="<?php echo $row['id_araldo']?>" />
<input type="hidden" name="op" value="erase" />
<input type="image"
src="imgs/icons/erase.png"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['erase']); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['ops']['erase']); ?>"/>
</form>
</div>
</div>
</td>
</tr>
<?php } //while
gdrcd_query($result, 'free');
?>
</table>
</div>
<?php }//if ?>
<!-- Paginatore elenco -->
<div class="pager">
<?php if($totaleresults>$PARAMETERS['settings']['records_per_page']){
echo gdrcd_filter('out',$MESSAGE['interface']['pager']['pages_name']);
for($i=0;$i<=floor($totaleresults/$PARAMETERS['settings']['records_per_page']);$i++){
if ($i!=gdrcd_filter('num',$_REQUEST['offset'])){ ?>
<a href="main.php?page=gestione_bacheche&offset=<?php echo $i; ?>">
<?php echo $i+1; ?>
</a>
<?php } else { echo ' '.($i+1).' '; }
} //for
}//if ?>
</div>
<!-- link crea nuovo -->
<div class="link_back">
<a href="main.php?page=gestione_bacheche&op=new">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['forums']['link']['new']); ?>
</a>
</div>
<?php }//else ?>
</div><!-- panels_box -->
<?php }//else (controllo permessi utente) ?>
</div><!-- pagina -->
nella pagina constant_values.inc.php ho sistemato così:
/*Tipi di forum*/
define('INGIOCO',0);
define('PERTUTTI',1);
define('SOLORAZZA',2);
define('SOLOGILDA',3);
define('SOLOMASTERS',4);
define('SOLOMODERATORS', 5);
define('SOLONAZIONE', 6);
che sbaglio? che scordo? vi prego aiutatemi;(
09/05/2013 19:16:22
Il codice pare giusto, faccio una domanda che do per scontata, però nella fretta potrebbe essere sfuggita. Hai impostato $_SESSION['id_nazione']?
09/05/2013 20:49:44
no non dare per scontato nulla con meXDXD non sono un programmatore..dove devo impostarlo?^^
grazie mille dell'aiuto che mi stai dando;)
09/05/2013 20:54:13
solitamente nel file login.php
imposti la query affinchè prenda pure la nazionalità e poi imposti il valore
09/05/2013 22:21:09
chieo scusa per la mia ignoranza ma proprio non riesco a capire dove devo inserire tale parte del codicenella pagina login.php. Poi è possibile che sia questo? perchè in bacheca compare tutto e con il mio pg Superuser riesco ad accedere dentro la bacheca nazione creata. E' con i pg normali che hanno quella nazionalità che non riescono ad entrare, cioè che non compare la manina se passo sopra al nome della bacheca.
comunque questo è il codice della pagina login.php che è nella directori principale, non è che potresti aiutarmi e dirmi come sistemarlo? la nazionalità è inserita utilizzando semplicemente il pacchetto open serce della nazionalità;)
<?php session_start();
require 'config.inc.php';
require 'includes/constant_values.inc.php';
require 'vocabulary/'.$PARAMETERS['languages']['set'].'.vocabulary.php';
require 'includes/functions.inc.php';
/*Connessione al database*/
$handleDBConnection=gdrcd_connect();
/*Leggo i dati del form di login*/
$login1 = gdrcd_filter('get',$_POST['login1']);
if($PARAMETERS['mode']['encriptpassword']=='OFF'){
$pass1 = gdrcd_filter('get',$_POST['pass1']);
} else {
$pass1 = gdrcd_filter('get',gdrcd_encript($_POST['pass1']));
}
/** * Fix per il funzionamento in locale dell'engine
* @author Blancks
*/
switch ($_SERVER['REMOTE_ADDR'])
{
case '::1':
case '127.0.0.1': $host = 'localhost'; break;
default: $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); break;
}
/** * Fine Fix
*/
/*Controllo se la postazione non sia stata esclusa dal sito*/
$result = gdrcd_query("SELECT * FROM blacklist WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND granted = 0", 'result');
if (gdrcd_query($result, 'num_rows') > 0)
{
gdrcd_query($result, 'free');
/*Se la postazione è stata esclusa*/
echo '<div class="error_box"><h2 class="error_major">'.$MESSAGE['warning']['blacklisted'].'</h2></div>';
/*Registro l'evento (Tentativo di connessione da postazione esclusa)*/
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento ,descrizione_evento) VALUES ('".$login1."', 'Login_procedure', NOW(), ".BLOCKED.", '".$_SERVER['REMOTE_ADDR']."')");
exit();
}
/*Rede maiuscola la prima leggera del nome:)*/
/*$login1=strtolower($login1);
$Maiusc=substr($login1,0,1);
$Maiusc=strtoupper($Maiusc);
$login1=$Maiusc.substr($login1,1);
*/
/** * Magari però facciamolo meglio ;-)
* @author Blancks
*/
$login1 = ucwords(strtolower($login1));
/*Carico dal database il profilo dell'account (personaggio)*/
$record = gdrcd_query("SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.ultima_mappa, personaggio.ultimo_luogo, personaggio.id_razza, personaggio.ultimo_messaggio, personaggio.blocca_media, personaggio.ora_entrata, personaggio.ora_uscita, personaggio.ultimo_refresh, razza.sing_m, razza.sing_f, razza.icon AS url_img_razza FROM personaggio LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE nome = '".gdrcd_filter('in',$login1)."' AND pass = '".gdrcd_filter('in',$pass1)."' LIMIT 1");
/*Se esiste un personaggio corrispondente al nome ed alla password specificati*/
/** * Aggiunti i controlli sugli orari di connessione e disconnessione per impedire i doppi login con gli stessi account
* Se si esce non correttamente dal gioco, sarà possibile entrare dopo 5 minuti dall'ultimo refresh registrato
*@author Blancks
*/
if ((empty($record)===FALSE) && ($record['permessi']>-1) && (strtotime($record['ora_entrata']) < strtotime($record['ora_uscita'])||(strtotime($record['ultimo_refresh'])+300) < time()))
{
$_SESSION['login'] = $record['nome'];
$_SESSION['cognome'] = $record['cognome'];
$_SESSION['permessi'] = $record['permessi'];
$_SESSION['sesso'] = $record['sesso'];
/** * Controllo sul bloccaggio dei suoni per l'utente
* @author Blancks
*/
$_SESSION['blocca_media'] = $record['blocca_media'];
/** * Archiviazione dato utile per capire quanti nuovi topic in bacheca ci sono rispetto all'ultima visita
* @author Blancks
*/
$_SESSION['ultima_uscita'] = $record['ora_uscita'];
if ($record['sesso']=='f'){ $_SESSION['razza'] = $record['sing_f']; }
else { $_SESSION['razza'] = $record['sing_m']; }
$_SESSION['img_razza'] = $record['url_img_razza'];
$_SESSION['id_razza'] = $record['id_razza'];
$_SESSION['posizione'] = $record['posizione'];
if (empty($record['ultima_mappa'])===TRUE){$_SESSION['mappa']=1;}
else {$_SESSION['mappa'] = $record['ultima_mappa'];}
if (empty($record['ultimo_luogo'])===TRUE){$_SESSION['luogo']=-1;}
else {$_SESSION['luogo'] = $record['ultimo_luogo'];}
$_SESSION['Tag'] = "";
$_SESSION['last_message'] = 0;
$_SESSION['last_istant_message'] = $record['ultimo_messaggio'];
$res = gdrcd_query("SELECT ruolo.gilda, ruolo.immagine FROM ruolo JOIN clgpersonaggioruolo ON clgpersonaggioruolo.id_ruolo = ruolo.id_ruolo WHERE clgpersonaggioruolo.personaggio = '".$record['nome']."'", 'result');
while($row = gdrcd_query($res, 'fetch'))
{
$_SESSION['gilda'] .= ',*'.$row['gilda'].'*';
$_SESSION['img_gilda'] .= $row['immagine'].',';
}
gdrcd_query($res, 'free');
/* Carico l'ultimo ip con cui si è collegato il personaggio */
$lastlogindata = gdrcd_query("SELECT nome_interessato, autore FROM log WHERE nome_interessato = '".$_SESSION['login']."' AND codice_evento=".LOGGEDIN." ORDER BY data_evento DESC LIMIT 1");
/*Se la postazione ha già un cookie attivo per un personaggio differente registro l'evento (Possibile account multiplo)*/
if ((isset($_COOKIE['lastlogin'])===TRUE) && ($_COOKIE['lastlogin'] != $_SESSION['login']))
{
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".$_SESSION['login']."','doppio (cookie)', NOW(), ".ACCOUNTMULTIPLO.", '".$_COOKIE['lastlogin'] ."')");
}elseif ($lastlogindata['autore'] == $_SERVER['REMOTE_ADDR'])
{
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".$_SESSION['login']."','doppio (ip)', NOW(), ".ACCOUNTMULTIPLO.", '".$lastlogindata['nome_interessato'] ."')");
}
/*Registro l'evento (Avvenuto login)*/
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".$_SESSION['login']."','".$_SERVER['REMOTE_ADDR']."', NOW(), ".LOGGEDIN." ,'".$_SERVER['REMOTE_ADDR']."')");
} elseif (strtotime($record['ora_entrata']) > strtotime($record['ora_uscita'])||(strtotime($record['ultimo_refresh'])+300) > time())
{
/*Se la postazione è stata esclusa*/
echo '<div class="error_box"><h2 class="error_major">'.$MESSAGE['warning']['double_connection'].'</h2></div>';
/*Registro l'evento (Tentativo di connessione da postazione esclusa)*/
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento ,descrizione_evento) VALUES ('".$login1."', 'Login_procedure', NOW(), ".BLOCKED.", '".$_SERVER['REMOTE_ADDR']."')");
exit();
}else {
/*Sono stati inseriti username e password errati*/
$_SESSION['login'] = '';
if (($login1 != '') && ($pass1 != ''))
{
/*Registro l'evento (Login errato)*/
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".$_SESSION['login']."','".$host."', NOW(), ".ERRORELOGIN." ,'".$_SERVER['REMOTE_ADDR']."')");
$record = gdrcd_query("SELECT count(*) FROM log WHERE descrizione_evento = '".$_SERVER['REMOTE_ADDR']."' AND codice_evento = ".ERRORELOGIN." AND DATE_ADD(data_evento, INTERVAL 60 MINUTE) > NOW()");
/*Se ho tentato 10 login fallendo nel giro di un ora*/
$iErrorsNumber = $record['count(*)'];
if ($iErrorsNumber>=10)
{
gdrcd_query("INSERT INTO blacklist (ip, nota, ora, host) VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$login1." (tenta password)', NOW(), '".$Host."')");
}
}
}
/*Eseguo l'accesso*/
if ($_SESSION['login'] != '') {
if (gdrcd_controllo_esilio($_SESSION['login'])===TRUE){
session_destroy();
echo '<a href="index.php">'.$PARAMETERS['info']['homepage_name'].'</a>';
exit();
} else {
/*Creo un cookie*/
setcookie('lastlogin',$_SESSION['login'],0,'','',0);
if ($PARAMETERS['mode']['log_back_location']=='OFF')
{
$_SESSION['luogo']='-1';
/*Inserisco nei presenti*/
gdrcd_query("UPDATE personaggio SET ora_entrata = NOW(), ultimo_luogo='-1', ultimo_refresh = NOW(), last_ip = '".$_SERVER['REMOTE_ADDR']."', is_invisible = 0 WHERE nome = '".$_SESSION['login']."'");
/*Redirigo alla pagina del gioco*/
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}else
{
/*Inserisco nei presenti*/
gdrcd_query("UPDATE personaggio SET ora_entrata = NOW(), ultimo_refresh = NOW(), last_ip = '".$_SERVER['REMOTE_ADDR']."', is_invisible = 0 WHERE nome = '".$_SESSION['login']."'");
/*Redirigo alla pagina del gioco*/
header('Location: main.php?dir='.$_SESSION['luogo'], true);
}
}//else
} else { /*Dichiaro il fallimento dell'operazione di login*/
?>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<link rel='stylesheet' href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main.css' TYPE='text/css'>
<link rel='stylesheet' href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/homepage.css' TYPE='text/css'>
<link rel='shortcut icon' href='favicon.ico' />
</head>
<body>
<div class="error_box">
<h2 class="error_major"><?php echo $MESSAGE['error']['unknown_username'];?></h2>
<span class="error_details"><?php echo $MESSAGE['error']['unknown_username_details']; ?></span>
<span class="error_details"><?php echo $MESSAGE['error']['unknown_username_failure_count']; ?></span>
<span class="error_details"><?php echo $iErrorsNumber; ?></span>
<span class="error_details"><?php echo $MESSAGE['error']['unknown_username_warning']; ?></span>
<span class="error_details"><?php echo $MESSAGE['warning']['mailto'];?></span>
<a href="mailto:<?php echo $PARAMETERS['menu']['webmaster_email']?>">
<?php echo $PARAMETERS['menu']['webmaster_email']?>
</a>.
</div>
<?php session_destroy(); } ?>
</body></html>
<?php gdrcd_close_connection($handleDBConnection);?>
grazie mille di tutto!^^
per la mia land dal punto di vista di codici mi manca solo questa cosa.
Se mi aiuti a risolvera te ne sarò gratissimo per sempre!*,*
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!
World of Tanks ↗
State of Survival ↗
New Orleans ↗
CRSED: F.O.A.D. ↗
The Coven ↗
Wuthering Waves ↗
Seconda Era ↗
World of the Sea Battle ↗
Sea of Conquest ↗