[GDRCD 5.1] Permessi forum bacheca
[GDRCD 5.1] Permessi forum bacheca postato il 29/03/2017 10:22:16 nel forum programmazione, open source e hosting e modificato da gdr-online.com il 31/03/2017 12:25:05
Scusate se sono ancora qui a chiedervi aiuto ma nel forum o bacheca vorrei che le bacheche e i vari titoli fossero letti solo da chi ha il permesso e che gli altri non lo leggano .
Invece ora succede che tutti leggono i titoli ma che possano entrare solo dove gli è permesso.
La mia domanda è si può nascomdere le bacheche ai non autorizzati e se si come dovrei fare .
Grazie mille in anticipo
Massimiliano
29/03/2017 10:24:15
Max ti prego di fare attenzione in quale forum apri le discussioni. E' la terza volta ceh la sposto in quella giusta. Grazie
29/03/2017 11:01:12
Scusami pensavo che questa fosse quella giusta chiedo scusa
29/03/2017 11:17:48 e modificato da rematore il 29/03/2017 11:21:15
Ciao,
devi andare a lavorare in questa porzione di codice (riga 652 circa, file forum.inc.php)
<td class="casella_elemento"><div class="elementi_elenco">
<?php
if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$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']==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>
Più precisamente devi riscrivere la condizione specificando che se non si ha il permesso corretto allora non si stampa proprio il nome della bacheca. Per farlo dovrai portare dentro al blocco della condizione i tag html <td> e <div class="elementi_elenco">
Il mio consiglio è quello di riscrivere la condizione in un'unica ed evitare di spezzare il codice tra php e html usando direttamente la funzione di stampa del php
quindi, per intenderci, dovrai raggiungere un risultato del genere
if(condizione){
<td class="casella_elemento">
<div class="elementi_elenco">
<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']); ?>">
</div>
</td>
}
29/03/2017 11:22:59
potresti essere più preciso non ho ben capito che cosa devo fare
29/03/2017 11:59:00
Ho scritto una veloce soluzione, prova e vedi se ti può andar bene. Riflettendo un po' nella mia precedente risposta non ho considerato la stampa del nome della categorie riservata. In questo codice invece viene considerata.
fai un backup del tuo file originale
Apri il file forum.inc.php cerca esattamente queste due parti nel tuo codice quindi cancella tutto quello che trovi nel mezzo di questi due blocchi e sostituiscilo con quanto ti incollo sotto
<?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;?>
<?php //Pulsante segna tutto come letto ?>
<div class="panels_box">
<div class="form_gioco">
<form action="main.php?page=forum"
method="post">
<div class="form_submit">
<input type="hidden"
name="action"
value="readall" />
<input type="submit"
name="dummy"
value="Segna tutto come letto" />
</div>
</form>
--
<!-- Elenco forum -->
<div class="elenco_esteso">
<div class="elenco_record_gioco">
<table>
<?php while($row = gdrcd_query($result, 'fetch'))
if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$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*/
{
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(MA.id_messaggio) AS num FROM messaggioaraldo AS MA LEFT JOIN araldo_letto AS AL ON MA.id_messaggio=AL.thread_id AND AL.nome='".$_SESSION['login']."' WHERE MA.id_araldo = ".$row['id_araldo']." AND MA.id_messaggio_padre = -1 AND AL.id IS NULL");
?>
<tr><!-- Forum della categoria -->
<td class="forum_main_post_author">
<div class="forum_date_big">
<?php
if($new_msg['num']>0)
{
if ($new_msg['num'] == 1)
{
echo '1 ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum'];
}
else
{
echo $new_msg['num']. ' ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum'];
}
}
?>
</div>
</td>
<td class="casella_elemento">
<div class="elementi_elenco">
<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 echo gdrcd_filter('out',$row['nome']); ?>
</a>
<?php }//if ?>
</div>
</td>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
Il codice non l'ho testato
29/03/2017 18:32:35 e modificato da max75 il 29/03/2017 18:33:02
Non trovo la parte del codice sotto per andare a cancellare ed andare ad inserire il codice che mi hai dato tu
29/03/2017 18:43:06
Mi da un errore al sintax alla riga 383
30/03/2017 09:07:24
incolla qui il contenuto del tuo file forum
30/03/2017 11:35:47 e modificato da gdr-online.com il 30/03/2017 14:42:40
<?php /*HELP: */ ?>
<div class="pagina_forum">
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$PARAMETERS['names']['forum']['plur']); ?> Pentagramma</h2>
</div>
<!-- Box principale -->
<div class="page_body">
<?php /*Inserimento messaggio o topic*/
if($_POST['op']=='insert')
{
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')
{
$time=strftime('%d').'/'.strftime('%m').'/'.strftime('%Y').' '.strftime('%H:%M');
gdrcd_query("UPDATE messaggioaraldo SET messaggio = '".gdrcd_filter('in',$_POST['messaggio']).'\n\n\n\nEdit ('.$_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 } ?>
<?php /*Form modifica*/
if($_REQUEST['op']=='modifica')
{
$row = gdrcd_query("SELECT titolo, messaggio, id_messaggio_padre FROM messaggioaraldo WHERE id_messaggio=".gdrcd_filter('num',$_REQUEST['what'])."");
?>
<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 } ?>
<?php /*Cancellatura messaggio o topic*/
if($_REQUEST['op']=='delete'){
if((gdrcd_filter('num',$_REQUEST['padre'])==-1)&&($_SESSION['permessi']>=MODERATOR)){/*Cancello un topic da admin*/
$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*/
$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']);
$quote=gdrcd_filter('num',$_REQUEST['quote']);
?>
<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" />
<?php
if($quote){
$query="SELECT messaggio, autore FROM messaggioaraldo WHERE id_messaggio=".$quote;
$result=gdrcd_query($query);
echo gdrcd_filter('out',"[quote=".$result['autore']."]".$result['messaggio']."[/quote]");
}
?>
</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');
$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']==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>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=composer&what=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>"e=<?php echo $row['id_messaggio'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['quote']); ?>]</a>
<?php if(($_SESSION['login']==$row['autore'] && $chiuso == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<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>
<?php } ?>
</div>
</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>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=composer&what=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>"e=<?php echo $row['id_messaggio'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['quote']); ?>]</a>
<?php if(($_SESSION['login']==$row['autore'] && $row['chiuso'] == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<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>
<?php } ?>
</div>
</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_gioco">
<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_messaggio) AS num FROM messaggioaraldo WHERE id_araldo = ".$row['id_araldo']." AND data_messaggio > '". $_SESSION['ultima_uscita'] ."'");
?>
<tr><!-- Forum della categoria -->
<td class="forum_main_post_author">
<div class="forum_date_big">
<?php
if($new_msg['num'] > 0)
{
if ($new_msg['num'] == 1)
echo $new_msg['num'] . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['sing'];
else
echo $new_msg['num'] . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['plur'];
}
?>
</div>
</td>
<td class="casella_elemento"><div class="elementi_elenco">
<?php if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$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']==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>
</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']==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_gioco">
<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 COUNT(id_messaggio) AS num FROM messaggioaraldo WHERE (id_messaggio = ".$row['id_messaggio']." OR id_messaggio_padre = ".$row['id_messaggio'].") AND data_messaggio > '". $_SESSION['ultima_uscita'] ."'");
?>
<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['num'] > 0)
{
echo '(';
if ($new_msg['num'] == 1)
echo $new_msg['num'] . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['sing'];
else
echo $new_msg['num'] . ' ' . $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 -->
30/03/2017 22:42:02
Ecco a te
<?php /*HELP: */ ?>
<div class="pagina_forum">
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$PARAMETERS['names']['forum']['plur']); ?> Pentagramma</h2>
</div>
<!-- Box principale -->
<div class="page_body">
<?php /*Inserimento messaggio o topic*/
if($_POST['op']=='insert')
{
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')
{
$time=strftime('%d').'/'.strftime('%m').'/'.strftime('%Y').' '.strftime('%H:%M');
gdrcd_query("UPDATE messaggioaraldo SET messaggio = '".gdrcd_filter('in',$_POST['messaggio']).'\n\n\n\nEdit ('.$_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 } ?>
<?php /*Form modifica*/
if($_REQUEST['op']=='modifica')
{
$row = gdrcd_query("SELECT titolo, messaggio, id_messaggio_padre FROM messaggioaraldo WHERE id_messaggio=".gdrcd_filter('num',$_REQUEST['what'])."");
?>
<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 } ?>
<?php /*Cancellatura messaggio o topic*/
if($_REQUEST['op']=='delete'){
if((gdrcd_filter('num',$_REQUEST['padre'])==-1)&&($_SESSION['permessi']>=MODERATOR)){/*Cancello un topic da admin*/
$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*/
$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']);
$quote=gdrcd_filter('num',$_REQUEST['quote']);
?>
<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" />
<?php
if($quote){
$query="SELECT messaggio, autore FROM messaggioaraldo WHERE id_messaggio=".$quote;
$result=gdrcd_query($query);
echo gdrcd_filter('out',"[quote=".$result['autore']."]".$result['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');
$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']==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>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=composer&what=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>"e=<?php echo $row['id_messaggio'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['quote']); ?>]</a>
<?php if(($_SESSION['login']==$row['autore'] && $chiuso == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<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>
<?php } ?>
</div>
</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>
<div class="forum_post_modify">
<a href="main.php?page=forum&op=composer&what=<?php echo gdrcd_filter('num',$_REQUEST['what']); ?>&where=<?php echo gdrcd_filter('num',$_REQUEST['where']); ?>"e=<?php echo $row['id_messaggio'];?>">[<?php echo gdrcd_filter('out',$MESSAGE['interface']['forums']['link']['quote']); ?>]</a>
<?php if(($_SESSION['login']==$row['autore'] && $row['chiuso'] == 0) || ($_SESSION['permessi']>=MODERATOR)){ ?>
<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>
<?php } ?>
</div>
</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_gioco">
<table>
<?php while($row = gdrcd_query($result, 'fetch'))
if (($row['tipo']<=PERTUTTI)||
(($row['tipo']==SOLORAZZA)&&($_SESSION['id_razza']==$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*/
{
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(MA.id_messaggio) AS num FROM messaggioaraldo AS MA LEFT JOIN araldo_letto AS AL ON MA.id_messaggio=AL.thread_id AND AL.nome='".$_SESSION['login']."' WHERE MA.id_araldo = ".$row['id_araldo']." AND MA.id_messaggio_padre = -1 AND AL.id IS NULL");
?>
<tr><!-- Forum della categoria -->
<td class="forum_main_post_author">
<div class="forum_date_big">
<?php
if($new_msg['num']>0)
{
if ($new_msg['num'] == 1)
{
echo '1 ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum'];
}
else
{
echo $new_msg['num']. ' ' . $MESSAGE['interface']['forums']['topic']['new_posts_forum'];
}
}
?>
</div>
</td>
<td class="casella_elemento">
<div class="elementi_elenco">
<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 echo gdrcd_filter('out',$row['nome']); ?>
</a>
<?php }//if ?>
</div>
</td>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
</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']==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_gioco">
<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 COUNT(id_messaggio) AS num FROM messaggioaraldo WHERE (id_messaggio = ".$row['id_messaggio']." OR id_messaggio_padre = ".$row['id_messaggio'].") AND data_messaggio > '". $_SESSION['ultima_uscita'] ."'");
?>
<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['num'] > 0)
{
echo '(';
if ($new_msg['num'] == 1)
echo $new_msg['num'] . ' ' . $MESSAGE['interface']['forums']['topic']['new_posts']['sing'];
else
echo $new_msg['num'] . ' ' . $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 -->
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Feudera ↗
Imperion ↗
New Orleans ↗
Neverness to Everness ↗
War Thunder ↗
The Coven ↗
Sea of Conquest ↗
World of Warship ↗
Project Entropy ↗
Raja Dunia ↗