mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-08 00:54:15 +01:00
"API change caused already-obsoleted call to sessions_::create() to fail.
Thanks to Peter Goerzen <pgoerzen(at)hustlerturf.com>"
This commit is contained in:
parent
c34dc55633
commit
bb08afcc9f
@ -5,12 +5,12 @@ include_once dirname(__FILE__).'/State.php';
|
|||||||
class EGW_SyncML_State extends Horde_SyncML_State
|
class EGW_SyncML_State extends Horde_SyncML_State
|
||||||
{
|
{
|
||||||
var $table_devinfo = 'egw_syncmldevinfo';
|
var $table_devinfo = 'egw_syncmldevinfo';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* store the mappings of egw uids to client uids
|
* store the mappings of egw uids to client uids
|
||||||
*/
|
*/
|
||||||
var $uidMappings = array();
|
var $uidMappings = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the timestamp (if set) of the last change to the
|
* Returns the timestamp (if set) of the last change to the
|
||||||
* obj:guid, that was caused by the client. This is stored to
|
* obj:guid, that was caused by the client. This is stored to
|
||||||
@ -19,11 +19,11 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function getChangeTS($type, $guid)
|
function getChangeTS($type, $guid)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
$db = clone($GLOBALS['phpgw']->db);
|
$db = clone($GLOBALS['phpgw']->db);
|
||||||
|
|
||||||
$cols = array('map_timestamp');
|
$cols = array('map_timestamp');
|
||||||
|
|
||||||
$where = array
|
$where = array
|
||||||
(
|
(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
@ -31,15 +31,15 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
);
|
);
|
||||||
|
|
||||||
#Horde::logMessage('SyncML: getChangeTS for ' . $mapID .' / '. $guid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage('SyncML: getChangeTS for ' . $mapID .' / '. $guid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if($db->next_record())
|
if($db->next_record())
|
||||||
{
|
{
|
||||||
#Horde::logMessage('SyncML: getChangeTS changets is ' . $db->from_timestamp($db->f('map_timestamp')), __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage('SyncML: getChangeTS changets is ' . $db->from_timestamp($db->f('map_timestamp')), __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
return $db->from_timestamp($db->f('map_timestamp'));
|
return $db->from_timestamp($db->f('map_timestamp'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,21 +52,21 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
*/
|
*/
|
||||||
function getClientDeviceInfo() {
|
function getClientDeviceInfo() {
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array(
|
$cols = array(
|
||||||
'owner_devid',
|
'owner_devid',
|
||||||
);
|
);
|
||||||
|
|
||||||
$where = array (
|
$where = array (
|
||||||
'owner_locname' => $this->_locName,
|
'owner_locname' => $this->_locName,
|
||||||
'owner_deviceid' => $this->_sourceURI,
|
'owner_deviceid' => $this->_sourceURI,
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_syncmldeviceowner', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_syncmldeviceowner', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if($db->next_record()) {
|
if($db->next_record()) {
|
||||||
$deviceID = $db->f('owner_devid');
|
$deviceID = $db->f('owner_devid');
|
||||||
|
|
||||||
$cols = array(
|
$cols = array(
|
||||||
'dev_dtdversion',
|
'dev_dtdversion',
|
||||||
'dev_numberofchanges',
|
'dev_numberofchanges',
|
||||||
@ -81,13 +81,13 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
'dev_datastore',
|
'dev_datastore',
|
||||||
'dev_utc',
|
'dev_utc',
|
||||||
);
|
);
|
||||||
|
|
||||||
$where = array(
|
$where = array(
|
||||||
'dev_id' => $deviceID,
|
'dev_id' => $deviceID,
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_syncmldevinfo', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_syncmldevinfo', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if($db->next_record()) {
|
if($db->next_record()) {
|
||||||
$devInfo = array (
|
$devInfo = array (
|
||||||
'DTDVersion' => $db->f('dev_dtdversion'),
|
'DTDVersion' => $db->f('dev_dtdversion'),
|
||||||
@ -103,11 +103,11 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
'deviceType' => $db->f('dev_devicetype'),
|
'deviceType' => $db->f('dev_devicetype'),
|
||||||
'dataStore' => unserialize($db->f('dev_datastore')),
|
'dataStore' => unserialize($db->f('dev_datastore')),
|
||||||
);
|
);
|
||||||
|
|
||||||
return $devInfo;
|
return $devInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,25 +117,25 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function _getClientItems($type)
|
function _getClientItems($type)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('map_guid');
|
$cols = array('map_guid');
|
||||||
|
|
||||||
$where = array
|
$where = array
|
||||||
(
|
(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
'map_expired' => 0,
|
'map_expired' => 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
$guids = array();
|
$guids = array();
|
||||||
while($db->next_record())
|
while($db->next_record())
|
||||||
{
|
{
|
||||||
$guids[] = $db->f('map_guid');
|
$guids[] = $db->f('map_guid');
|
||||||
}
|
}
|
||||||
|
|
||||||
return empty($guids) ? false : $guids;
|
return empty($guids) ? false : $guids;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -149,27 +149,27 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function getGlobalUID($type, $locid)
|
function getGlobalUID($type, $locid)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
#Horde::logMessage('SyncML: search GlobalUID for ' . $mapID .' / '.$locid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage('SyncML: search GlobalUID for ' . $mapID .' / '.$locid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('map_guid');
|
$cols = array('map_guid');
|
||||||
|
|
||||||
$where = array
|
$where = array
|
||||||
(
|
(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
'map_locuid' => $locid,
|
'map_locuid' => $locid,
|
||||||
'map_expired' => 0,
|
'map_expired' => 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if($db->next_record())
|
if($db->next_record())
|
||||||
{
|
{
|
||||||
return $db->f('map_guid');
|
return $db->f('map_guid');
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,11 +182,11 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function getLocID($type, $guid)
|
function getLocID($type, $guid)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('map_locuid');
|
$cols = array('map_locuid');
|
||||||
|
|
||||||
$where = array
|
$where = array
|
||||||
(
|
(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
@ -194,13 +194,13 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
);
|
);
|
||||||
Horde::logMessage('SyncML: search LocID for ' . $mapID .' / '.$guid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage('SyncML: search LocID for ' . $mapID .' / '.$guid, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if($db->next_record())
|
if($db->next_record())
|
||||||
{
|
{
|
||||||
Horde::logMessage('SyncML: found LocID: '.$db->f('map_locuid'), __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage('SyncML: found LocID: '.$db->f('map_locuid'), __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
return $db->f('map_locuid');
|
return $db->f('map_locuid');
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,20 +214,20 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
*/
|
*/
|
||||||
function getSyncSummary($type)
|
function getSyncSummary($type)
|
||||||
{
|
{
|
||||||
$deviceID = $this->_locName . $this->_sourceURI;
|
$deviceID = $this->_locName . $this->_sourceURI;
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('sync_serverts','sync_clientts');
|
$cols = array('sync_serverts','sync_clientts');
|
||||||
|
|
||||||
$where = array
|
$where = array
|
||||||
(
|
(
|
||||||
'dev_id' => $deviceID,
|
'dev_id' => $deviceID,
|
||||||
'sync_path' => $type
|
'sync_path' => $type
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_syncmlsummary', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_syncmlsummary', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
#Horde::logMessage("SyncML: get SYNCSummary for $deviceID", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage("SyncML: get SYNCSummary for $deviceID", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
if($db->next_record())
|
if($db->next_record())
|
||||||
{
|
{
|
||||||
@ -239,35 +239,35 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
);
|
);
|
||||||
return $retData;
|
return $retData;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function isAuthorized()
|
function isAuthorized()
|
||||||
{
|
{
|
||||||
if (!$this->_isAuthorized) {
|
if (!$this->_isAuthorized) {
|
||||||
|
|
||||||
if(!isset($this->_locName) && !isset($this->_password))
|
if(!isset($this->_locName) && !isset($this->_password))
|
||||||
{
|
{
|
||||||
Horde::logMessage('SyncML: Authentication not yet possible currently. Username and password not available' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage('SyncML: Authentication not yet possible currently. Username and password not available' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isset($this->_password))
|
if(!isset($this->_password))
|
||||||
{
|
{
|
||||||
Horde::logMessage('SyncML: Authentication not yet possible currently. Password not available' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage('SyncML: Authentication not yet possible currently. Password not available' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strpos($this->_locName,'@') === False)
|
if(strpos($this->_locName,'@') === False)
|
||||||
{
|
{
|
||||||
$this->_locName .= '@'.$GLOBALS['egw_info']['server']['default_domain'];
|
$this->_locName .= '@'.$GLOBALS['egw_info']['server']['default_domain'];
|
||||||
}
|
}
|
||||||
|
|
||||||
#Horde::logMessage('SyncML: authenticate with username: ' . $this->_locName . ' and password: ' . $this->_password, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage('SyncML: authenticate with username: ' . $this->_locName . ' and password: ' . $this->_password, __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
if($GLOBALS['sessionid'] = $GLOBALS['egw']->session->create($this->_locName,$this->_password,'text','u'))
|
if($GLOBALS['sessionid'] = $GLOBALS['egw']->session->create($this->_locName,$this->_password,'text'))
|
||||||
{
|
{
|
||||||
$this->_isAuthorized = true;
|
$this->_isAuthorized = true;
|
||||||
Horde::logMessage('SyncML_EGW: Authentication of ' . $this->_locName . '/' . $GLOBALS['sessionid'] . ' succeded' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage('SyncML_EGW: Authentication of ' . $this->_locName . '/' . $GLOBALS['sessionid'] . ' succeded' , __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
@ -291,25 +291,25 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all locid<->guid mappings for the given type.
|
* Removes all locid<->guid mappings for the given type.
|
||||||
* Returns always true.
|
* Returns always true.
|
||||||
*/
|
*/
|
||||||
function removeAllUID($type)
|
function removeAllUID($type)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('map_guid');
|
$cols = array('map_guid');
|
||||||
|
|
||||||
$where = array (
|
$where = array (
|
||||||
'map_id' => $mapID
|
'map_id' => $mapID
|
||||||
);
|
);
|
||||||
|
|
||||||
Horde::logMessage("SyncML: state->removeAllUID(type=$type)", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage("SyncML: state->removeAllUID(type=$type)", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,29 +321,29 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function removeUID($type, $locid)
|
function removeUID($type, $locid)
|
||||||
{
|
{
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$cols = array('map_guid');
|
$cols = array('map_guid');
|
||||||
|
|
||||||
$where = array (
|
$where = array (
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
'map_locuid' => $locid
|
'map_locuid' => $locid
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
$db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml');
|
||||||
|
|
||||||
if(!$db->next_record()) {
|
if(!$db->next_record()) {
|
||||||
Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : nothing to remove", __FILE__, __LINE__, PEAR_LOG_INFO);
|
Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : nothing to remove", __FILE__, __LINE__, PEAR_LOG_INFO);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$guid = $db->f('map_guid');
|
$guid = $db->f('map_guid');
|
||||||
|
|
||||||
Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : removing guid:$guid", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : removing guid:$guid", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
return $guid;
|
return $guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
# $guid = $GLOBALS['egw']->common->generate_uid($guidParts[0],$guidParts[1]);
|
# $guid = $GLOBALS['egw']->common->generate_uid($guidParts[0],$guidParts[1]);
|
||||||
#}
|
#}
|
||||||
|
|
||||||
// problem: entries created from client, come here with the (long) server guid,
|
// problem: entries created from client, come here with the (long) server guid,
|
||||||
// but getUIDMapping does not know them and can not map server-guid <--> client guid
|
// but getUIDMapping does not know them and can not map server-guid <--> client guid
|
||||||
$guid = $this->getUIDMapping($_guid);
|
$guid = $this->getUIDMapping($_guid);
|
||||||
if($guid === false) {
|
if($guid === false) {
|
||||||
@ -379,27 +379,27 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
if($ts == 0) {
|
if($ts == 0) {
|
||||||
$ts = time();
|
$ts = time();
|
||||||
}
|
}
|
||||||
|
|
||||||
Horde::logMessage("SyncML: setUID $type, $locid, $guid, $ts ", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
Horde::logMessage("SyncML: setUID $type, $locid, $guid, $ts ", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
|
|
||||||
$mapID = $this->_locName . $this->_sourceURI . $type;
|
$mapID = $this->_locName . $this->_sourceURI . $type;
|
||||||
|
|
||||||
// delete all client id's
|
// delete all client id's
|
||||||
$where = array(
|
$where = array(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
'map_locuid' => $locid,
|
'map_locuid' => $locid,
|
||||||
);
|
);
|
||||||
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
// delete all egw id's
|
// delete all egw id's
|
||||||
$where = array(
|
$where = array(
|
||||||
'map_id' => $mapID,
|
'map_id' => $mapID,
|
||||||
'map_guid' => $guid,
|
'map_guid' => $guid,
|
||||||
);
|
);
|
||||||
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
$db->delete('egw_contentmap', $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
$data = $where + array(
|
$data = $where + array(
|
||||||
'map_locuid' => $locid,
|
'map_locuid' => $locid,
|
||||||
'map_timestamp' => $ts,
|
'map_timestamp' => $ts,
|
||||||
@ -408,7 +408,7 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
$db->insert('egw_contentmap', $data, $where, __LINE__, __FILE__, 'syncml');
|
$db->insert('egw_contentmap', $data, $where, __LINE__, __FILE__, 'syncml');
|
||||||
|
|
||||||
#Horde::logMessage("SyncML: setUID $type, $locid, $guid, $ts $mapID", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
#Horde::logMessage("SyncML: setUID $type, $locid, $guid, $ts $mapID", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -418,7 +418,7 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
if (!isset($this->_clientDeviceInfo) || !is_array($this->_clientDeviceInfo)) {
|
if (!isset($this->_clientDeviceInfo) || !is_array($this->_clientDeviceInfo)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = clone($GLOBALS['egw']->db);
|
$db = clone($GLOBALS['egw']->db);
|
||||||
$db->set_app('syncml');
|
$db->set_app('syncml');
|
||||||
|
|
||||||
@ -427,21 +427,21 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
$this->size_dev_hwversion = $tableDefDevInfo['fd']['dev_hwversion']['precision'];
|
$this->size_dev_hwversion = $tableDefDevInfo['fd']['dev_hwversion']['precision'];
|
||||||
unset($tableDefDevInfo);
|
unset($tableDefDevInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
$cols = array(
|
$cols = array(
|
||||||
'dev_id',
|
'dev_id',
|
||||||
);
|
);
|
||||||
|
|
||||||
$softwareVersion = !empty($this->_clientDeviceInfo['softwareVersion']) ? $this->_clientDeviceInfo['softwareVersion'] : '';
|
$softwareVersion = !empty($this->_clientDeviceInfo['softwareVersion']) ? $this->_clientDeviceInfo['softwareVersion'] : '';
|
||||||
$hardwareVersion = !empty($this->_clientDeviceInfo['hardwareVersion']) ? substr($this->_clientDeviceInfo['hardwareVersion'], 0, $this->size_dev_hwversion) : '';
|
$hardwareVersion = !empty($this->_clientDeviceInfo['hardwareVersion']) ? substr($this->_clientDeviceInfo['hardwareVersion'], 0, $this->size_dev_hwversion) : '';
|
||||||
$firmwareVersion = !empty($this->_clientDeviceInfo['firmwareVersion']) ? $this->_clientDeviceInfo['firmwareVersion'] : '';
|
$firmwareVersion = !empty($this->_clientDeviceInfo['firmwareVersion']) ? $this->_clientDeviceInfo['firmwareVersion'] : '';
|
||||||
|
|
||||||
$where = array (
|
$where = array (
|
||||||
'dev_model' => $this->_clientDeviceInfo['model'],
|
'dev_model' => $this->_clientDeviceInfo['model'],
|
||||||
'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'],
|
'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'],
|
||||||
'dev_swversion' => $softwareVersion,
|
'dev_swversion' => $softwareVersion,
|
||||||
'dev_hwversion' => $hardwareVersion,
|
'dev_hwversion' => $hardwareVersion,
|
||||||
'dev_fwversion' => $firmwareVersion,
|
'dev_fwversion' => $firmwareVersion,
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->select('egw_syncmldevinfo', $cols, $where, __LINE__, __FILE__, false);
|
$db->select('egw_syncmldevinfo', $cols, $where, __LINE__, __FILE__, false);
|
||||||
@ -453,16 +453,16 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
'dev_datastore' => serialize($this->_clientDeviceInfo['dataStore']),
|
'dev_datastore' => serialize($this->_clientDeviceInfo['dataStore']),
|
||||||
);
|
);
|
||||||
$db->update('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__);
|
$db->update('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$data = array (
|
$data = array (
|
||||||
'dev_dtdversion' => $this->_clientDeviceInfo['DTDVersion'],
|
'dev_dtdversion' => $this->_clientDeviceInfo['DTDVersion'],
|
||||||
'dev_numberofchanges' => $this->_clientDeviceInfo['supportNumberOfChanges'] ? true : false,
|
'dev_numberofchanges' => $this->_clientDeviceInfo['supportNumberOfChanges'] ? true : false,
|
||||||
'dev_largeobjs' => $this->_clientDeviceInfo['supportLargeObjs'] ? true : false,
|
'dev_largeobjs' => $this->_clientDeviceInfo['supportLargeObjs'] ? true : false,
|
||||||
'dev_utc' => $this->_clientDeviceInfo['UTC'] ? true : false,
|
'dev_utc' => $this->_clientDeviceInfo['UTC'] ? true : false,
|
||||||
'dev_swversion' => $softwareVersion,
|
'dev_swversion' => $softwareVersion,
|
||||||
'dev_hwversion' => $hardwareVersion,
|
'dev_hwversion' => $hardwareVersion,
|
||||||
'dev_fwversion' => $firmwareVersion,
|
'dev_fwversion' => $firmwareVersion,
|
||||||
'dev_oem' => $this->_clientDeviceInfo['oem'],
|
'dev_oem' => $this->_clientDeviceInfo['oem'],
|
||||||
'dev_model' => $this->_clientDeviceInfo['model'],
|
'dev_model' => $this->_clientDeviceInfo['model'],
|
||||||
'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'],
|
'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'],
|
||||||
@ -470,10 +470,10 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
'dev_datastore' => serialize($this->_clientDeviceInfo['dataStore']),
|
'dev_datastore' => serialize($this->_clientDeviceInfo['dataStore']),
|
||||||
);
|
);
|
||||||
$db->insert('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__);
|
$db->insert('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__);
|
||||||
|
|
||||||
$deviceID = $db->get_last_insert_id('egw_syncmldevinfo', 'dev_id');
|
$deviceID = $db->get_last_insert_id('egw_syncmldevinfo', 'dev_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array (
|
$data = array (
|
||||||
'owner_locname' => $this->_locName,
|
'owner_locname' => $this->_locName,
|
||||||
'owner_deviceid' => $this->_sourceURI,
|
'owner_deviceid' => $this->_sourceURI,
|
||||||
@ -496,11 +496,11 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
function writeSyncSummary()
|
function writeSyncSummary()
|
||||||
{
|
{
|
||||||
#parent::writeSyncSummary();
|
#parent::writeSyncSummary();
|
||||||
|
|
||||||
if (!isset($this->_serverAnchorNext) || !is_array($this->_serverAnchorNext)) {
|
if (!isset($this->_serverAnchorNext) || !is_array($this->_serverAnchorNext)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$deviceID = $this->_locName . $this->_sourceURI;
|
$deviceID = $this->_locName . $this->_sourceURI;
|
||||||
|
|
||||||
foreach((array)$this->_serverAnchorNext as $type => $a)
|
foreach((array)$this->_serverAnchorNext as $type => $a)
|
||||||
@ -512,13 +512,13 @@ class EGW_SyncML_State extends Horde_SyncML_State
|
|||||||
'dev_id' => $deviceID,
|
'dev_id' => $deviceID,
|
||||||
'sync_path' => $type,
|
'sync_path' => $type,
|
||||||
);
|
);
|
||||||
|
|
||||||
$data = $where + array
|
$data = $where + array
|
||||||
(
|
(
|
||||||
'sync_serverts' => $a,
|
'sync_serverts' => $a,
|
||||||
'sync_clientts' => $this->_clientAnchorNext[$type]
|
'sync_clientts' => $this->_clientAnchorNext[$type]
|
||||||
);
|
);
|
||||||
|
|
||||||
$GLOBALS['egw']->db->insert('egw_syncmlsummary', $data, $where, __LINE__, __FILE__, 'syncml');
|
$GLOBALS['egw']->db->insert('egw_syncmlsummary', $data, $where, __LINE__, __FILE__, 'syncml');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user