diff --git a/phpgwapi/inc/horde/Horde/SyncML/State_egw.php b/phpgwapi/inc/horde/Horde/SyncML/State_egw.php index 4490fb0c22..63c50bf5d0 100644 --- a/phpgwapi/inc/horde/Horde/SyncML/State_egw.php +++ b/phpgwapi/inc/horde/Horde/SyncML/State_egw.php @@ -5,12 +5,12 @@ include_once dirname(__FILE__).'/State.php'; class EGW_SyncML_State extends Horde_SyncML_State { var $table_devinfo = 'egw_syncmldevinfo'; - - /* + + /* * store the mappings of egw uids to client uids */ var $uidMappings = array(); - + /** * Returns the timestamp (if set) of the last change to the * 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) { $mapID = $this->_locName . $this->_sourceURI . $type; - + $db = clone($GLOBALS['phpgw']->db); - + $cols = array('map_timestamp'); - + $where = array ( '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); - + $db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if($db->next_record()) { #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 false; } @@ -52,21 +52,21 @@ class EGW_SyncML_State extends Horde_SyncML_State */ function getClientDeviceInfo() { $db = clone($GLOBALS['egw']->db); - + $cols = array( 'owner_devid', ); - + $where = array ( 'owner_locname' => $this->_locName, 'owner_deviceid' => $this->_sourceURI, ); - + $db->select('egw_syncmldeviceowner', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if($db->next_record()) { $deviceID = $db->f('owner_devid'); - + $cols = array( 'dev_dtdversion', 'dev_numberofchanges', @@ -81,13 +81,13 @@ class EGW_SyncML_State extends Horde_SyncML_State 'dev_datastore', 'dev_utc', ); - + $where = array( 'dev_id' => $deviceID, ); - + $db->select('egw_syncmldevinfo', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if($db->next_record()) { $devInfo = array ( 'DTDVersion' => $db->f('dev_dtdversion'), @@ -103,11 +103,11 @@ class EGW_SyncML_State extends Horde_SyncML_State 'deviceType' => $db->f('dev_devicetype'), 'dataStore' => unserialize($db->f('dev_datastore')), ); - + return $devInfo; } } - + return false; } @@ -117,25 +117,25 @@ class EGW_SyncML_State extends Horde_SyncML_State function _getClientItems($type) { $mapID = $this->_locName . $this->_sourceURI . $type; - + $db = clone($GLOBALS['egw']->db); - + $cols = array('map_guid'); - + $where = array ( 'map_id' => $mapID, 'map_expired' => 0, ); - + $db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + $guids = array(); while($db->next_record()) { $guids[] = $db->f('map_guid'); } - + return empty($guids) ? false : $guids; } @@ -149,27 +149,27 @@ class EGW_SyncML_State extends Horde_SyncML_State function getGlobalUID($type, $locid) { $mapID = $this->_locName . $this->_sourceURI . $type; - + #Horde::logMessage('SyncML: search GlobalUID for ' . $mapID .' / '.$locid, __FILE__, __LINE__, PEAR_LOG_DEBUG); - + $db = clone($GLOBALS['egw']->db); - + $cols = array('map_guid'); - + $where = array ( 'map_id' => $mapID, 'map_locuid' => $locid, 'map_expired' => 0, ); - + $db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if($db->next_record()) { return $db->f('map_guid'); } - + return false; } @@ -182,11 +182,11 @@ class EGW_SyncML_State extends Horde_SyncML_State function getLocID($type, $guid) { $mapID = $this->_locName . $this->_sourceURI . $type; - + $db = clone($GLOBALS['egw']->db); - + $cols = array('map_locuid'); - + $where = array ( '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); $db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if($db->next_record()) { Horde::logMessage('SyncML: found LocID: '.$db->f('map_locuid'), __FILE__, __LINE__, PEAR_LOG_DEBUG); return $db->f('map_locuid'); } - + return false; } @@ -214,20 +214,20 @@ class EGW_SyncML_State extends Horde_SyncML_State */ function getSyncSummary($type) { - $deviceID = $this->_locName . $this->_sourceURI; + $deviceID = $this->_locName . $this->_sourceURI; $db = clone($GLOBALS['egw']->db); - + $cols = array('sync_serverts','sync_clientts'); - + $where = array ( 'dev_id' => $deviceID, 'sync_path' => $type ); - + $db->select('egw_syncmlsummary', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + #Horde::logMessage("SyncML: get SYNCSummary for $deviceID", __FILE__, __LINE__, PEAR_LOG_DEBUG); if($db->next_record()) { @@ -239,35 +239,35 @@ class EGW_SyncML_State extends Horde_SyncML_State ); return $retData; } - + return false; - + } function isAuthorized() { if (!$this->_isAuthorized) { - + 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); return FALSE; } - + if(!isset($this->_password)) { Horde::logMessage('SyncML: Authentication not yet possible currently. Password not available' , __FILE__, __LINE__, PEAR_LOG_DEBUG); return FALSE; } - + if(strpos($this->_locName,'@') === False) { $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); - - 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; 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. */ function removeAllUID($type) { $mapID = $this->_locName . $this->_sourceURI . $type; - + $db = clone($GLOBALS['egw']->db); - + $cols = array('map_guid'); - + $where = array ( 'map_id' => $mapID ); - + Horde::logMessage("SyncML: state->removeAllUID(type=$type)", __FILE__, __LINE__, PEAR_LOG_DEBUG); - + $db->delete('egw_contentmap', $where, __LINE__, __FILE__); - + return true; } @@ -321,29 +321,29 @@ class EGW_SyncML_State extends Horde_SyncML_State function removeUID($type, $locid) { $mapID = $this->_locName . $this->_sourceURI . $type; - + $db = clone($GLOBALS['egw']->db); - + $cols = array('map_guid'); - + $where = array ( 'map_id' => $mapID, 'map_locuid' => $locid ); - + $db->select('egw_contentmap', $cols, $where, __LINE__, __FILE__, false, '', 'syncml'); - + if(!$db->next_record()) { Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : nothing to remove", __FILE__, __LINE__, PEAR_LOG_INFO); return false; } - + $guid = $db->f('map_guid'); - + Horde::logMessage("SyncML: state->removeUID(type=$type,locid=$locid) : removing guid:$guid", __FILE__, __LINE__, PEAR_LOG_DEBUG); - + $db->delete('egw_contentmap', $where, __LINE__, __FILE__); - + return $guid; } @@ -367,7 +367,7 @@ class EGW_SyncML_State extends Horde_SyncML_State # $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 $guid = $this->getUIDMapping($_guid); if($guid === false) { @@ -379,27 +379,27 @@ class EGW_SyncML_State extends Horde_SyncML_State if($ts == 0) { $ts = time(); } - + Horde::logMessage("SyncML: setUID $type, $locid, $guid, $ts ", __FILE__, __LINE__, PEAR_LOG_DEBUG); $db = clone($GLOBALS['egw']->db); - + $mapID = $this->_locName . $this->_sourceURI . $type; - + // delete all client id's $where = array( 'map_id' => $mapID, 'map_locuid' => $locid, ); $db->delete('egw_contentmap', $where, __LINE__, __FILE__); - + // delete all egw id's $where = array( 'map_id' => $mapID, 'map_guid' => $guid, ); $db->delete('egw_contentmap', $where, __LINE__, __FILE__); - + $data = $where + array( 'map_locuid' => $locid, 'map_timestamp' => $ts, @@ -408,7 +408,7 @@ class EGW_SyncML_State extends Horde_SyncML_State $db->insert('egw_contentmap', $data, $where, __LINE__, __FILE__, 'syncml'); #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)) { return false; } - + $db = clone($GLOBALS['egw']->db); $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']; unset($tableDefDevInfo); } - + $cols = array( 'dev_id', ); - + $softwareVersion = !empty($this->_clientDeviceInfo['softwareVersion']) ? $this->_clientDeviceInfo['softwareVersion'] : ''; $hardwareVersion = !empty($this->_clientDeviceInfo['hardwareVersion']) ? substr($this->_clientDeviceInfo['hardwareVersion'], 0, $this->size_dev_hwversion) : ''; $firmwareVersion = !empty($this->_clientDeviceInfo['firmwareVersion']) ? $this->_clientDeviceInfo['firmwareVersion'] : ''; - + $where = array ( 'dev_model' => $this->_clientDeviceInfo['model'], 'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'], - 'dev_swversion' => $softwareVersion, - 'dev_hwversion' => $hardwareVersion, - 'dev_fwversion' => $firmwareVersion, + 'dev_swversion' => $softwareVersion, + 'dev_hwversion' => $hardwareVersion, + 'dev_fwversion' => $firmwareVersion, ); $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']), ); $db->update('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__); - + } else { $data = array ( 'dev_dtdversion' => $this->_clientDeviceInfo['DTDVersion'], 'dev_numberofchanges' => $this->_clientDeviceInfo['supportNumberOfChanges'] ? true : false, 'dev_largeobjs' => $this->_clientDeviceInfo['supportLargeObjs'] ? true : false, 'dev_utc' => $this->_clientDeviceInfo['UTC'] ? true : false, - 'dev_swversion' => $softwareVersion, - 'dev_hwversion' => $hardwareVersion, - 'dev_fwversion' => $firmwareVersion, + 'dev_swversion' => $softwareVersion, + 'dev_hwversion' => $hardwareVersion, + 'dev_fwversion' => $firmwareVersion, 'dev_oem' => $this->_clientDeviceInfo['oem'], 'dev_model' => $this->_clientDeviceInfo['model'], 'dev_manufacturer' => $this->_clientDeviceInfo['manufacturer'], @@ -470,10 +470,10 @@ class EGW_SyncML_State extends Horde_SyncML_State 'dev_datastore' => serialize($this->_clientDeviceInfo['dataStore']), ); $db->insert('egw_syncmldevinfo', $data, $where, __LINE__, __FILE__); - + $deviceID = $db->get_last_insert_id('egw_syncmldevinfo', 'dev_id'); } - + $data = array ( 'owner_locname' => $this->_locName, 'owner_deviceid' => $this->_sourceURI, @@ -496,11 +496,11 @@ class EGW_SyncML_State extends Horde_SyncML_State function writeSyncSummary() { #parent::writeSyncSummary(); - + if (!isset($this->_serverAnchorNext) || !is_array($this->_serverAnchorNext)) { return; } - + $deviceID = $this->_locName . $this->_sourceURI; foreach((array)$this->_serverAnchorNext as $type => $a) @@ -512,13 +512,13 @@ class EGW_SyncML_State extends Horde_SyncML_State 'dev_id' => $deviceID, 'sync_path' => $type, ); - + $data = $where + array ( 'sync_serverts' => $a, 'sync_clientts' => $this->_clientAnchorNext[$type] ); - + $GLOBALS['egw']->db->insert('egw_syncmlsummary', $data, $where, __LINE__, __FILE__, 'syncml'); } }