You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2021/09/26 01:52:59 UTC

[openmeetings] 01/01: OPENMEETINGS-2674 Update and add section for PHP Composer client module.

This is an automated email from the ASF dual-hosted git repository.

sebawagner pushed a commit to branch feature/OPENMEETINGS-2674-update-with-php-example
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit f30ddd6597f8e495dba2725cbe9fc554d40ee6ba
Author: Sebastian Wagner <se...@gmail.com>
AuthorDate: Sun Sep 26 14:52:42 2021 +1300

    OPENMEETINGS-2674 Update and add section for PHP Composer client module.
---
 .../src/site/xdoc/RestAPISample.xml                | 60 ++++++++++++++++++++++
 openmeetings-server/src/site/xdoc/index.xml        | 15 ++++++
 2 files changed, 75 insertions(+)

diff --git a/openmeetings-server/src/site/xdoc/RestAPISample.xml b/openmeetings-server/src/site/xdoc/RestAPISample.xml
index f34520d..f8823f5 100644
--- a/openmeetings-server/src/site/xdoc/RestAPISample.xml
+++ b/openmeetings-server/src/site/xdoc/RestAPISample.xml
@@ -39,6 +39,66 @@
 				</div>
 			</div>
 		</section>
+		<section name="How to integrate using PHP and composer">
+			<p>You can integrate OpenMeetings via the Rest API into your PHP project.</p>
+			<div class="bd-callout bd-callout-info">
+				There is a community sponsored free module for integrating with see: <a href="https://github.com/om-hosting/openmeetings-php-client" target="_blank">openmeetings-php-client</a>
+			</div>
+			<p>Install the module</p>
+<source>
+php composer.phar install openmeetings-php-client
+</source>
+			<p>Eg generate a unique hash to enter a conference room:</p>
+				<ol>
+					<li>Login to service</li>
+					<li>Generate Hash for entering a conference room</li>
+					<li>Construct Login URL</li>
+				</ol>
+<source>
+$BASE_URL = "http://localhost:5080/openmeetings";
+
+//1. Login to service
+$config = new Configuration();
+$config->setHost($BASE_URL . '/services');
+$userApiInstance = new UserServiceApi(null, $config);
+$serviceResultLoginWrapper = $userApiInstance->login("soapuser", "!HansHans1");
+if ($serviceResultLoginWrapper->getServiceResult()->getType() != "SUCCESS") {
+    $text = "Login Failed " . $serviceResultLoginWrapper->getServiceResult()->getMessage();
+    return view('hello_index', ['text' => $text]);
+}
+$sid = $serviceResultLoginWrapper->getServiceResult()->getMessage();
+
+// 2. Generate Hash for entering a conference room
+$serviceResultHashWrapper = $userApiInstance->getRoomHash($sid,
+    new ExternalUserDTO(
+        array(
+            "firstname" => "John",
+            "lastname" => "Doe",
+            "external_id" => "uniqueId1",
+            "external_type" => "myCMS",
+            "login" => "john.doe",
+            "email" => "john.doe@gmail.com"
+        )
+    ),
+    new RoomOptionsDTO(
+        array(
+            "room_id" => 2,
+            "moderator" => true
+        )
+    )
+);
+
+// 3. Construct Login URL
+$hash = $serviceResultHashWrapper->getServiceResult()->getMessage();
+$url = $this->BASE_URL . "/hash?secure=".$hash;
+</source>
+		<p>Full sample source code can be found at <a href="https://github.com/om-hosting/openmeetings-php-laravel-sample-project" target="_BLANK">https://github.com/om-hosting/openmeetings-php-laravel-sample-project</a>
+		</p>
+		<p>You can find details about all API endpoints and examples at <a href="https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints" target="_blank">https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints</a></p>
+		<div class="bd-callout bd-callout-info">
+			A sample PHP use case for a website using Laravel can be found here: <a href="https://om-hosting.com/openmeetings-integration-php-composer/" target="_BLANK">https://om-hosting.com/openmeetings-integration-php-composer/</a>
+		</div>
+		</section>
 		<section name="How to integrate using Node.js">
 			<p>You can integrate OpenMeetings via the Rest API into your Node project.</p>
 			<div class="bd-callout bd-callout-info">
diff --git a/openmeetings-server/src/site/xdoc/index.xml b/openmeetings-server/src/site/xdoc/index.xml
index e6b14ad..61ef6ea 100644
--- a/openmeetings-server/src/site/xdoc/index.xml
+++ b/openmeetings-server/src/site/xdoc/index.xml
@@ -69,6 +69,21 @@
 		</section>
 		<section name="News">
 			<div class="bd-callout bd-callout-danger">
+				<div class="h4">PHP integration using composer module</div>
+				<div>You can now use a community contributed PHP composer module to make integration to OpenMeetings easier<br/><br/>
+					More information:
+					<ul>
+						<li>NPM module <a href="https://github.com/om-hosting/openmeetings-php-client" target="_blank">OpenMeetings PHP Client</a></li>
+						<li>OpenMeetings <a href="RestAPISample.html#how-to-integrate-using-php-and-composer">PHP Rest API sample</a></li>
+					</ul>
+					The PHP module makes use of the OpenMeetings Rest API which is now also available in OpenAPI 3.0 format: <a href="https://openmeetings.apache.org/swagger/" target="_blank">https://openmeetings.apache.org/swagger/</a>
+					<br/>
+					You can find details about all API endpoints and examples at <a href="https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints" target="_blank">https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints</a>
+				</div>
+				<br/>
+				<span class="date">(2021-09-26)</span>
+			</div>
+			<div class="bd-callout bd-callout-danger">
 				<div class="h4">OpenAPI, Swagger and Node.js integration</div>
 				<div>You can now use a community contributed Node.js module as well as use the OpenAPI Swagger Spec to make integration to OpenMeetings easier<br/><br/>
 					More information: