|
@@ -127,57 +127,6 @@ class WhispeakAuthPlugin extends Plugin
|
|
|
return api_get_path(WEB_PLUGIN_PATH).'whispeakauth/enrollment.php';
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @return string
|
|
|
- */
|
|
|
- private function getApiUrl()
|
|
|
- {
|
|
|
- $url = $this->get(self::SETTING_API_URL);
|
|
|
-
|
|
|
- return trim($url, " \t\n\r \v/");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @param string $endPoint
|
|
|
- * @param array $metadata
|
|
|
- * @param User $user
|
|
|
- * @param string $filePath
|
|
|
- *
|
|
|
- * @return array
|
|
|
- */
|
|
|
- private function sendRequest($endPoint, array $metadata, User $user, $filePath)
|
|
|
- {
|
|
|
- $moderator = $user->getCreatorId() ?: $user->getId();
|
|
|
- $apiUrl = $this->getApiUrl()."/$endPoint";
|
|
|
- $headers = [
|
|
|
- //"Content-Type: application/x-www-form-urlencoded",
|
|
|
- "Authorization: Bearer ".$this->get(self::SETTING_TOKEN),
|
|
|
- ];
|
|
|
- $post = [
|
|
|
- 'metadata' => json_encode($metadata),
|
|
|
- 'moderator' => "moderator_$moderator",
|
|
|
- 'client' => base64_encode($user->getUserId()),
|
|
|
- 'voice' => new CURLFile($filePath),
|
|
|
- ];
|
|
|
-
|
|
|
- $ch = curl_init();
|
|
|
- curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
|
|
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|
|
- curl_setopt($ch, CURLOPT_POST, true);
|
|
|
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
|
|
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
- $result = curl_exec($ch);
|
|
|
- curl_close($ch);
|
|
|
-
|
|
|
- $result = json_decode($result, true);
|
|
|
-
|
|
|
- if (!empty($result['error'])) {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- return json_decode($result, true);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* @param User $user
|
|
|
* @param string $filePath
|
|
@@ -286,4 +235,55 @@ class WhispeakAuthPlugin extends Plugin
|
|
|
|
|
|
api_not_allowed($printHeaders);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ private function getApiUrl()
|
|
|
+ {
|
|
|
+ $url = $this->get(self::SETTING_API_URL);
|
|
|
+
|
|
|
+ return trim($url, " \t\n\r \v/");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param string $endPoint
|
|
|
+ * @param array $metadata
|
|
|
+ * @param User $user
|
|
|
+ * @param string $filePath
|
|
|
+ *
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ private function sendRequest($endPoint, array $metadata, User $user, $filePath)
|
|
|
+ {
|
|
|
+ $moderator = $user->getCreatorId() ?: $user->getId();
|
|
|
+ $apiUrl = $this->getApiUrl()."/$endPoint";
|
|
|
+ $headers = [
|
|
|
+ //"Content-Type: application/x-www-form-urlencoded",
|
|
|
+ "Authorization: Bearer ".$this->get(self::SETTING_TOKEN),
|
|
|
+ ];
|
|
|
+ $post = [
|
|
|
+ 'metadata' => json_encode($metadata),
|
|
|
+ 'moderator' => "moderator_$moderator",
|
|
|
+ 'client' => base64_encode($user->getUserId()),
|
|
|
+ 'voice' => new CURLFile($filePath),
|
|
|
+ ];
|
|
|
+
|
|
|
+ $ch = curl_init();
|
|
|
+ curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
|
|
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|
|
+ curl_setopt($ch, CURLOPT_POST, true);
|
|
|
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
+ $result = curl_exec($ch);
|
|
|
+ curl_close($ch);
|
|
|
+
|
|
|
+ $result = json_decode($result, true);
|
|
|
+
|
|
|
+ if (!empty($result['error'])) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return json_decode($result, true);
|
|
|
+ }
|
|
|
}
|