Page 1 sur 1

problème avec un script de rafraichissement

Posté : 16 mars 2006, 11:43
par lakawet
bonjour,

j'ai recup un script pour rafraichir le contenu d'une page sans avoir le bruit ni le clignottement mais ya une erreur de quote mais je vois pas ou???

Voici le code en question

Code : Tout sélectionner

<?php /* Author : docteur.night (Jérémy Faivre) email : [email protected] */ class dnrefresh { var $output; var $loop_out; var $refresh_id; function dnrefresh() { $this->output = ''; $this->loop_out = ''; $this->refresh_id = array(); $this->files_names = array(); return true; } function refresh_start($expect_time = 200) { $expect_time = intval($expect_time); $this->output .= '<script type="text/javascript">' . "\n" . '<!--' . "\n" . 'function refresh_loop(refresh_id)' . "\n" . '{' . "\n" . ' eval(\'if ( content_to_refresh_\' + refresh_id + \' != null ) { eval(content_to_refresh_\' + refresh_id + \'); content_to_refresh_\' + refresh_id + \' = null; }\');' . "\n" . ' setTimeout(\'refresh_loop(\' + refresh_id + \');\', ' . $expect_time . ');' . "\n" . '}' . "\n\n" . 'function refresh_action(refresh_id, file_name, refresh_time)' . "\n" . '{' . "\n" . ' Stamp = new Date();' . "\n" . ' document.getElementById(\'scripttoup\' + refresh_id).innerHTML = \'<iframe src="\' + file_name + \'time=\' + Stamp.getMinutes() + Stamp.getSeconds() + Stamp.getDay() + \'&refresh_id=\' + refresh_id + \'"></\' + \'iframe>\';' . "\n\n" . ' if ( refresh_time )' . "\n" . ' {' . "\n" . ' setTimeout(\'refresh_action(\' + refresh_id + \', \\\'\' + file_name + \'\\\', \' + refresh_time + \')\', refresh_time);' . "\n" . ' }' . "\n" . '}' . "\n\n"; } function refresh_add($file_name, $refresh_time = false, $refresh_id) { if ( substr_count($file_name, '?') > 0 ) { $file_name .= '&'; } else { $file_name .= '?'; } $file_name = str_replace(array('\\', '\''), array('\\\\', '\\\''), $file_name); $refresh_id = intval($refresh_id); while ( in_array($refresh_id, $this->refresh_id) ) { $refresh_id++; } $this->refresh_id[] = $refresh_id; $this->files_names[$refresh_id] = $file_name; $this->loop_out .= 'content_to_refresh_' . $refresh_id . ' = null; ' . (( !is_numeric($refresh_time) ) ? '' : 'refresh_action(' . $refresh_id . ', \'' . $file_name . '\', ' . $refresh_time . '); ' ) . 'refresh_loop(' . $refresh_id . '); '; return true; } function refresh_display($return = false) { $this->output .= 'window.onload = function() { ' . $this->loop_out . ' };' . "\n" . '//-->' . "\n" . '</script>' . "\n"; foreach ( $this->refresh_id as $value ) { $this->output .= '<div id="scripttoup' . $value . '" style="position:absolute;top:-9999px;left:-9999px;width:0px;height:0px;overflow:hidden"></div>' . "\n"; } if ( $return ) { return $this->output; } else { echo $this->output; } } function refresh_call($refresh_id, $return = false) { $output = 'refresh_action(' . $refresh_id . ', \'' . $this->files_names[$refresh_id] . '\');'; if ( $return ) { return $output; } else { echo $output; } } function refresh_update($refresh_id, $content, $element_id = false, $return = false) { $content = str_replace(array('\\', '\''), array('\\\\', '\\\''), $content); if ( $element_id ) { $content = 'document.getElementById(\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $element_id) . '\').innerHTML = \'' . $content . '\''; } $this->output = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Style-Type" content="text/css" /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><title></title></head><body><script type="text/javascript">parent.content_to_refresh_' . $refresh_id . ' = \'' . $content . '\';</script></body></html>'; header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); if ( $return ) { return $this->output; } else { echo $this->output; } } } ?>
merci pour votre aide

lakawet

Posté : 20 mars 2006, 16:46
par zigz4g
Salut.
Peux-tu nous mettre ton code dans des balises PHP pour nous permettre de mieux lire ton bout de code.

Est-il possible d'avoir le message d'erreur pour t'aider plus rapidement, merci.