Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
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


Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Da 649€ a 729€: ecco 3 PC portatili tutt...
All'asta da Sotheby's la giacca di pelle...
iPhone Photography Awards 2026: ecco i v...
Un americano su due (soprattutto genitor...
Samsung Crystal 4K in super offerta: i T...
Claude Fable 5 è tornato, ma semb...
Un chip NVIDIA Blackwell alimentato da u...
Aion: così Microsoft immaginava un Windo...
Perché chi produce energia rinnov...
Anthropic valuta un chip AI proprietario...
Anche T-Mobile abbandona VMware e migra ...
In Italia crescono gli investimenti nell...
Samsung combina IA e quantum computing p...
Anthropic ammette: Claude Code usa un ap...
L'IA costa sempre di più: AWS aum...
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: 08:42.


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