|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
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(" <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; } ?> |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:42.



















