public function isValid($data) { $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled' ? false : true; $isValid = parent::isValid($data); if (!$isSaas) { $master_harbor_input_port = $data['master_harbor_input_port']; $dj_harbor_input_port = $data['dj_harbor_input_port']; if ($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != "") { $element = $this->getElement("dj_harbor_input_port"); $element->addError("You cannot use same port as Master DJ port."); } if ($master_harbor_input_port != "") { if (is_numeric($master_harbor_input_port)) { if ($master_harbor_input_port != Application_Model_StreamSetting::getMasterLiveStreamPort()) { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $res = socket_bind($sock, 0, $master_harbor_input_port); if (!$res) { $element = $this->getElement("master_harbor_input_port"); $element->addError("Port '{$master_harbor_input_port}' is not available."); $isValid = false; } socket_close($sock); } } else { $isValid = false; } } if ($dj_harbor_input_port != "") { if (is_numeric($dj_harbor_input_port)) { if ($dj_harbor_input_port != Application_Model_StreamSetting::getDjLiveStreamPort()) { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $res = socket_bind($sock, 0, $dj_harbor_input_port); if (!$res) { $element = $this->getElement("dj_harbor_input_port"); $element->addError("Port '{$dj_harbor_input_port}' is not available."); $isValid = false; } socket_close($sock); } } else { $isValid = false; } } } return $isValid; }
public function isValid($data) { $isValid = parent::isValid($data); $master_harbor_input_port = $data['master_harbor_input_port']; $dj_harbor_input_port = $data['dj_harbor_input_port']; if ($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != "") { $element = $this->getElement("dj_harbor_input_port"); $element->addError(_("You cannot use same port as Master DJ port.")); $isValid = false; } if ($master_harbor_input_port != "") { if (is_numeric($master_harbor_input_port)) { if ($master_harbor_input_port != Application_Model_StreamSetting::getMasterLiveStreamPort()) { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); try { socket_bind($sock, 0, $master_harbor_input_port); } catch (Exception $e) { $element = $this->getElement("master_harbor_input_port"); $element->addError(sprintf(_("Port %s is not available"), $master_harbor_input_port)); $isValid = false; } socket_close($sock); } } else { $isValid = false; } } if ($dj_harbor_input_port != "") { if (is_numeric($dj_harbor_input_port)) { if ($dj_harbor_input_port != Application_Model_StreamSetting::getDjLiveStreamPort()) { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); try { socket_bind($sock, 0, $dj_harbor_input_port); } catch (Exception $e) { $element = $this->getElement("dj_harbor_input_port"); $element->addError(sprintf(_("Port %s is not available"), $dj_harbor_input_port)); $isValid = false; } socket_close($sock); } } else { $isValid = false; } } return $isValid; }