diff --git a/Immocaster/Immobilienscout/Rest.php b/Immocaster/Immobilienscout/Rest.php index 6e7a15f..e998eab 100755 --- a/Immocaster/Immobilienscout/Rest.php +++ b/Immocaster/Immobilienscout/Rest.php @@ -1774,4 +1774,117 @@ private function _getPublish($aArgs) $req->unset_parameter('username'); 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 + * + * 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 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 + * + * 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 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); + } }