From ab4a761599457378f73c4391256a106c950b802d Mon Sep 17 00:00:00 2001 From: chris_blues Date: Wed, 10 Feb 2021 16:35:08 +0100 Subject: [PATCH 1/8] add REST methods * addToProject() * deleteFromProject() --- Immocaster/Immobilienscout/Rest.php | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index 6e7a15f..d9216b0 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1774,4 +1774,63 @@ private function _getPublish($aArgs) $req->unset_parameter('username'); return parent::getContent($req,$sSecret); } + + /** + * Füge Objekt einem Projekt hinzu + * + * @param array $aArgs + * @return mixed + */ + public function addToProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $aArgs['request_body'] = ' + + ' . $aArgs["estateid"] . ' + +'; + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry', + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'POST' + ); + } + + public function deleteFromProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry/ext-'.$aArgs["estateid"], + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'DELETE' + ); + } } From e50e8b525679f13534f15b477e9c0d4779641ceb Mon Sep 17 00:00:00 2001 From: chris_blues Date: Wed, 10 Feb 2021 17:19:05 +0100 Subject: [PATCH 2/8] add methods to add an object to a IS24-project add methods: * addToProject() * deleteFromProject() --- Immocaster/Immobilienscout/Rest.php | 69 +++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index 6e7a15f..a4a6788 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1774,4 +1774,73 @@ private function _getPublish($aArgs) $req->unset_parameter('username'); return parent::getContent($req,$sSecret); } + + /** + * Füge Objekt einem Projekt hinzu + * + * @author chris + * + * @param array $aArgs + * @return mixed + */ + public function addToProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $aArgs['request_body'] = ' + + ' . $aArgs["estateid"] . ' + +'; + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry', + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'POST' + ); + } + + /** + * Entferne Objekt aus einem Projekt + * + * @author chris + * + * @param array $aArgs + * @return mixed + */ + public function deleteFromProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry/ext-'.$aArgs["estateid"], + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'DELETE' + ); + } } From 6aded799e3ff63626f6c9662e357556e4d0c0596 Mon Sep 17 00:00:00 2001 From: chris_blues Date: Thu, 11 Feb 2021 14:12:27 +0100 Subject: [PATCH 3/8] fix return --- Immocaster/Immobilienscout/Rest.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index a4a6788..ebbc121 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1775,7 +1775,7 @@ private function _getPublish($aArgs) return parent::getContent($req,$sSecret); } - /** + /** * Füge Objekt einem Projekt hinzu * * @author chris @@ -1799,9 +1799,10 @@ public function addToProject($aArgs) } $aArgs['request_body'] = ' - ' . $aArgs["estateid"] . ' + ' . $aArgs["estateid"] . ' '; + $req = $this->doRequest( 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry', $aArgs, @@ -1810,6 +1811,8 @@ public function addToProject($aArgs) $oToken, 'POST' ); + + return parent::getContent($req,$sSecret); } /** @@ -1842,5 +1845,7 @@ public function deleteFromProject($aArgs) $oToken, 'DELETE' ); + + return parent::getContent($req,$sSecret); } } From 971a86d0932c01e4b7def444725c9981dd83b560 Mon Sep 17 00:00:00 2001 From: chris_blues Date: Wed, 10 Feb 2021 17:19:05 +0100 Subject: [PATCH 4/8] add methods to add an realestate-object to a IS24-project add methods: * addToProject() * deleteFromProject() --- Immocaster/Immobilienscout/Rest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index d9216b0..a4a6788 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1778,6 +1778,8 @@ private function _getPublish($aArgs) /** * Füge Objekt einem Projekt hinzu * + * @author chris + * * @param array $aArgs * @return mixed */ @@ -1810,6 +1812,14 @@ public function addToProject($aArgs) ); } + /** + * Entferne Objekt aus einem Projekt + * + * @author chris + * + * @param array $aArgs + * @return mixed + */ public function deleteFromProject($aArgs) { $aRequired = array('username', 'estateid', 'project_id'); From 89029edc43d6987bca351f2f22f83a1a86ca339c Mon Sep 17 00:00:00 2001 From: chris_blues Date: Thu, 11 Feb 2021 14:12:27 +0100 Subject: [PATCH 5/8] fix return --- Immocaster/Immobilienscout/Rest.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index a4a6788..ebbc121 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1775,7 +1775,7 @@ private function _getPublish($aArgs) return parent::getContent($req,$sSecret); } - /** + /** * Füge Objekt einem Projekt hinzu * * @author chris @@ -1799,9 +1799,10 @@ public function addToProject($aArgs) } $aArgs['request_body'] = ' - ' . $aArgs["estateid"] . ' + ' . $aArgs["estateid"] . ' '; + $req = $this->doRequest( 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry', $aArgs, @@ -1810,6 +1811,8 @@ public function addToProject($aArgs) $oToken, 'POST' ); + + return parent::getContent($req,$sSecret); } /** @@ -1842,5 +1845,7 @@ public function deleteFromProject($aArgs) $oToken, 'DELETE' ); + + return parent::getContent($req,$sSecret); } } From 75e0641621bf0080f62e121422d4e488a02bb7c3 Mon Sep 17 00:00:00 2001 From: chris_blues Date: Thu, 11 Feb 2021 14:26:18 +0100 Subject: [PATCH 6/8] add methods to add an realestate-object to a IS24-project added methods: * addToProject() * deleteFromProject() --- Immocaster/Immobilienscout/Rest.php | 74 +++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index 6e7a15f..ebbc121 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1774,4 +1774,78 @@ private function _getPublish($aArgs) $req->unset_parameter('username'); return parent::getContent($req,$sSecret); } + + /** + * Füge Objekt einem Projekt hinzu + * + * @author chris + * + * @param array $aArgs + * @return mixed + */ + public function addToProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $aArgs['request_body'] = ' + + ' . $aArgs["estateid"] . ' + +'; + + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry', + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'POST' + ); + + return parent::getContent($req,$sSecret); + } + + /** + * Entferne Objekt aus einem Projekt + * + * @author chris + * + * @param array $aArgs + * @return mixed + */ + public function deleteFromProject($aArgs) + { + $aRequired = array('username', 'estateid', 'project_id'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject/'.$aArgs["project_id"].'/realestateprojectentry/ext-'.$aArgs["estateid"], + $aArgs, + $aRequired, + __FUNCTION__, + $oToken, + 'DELETE' + ); + + return parent::getContent($req,$sSecret); + } } From b736ff200247b3c64c87823185dade3f351c8caf Mon Sep 17 00:00:00 2001 From: chris_blues Date: Thu, 4 Mar 2021 10:01:41 +0100 Subject: [PATCH 7/8] more comments --- Immocaster/Immobilienscout/Rest.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index ebbc121..f195e14 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1778,7 +1778,9 @@ private function _getPublish($aArgs) /** * Füge Objekt einem Projekt hinzu * - * @author chris + * Hinweis: hierfür müssen gesonderte Rechte bei Immoscout erteilt werden! + * + * @author chris / https://github.com/chris-blues * * @param array $aArgs * @return mixed @@ -1818,7 +1820,9 @@ public function addToProject($aArgs) /** * Entferne Objekt aus einem Projekt * - * @author chris + * Hinweis: hierfür müssen gesonderte Rechte bei Immoscout erteilt werden! + * + * @author chris / https://github.com/chris-blues * * @param array $aArgs * @return mixed From a3982a523c98a42a7ad2c12b437cbe240e62d0cf Mon Sep 17 00:00:00 2001 From: chris_blues Date: Thu, 4 Mar 2021 11:26:04 +0100 Subject: [PATCH 8/8] add method getProjectId() --- Immocaster/Immobilienscout/Rest.php | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index f195e14..e998eab 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1775,6 +1775,41 @@ private function _getPublish($aArgs) return parent::getContent($req,$sSecret); } + /* + * Erfrage die Projekt-ID eines Objektes + * + * Hinweis: hierfür müssen gesonderte Rechte bei Immoscout erteilt werden! + * + * @author chris / https://github.com/chris-blues + * + * @param array $aArgs + * @return mixed + */ + public function getProjectId($aArgs) + { + $aRequired = array('username', 'estateid'); + $oToken = null; + $sSecret = null; + if(!isset($aArgs['username'])) + { + $aArgs['username'] = $this->_sDefaultUsername; + } + list($oToken, $sSecret) = $this->getApplicationTokenAndSecret($aArgs['username']); + if($oToken === NULL || $sSecret === NULL) + { + return IMMOCASTER_SDK_LANG_APPLICATION_NOT_CERTIFIED; + } + $req = $this->doRequest( + 'offer/v1.0/user/'.$aArgs['username'].'/realestateproject?realestateid=ext-'.$aArgs["estateid"], + $aArgs, + $aRequired, + __FUNCTION__, + $oToken + ); + + return parent::getContent($req,$sSecret); + } + /** * Füge Objekt einem Projekt hinzu *