Bonjour à tous,

J'ai le message d'erreur suivant à l'ouverture du site:
Fatal error: Call to a member function tail() on a non-object in /home/xxxx//www/imagevue/include/ivXmlParser.class.php on line 91

Hors j'ai deux site identiques, un marche et l'autre me mets cette erreur. Ces deux sites sont sur le meme serveur, meme configuration.

Where is the problem ?
Ci dessous le code du fichier ivxmlParser.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
/**
 * XML parser
 *
 * @author McArrow
 */
class ivXmlParser
{
	/**
	 * XML parser resource
	 * @var resource
	 */
	var $_parser = null;
 
	/**
	 * Node stack
	 * @var ivStack
	 */
	var $_nodeStack = null;
 
	/**
	 * Head node
	 * @var ivXml
	 */
	var $_head = null;
 
	/**
	 * Constructor
	 *
	 */
	function ivXmlParser()
	{
		$this->__construct();
	}
 
	/**
	 * Constructor
	 *
	 */
	function __construct()
	{
		$this->_parser = xml_parser_create('UTF-8');
		xml_parser_set_option($this->_parser, XML_OPTION_CASE_FOLDING, 0);
		xml_parser_set_option($this->_parser, XML_OPTION_SKIP_WHITE, 1);
		xml_parser_set_option($this->_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
		xml_set_object($this->_parser, $this);
		xml_set_element_handler($this->_parser, '_startElementHandle', '_endElementHandle');
		xml_set_character_data_handler($this->_parser, '_elementDataHandle');
	}
 
	/**
	 * Parse XML string
	 *
	 * @param  string $xmlString
	 * @return ivXml
	 */
	function &parse($xmlString)
	{
		$this->_nodeStack = new ivStack();
		if (!xml_parse($this->_parser, $xmlString)) {
			return false;
		}
		$result = &$this->_head;
		return $result;
	}
 
	function getLastError()
	{
		return array(
			'errorCode' => xml_get_error_code($this->_parser),
			'errorString' => xml_error_string(xml_get_error_code($this->_parser)),
			'line' => xml_get_current_line_number($this->_parser),
			'char' => xml_get_current_column_number($this->_parser) + 1
		);
	}
 
	/**
	 * Handle start element
	 *
	 * @param resource $parser
	 * @param string   $name   Node name
	 * @param array    $attrs  Node attributes
	 */
	function _startElementHandle($parser, $name, $attrs)
	{
		$currentNode = &ivXmlNode::create($name, $attrs);
		// Need to use container for node because of bug in xmlparser with multibyte encodings
		$container = new stdClass();
		$container->node = &$currentNode;
		$container->value = null;
		$last = &$this->_nodeStack->tail();
		if ($last) {
			$last->node->addChild($currentNode);
		} else {
			$this->_head = &$currentNode;
		}
		$this->_nodeStack->push($container);
	}
 
	/**
	 * Handle end element
	 *
	 * @param resource $parser
	 * @param string   $name   Node name
	 */
	function _endElementHandle($parser, $name)
	{
		$last = &$this->_nodeStack->tail();
		$last->node->setValue($last->value);
		$this->_nodeStack->pop();
	}
 
	/**
	 * Handle element's value
	 *
	 * @param resource $parser
	 * @param string   $data   Node value
	 */
	function _elementDataHandle($parser, $data)
	{
		$last = &$this->_nodeStack->tail();
		$last->value .= (string) $data;
	}
 
}
?>
Quelqu'un aurait il une piste ??
Merci à tous