Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-06-2004, 22:03   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
Un aiutino a capire questo semplice blocco di MdPro...(anche PhpNuke e simili...)

Ciao,
il problema è questo:
(su www.italianmetal.net) ho un modulo chiamato ProdReview per gestire le recensioni di album e demo.
Ho modificato il blocco in modo tale da visualizzare solamente le recensioni dei demo e poi ne ho fatto un altro dandogli un nome diverso per visualizzare solamente le recensioni degli album (lo fa guardando il campo del db dove dice a che categoria fa parte la recensione...)
Il primo blocco non mi dà nessun problema...quando ho messo il secondo invece ho un problema. Praticamente quando vado in amministrazione, impostazioni, blocchi e faccio aggiungi nuovo blocco mi compare questo messaggio di errore:

Fatal error: Cannot redeclare prodreviews_top10block_init() (previously declared in /web/htdocs/www.siatec.net/home/italianmetal/modules/ProdReviews/pnblocks/top10Album.php:40) in /web/htdocs/www.siatec.net/home/italianmetal/modules/ProdReviews/pnblocks/top10.php on line 37

Ho rinominato la variabile $GLOBALS['ModName'] = "ProdReviewsAlbum";
prima si chiamava semplicemente ProdReviews ma non funziona cmq...

Cosa devo fare?

Grazie
Andrea

Temo che dipenda da una variabile ma non riesco a risolvere il problema

Il codice originale del blocco in questione è il seguente:

<?php
// $Id: top10.php,v 1.4 2003/04/27 19:47:52 sybalsky Exp $
// ----------------------------------------------------------------------
// POST-NUKE Content Management System
// Copyright (C) 2001 by the Post-Nuke Development Team.
// http://www.postnuke.com/
// ----------------------------------------------------------------------
// Based on:
// PHP-NUKE Web Portal System - http://phpnuke.org/
// Thatware - http://thatware.org/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------
// Original Author of file: Jim McDonald
// Purpose of file: Show top10 items in prodreviews
// ----------------------------------------------------------------------

$GLOBALS['ModName'] = "ProdReviews";
include_once( 'modules/ProdReviews/pr-util.php');


/**
* initialise block
*/
function prodreviews_top10block_init()
{
// Security
pnSecAddSchema('ProdReviews:Top10block:', 'Block title::');
}

/**
* get information on block
*/
function prodreviews_top10block_info()
{
// Values
return array('text_type' => 'Top-10',
'module' => 'ProdReviews',
'text_type_long' => 'Show top-10 reviews',
'allow_multiple' => true,
'form_content' => false,
'form_refresh' => false,
'show_preview' => true);
}

/**
* display block
*/
function prodreviews_top10block_display($blockinfo)
{

// Security check
if (!pnSecAuthAction(0,
'ProdReviews:Top10block:',
"$blockinfo[title]::",
ACCESS_READ)) {
return;
}

// Get variables from content block
$vars = pnBlockVarsFromContent($blockinfo['content']);

// Defaults
if (empty($vars['numitems'])) {
$vars['numitems'] = 10;
}

// $header = $blockinfo['title'];

if ( empty($vars['source']) )
{
$vars['source'] = 'recent';
}


// Database information
pnModDBInfoLoad('ProdReviews');
list($dbconn) = pnDBGetConn();
$pntable =pnDBGetTables();
$prodreviewstable = $pntable['prodreviews'];
$prodreviewscolumn = &$pntable['prodreviews_column'];

// Query

switch ($vars['source'])
{
case 'recent':
$sql = "SELECT $prodreviewscolumn[id],
$prodreviewscolumn[title], $prodreviewscolumn[score], $prodreviewscolumn[date], $prodreviewscolumn[cover]
FROM $prodreviewstable
WHERE pn_category='0'
ORDER by $prodreviewscolumn[date] desc";
break;

case 'most-read':
$sql = "SELECT $prodreviewscolumn[id],
$prodreviewscolumn[title], $prodreviewscolumn[score], $prodreviewscolumn[date], $prodreviewscolumn[cover]
FROM $prodreviewstable
WHERE pn_category='0'
ORDER by $prodreviewscolumn[hits] desc";

break;

case 'helpful':
$sql = "SELECT $prodreviewscolumn[id],
$prodreviewscolumn[title], $prodreviewscolumn[score], $prodreviewscolumn[date], $prodreviewscolumn[cover]
ifnull($prodreviewscolumn[useful]/$prodreviewscolumn[scorers], -1) as xx
FROM $prodreviewstable
WHERE pn_category='0'
ORDER by xx desc";
break;

case 'best-rated':
$sql = "SELECT $prodreviewscolumn[id],
$prodreviewscolumn[title], $prodreviewscolumn[score], $prodreviewscolumn[date], $prodreviewscolumn[cover]
FROM $prodreviewstable
WHERE pn_category='0'
ORDER by $prodreviewscolumn[score] desc";

break;

case 'recent-comment':
$prcomtable = $pntable['prodreviews_comments'];
$prcomcols = &$pntable['prodreviews_comments_column'];
$sql = "SELECT DISTINCT $prodreviewscolumn[id],
$prodreviewscolumn[title], $prodreviewscolumn[score], $prodreviewscolumn[date], $prodreviewscolumn[cover]
FROM $prodreviewstable LEFT JOIN $prcomtable
WHERE pn_category='0'
ON $prodreviewscolumn[id]=$prcomcols[rid]
ORDER by $prcomcols[date] desc";

break;

}

$result = $dbconn->SelectLimit($sql, $vars['numitems']);


if ($dbconn->ErrorNo() != 0) {

error_log("Error selecting top-10 items: " . $dbconn->ErrorMsg());

return;
}

if ($result->EOF) {
// No items to show, so don't show the block.
return;
}

// Create output object
$output = new pnHTML();
$output->SetInputMode(_PNH_VERBATIMINPUT);
$output->SetInputMode(_PNH_PARSEINPUT);
// Display each item, permissions permitting
for (; !$result->EOF; $result->MoveNext()) {
list($tid, $name, $score, $date, $cover) = $result->fields;
$output->SetInputMode(_PNH_VERBATIMINPUT);
$output->Text("<div class=\"table\"><center>");
$output->SetInputMode(_PNH_PARSEINPUT);
if (pnSecAuthAction(0,
'ProdReviews::',
"$name::$tid",
ACCESS_OVERVIEW)) {
if (pnSecAuthAction(0,
'ProdReviews::',
"$name::$tid",
ACCESS_READ)) {
$output->URL(pnModURL('ProdReviews',
'user',
'showcontent',
array('id' => $tid)),
$name);
} else {
$output->Text($name);
}
$output->SetInputMode(_PNH_VERBATIMINPUT);
switch ( $vars['additional'] )
{
case 'score': $output->Text("<br><br><img src=modules/ProdReviews/images/".$cover." alt=\"cover\" width=\"100\" height=\"100\" /><br><br>".display_score($score)."<hr noshade /></center></div>");
break;
case 'date': $output->Text("&nbsp;<span class=\"pn-sub\">(".date(_TOP10ADDFMT, strtotime($date)).")</span>");
break;
default: break;
}
$output->SetInputMode(_PNH_PARSEINPUT);
$output->Linebreak();
}

}

$date = date("Y-m-d H:i:s", time());

// Populate block info and pass to theme
$blockinfo['content'] = $output->GetOutput();
return themesideblock($blockinfo);
}


/**
* modify block settings
*/
function prodreviews_top10block_modify($blockinfo)
{
// Create output object
$output = new pnHTML();

// Get current content
$vars = pnBlockVarsFromContent($blockinfo['content']);

// Defaults
if (empty($vars['numitems'])) {
$vars['numitems'] = 10;
}

if (empty( $vars['source'] ) )
{
$vars['source'] = 'recent'; // default source is most-recent reviews.
}

if (empty( $vars['additional'] ) )
{
$vars['additional'] = 'None'; // default is to show only title.
}


// Create row
$row = array(); // Top how-many items
$row2 = array(); // Top what-kind-of items
$row3 = array(); // Additional field(s??) to show

$output->SetOutputMode(_PNH_RETURNOUTPUT);
$row[] = $output->Text(_NUMITEMS);
$row[] = $output->FormText('numitems',
pnVarPrepForDisplay($vars['numitems']),
5,
5);

$row2[] = $output->Text(_TOP10SELECTHOW);
$row2[] = $output->FormSelectMultiple('source',
array(array('id'=>'recent', 'name'=>_TOP10SELRECENT),
array('id'=> 'most-read', 'name'=>_TOP10SELHITS),
array('id'=>'helpful', 'name'=>_TOP10SELHELP),
array('id'=>'best-rated', 'name'=> _TOP10SELRATED),
array('id'=>'recent-comment', 'name'=> _TOP10SELCOMM)),
0, 0, $vars['source'] );


$row3[] = $output->Text(_TOP10ADDITIONALFIELDS);
$row3[] = $output->FormSelectMultiple('additional',
array(array('id'=>'None', 'name'=>_TOP10ADDNONE),
array('id'=> 'score', 'name'=>_TOP10ADDSCORE),
array('id'=>'date', 'name'=>_TOP10ADDDATE)),
0, 0, $vars['additional'] );


$output->SetOutputMode(_PNH_KEEPOUTPUT);

// Add row
$output->SetInputMode(_PNH_VERBATIMINPUT);
$output->TableAddRow($row, 'left');
$output->TableAddRow($row2, 'left');
$output->TableAddRow($row3, 'left');

$output->SetInputMode(_PNH_PARSEINPUT);

// Return output
return $output->GetOutput();
}

/**
* update block settings
*/
function prodreviews_top10block_update($blockinfo)
{
$vars['numitems'] = pnVarCleanFromInput('numitems');
$vars['source'] = pnVarCleanFromInput('source');
$vars['additional'] = pnVarCleanFromInput('additional');


$blockinfo['content'] = pnBlockVarsToContent($vars);

return $blockinfo;
}

?>
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v