Pagina 1 di 1
 
 

Messaggio File Di Blocco

#1  sreverbe Martedì, 10 Maggio 2011, 23:47

salve a tutti,
dai blocchi esistenti di IP sto cercando di realizzarne uno personalizzato. Il mio obbiettivo è quello di realizzare una progressbar che si incrementa col aumentare dei topics di una certa sezione del forum, quindi mi è stato consigliato di creare un file php con relativi tpl e cfg.

di seguito posto quello che ho fatto:

php:
Codice: [Download] [Nascondi]
  1. <?php 
  2. /** 
  3. * @package Icy Phoenix 
  4. * @version $Id: blocks_imp_sh_visit_counter.php 61 2008-10-30 09:25:26Z Mighty Gorgon $ 
  5. * @copyright (c) 2008 Icy Phoenix 
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License 
  7. */ 
  8.  
  9. /** 
  10. * @Extra credits for this file 
  11. * masterdavid - Ronald John David 
  12. */ 
  13.  
  14. define('IN_ICYPHOENIX', true); 
  15. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './'); 
  16. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1)); 
  17. include(IP_ROOT_PATH . 'common.' . PHP_EXT); 
  18. include_once(IP_ROOT_PATH . 'includes/functions_groups.' . PHP_EXT); 
  19.  
  20. if(!function_exists('donation_mod_func')) 
  21.     function donation_mod_func() 
  22.     { 
  23.         global $db, $template, $lang, $block_id, $board_config; 
  24.         $sql = "SELECT topic_replies FROM ip_topics where topic_id = '235'"; 
  25.         if (!($result = $db->sql_query($sql))) 
  26.         { 
  27.             message_die(GENERAL_ERROR, "Couldn't retrieve site history", "", __LINE__, __FILE__, $sql); 
  28.         } 
  29.         $row = $db->sql_fetchrow($result); 
  30.         $numdon = $row['topic_replies']; 
  31.         //echo $numdon; 
  32.         'DONATION_MOD' => sprintf($numdon['topic_replies']) 
  33.     } 
  34.  
  35. donation_mod_func(); 
  36.  
  37. ?> 


se il file è inserito in una subdir della root ottengo questo errore:
Citazione:
Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\xampp\htdocs\iproot\blocks\blocks_imp_donation.php on line 42.

Se invece sposto il file nella root principale ottengo senza errori il valore della query.

Qualcuno riesce a dirmi dove sbaglio ?

Poi volevo chiedere anche un altra cosa relativamente alla parte sul file cfg:

Codice: [Download] [Nascondi]
  1. <?php 
  2. /** 
  3. * @package Icy Phoenix 
  4. * @version $Id: blocks_imp_news.cfg 49 2008-09-14 20:36:03Z Mighty Gorgon $ 
  5. * @copyright (c) 2008 Icy Phoenix 
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License 
  7. */ 
  8.  
  9. /** 
  10. * @Extra credits for this file 
  11. * masterdavid - Ronald John David 
  12. */ 
  13.  
  14. if (!defined('IN_ICYPHOENIX')) 
  15.     die('Hacking attempt'); 
  16.  
  17. // array(<Field label>, <Field Info>, <Config Name>, <Options>, <Field Values>, <Control Type>, <Block>, <Default Value>); 
  18.  
  19. $block_variables = array( 
  20.     //array('Category to retrieve news from', 'Enter 0 for all categories or comma delimited entries', 'md_news_cat_id', '', '', '1', 'news', '0'), 
  21.     array('', '', '', '', 'topic_replies', '', 'topic_replies', ''), 
  22. ); 
  23.  
  24. $block_count_variables = count($block_variables); 
  25.  
  26. ?> 


è corretto il file di configurazione ?
perchè quando dal cms seleziono il blocco dalla combo e lo rendo visibile, ricevo sempre l'errore soprariportato.

Grazie in anticipo a tutti coloro che mi vorranno dare una mano.
 




Versione di IP: 1.3.0.54

Server: Windows
 
avatar
blank.gif sreverbe Sesso: Uomo
Visitatore
Visitatore
 
Età: 40
Registrato: Giugno 2009
Residenza: Reggio Emilia
Messaggi: 81
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#2  raphael10 Giovedì, 12 Maggio 2011, 06:05

L'errore che ti esce è un errore di sintassi nella creazione di un array. Credo che la riga incriminata sia

'DONATION_MOD' => sprintf($numdon['topic_replies'])


forse perchè non è un array??

la butto lì, magari è una grande cavolata. Cercando online e dentro il codice di IP ogni volta che viene usata la funzione sprintf vedo sempre che ci sono più elementi separati da virgola.
 




Versione di IP: 1.3.0.53a

Server: Linux

____________
"Non c'è una via per la Pace, la Pace è la Via!"
 
avatar
italia.png raphael10 Sesso: Uomo
VIP
VIP
...uno shamano tra noi...
 
Età: 40
Registrato: Maggio 2007
Residenza: Lucca
Messaggi: 991
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#3  fucile Giovedì, 12 Maggio 2011, 06:45

raphael10 ha scritto: [Visualizza Messaggio]
L'errore che ti esce è un errore di sintassi nella creazione di un array. Credo che la riga incriminata sia

'DONATION_MOD' => sprintf($numdon['topic_replies'])


forse perchè non è un array??

la butto lì, magari è una grande cavolata. Cercando online e dentro il codice di IP ogni volta che viene usata la funzione sprintf vedo sempre che ci sono più elementi separati da virgola.


Se la riga è stata copiata così come è allora manca il puntoevirgola alla fine.
 




Versione di IP: Versione 2.0 beta1

Server: Linux

____________
Nun c'è peggior sordo de chi nun vò sentì
 
avatar
italia.png fucile Sesso: Uomo
Staff
Staff
Attenzione! Sono carico!
 
Età: 47
Registrato: Maggio 2007
Residenza: Roma
Messaggi: 1443
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#4  sreverbe Lunedì, 16 Maggio 2011, 01:10

ringrazio fucile e raphael per i consigli,
ho provato ad inserire un array ed il punto e virgola ma ora ottengo questo errore:

Codice: [Download] [Nascondi]
  1. <?php 
  2. /** 
  3. * @package Icy Phoenix 
  4. * @version $Id: blocks_imp_sh_visit_counter.php 61 2008-10-30 09:25:26Z Mighty Gorgon $ 
  5. * @copyright (c) 2008 Icy Phoenix 
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License 
  7. */ 
  8.  
  9. /** 
  10. * @Extra credits for this file 
  11. * masterdavid - Ronald John David 
  12. */ 
  13.  
  14. /*if (!defined('IN_ICYPHOENIX')) 
  15.     die('Hacking attempt'); 
  16. }*/ 
  17.  
  18. define('IN_ICYPHOENIX', true); 
  19. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './'); 
  20. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1)); 
  21. include(IP_ROOT_PATH . 'common.' . PHP_EXT); 
  22. include_once(IP_ROOT_PATH . 'includes/functions_groups.' . PHP_EXT); 
  23.  
  24. if(!function_exists('donation_mod_func')) 
  25.     function donation_mod_func() 
  26.     { 
  27.         global $db, $sql, $template, $numdon; 
  28.         $sql = "SELECT topic_replies FROM ip_topics where topic_id = '235'"; 
  29.         if (!($result = $db->sql_query($sql))) 
  30.         { 
  31.             message_die(GENERAL_ERROR, "Couldn't retrieve site history", "", __LINE__, __FILE__, $sql); 
  32.         } 
  33.         $row = $db->sql_fetchrow($result); 
  34.         $numdon = $row['topic_replies']; 
  35.         //echo $numdon; 
  36.         //$numdon = $lang['topic_replies']; 
  37.         $template->assign_vars(array( 
  38.             'DONATE_MOD' => sprintf($numdon['topic_replies']) 
  39.             ) 
  40.         ); 
  41.     } 
  42.  
  43. donation_mod_func(); 
  44.  
  45. ?> 


Citazione:
Fatal error: Call to a member function assign_vars() on a non-object in C:\xampp\htdocs\iproot\blocks_imp_donation.php on line 43


posso chiedere qualche altro aiutino ?  
 




Versione di IP: 1.3.0.54

Server: Windows
 
avatar
blank.gif sreverbe Sesso: Uomo
Visitatore
Visitatore
 
Età: 40
Registrato: Giugno 2009
Residenza: Reggio Emilia
Messaggi: 81
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#5  raphael10 Lunedì, 16 Maggio 2011, 17:41

Veramente alla linea che abbiamo preso in considerazione non vedo alcun cambiamento di sorta...

Potresti anche specificare se la numerazione delle righe che vediamo  noi nella casella di codice è la stessa del file originale?
 




Versione di IP: 1.3.0.53a

Server: Linux

____________
"Non c'è una via per la Pace, la Pace è la Via!"
 
avatar
italia.png raphael10 Sesso: Uomo
VIP
VIP
...uno shamano tra noi...
 
Età: 40
Registrato: Maggio 2007
Residenza: Lucca
Messaggi: 991
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#6  sreverbe Lunedì, 16 Maggio 2011, 19:11

raphael10 ha scritto: [Visualizza Messaggio]
Potresti anche specificare se la numerazione delle righe che vediamo  noi nella casella di codice è la stessa del file originale?


Ciao raphael10, sulla base di quanto mi avevi consigliato sugli array, ho modificato il codice dove la riga interessata era:

prima:

Codice: [Download] [Nascondi]
  1. 'DONATION_MOD' => sprintf($numdon['topic_replies']) 



dopo:

Codice: [Download] [Nascondi]
  1. $template->assign_vars(array(  
  2. 'DONATE_MOD' => sprintf($numdon['topic_replies']))); 


inserendo anche il punto e virgola come consigliato da fucile, ma come dice è cambiato l'errore in:

Citazione:
Fatal error: Call to a member function assign_vars() on a non-object in C:\xampp\htdocs\iproot\blocks_imp_donation.php on line 43


dove la linea 43 corrisponde proprio a quella del code, cioè questa:

Codice: [Download] [Nascondi]
  1. $template->assign_vars(array(  
  2. 'DONATE_MOD' => sprintf($numdon['topic_replies']) 

 




Versione di IP: 1.3.0.54

Server: Windows
 
avatar
blank.gif sreverbe Sesso: Uomo
Visitatore
Visitatore
 
Età: 40
Registrato: Giugno 2009
Residenza: Reggio Emilia
Messaggi: 81
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#7  raphael10 Venerdì, 20 Maggio 2011, 01:12

Veramente io intendevo una cosa diversa...

Se fai una ricerca nei file di IP vedrai che quando c'è la funzione sprintf c'è di solito un array di questo tipo:

'DONATE_MOD' => sprintf($numdon['topic_replies'], qualcosa, eventualmente_qualcosaltro)


L'intestazione che hai aggiunto toglila perchè non  credo che serva e lì ti da un errore.
 




Versione di IP: 1.3.0.53a

Server: Linux

____________
"Non c'è una via per la Pace, la Pace è la Via!"
 
avatar
italia.png raphael10 Sesso: Uomo
VIP
VIP
...uno shamano tra noi...
 
Età: 40
Registrato: Maggio 2007
Residenza: Lucca
Messaggi: 991
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#8  sreverbe Venerdì, 20 Maggio 2011, 23:49

grazie per l'aiuto che mi stai dando raphael10, probabilmente mi sto perdendo in un bicchiere d'acqua, data la mia scarsa conoscenza del php  

forse spiegandoti cosa voglio fare magari riesci a mettermi sulla strada giusta  

il codice php scritto va bene, di questo ne sono sicuro, e ti spiego anche il perchè:

se sostituisco la riga:
Codice: [Download] [Nascondi]
  1. 'DONATION_MOD' => sprintf($numdon['topic_replies'])  


con:
Codice: [Download] [Nascondi]
  1. echo $numdon 


ricevo il risultato corretto della query e fin qui tutto bene

ora però voglio mettere il valore della variabile $numdon in 'DONATION_MOD' (o qualsiasi altro nome) per poter richiamare questo valore in un file tpl, dove dentro ci sarà del codice html ad esempio così:
Codice: [Download] [Nascondi]
  1. <table class="empty-table" width="100%" cellspacing="0" cellpadding="0" border="0"> 
  2. <tr><td class="row1g-left gen"  align="center"><span class="gensmall">{DONATION_MOD}</span></td></tr> 
  3. </table> 


dove DONATION_MOD altro non è che il valore restituito dalla pagina php.

Quindi è chiaro che sbaglio questa riga di codice:
Codice: [Download] [Nascondi]
  1. 'DONATION_MOD' => sprintf($numdon['topic_replies'])  


Quale dovrebbe essere la sintassi corretta per fare ciò voglio ?
Spero di essere stato il più chiaro possibile ed intanto ti ringrazio per l'aiuto offerto.
 




Versione di IP: 1.3.0.54

Server: Windows
 
avatar
blank.gif sreverbe Sesso: Uomo
Visitatore
Visitatore
 
Età: 40
Registrato: Giugno 2009
Residenza: Reggio Emilia
Messaggi: 81
  Condividi
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: File Di Blocco

#9  raphael10 Sabato, 21 Maggio 2011, 14:27

Ti dico subito che anch'io non me ne intendo molto di php, ma si può procedere per tentativi e comparazioni spulciando il codice creato da MG.

Ciò che mi viene in mente adesso è: perchè hai usato sprintf?

Visto che $numdon è già definita hai provato semplicemente con:

'DONATE_MOD' => $numdon,


Dai un'occhiata ad una pagina con poco codice, come può essere acronyms.php per avere degli spunti.
 




Versione di IP: 1.3.0.53a

Server: Linux

____________
"Non c'è una via per la Pace, la Pace è la Via!"
 
avatar
italia.png raphael10 Sesso: Uomo
VIP
VIP
...uno shamano tra noi...
 
Età: 40
Registrato: Maggio 2007
Residenza: Lucca
Messaggi: 991
  Condividi
  • Torna in cima Vai a fondo pagina
 


NascondiQuesto argomento è stato utile?
Condividi Argomento
Segnala via email Facebook Twitter Windows Live Favorites MySpace del.icio.us Digg SlashDot google.com LinkedIn StumbleUpon Blogmarks Diigo reddit.com Blinklist co.mments.com
technorati.com DIGG ITA linkagogo.com meneame.net netscape.com newsvine.com yahoo.com spurl.net Fai Informazione Ok Notizie Segnalo Bookmark IT fark.com feedmelinks.com
Inserisci un link per questo argomento
URL
BBCode
HTML
NascondiArgomenti Simili
Argomento Autore Forum Risposte Ultimo Messaggio
No Nuovi Messaggi Il File .htaccess? sharknos Archivio 'Supporto Generale' 2 Venerdì, 08 Giugno 2007, 18:38 Leggi gli ultimi Messaggi
sharknos
No Nuovi Messaggi Protezione File magico Archivio 'Supporto Generale' 1 Martedì, 26 Febbraio 2008, 23:38 Leggi gli ultimi Messaggi
dNow
No Nuovi Messaggi Estensioni File evil ways Archivio 'Supporto Generale' 18 Lunedì, 16 Marzo 2009, 09:20 Leggi gli ultimi Messaggi
Andrea75
No Nuovi Messaggi File Swf Salvo89 Off Topic 4 Domenica, 31 Gennaio 2010, 12:31 Leggi gli ultimi Messaggi
Salvo89
No Nuovi Messaggi Non Trovo Il File Da Modificare Per Cambia... davidone Supporto Generale 14 Lunedì, 03 Gennaio 2011, 21:05 Leggi gli ultimi Messaggi
davidone

Pagina 1 di 1
 









  

 

cron