diff --git a/README.md b/README.md index 84cf702..ea9a3af 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,9 @@ Jusqu'a présent, les fonctionalités suivantes ont été implémentées : - Lan (Core) - Lan Browser - Wake On Lan + - Network Share + - Samba + - Afp - System - LCD - NAT diff --git a/TODO.md b/TODO.md index df4884d..6162c11 100644 --- a/TODO.md +++ b/TODO.md @@ -30,7 +30,7 @@ - ~~Incoming port configuration~~ - ~~UPnP IGD~~ - ~~LCD~~ - - Network Share + - ~~Network Share~~ - ~~UPnP AV~~ - Switch - Wi-Fi diff --git a/freebox/api/v3/models/NetworkShare/AfpConfig.php b/freebox/api/v3/models/NetworkShare/AfpConfig.php new file mode 100644 index 0000000..d8534ad --- /dev/null +++ b/freebox/api/v3/models/NetworkShare/AfpConfig.php @@ -0,0 +1,89 @@ +enabled; + } + + /** + * @param boolean $enabled + */ + public function setEnabled( $enabled) { + $this->enabled = $enabled; + } + + /** + * @return boolean + */ + public function isGuestAllow() { + return $this->guest_allow; + } + + /** + * @param boolean $guest_allow + */ + public function setGuestAllow( $guest_allow) { + $this->guest_allow = $guest_allow; + } + + /** + * @return string + */ + public function getServerType() { + return $this->server_type; + } + + /** + * @param string $server_type + */ + public function setServerType( $server_type) { + $this->server_type = $server_type; + } + + /** + * @return string + */ + public function getLoginName() { + return $this->login_name; + } + + /** + * @param string $login_name + */ + public function setLoginName( $login_name) { + $this->login_name = $login_name; + } + + /** + * @param string $login_password + */ + public function setLoginPassword( $login_password) { + $this->login_password = $login_password; + } + +} diff --git a/freebox/api/v3/models/NetworkShare/SambaConfig.php b/freebox/api/v3/models/NetworkShare/SambaConfig.php new file mode 100644 index 0000000..4e31614 --- /dev/null +++ b/freebox/api/v3/models/NetworkShare/SambaConfig.php @@ -0,0 +1,106 @@ +file_share_enabled; + } + + /** + * @param boolean $file_share_enabled + */ + public function setFileShareEnabled( $file_share_enabled) { + $this->file_share_enabled = $file_share_enabled; + } + + /** + * @return boolean + */ + public function isPrintShareEnabled() { + return $this->print_share_enabled; + } + + /** + * @param boolean $print_share_enabled + */ + public function setPrintShareEnabled( $print_share_enabled) { + $this->print_share_enabled = $print_share_enabled; + } + + /** + * @return boolean + */ + public function isLogonEnabled() { + return $this->logon_enabled; + } + + /** + * @param boolean $logon_enabled + */ + public function setLogonEnabled( $logon_enabled) { + $this->logon_enabled = $logon_enabled; + } + + /** + * @return string + */ + public function getLogonUser() { + return $this->logon_user; + } + + /** + * @param string $logon_user + */ + public function setLogonUser( $logon_user) { + $this->logon_user = $logon_user; + } + + /** + * @param string $logon_password + */ + public function setLogonPassword( $logon_password) { + $this->logon_password = $logon_password; + } + + /** + * @return string + */ + public function getWorkgroup() { + return $this->workgroup; + } + + /** + * @param string $workgroup + */ + public function setWorkgroup( $workgroup) { + $this->workgroup = $workgroup; + } + +} diff --git a/freebox/api/v3/services/config/NetworkShare/Afp.php b/freebox/api/v3/services/config/NetworkShare/Afp.php new file mode 100644 index 0000000..6ebba7b --- /dev/null +++ b/freebox/api/v3/services/config/NetworkShare/Afp.php @@ -0,0 +1,37 @@ +getAuthService( self::API_NETWORK_SHARE_AFP); + $rest->GET(); + + return new models\NetworkShare\AfpConfig( $rest->getCurlResponse()['result']); + } + + /** + * Update the Afp configuration + * @param \alphayax\freebox\api\v3\models\NetworkShare\AfpConfig $afpConfig + * @return \alphayax\freebox\api\v3\models\NetworkShare\AfpConfig + */ + public function setConfiguration( models\NetworkShare\AfpConfig $afpConfig){ + $rest = $this->getAuthService( self::API_NETWORK_SHARE_AFP); + $rest->PUT( $afpConfig->toArray()); + + return new models\NetworkShare\AfpConfig( $rest->getCurlResponse()['result']); + } + +} diff --git a/freebox/api/v3/services/config/NetworkShare/Samba.php b/freebox/api/v3/services/config/NetworkShare/Samba.php new file mode 100644 index 0000000..1ab5985 --- /dev/null +++ b/freebox/api/v3/services/config/NetworkShare/Samba.php @@ -0,0 +1,37 @@ +getAuthService( self::API_NETWORK_SHARE_SAMBA); + $rest->GET(); + + return new models\NetworkShare\SambaConfig( $rest->getCurlResponse()['result']); + } + + /** + * Update the Samba configuration + * @param \alphayax\freebox\api\v3\models\NetworkShare\SambaConfig $sambaConfig + * @return \alphayax\freebox\api\v3\models\NetworkShare\SambaConfig + */ + public function setConfiguration( models\NetworkShare\SambaConfig $sambaConfig){ + $rest = $this->getAuthService( self::API_NETWORK_SHARE_SAMBA); + $rest->PUT( $sambaConfig->toArray()); + + return new models\NetworkShare\SambaConfig( $rest->getCurlResponse()['result']); + } + +} diff --git a/freebox/api/v3/symbols/NetworkShare/AfpConfig/ServerType.php b/freebox/api/v3/symbols/NetworkShare/AfpConfig/ServerType.php new file mode 100644 index 0000000..8d72024 --- /dev/null +++ b/freebox/api/v3/symbols/NetworkShare/AfpConfig/ServerType.php @@ -0,0 +1,22 @@ +