Good day everyone,
I have a bug issue with integrating openmeetings with SugarCRM
the bug is with nusaop
first my configuration...
the OM 1.6 r3621 is running from a remote Ubuntu 10.04 server;
SugarCRM 6.0.2 is on a Centos 5 shared hosting platform without SSH
access...
the issues is when I go to use most of the Admin settings that involve
uploading (module, updates, upgrade wizard, etc) to the CRM... haven't
gone into everything but the rest seems to be unaffected...
Fatal error: Cannot redeclare class nusoap_parser in /home3/systemmg/
public_html/businesscentre/include/nusoap/nusoap.php on line 7169
I did a fresh install of SugarCRM 6.1.1 and reintegrated OM into the
fresh installation and the problem repeated itself only on line 8787
same script area as below.
the lines in the nusoap pertaining to these lines are (lines 7055 -
7177) I placed a comment on line 7169...
[...]
/**
* builds response structures for compound values (arrays/structs)
* and scalars
*
* @param integer $pos position in node tree
* @return mixed PHP value
* @access private
*/
function buildVal($pos){
if(!isset($this->message[$pos]['type'])){
$this->message[$pos]['type'] = '';
}
$this->debug('in buildVal() for
'.$this->message[$pos]['name']."(pos
$pos) of type ".$this->message[$pos]['type']);
// if there are children...
if($this->message[$pos]['children'] != ''){
$this->debug('in buildVal, there are children');
$children =
explode('|',$this->message[$pos]['children']);
array_shift($children); // knock off empty
// md array
if(isset($this->message[$pos]['arrayCols']) &&
$this->message[$pos]
['arrayCols'] != ''){
$r=0; // rowcount
$c=0; // colcount
foreach($children as $child_pos){
$this->debug("in buildVal, got an MD
array element: $r, $c");
$params[$r][] =
$this->message[$child_pos]['result'];
$c++;
if($c == $this->message[$pos]['arrayCols']){
$c = 0;
$r++;
}
}
// array
} elseif($this->message[$pos]['type'] == 'array' ||
$this-
>message[$pos]['type'] == 'Array'){
$this->debug('in buildVal, adding array '.$this-
>message[$pos]['name']);
foreach($children as $child_pos){
$params[] = &$this->message[$child_pos]['result'];
}
// apache Map type: java hashtable
} elseif($this->message[$pos]['type'] == 'Map' && $this-
>message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap'){
$this->debug('in buildVal, Java Map '.$this-
>message[$pos]['name']);
foreach($children as $child_pos){
$kv = explode("|",$this->message[$child_pos]
['children']);
$params[$this->message[$kv[1]]['result']] = &$this-
>message[$kv[2]]['result'];
}
// generic compound type
//} elseif($this->message[$pos]['type'] == 'SOAPStruct' ||
$this->message[$pos]['type'] == 'struct') {
} else {
// Apache Vector type: treat as an array
$this->debug('in buildVal, adding Java Vector or
generic compound type '.$this->message[$pos]['name']);
if ($this->message[$pos]['type'] == 'Vector' &&
$this-
>message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap')
{
$notstruct = 1;
} else {
$notstruct = 0;
}
//
foreach($children as $child_pos){
if($notstruct){
$params[] =
&$this->message[$child_pos]['result'];
} else {
if
(isset($params[$this->message[$child_pos]['name']]))
{
// de-serialize repeated element name
into an array
if
((!is_array($params[$this->message[$child_pos]
['name']])) || (!isset($params[$this->message[$child_pos]['name']]
[0]))) {
$params[$this->message[$child_pos]['name']] =
array($params[$this->message[$child_pos]['name']]);
}
$params[$this->message[$child_pos]['name']][] = &$this-
>message[$child_pos]['result'];
} else {
$params[$this->message[$child_pos]['name']] = &$this-
>message[$child_pos]['result'];
}
}
}
}
if (isset($this->message[$pos]['xattrs'])) {
$this->debug('in buildVal, handling attributes');
foreach ($this->message[$pos]['xattrs'] as $n
=> $v) {
$params[$n] = $v;
}
}
// handle simpleContent
if (isset($this->message[$pos]['cdata']) && trim($this-
>message[$pos]['cdata']) != '') {
$this->debug('in buildVal, handling simpleContent');
if (isset($this->message[$pos]['type'])) {
$params['!'] =
$this->decodeSimple($this->message[$pos]['cdata'],
$this->message[$pos]['type'], isset($this->message[$pos]
['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
} else {
$parent =
$this->message[$pos]['parent'];
if
(isset($this->message[$parent]['type']) && ($this-
>message[$parent]['type'] == 'array') && isset($this->message[$parent]
['arrayType'])) {
$params['!'] =
$this->decodeSimple($this->message[$pos]
['cdata'], $this->message[$parent]['arrayType'], isset($this-
>message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]
['arrayTypeNamespace'] : '');
} else {
$params['!'] =
$this->message[$pos]['cdata'];
}
}
}
$ret = is_array($params) ? $params : array();
$this->debug('in buildVal, return:');
$this->appendDebug($this->varDump($ret));
return $ret;
} else {
$this->debug('in buildVal, no children, building scalar');
$cdata = isset($this->message[$pos]['cdata']) ?
$this->message[$pos]
['cdata'] : '';
if (isset($this->message[$pos]['type'])) {
$ret = $this->decodeSimple($cdata,
$this->message[$pos]['type'],
isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]
['type_namespace'] : '');
$this->debug("in buildVal, return: $ret");
return $ret;
}
$parent = $this->message[$pos]['parent'];
if (isset($this->message[$parent]['type']) && ($this-
>message[$parent]['type'] == 'array') && isset($this->message[$parent]
['arrayType'])) {
$ret = $this->decodeSimple($cdata,
$this->message[$parent]
['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ?
$this->message[$parent]['arrayTypeNamespace'] : '');
$this->debug("in buildVal, return: $ret");
return $ret;
}
$ret = $this->message[$pos]['cdata'];
$this->debug("in buildVal, return: $ret");
return $ret;
}
}
} /* THIS IS LINE 7169 */
/**
* Backward compatibility
*/
class soap_parser extends nusoap_parser {
}
?>[...]
Please let me know if there has been any other issues like this that
have arisen like this with SugarCRM ... there doesn't seem to be much
out there...
Otherwise then this nusoap issue, the system works great...
Regards,
Bryon Morrow
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings User" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-user?hl=en.