You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by op...@codespot.com on 2012/11/26 01:00:41 UTC

[openmeetings-sugarcrm-plugin] r3 committed - Move SugarCRM to apache-extras.org

Revision: 3
Author:   seba.wagner
Date:     Sun Nov 25 15:58:15 2012
Log:      Move SugarCRM to apache-extras.org
http://code.google.com/a/apache-extras.org/p/openmeetings-sugarcrm-plugin/source/detail?r=3

Added:
  /trunk/sugarcrm/.project
  /trunk/sugarcrm/CHANGELOG
  /trunk/sugarcrm/DISCLAIMER
  /trunk/sugarcrm/LICENSE
  /trunk/sugarcrm/NOTICE
  /trunk/sugarcrm/README.txt
  /trunk/sugarcrm/SugarModules
  /trunk/sugarcrm/SugarModules/language
  /trunk/sugarcrm/SugarModules/language/application
  /trunk/sugarcrm/SugarModules/language/application/en_us.lang.php
  /trunk/sugarcrm/SugarModules/logic_hooks.php
  /trunk/sugarcrm/SugarModules/modules
  /trunk/sugarcrm/SugarModules/modules/Administration
   
/trunk/sugarcrm/SugarModules/modules/Administration/DetailViewOpenmeetings.html
   
/trunk/sugarcrm/SugarModules/modules/Administration/DetailViewOpenmeetings.php
   
/trunk/sugarcrm/SugarModules/modules/Administration/EditViewOpenmeetings.html
   
/trunk/sugarcrm/SugarModules/modules/Administration/EditViewOpenmeetings.php
  /trunk/sugarcrm/SugarModules/modules/Administration/Ext
  /trunk/sugarcrm/SugarModules/modules/Administration/Ext/Menus
  /trunk/sugarcrm/SugarModules/modules/Administration/Ext/Menus/menu.ext.php
  /trunk/sugarcrm/SugarModules/modules/Administration/SaveOpenmeetings.php
  /trunk/sugarcrm/SugarModules/modules/Administration/language
   
/trunk/sugarcrm/SugarModules/modules/Administration/language/en_us_openmeetings.lang.php
  /trunk/sugarcrm/SugarModules/modules/Meetings
  /trunk/sugarcrm/SugarModules/modules/Meetings/logic_hooks.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings
  /trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets/openmeetingsDashlet
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets/openmeetingsDashlet/openmeetingsDashlet.meta.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets/openmeetingsDashlet/openmeetingsDashlet.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/language
  /trunk/sugarcrm/SugarModules/modules/openmeetings/language/en_us.lang.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/SearchFields.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/dashletviewdefs.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/detailviewdefs.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/editviewdefs.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/listviewdefs.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/metafiles.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/popupdefs.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/quickcreatedefs.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/searchdefs.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/studio.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/subpanels
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/subpanels/default.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway
  /trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/lib
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/lib/openmeetings_rest_service.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php
   
/trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/openmeetings_gateway.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_sugar.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/room_entrance.php
  /trunk/sugarcrm/SugarModules/modules/openmeetings/vardefs.php
  /trunk/sugarcrm/SugarModules/relationships
  /trunk/sugarcrm/SugarModules/relationships/language
  /trunk/sugarcrm/SugarModules/relationships/language/Meetings.php
  /trunk/sugarcrm/SugarModules/relationships/language/openmeetings.php
  /trunk/sugarcrm/SugarModules/relationships/layoutdefs
   
/trunk/sugarcrm/SugarModules/relationships/layoutdefs/openmeetings_meetings_openmeetings.php
  /trunk/sugarcrm/SugarModules/relationships/relationships
   
/trunk/sugarcrm/SugarModules/relationships/relationships/openmeetings_meetingsMetaData.php
  /trunk/sugarcrm/SugarModules/relationships/vardefs
   
/trunk/sugarcrm/SugarModules/relationships/vardefs/openmeetings_meetings_Meetings.php
   
/trunk/sugarcrm/SugarModules/relationships/vardefs/openmeetings_meetings_openmeetings.php
  /trunk/sugarcrm/build.xml
  /trunk/sugarcrm/dist
  /trunk/sugarcrm/dist/apache-rat-core-jar-0.8.jar
  /trunk/sugarcrm/dist/apache-rat-tasks-jar-0.8.jar
  /trunk/sugarcrm/dist/commons-cli-jar-1.2.jar
  /trunk/sugarcrm/dist/commons-collections-jar-3.2.1.jar
  /trunk/sugarcrm/dist/commons-io-jar-2.1.jar
  /trunk/sugarcrm/dist/commons-lang-jar-2.6.jar
  /trunk/sugarcrm/dist/ivy-2.3.0-rc1.jar
  /trunk/sugarcrm/icons
  /trunk/sugarcrm/icons/default
  /trunk/sugarcrm/icons/default/images
  /trunk/sugarcrm/icons/default/images/Createopenmeetings.gif
  /trunk/sugarcrm/icons/default/images/icon_Openmeetings.gif
  /trunk/sugarcrm/icons/default/images/icon_openmeetings_32.gif
  /trunk/sugarcrm/icons/default/images/logo.gif
  /trunk/sugarcrm/icons/default/images/openmeetings.gif
  /trunk/sugarcrm/ivy.xml
  /trunk/sugarcrm/ivysettings.xml
  /trunk/sugarcrm/ivysettings.xsd
  /trunk/sugarcrm/manifest.php

=======================================
--- /dev/null
+++ /trunk/sugarcrm/.project	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+
+<projectDescription>
+	<name>ApacheSugarCRM_6</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>net.sourceforge.phpeclipse.parserbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>net.sourceforge.phpeclipse.phpnature</nature>
+	</natures>
+</projectDescription>
=======================================
--- /dev/null
+++ /trunk/sugarcrm/CHANGELOG	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,4 @@
+Apache OpenMeetings SugarCRM Plugin Change Log
+
+  * Refactoring to use REST instead of SOAP/NuSOAP Library
+  * Adapt data type of externalUserId to string
=======================================
--- /dev/null
+++ /trunk/sugarcrm/DISCLAIMER	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,15 @@
+Apache OpenMeetings SugarCRM Plugin is an effort undergoing incubation at  
the Apache Software
+Foundation (ASF), sponsored by the Apache Incubator PMC.
+
+Incubation is required of all newly accepted projects until a further  
review
+indicates that the infrastructure, communications, and decision making  
process
+have stabilized in a manner consistent with other successful ASF projects.
+
+While incubation status is not necessarily a reflection of the completeness
+or stability of the code, it does indicate that the project has yet to be
+fully endorsed by the ASF.
+
+For more information about the incubation status of the OpenMeetings  
project you
+can go to the following page:
+
+http://incubator.apache.org/openmeetings/
=======================================
--- /dev/null
+++ /trunk/sugarcrm/LICENSE	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other  
modifications
+      represent, as a whole, an original work of authorship. For the  
purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces  
of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright  
owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control  
systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this  
License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
=======================================
--- /dev/null
+++ /trunk/sugarcrm/NOTICE	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,6 @@
+Apache OpenMeetings SugarCRM Plugin
+Copyright 2011-2012 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
=======================================
--- /dev/null
+++ /trunk/sugarcrm/README.txt	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,5 @@
+This SugarCRM plugin uses Apache OpenMeetings [Incbuating].
+You need your own Apache OpenMeetings instance running.
+
+Check out:
+http://incubator.apache.org/openmeetings/
=======================================
--- /dev/null
+++ /trunk/sugarcrm/SugarModules/language/application/en_us.lang.php	Sun  
Nov 25 15:58:15 2012
@@ -0,0 +1,34 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+
+$app_list_strings['moduleList']['openmeetings'] = 'OpenMeetings';
+$app_list_strings['room_type_list']['1'] = 'Conference (max 20 Users  
recommended, Democratic)';
+$app_list_strings['room_type_list']['2'] = 'Audience (max 50 Users  
recommended, Moderated)';
+$app_list_strings['room_type_list']['3'] = 'Restricted (max 150 Users  
recommended, Moderated)';
+$app_list_strings['room_type_list']['4'] = 'Interview (Only 2 Users, no  
Whiteboard, Record Audio/Video, Moderated)';
+$app_list_strings['number_of_partizipants_list']['2'] = '2';
+$app_list_strings['number_of_partizipants_list']['5'] = '5';
+$app_list_strings['number_of_partizipants_list']['10'] = '10';
+$app_list_strings['number_of_partizipants_list']['20'] = '20';
+$app_list_strings['number_of_partizipants_list']['50'] = '50';
+$app_list_strings['number_of_partizipants_list']['100'] = '100';
+$app_list_strings['number_of_partizipants_list']['150'] = '150';
+$app_list_strings['number_of_partizipants_list']['200'] = '200';
=======================================
--- /dev/null
+++ /trunk/sugarcrm/SugarModules/logic_hooks.php	Sun Nov 25 15:58:15 2012
@@ -0,0 +1,33 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$hook_version = 1;
+$hook_array = Array();
+
+$hook_array['before_save'] = Array();
+$hook_array['before_save'][] =  
Array(1, 'OpenMeetings', 'modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php','openmeetingsRoomManagament', 'addUpdateRoomWithModerationExternalTypeAndTopBarOption');
+
+$hook_array['before_delete'] = Array();
+$hook_array['before_delete'][] =  
Array(1, 'OpenMeetings', 'modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php','openmeetingsRoomManagament', 'deleteRoom');
+
+//$hook_array['before_save'][] =  
Array(2, 'OpenMeetings', 'modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php','openmeetingsRoomManagament', 'getInvitationHash');
+
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/DetailViewOpenmeetings.html	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,85 @@
+<!--
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+-->
+<!-- BEGIN: main -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0">
+<form action="index.php" method="post" name="DetailView" id="form">
+    <input type="hidden" name="module" value="Administration">
+    <input type="hidden" name="record" value="{ID}">
+    <input type="hidden" name="isDuplicate" value=false>
+    <input type="hidden" name="action">
+    <input type="hidden" name="user_name" value="{USER_NAME}">
+    <input type="hidden" name="password_change">
+    <input type="hidden" name="old_password">
+    <input type="hidden" name="new_password">
+    <input type="hidden" name="return_module">
+    <input type="hidden" name="return_action">
+    <input type="hidden" name="return_id">
+
+    <tr><td nowrap style="padding-bottom: 2px;">
+    <input title='Edit [Alt+E]' accessKey='E' class='button'  
onclick="this.form.return_module.value='Administration';  
this.form.return_action.value='DetailViewOpenmeetings';  
this.form.return_id.value='{ID}';  
this.form.action.value='EditViewOpenmeetings'" type='submit' name='Edit'  
value='  Edit  '>
+    {BUTTONS111}</td></tr>
+</form>
+</table>
+
+
+
+<p>	<table width="100%" border="0" cellspacing="0" cellpadding="0"  
class="tabDetailView">
+
+    <tr>
+    <th colspan='4' align="left" class="tabDetailViewDL" width="100%"  
valign="top"><h4  
class="tabDetailViewDL"><slot>{MOD.OPENMEETINGS_ACC_SETT}</slot></h4></th>
+    </tr>
+
+    <tr>
+    <td width="20%"  valign="top"  
class="tabDetailViewDL"><slot>{MOD.OPENMEETINGS_URL}:</slot></td>
+    <td width="85%" valign="top"  
class="tabDetailViewDF"><slot>{OPENMEETINGS_URL}&nbsp;</slot></td>
+    </tr>
+
+    <tr>
+    <td width="20%" valign="top"  
class="tabDetailViewDL"><slot>{MOD.OPENMEETINGS_HTTP_PORT}:</slot></td>
+    <td width="85%" valign="top"  
class="tabDetailViewDF"><slot>{OPENMEETINGS_HTTP_PORT}&nbsp;</slot></td>
+    </tr>
+
+    <tr>
+    <td width="20%" valign="top"  
class="tabDetailViewDL"><slot>{MOD.OPENMEETINGS_USERNAME}:</slot></td>
+    <td width="85%" valign="top"  
class="tabDetailViewDF"><slot>{OPENMEETINGS_USERNAME}&nbsp;</slot></td>
+    </tr>
+
+    <tr>
+    <td width="20%" valign="top"  
class="tabDetailViewDL"><slot>{MOD.LBL_OPENMEETINGS_PASS}:</slot></td>
+    <td width="85%" valign="top"  
class="tabDetailViewDF"><slot>************&nbsp;</slot></td>
+    </tr>
+
+     <tr>
+    <td width="20%" valign="top"  
class="tabDetailViewDL"><slot>{MOD.OPENMEETINGS_LANGUAGE}:</slot></td>
+    <td colspan=4 width="85%" valign="top"  
class="tabDetailViewDF"><slot>{OPENMEETINGS_LANGUAGE}&nbsp;</slot></td>
+    </tr>
+
+   </table>
+
+
+
+<!-- END: main -->
+
+<!-- BEGIN: user_settings -->
+
+
+
+<!-- END: user_info -->
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/DetailViewOpenmeetings.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,284 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+
+require_once('include/DetailView/DetailView.php');
+require_once('include/export_utils.php');
+require_once('include/timezone/timezones.php');
+require_once('include/utils.php');
+//require_once('modules/Users/User.php');
+require_once('modules/Administration/Administration.php');
+
+global $current_user;
+global $theme;
+global $app_strings;
+global $mod_strings;
+global $timezones;
+ if  
(file_exists("custom/modules/Administration/Ext/Language/en_us.lang.ext.php")){
+require_once("custom/modules/Administration/Ext/Language/en_us.lang.ext.php");
+}
+if  
(file_exists("custom/modules/Administration/Ext/Language/ge_ge.lang.ext.php")){
+require_once("custom/modules/Administration/Ext/Language/ge_ge.lang.ext.php");
+}
+#if (!is_admin($current_user) && ($_REQUEST['record'] !=  
$current_user->id)) sugar_die("Unauthorized access to administration.");
+
+
+
+##########################         OPENMEETINGS ADDRESS
+
+ $sq = "select * from config where category='info' and  
name='openmeetings_url'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_url = $row['value'];
+           }
+     if  ($openmeetings_url==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_url','localhost')";
+  $result= $db->query($sq, 1);
+  $openmeetings_url='localhost';
+         }
+######################   OPENMEETINGS PORT
+
+$sq = "select * from config where category='info' and  
name='openmeetings_http_port'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_http_port = $row['value'];
+           }
+     if  ($openmeetings_http_port==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_http_port','5080')";
+  $result= $db->query($sq, 1);
+  $openmeetings_http_port='5080';
+         }
+
+####################### OPENMEETINGS USERNAME  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_username'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_username = $row['value'];
+           }
+     if  ($openmeetings_username==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_username','admin')";
+  $result= $db->query($sq, 1);
+  $openmeetings_username='admin';
+         }
+
+
+####################### OPENMEETINGS PASSWORD  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_password'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_password = $row['value'];
+           }
+     if  ($openmeetings_password==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_password','****')";
+  $result= $db->query($sq, 1);
+  $openmeetings_password='admin';
+         }
+
+
+####################### OPENMEETINGS LANGUAGE  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_language'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_language = $row['value'];
+           }
+     if  ($openmeetings_language==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_language','1')";
+  $result= $db->query($sq, 1);
+  $openmeetings_language='1';
+         }
+##############################################################################################
+
+
+$focus = new User();
+ # echo "aaa";
+  #        exit;
+$detailView = new DetailView();
+$offset=0;
+#if (isset($_REQUEST['offset']) || !empty($_REQUEST['record'])) {
+	#$result = $detailView->processSugarBean("Administration", $focus,  
$offset);
+	#if($result == null) {
+	#    sugar_die($app_strings['ERROR_NO_RECORD']);
+	#}
+	#$focus=$result;
+#} else {
+#	header("Location: index.php?module=Administration&action=index");
+#}
+
+
+echo "\n<p>\n";
+echo get_module_title($mod_strings['LBL_MODULE_NAME'],  
$mod_strings['LBL_MODULE_NAME'].": ".$mod_strings['OPENMEETINGS_LINK_EDIT'],  
true);
+echo "\n</p>\n";
+global $theme;
+global $app_list_strings;
+$theme_path="themes/".$theme."/";
+$image_path=$theme_path."images/";
+require_once($theme_path.'layout_utils.php');
+
+
+$GLOBALS['log']->info("Administration detail view");
+
+$xtpl=new XTemplate ('modules/Administration/DetailViewOpenmeetings.html');
+$xtpl->assign("MOD", $mod_strings);
+$xtpl->assign("APP", $app_strings);
+
+$xtpl->assign("THEME", $theme);
+$xtpl->assign("GRIDLINE", $gridline);
+$xtpl->assign("IMAGE_PATH",  
$image_path);$xtpl->assign("PRINT_URL", "index.php?".$GLOBALS['request_string']);
+$xtpl->assign("ID", $focus->id);
+$xtpl->assign("USER_NAME", $focus->user_name);
+$xtpl->assign("FULL_NAME", $focus->full_name);
+
+ $xtpl->assign('OPENMEETINGS_URL', $openmeetings_url);
+ $xtpl->assign('OPENMEETINGS_HTTP_PORT', $openmeetings_http_port);
+
+
+///////////////////////////////////////////////////////////////////////////////
+////	TO SUPPORT LEGACY XTEMPLATES
+$xtpl->assign('FIRST_NAME', $focus->first_name);
+$xtpl->assign('LAST_NAME', $focus->last_name);
+////	END SUPPORT LEGACY XTEMPLATES
+///////////////////////////////////////////////////////////////////////////////
+
+
+require_once('modules/DynamicFields/templates/Files/DetailView.php');
+
+if ($openmeetings_language == 1){
+	$om_language = "englisch";
+}
+if ($openmeetings_language == 2){
+	$om_language = "deutsch";
+}
+if ($openmeetings_language == 3){
+	$om_language = "french";
+}
+if ($openmeetings_language == 4){
+	$om_language = "italian";
+}
+if ($openmeetings_language == 5){
+	$om_language = "portugues";
+}
+if ($openmeetings_language == 6){
+	$om_language = "portugues brazil";
+}
+if ($openmeetings_language == 7){
+	$om_language = "spanish";
+}
+if ($openmeetings_language == 8){
+	$om_language = "russian";
+}
+if ($openmeetings_language == 9){
+	$om_language = "swedish";
+}
+if ($openmeetings_language == 10){
+	$om_language = "chinese simplified";
+}
+if ($openmeetings_language == 11){
+	$om_language = "chinese traditional";
+}
+if ($openmeetings_language == 12){
+	$om_language = "korean";
+}
+if ($openmeetings_language == 13){
+	$om_language = "arabic";
+}
+if ($openmeetings_language == 14){
+	$om_language = "japanese";
+}
+if ($openmeetings_language == 15){
+	$om_language = "indonesian";
+}
+if ($openmeetings_language == 16){
+	$om_language = "hungarian";
+}
+if ($openmeetings_language == 17){
+	$om_language = "turkish";
+}
+if ($openmeetings_language == 18){
+	$om_language = "ukrainian";
+}
+if ($openmeetings_language == 19){
+	$om_language = "thai";
+}
+if ($openmeetings_language == 20){
+	$om_language = "persian";
+}
+if ($openmeetings_language == 21){
+	$om_language = "czech";
+}
+if ($openmeetings_language == 22){
+	$om_language = "galician";
+}
+if ($openmeetings_language == 23){
+	$om_language = "finnish";
+}
+if ($openmeetings_language == 24){
+	$om_language = "polish";
+}
+if ($openmeetings_language == 25){
+	$om_language = "greek";
+}
+if ($openmeetings_language == 26){
+	$om_language = "dutch";
+}
+if ($openmeetings_language == 27){
+	$om_language = "hebrew";
+}
+
+
+
+$xtpl->assign('OPENMEETINGS_USERNAME', $openmeetings_username);
+$xtpl->assign('OPENMEETINGS_LANGUAGE', $om_language);
+
+$xtpl->parse("user_info.tabchooser");
+
+
+$xtpl->parse("main");
+$xtpl->out("main");
+
+
+$xtpl->parse("user_info.layoutopts");
+$xtpl->parse("user_info");
+$xtpl->out("user_info");
+
+
+
+echo "</td></tr>\n";
+
+require_once('modules/SavedSearch/SavedSearch.php');
+$savedSearch = new SavedSearch();
+$json = getJSONobj();
+$savedSearchSelects =  
$json->encode(array($GLOBALS['app_strings']['LBL_SAVED_SEARCH_SHORTCUT'] . '<br>' .  
$savedSearch->getSelect('Users')));
+$str = "<script>
+YAHOO.util.Event.addListener(window, 'load', SUGAR.util.fillShortcuts,  
$savedSearchSelects);
+</script>";
+echo $str;
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/EditViewOpenmeetings.html	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,173 @@
+<!--
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+-->
+<!-- BEGIN: main -->
+{ROLLOVER}
+<script type="text/javascript" lang="Javascript"  
src="modules/InboundEmail/InboundEmail.js"></script>
+{ERROR_STRING}
+<form name="EditView" id="EditView" method="POST" action="index.php">
+	<input type="hidden" name="display_tabs_def">
+	<input type="hidden" name="hide_tabs_def">
+	<input type="hidden" name="remove_tabs_def">
+	<input type="hidden" name="module" value="Administration">
+	<input type="hidden" name="record" value="{ID}">
+	<input type="hidden" name="action">
+	<input type="hidden" name="return_module" value="{RETURN_MODULE}">
+	<input type="hidden" name="return_id" value="{RETURN_ID}">
+	<input type="hidden" name="return_action" value="DetailViewOpenmeetings">
+	<input type="hidden" name="password_change" value="false">
+	<input type="hidden" name="old_password">
+   <input type="hidden" name="new_password">
+	<input type="hidden" name="user_name" value="{USER_NAME}">
+	<input type="hidden" name="type" value="{REDIRECT_EMAILS_TYPE}">
+
+
+
+<table width="100%" cellpadding="0" cellspacing="0" border="0">
+	<tr>
+		<td style="padding-bottom: 2px;">
+			<input	title="{APP.LBL_SAVE_BUTTON_TITLE}"  
accessKey="{APP.LBL_SAVE_BUTTON_KEY}"
+					class="button" onclick="this.form.action.value='SaveOpenmeetings';  
{REASSIGN_JS} {CHOOSER_SCRIPT} return verify_data(EditView);"
+					type="submit" name="button" value="  {APP.LBL_SAVE_BUTTON_LABEL}  " >
+			<input	title="{APP.LBL_CANCEL_BUTTON_TITLE}"  
accessKey="{APP.LBL_CANCEL_BUTTON_KEY}"
+					class="button" onclick="this.form.action.value='{RETURN_ACTION}';  
this.form.module.value='{RETURN_MODULE}';  
this.form.record.value='{RETURN_ID}'"
+					type="submit" name="button" value="  {APP.LBL_CANCEL_BUTTON_LABEL}  ">
+			{CHANGE_PASSWORD_BUTTON111111}
+		</td>
+		<td align="right" nowrap><span  
class="required">{APP.LBL_REQUIRED_SYMBOL}</span> {APP.NTC_REQUIRED}</td>
+	</tr>
+</table>
+
+<div id="basic">
+<table width="100%" border="0" cellspacing="0" cellpadding="0"  
class="tabForm">
+	    <tr>
+		<td>
+			<table width="100%" border="0" cellspacing="0" cellpadding="0">
+
+                <tr>
+    <th colspan='4' align="left"  width="100%" valign="top"><h4  
class="tabDetailViewDL"><slot>{MOD.Openmeetings_ACC_SETT}</slot></h4></th>
+    </tr>
+
+ 				 <tr>
+                    <td width="25%"  
class="dataLabel"><slot>{MOD.OPENMEETINGS_URL}:</slot></td>
+                    <td colspan=2 width="35%"  
class="dataField"><slot><input id='openmeetings_url'   
name='openmeetings_url' type="text" {OPENMEETINGS_URL_DISABLED}  
value='{OPENMEETINGS_URL}'  tabindex='2' size='35' maxlength='255'  
></slot></td>
+             </tr>
+             <tr>
+    						<td width="25%"  
class="dataLabel"><slot>{MOD.OPENMEETINGS_HTTP_PORT}:</slot></td>
+    						<td width="85%" class="dataField"><slot><input  
name='openmeetings_http_port' id='openmeetings_http_port'  tabindex='1'  
size='25' maxlength='255' type="text"  
value="{OPENMEETINGS_HTTP_PORT}"></slot></td>
+   			 </tr>
+    			<tr>
+					<td width="25%"  
class="dataLabel"><slot>{MOD.OPENMEETINGS_USERNAME}:</slot></td>
+					<td width="35%" class="dataField"><slot><input  
name='openmeetings_username' id='openmeetings_username'  tabindex='1'  
size='25' maxlength='255' type="text"  
value="{OPENMEETINGS_USERNAME}"></slot></td>
+				</tr>
+				<tr>
+					<td width="25%"  
class="dataLabel"><slot>{MOD.LBL_OPENMEETINGS_PASS}:<span  
class="required">{APP.LBL_REQUIRED_SYMBOL}</span></slot></td>
+					<td width="35%" class="dataField"><slot><input  
name='openmeetings_password' type="password"  tabindex='2' size='25'  
maxlength='25' value='{OPENMEETINGS_PASSWORD}' /></slot></td>
+				</tr>
+				 <tr>
+    						<td width="25%"  
class="dataLabel"><slot>{MOD.OPENMEETINGS_LANGUAGE}:</slot></td>
+    						<td colspan=4 width="85%" class="dataField"><slot>
+
+
+							<select name="openmeetings_language" id="openmeetings_language"  
size="1">
+
+								<option value="1" {IS_ENGLISH}>english</option>
+								<option value="2" {IS_GERMAN}>deutsch</option>
+								<option value="3" {IS_FRENCH}>french</option>
+
+								<option value="4"{IS_ITALIAN}>italian</option>
+								<option value="5"{IS_PORTUGUES}>portugues</option>
+								<option value="6"{IS_PORTUGUES_BRAZIL}>portugues brazil</option>
+								<option value="7"{IS_SPANISH}>spanish</option>
+								<option value="8"{IS_RUSSIAN}>russian</option>
+								<option value="9"{IS_SWEDISH}>swedish</option>
+								<option value="10"{IS_SHINESE_SIM}>chinese simplified</option>
+								<option value="11"{IS_SHINESE_TRAD}>chinese traditional</option>
+								<option value="12"{IS_KOREAN}>korean</option>
+								<option value="13"{IS_ARABIC}>arabic</option>
+								<option value="14"{IS_JAPANESE}>japanese</option>
+								<option value="15"{IS_INDONESIAN}>indonesian</option>
+								<option value="16"{IS_HUNGARIAN}>hungarian</option>
+								<option value="17"{IS_TRUKISH}>turkish</option>
+								<option value="18"{IS_UKRAINIAN}>ukrainian</option>
+								<option value="19"{IS_THAI}>thai</option>
+								<option value="20"{IS_PERSIAN}>persian</option>
+								<option value="21"{IS_CZECH}>czech</option>
+								<option value="22"{IS_GALICIAN}>galician</option>
+								<option value="23"{IS_FINNNISH}>finnish</option>
+								<option value="24"{IS_POLISH}>polish</option>
+								<option value="25"{IS_GREEK}>greek</option>
+								<option value="26"{IS_DUTCH}>dutch</option>
+								<option value="27"{IS_HEBREW}>hebrew</option>
+
+						    </select>
+
+
+<!--input name='openmeetings_language' id='openmeetings_language'   
tabindex='1' size='25' maxlength='255' type="text"  
value="{LBL_OPENMEETINGS_LANGUAGE}">&nbsp;</slot></td-->
+    			</tr>
+
+
+     </table>
+   </tr>
+   </table>
+
+
+
+
+
+    <script type="text/javascript">
+
+    </script>
+
+    </tr>
+
+			</table>
+		</td>
+	</tr>
+</table>
+<br />
+</div>
+
+
+
+
+
+{JAVASCRIPT}
+<script type="text/javascript" language="Javascript">
+	// javascript moved to User.js
+	var old_load = window.onload;
+	window.onload = function() {
+		old_load();
+		enable_change_password_button();
+	}
+{getNameJs}
+{getNumberJs}
+{currencySymbolJs}
+	setSymbolValue(document.getElementById('currency_select').selectedIndex);
+	setSigDigits();
+
+{confirmReassignJs}
+
+
+</script>
+
+</form>
+
+<!-- END: main -->
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/EditViewOpenmeetings.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,350 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once('XTemplate/xtpl.php');
+
+require_once('include/export_utils.php');
+require_once('modules/Users/User.php');
+require_once('modules/Users/Forms.php');
+require_once('modules/Users/UserSignature.php');
+require_once('modules/Administration/Administration.php');
+require_once('include/javascript/javascript.php');
+
+$admin = new Administration();
+$admin->retrieveSettings("notify");
+
+global $app_strings;
+global $app_list_strings;
+global $mod_strings;
+  if (file_exists("custom/modules/Users/Ext/Language/en_us.lang.ext.php")){
+require_once("custom/modules/Users/Ext/Language/en_us.lang.ext.php");
+}
+if (file_exists("custom/modules/Users/Ext/Language/ge_ge.lang.ext.php")){
+require_once("custom/modules/Users/Ext/Language/ge_ge.lang.ext.php");
+}
+$admin = new Administration();
+$admin->retrieveSettings();
+
+
+if(!is_admin($current_user) ) sugar_die("Unauthorized access to  
administration.");
+
+
+##########################         OPENMEETINGS ADDRESS
+
+ $sq = "select * from config where category='info' and  
name='openmeetings_url'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_url = $row['value'];
+           }
+     if  ($openmeetings_url==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_url','localhost')";
+  $result= $db->query($sq, 1);
+  $openmeetings_url='localhost';
+         }
+###################### OPENMEETINGS PORT
+$sq = "select * from config where category='info' and  
name='openmeetings_http_port'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_http_port = $row['value'];
+           }
+     if  ($openmeetings_http_port==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_http_port','5080')";
+  $result= $db->query($sq, 1);
+  $openmeetings_http_port='5080';
+         }
+######################
+
+####################### OPENMEETINGS USERNAME  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_username'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_username = $row['value'];
+           }
+     if  ($openmeetings_username==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_username','admin')";
+  $result= $db->query($sq, 1);
+  $openmeetings_username='admin';
+         }
+
+
+####################### OPENMEETINGS USEPASS  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_password'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_password = $row['value'];
+           }
+     if  ($openmeetings_password==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_password','****')";
+  $result= $db->query($sq, 1);
+  $openmeetings_password='admin';
+         }
+
+
+####################### OPENMEETINGS LANGUAGE  
##############################################
+$sq = "select * from config where category='info' and  
name='openmeetings_language'";
+global $db;
+$result= $db->query($sq, true);
+              while($row = $db->fetchByAssoc($result))
+            {
+                $openmeetings_language = $row['value'];
+           }
+     if  ($openmeetings_language==""){
+        $sq = "insert into config (category,name,value) values  
('info','openmeetings_language','1')";
+  $result= $db->query($sq, 1);
+  $openmeetings_language='1';
+         }
+##############################################################################################
+
+$focus = new User();
+
+
+if(isset($_REQUEST['record'])) {
+    $focus->retrieve($_REQUEST['record']);
+}
+if(isset($_REQUEST['isDuplicate']) && $_REQUEST['isDuplicate'] == 'true') {
+	$focus->id = "";
+	$focus->user_name = "";
+}
+echo "\n<p>\n";
+echo get_module_title($mod_strings['LBL_MODULE_NAME'],  
$mod_strings['LBL_MODULE_NAME'].": ".$mod_strings['OPENMEETINGS_LINK_EDIT'],  
true);
+echo "\n</p>\n";
+global $theme;
+$theme_path='themes/'.$theme.'/';
+$image_path=$theme_path.'images/';
+require_once($theme_path.'layout_utils.php');
+
+$GLOBALS['log']->info('Administration edit view');
+$xtpl=new XTemplate('modules/Administration/EditViewOpenmeetings.html');
+$xtpl->assign('MOD', $mod_strings);
+$xtpl->assign('APP', $app_strings);
+
+if(isset($_REQUEST['error_string'])) $xtpl->assign('ERROR_STRING', '<span  
class="error">Error: '.$_REQUEST['error_string'].'</span>');
+if(isset($_REQUEST['return_module'])) $xtpl->assign('RETURN_MODULE',  
$_REQUEST['return_module']);
+if(isset($_REQUEST['return_action']))  
$xtpl->assign('RETURN_ACTION', "DetailViewOpenmeetings");
+if(isset($_REQUEST['return_id'])) $xtpl->assign('RETURN_ID',  
$_REQUEST['return_id']);
+else { $xtpl->assign('RETURN_ACTION', 'ListView'); }
+
+$xtpl->assign('JAVASCRIPT',  
get_set_focus_js().user_get_validate_record_js().user_get_chooser_js().user_get_confsettings_js().'<script  
type="text/javascript" language="Javascript"  
src="modules/Users/User.js"></script>');
+$xtpl->assign('IMAGE_PATH',  
$image_path);$xtpl->assign('PRINT_URL', 'index.php?'.$GLOBALS['request_string']);
+$xtpl->assign('ID', $focus->id);
+$xtpl->assign('USER_NAME', $focus->user_name);
+
+
+$xtpl->assign('OPENMEETINGS_USERNAME', $openmeetings_username);
+$xtpl->assign('OPENMEETINGS_PASSWORD', $openmeetings_password);
+//$xtpl->assign('OPENMEETINGS_LANGUAGE', $openmeetings_language);
+
+$IS_ENGLISH = "";
+if ($openmeetings_language == 1) {
+	$IS_ENGLISH = "selected";
+}
+$xtpl->assign('IS_ENGLISH', $IS_ENGLISH);
+
+$IS_GERMAN = "";
+if ($openmeetings_language == "2") {
+	$IS_GERMAN = "selected";
+}
+$xtpl->assign('IS_GERMAN', $IS_GERMAN);
+
+$IS_FRENCH = "";
+if ($openmeetings_language == "3") {
+	$IS_FRENCH = "selected";
+}
+$xtpl->assign('IS_FRENCH', $IS_FRENCH);
+
+$IS_ITALIAN = "";
+if ($openmeetings_language == "4") {
+	$IS_ITALIAN = "selected";
+}
+$xtpl->assign('IS_ITALIAN', $IS_ITALIAN);
+
+$IS_PORTUGUES = "";
+if ($openmeetings_language == "5") {
+	$IS_PORTUGUES = "selected";
+}
+$xtpl->assign('IS_PORTUGUES', $IS_PORTUGUES);
+
+$IS_PORTUGUES_BRAZIL = "";
+if ($openmeetings_language == "6") {
+	$IS_PORTUGUES_BRAZIL = "selected";
+}
+$xtpl->assign('IS_PORTUGUES_BRAZIL', $IS_PORTUGUES_BRAZIL);
+
+$IS_SPANISH = "";
+if ($openmeetings_language == "7") {
+	$IS_SPANISH = "selected";
+}
+$xtpl->assign('IS_SPANISH', $IS_SPANISH);
+
+$IS_RUSSIAN = "";
+if ($openmeetings_language == "8") {
+	$IS_RUSSIAN = "selected";
+}
+$xtpl->assign('IS_RUSSIAN', $IS_RUSSIAN);
+
+$IS_SWEDISH = "";
+if ($openmeetings_language == "9") {
+	$IS_SWEDISH = "selected";
+}
+$xtpl->assign('IS_SWEDISH', $IS_SWEDISH);
+
+$IS_SHINESE_SIM = "";
+if ($openmeetings_language == "10") {
+	$IS_SHINESE_SIM = "selected";
+}
+$xtpl->assign('IS_SHINESE_SIM', $IS_SHINESE_SIM);
+
+$IS_SHINESE_TRAD = "";
+if ($openmeetings_language == "11") {
+	$IS_SHINESE_TRAD = "selected";
+}
+$xtpl->assign('IS_SHINESE_TRAD', $IS_SHINESE_TRAD);
+
+$IS_KOREAN = "";
+if ($openmeetings_language == "12") {
+	$IS_KOREAN = "selected";
+}
+$xtpl->assign('IS_KOREAN', $IS_KOREAN);
+
+$IS_ARABIC = "";
+if ($openmeetings_language == "13") {
+	$IS_ARABIC = "selected";
+}
+$xtpl->assign('IS_ARABIC', $IS_ARABIC);
+
+$IS_JAPANESE = "";
+if ($openmeetings_language == "14") {
+	$IS_JAPANESE = "selected";
+}
+$xtpl->assign('IS_JAPANESE', $IS_JAPANESE);
+
+$IS_INDONESIAN = "";
+if ($openmeetings_language == "15") {
+	$IS_INDONESIAN = "selected";
+}
+$xtpl->assign('IS_INDONESIAN', $IS_INDONESIAN);
+
+$IS_HUNGARIAN = "";
+if ($openmeetings_language == "16") {
+	$IS_HUNGARIAN = "selected";
+}
+$xtpl->assign('IS_HUNGARIAN', $IS_HUNGARIAN);
+
+$IS_TRUKISH = "";
+if ($openmeetings_language == "17") {
+	$IS_TRUKISH = "selected";
+}
+$xtpl->assign('IS_TRUKISH', $IS_TRUKISH);
+
+$IS_UKRAINIAN = "";
+if ($openmeetings_language == "18") {
+	$IS_UKRAINIAN = "selected";
+}
+$xtpl->assign('IS_UKRAINIAN', $IS_UKRAINIAN);
+
+$IS_THAI = "";
+if ($openmeetings_language == "19") {
+	$IS_THAI = "selected";
+}
+$xtpl->assign('IS_THAI', $IS_THAI);
+
+$IS_PERSIAN = "";
+if ($openmeetings_language == "20") {
+	$IS_PERSIAN = "selected";
+}
+$xtpl->assign('IS_PERSIAN', $IS_PERSIAN);
+
+$IS_CZECH = "";
+if ($openmeetings_language == "21") {
+	$IS_CZECH = "selected";
+}
+$xtpl->assign('IS_CZECH', $IS_CZECH);
+
+$IS_GALICIAN = "";
+if ($openmeetings_language == "22") {
+	$IS_GALICIAN = "selected";
+}
+$xtpl->assign('IS_GALICIAN', $IS_GALICIAN);
+
+$IS_FINNNISH = "";
+if ($openmeetings_language == "23") {
+	$IS_FINNNISH = "selected";
+}
+$xtpl->assign('IS_FINNNISH', $IS_FINNNISH);
+
+$IS_POLISH = "";
+if ($openmeetings_language == "24") {
+	$IS_POLISH = "selected";
+}
+$xtpl->assign('IS_POLISH', $IS_POLISH);
+
+$IS_GREEK = "";
+if ($openmeetings_language == "25") {
+	$IS_GREEK = "selected";
+}
+$xtpl->assign('IS_GREEK', $IS_GREEK);
+
+
+$IS_DUTCH = "";
+if ($openmeetings_language == "26") {
+	$IS_DUTCH = "selected";
+}
+$xtpl->assign('IS_DUTCH', $IS_DUTCH);
+
+
+$IS_HEBREW = "";
+if ($openmeetings_language == "27") {
+	$IS_HEBREW = "selected";
+}
+$xtpl->assign('IS_DUTCH', $IS_HEBREW);
+
+
+$xtpl->assign('LBL_OPENMEETINGS_LANGUAGE', $openmeetings_language);
+$xtpl->assign('OPENMEETINGS_URL', $openmeetings_url);
+$xtpl->assign('OPENMEETINGS_HTTP_PORT', $openmeetings_http_port);
+
+
+if(!is_admin($current_user)){
+    $xtpl->assign('OPENMEETINGS_URL_DISABLED', 'disabled');
+}
+
+if(!is_admin($current_user)){
+    $xtpl->assign('ALLOWUSERS_STATUS', 'disabled');
+}
+
+
+
+   $xtpl->parse('main');
+$xtpl->out('main');
+
+
+
+
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/Ext/Menus/menu.ext.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,38 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+global $mod_strings;
+global $current_user;
+if  
(file_exists("custom/modules/Administration/Ext/Language/en_us.lang.ext.php")){
+require_once("custom/modules/Administration/Ext/Language/en_us.lang.ext.php");
+}
+if  
(file_exists("custom/modules/Administration/Ext/Language/ge_ge.lang.ext.php")){
+require_once("custom/modules/Administration/Ext/Language/ge_ge.lang.ext.php");
+}
+
+//$guserid=$_REQUEST['record'];
+
+        $module_menu[] =
+    Array("index.php?module=Administration&action=DetailViewOpenmeetings",  
$mod_strings['OPENMEETINGS_LINK_EDIT'],"logo");
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/SaveOpenmeetings.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,80 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+//require_once('modules/Users/User.php');
+require_once('modules/MySettings/TabController.php');
+
+$display_tabs_def = urldecode($_REQUEST['display_tabs_def']);
+$hide_tabs_def = urldecode($_REQUEST['hide_tabs_def']);
+$remove_tabs_def = urldecode($_REQUEST['remove_tabs_def']);
+
+$DISPLAY_ARR = array();
+$HIDE_ARR = array();
+$REMOVE_ARR = array();
+
+
+parse_str($display_tabs_def,$DISPLAY_ARR);
+parse_str($hide_tabs_def,$HIDE_ARR);
+parse_str($remove_tabs_def,$REMOVE_ARR);
+
+if (isset($_POST['record']) && !is_admin($current_user) &&  
$_POST['record'] != $current_user->id) sugar_die("Unauthorized access to  
administration.");
+elseif (!isset($_POST['record']) && !is_admin($current_user)) echo  
("Unauthorized access to user administration.");
+
+
+
+$openmeetings_url = $_REQUEST["openmeetings_url"];
+$openmeetings_http_port = $_REQUEST["openmeetings_http_port"];
+$openmeetings_username = $_REQUEST["openmeetings_username"];
+$openmeetings_password = $_REQUEST["openmeetings_password"];
+$openmeetings_language = $_REQUEST["openmeetings_language"];
+
+
+  if(is_admin($current_user)){
+
+ 	$focus = new Administration();
+
+	$focus->saveSetting('info', 'openmeetings_url', $openmeetings_url);
+	$focus->saveSetting('info', 'openmeetings_http_port',  
$openmeetings_http_port);
+	$focus->saveSetting('info', 'openmeetings_username',  
$openmeetings_username);
+	$focus->saveSetting('info', 'openmeetings_password',  
$openmeetings_password);
+	$focus->saveSetting('info', 'openmeetings_language',  
$openmeetings_language);
+
+  }
+
+
+
+
+
+// Flag to determine whether to save a new password or not.
+if(isset($_REQUEST['return_module']) && $_REQUEST['return_module'] != "")  
$return_module = $_REQUEST['return_module'];
+else $return_module = "Users";
+if(isset($_REQUEST['return_action']) && $_REQUEST['return_action'] != "")  
$return_action = $_REQUEST['return_action'];
+else $return_action = "DetailView";
+if(isset($_REQUEST['return_id']) && $_REQUEST['return_id'] != "")  
$return_id = $_REQUEST['return_id'];
+
+$GLOBALS['log']->debug("Saved record with id of ".$return_id);
+
+
+
+$return_action = "DetailViewOpenmeetings";
+$redirect = "index.php?action={$return_action}&module={$return_module}";
+header("Location: {$redirect}");
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/Administration/language/en_us_openmeetings.lang.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,38 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+// created: 20010-10-06 11:53:13
+$mod_strings = array_merge($mod_strings,
+    array(
+  'VALUE' => 'OPENMEETINGS admin',
+  'LBL_OPENMEETINGS_PASS' => 'Password',
+  'LBL_OPENMEETINGS_ROOMNAME' => 'Roomname',
+  'LBL_OPENMEETINGS_STARTADHOC' => 'My OpenMeetings Room',
+  'OPENMEETINGS_USERNAME'=>'Username',
+   'OPENMEETINGS_LINK_EDIT'=>'Openmeetings Account',
+   'OPENMEETINGS_URL'=>'Openmeetings web address',
+   'OPENMEETINGS_HTTP_PORT'=>'OpenMeetings/Red5 server http Port',
+   'OPENMEETINGS_LANGUAGE'=>'Conference Language',
+   'OPENMEETINGS_HTTP_PORT'=>'OpenMeetings/Red5 server http Port',
+   'OPENMEETINGS_ACC_SETT'=>'Openmeetings Account Login',
+   )
+  );
+
+
+?>
=======================================
--- /dev/null
+++ /trunk/sugarcrm/SugarModules/modules/Meetings/logic_hooks.php	Sun Nov  
25 15:58:15 2012
@@ -0,0 +1,30 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$hook_version = 1;
+$hook_array = Array();
+
+$hook_array['before_save'] = Array();
+
+$hook_array['before_save'][] =  
Array(1, 'OpenMeetings', 'modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php','openmeetingsRoomManagament', 'getInvitationHash');
+
+$hook_array['after_save'][] =  
Array(2, 'OpenMeetings', 'modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php','openmeetingsRoomManagament', 'setNotification');
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets/openmeetingsDashlet/openmeetingsDashlet.meta.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,28 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+global $app_strings;
+
+$dashletMeta['openmeetingsDashlet'] = array('module'		=> 'openmeetings',
+										  'title'       =>  
translate('LBL_HOMEPAGE_TITLE', 'openmeetings'),
+                                          'description' => 'A customizable  
view into openmeetings',
+                                          'icon'         
=> 'icon_openmeetings_32.gif',
+                                          'category'    => 'Module Views');
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/Dashlets/openmeetingsDashlet/openmeetingsDashlet.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,39 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+require_once('include/Dashlets/DashletGeneric.php');
+require_once('modules/openmeetings/openmeetings.php');
+
+class openmeetingsDashlet extends DashletGeneric {
+    function openmeetingsDashlet($id, $def = null) {
+		global $current_user, $app_strings;
+		require('modules/openmeetings/metadata/dashletviewdefs.php');
+
+        parent::DashletGeneric($id, $def);
+
+        if(empty($def['title'])) $this->title =  
translate('LBL_HOMEPAGE_TITLE', 'openmeetings');
+
+        $this->searchFields =  
$dashletData['openmeetingsDashlet']['searchFields'];
+        $this->columns = $dashletData['openmeetingsDashlet']['columns'];
+
+        $this->seedBean = new openmeetings();
+    }
+}
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/language/en_us.lang.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,64 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$mod_strings = array (
+'LBL_ASSIGNED_TO_ID' => 'Assigned User Id',
+  'LBL_ASSIGNED_TO_NAME' => 'User',
+  'LBL_ID' => 'ID',
+  'LBL_DATE_ENTERED' => 'Date Created',
+  'LBL_DATE_MODIFIED' => 'Date Modified',
+  'LBL_MODIFIED' => 'Modified By',
+  'LBL_MODIFIED_ID' => 'Modified By Id',
+  'LBL_MODIFIED_NAME' => 'Modified By Name',
+  'LBL_CREATED' => 'Created By',
+  'LBL_CREATED_ID' => 'Created By Id',
+  'LBL_DESCRIPTION' => 'Description',
+  'LBL_DELETED' => 'Deleted',
+  'LBL_NAME' => 'Name',
+  'LBL_CREATED_USER' => 'Created by User',
+  'LBL_MODIFIED_USER' => 'Modified by User',
+  'LBL_LIST_NAME' => 'Name',
+  'LBL_LIST_FORM_TITLE' => 'OpenMeetings List',
+  'LBL_MODULE_NAME' => 'OpenMeetings',
+  'LBL_MODULE_TITLE' => 'OpenMeetings',
+  'LBL_HOMEPAGE_TITLE' => 'My OpenMeetings',
+  'LNK_NEW_RECORD' => 'Create OpenMeetings',
+  'LNK_LIST' => 'View OpenMeetings',
+  'LNK_IMPORT_openmeetings' => 'Import OpenMeetings',
+  'LBL_SEARCH_FORM_TITLE' => 'Search OpenMeetings',
+  'LBL_HISTORY_SUBPANEL_TITLE' => 'View History',
+  'LBL_ACTIVITIES_SUBPANEL_TITLE' => 'Activities',
+  'LBL_openmeetings_SUBPANEL_TITLE' => 'OpenMeetings',
+  'LBL_NEW_FORM_TITLE' => 'New OpenMeetings',
+  'LBL_ROOM_NAME' => 'Room name',
+  'LBL_ROOM_COMMENT' => 'Room comment',
+  'LBL_IS_PUBLIC' => 'Is Public Room',
+  'LBL_IS_MODERATED_ROOM' => 'Is Moderated Room',
+  'LBL_ALLOW_USER_QUESTIONS' => 'Allow User Questions',
+  'LBL_IS_AUDIO_ONLY' => 'Is Audio Only',
+  'LBL_ALLOW_RECORDING' => 'Allow Recording',
+  'LBL_ROOM_ID' => 'Room ID',
+  'LBL_ROOM_URL' => 'Room link',
+  'LBL_ROOM_LINK' => 'Room Link',
+  'LBL_ROOM_TYPE_ID' => 'Room Type',
+  'LBL_NUMBER_OF_PARTIZIPANTS' => 'Max. Partizipants',
+  'LBL_ERORR_LOGIN' => 'Could not login User to OpenMeetings, check your  
OpenMeetings Module Configuration',
+  'LBL_EMAIL_TEXT' => 'This is a online meeting. You can access the room  
with this link:',
+);
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/SearchFields.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,38 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$module_name = 'openmeetings';
+$searchFields[$module_name] =
+	array (
+		'name' => array( 'query_type'=>'default'),
+		'current_user_only'=>  
array('query_type'=>'default','db_field'=>array('assigned_user_id'),'my_items'=>true, 'vname'  
=> 'LBL_CURRENT_USER_FILTER', 'type' => 'bool'),
+		'assigned_user_id'=> array('query_type'=>'default'),
+
+		//Range Search Support
+	   'range_date_entered' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+	   'start_range_date_entered' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+	   'end_range_date_entered' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+	   'range_date_modified' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+	   'start_range_date_modified' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+       'end_range_date_modified' => array ('query_type'  
=> 'default', 'enable_range_search' => true, 'is_date_field' => true),
+	    //Range Search Support
+	);
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/dashletviewdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,44 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+
+
+
+global $current_user;
+
+$dashletData['openmeetingsDashlet']['searchFields'] =  
array('date_entered'     => array('default' => ''),
+                                                          'date_modified'     
=>  
array('default' => ''),
+                                                          'assigned_user_id'  
=>  
array('type'    => 'assigned_user_name',
+                                                                                      'default'  
=>  
$current_user->name));
+$dashletData['openmeetingsDashlet']['columns'] =  array(   'name' =>  
array('width'   => '40',
+                                                                      'label'    
=> 'LBL_LIST_NAME',
+                                                                      'link'     
=>  
true,
+                                                                      'default'  
=>  
true),
+                                                      'date_entered' =>  
array('width'   => '15',
+                                                                              'label'    
=> 'LBL_DATE_ENTERED',
+                                                                              'default'  
=>  
true),
+                                                      'date_modified' =>  
array('width'   => '15',
+                                                                              'label'    
=> 'LBL_DATE_MODIFIED'),
+                                                      'created_by' =>  
array('width'   => '8',
+                                                                            'label'    
=> 'LBL_CREATED'),
+                                                      'assigned_user_name'  
=> array('width'   => '8',
+                                                                                     'label'    
=> 'LBL_LIST_ASSIGNED_USER'),
+                                               );
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/detailviewdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,77 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$module_name = 'openmeetings';
+$viewdefs [$module_name] =
+array (
+  'DetailView' =>
+  array (
+    'templateMeta' =>
+    array (
+      'form' =>
+      array (
+        'buttons' =>
+        array (
+          0 => 'EDIT',
+          1 => 'DUPLICATE',
+          2 => 'DELETE',
+          3 => 'FIND_DUPLICATES',
+        ),
+      ),
+      'maxColumns' => '2',
+      'widths' =>
+      array (
+        0 =>
+        array (
+          'label' => '10',
+          'field' => '30',
+        ),
+        1 =>
+        array (
+          'label' => '10',
+          'field' => '30',
+        ),
+      ),
+      'useTabs' => false,
+      'syncDetailEditViews' => true,
+    ),
+    'panels' =>
+    array (
+      'default' =>
+      array (
+        0 =>
+        array (
+          0 => 'name',
+          1 => 'assigned_user_name',
+        ),
+        1 =>
+        array (
+          0 => 'description',
+          1 =>
+          array (
+            'name' => 'room_link',
+            'label' => 'LBL_ROOM_LINK',
+          ),
+        ),
+      ),
+    ),
+  ),
+);
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/editviewdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,113 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$module_name = 'openmeetings';
+$viewdefs [$module_name] =
+array (
+  'EditView' =>
+  array (
+    'templateMeta' =>
+    array (
+      'maxColumns' => '2',
+      'widths' =>
+      array (
+        0 =>
+        array (
+          'label' => '10',
+          'field' => '30',
+        ),
+        1 =>
+        array (
+          'label' => '10',
+          'field' => '30',
+        ),
+      ),
+      'useTabs' => false,
+      'syncDetailEditViews' => false,
+    ),
+    'panels' =>
+    array (
+      'default' =>
+      array (
+        0 =>
+        array (
+          0 => 'name',
+          1 => 'assigned_user_name',
+        ),
+        1 =>
+        array (
+          0 =>
+          array (
+            'name' => 'number_of_partizipants',
+            'studio' => 'visible',
+            'label' => 'LBL_NUMBER_OF_PARTIZIPANTS',
+          ),
+          1 =>
+          array (
+            'name' => 'room_type_id',
+            'studio' => 'visible',
+            'label' => 'LBL_ROOM_TYPE_ID',
+          ),
+        ),
+        2 =>
+        array (
+          0 =>
+          array (
+            'name' => 'is_public',
+            'label' => 'LBL_IS_PUBLIC',
+          ),
+          1 =>
+          array (
+            'name' => 'is_moderated_room',
+            'label' => 'LBL_IS_MODERATED_ROOM',
+          ),
+        ),
+        3 =>
+        array (
+          0 =>
+          array (
+            'name' => 'allow_user_questions',
+            'label' => 'LBL_ALLOW_USER_QUESTIONS',
+          ),
+          1 =>
+          array (
+            'name' => 'is_audio_only',
+            'label' => 'LBL_IS_AUDIO_ONLY',
+          ),
+        ),
+        4 =>
+        array (
+          0 =>
+          array (
+            'name' => 'allow_recording',
+            'label' => 'LBL_ALLOW_RECORDING',
+          ),
+          1 => '',
+        ),
+        5 =>
+        array (
+          0 => 'description',
+          1 => '',
+        ),
+      ),
+    ),
+  ),
+);
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/listviewdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,40 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+
+
+
+$module_name = 'openmeetings';
+$listViewDefs[$module_name] = array(
+	'NAME' => array(
+		'width' => '32',
+		'label' => 'LBL_NAME',
+		'default' => true,
+        'link' => true),
+	'ASSIGNED_USER_NAME' => array(
+		'width' => '9',
+		'label' => 'LBL_ASSIGNED_TO_NAME',
+		'module' => 'Employees',
+        'id' => 'ASSIGNED_USER_ID',
+        'default' => true),
+
+);
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/metafiles.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,36 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+/*
+ * Created on August 2 2007
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - PHPeclipse - PHP - Code Templates
+ */
+$module_name = 'openmeetings';
+ $metafiles[$module_name] = array(
+	'detailviewdefs'  => 	'modules/' .  
$module_name . '/metadata/detailviewdefs.php',
+	'editviewdefs'    => 	'modules/' .  
$module_name . '/metadata/editviewdefs.php',
+ 	'listviewdefs'    => 	'modules/' .  
$module_name . '/metadata/listviewdefs.php',
+ 	'searchdefs'      =>    'modules/' .  
$module_name . '/metadata/searchdefs.php',
+ 	'popupdefs'	      =>    'modules/' .  
$module_name . '/metadata/popupdefs.php',
+ 	'searchfields'	  =>    'modules/' .  
$module_name . '/metadata/SearchFields.php',
+ );
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/popupdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,36 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$module_name = 'openmeetings';
+$object_name = 'openmeetings';
+$_module_name = 'openmeetings';
+$popupMeta = array('moduleMain' => $module_name,
+						'varName' => $object_name,
+						'orderBy' => $_module_name.'.name',
+						'whereClauses' =>
+							array('name' => $_module_name . '.name',
+								),
+						    'searchInputs'=>  
array($_module_name. '_number', 'name', 'priority','status'),
+
+						);
+?>
+
+
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/quickcreatedefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,44 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+$module_name = 'openmeetings';
+$viewdefs[$module_name]['QuickCreate'] = array(
+    'templateMeta' => array('maxColumns' => '2',
+                            'widths' => array(
+                                            array('label' => '10', 'field'  
=> '30'),
+                                            array('label' => '10', 'field'  
=> '30')
+                                            ),
+                                            ),
+
+
+ 'panels' =>array (
+  'default' =>
+  array (
+
+    array (
+      'name',
+      'assigned_user_name',
+    ),
+  ),
+
+),
+
+);
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/searchdefs.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,45 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+/*
+ * Created on May 29, 2007
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - PHPeclipse - PHP - Code Templates
+ */
+$module_name = 'openmeetings';
+  $searchdefs[$module_name] = array(
+					'templateMeta' => array(
+							'maxColumns' => '3',
+  							'maxColumnsBasic' => '4',
+                            'widths' => array('label' => '10', 'field'  
=> '30'),
+                           ),
+                    'layout' => array(
+						'basic_search' => array(
+							'name',
+							 
array('name'=>'current_user_only', 'label'=>'LBL_CURRENT_USER_FILTER', 'type'=>'bool'),
+							),
+						'advanced_search' => array(
+							'name',
+							array('name' => 'assigned_user_id', 'label'  
=> 'LBL_ASSIGNED_TO', 'type' => 'enum', 'function' => array('name'  
=> 'get_user_array', 'params' => array(false))),
+						),
+					),
+ 			   );
+?>
=======================================
--- /dev/null
+++ /trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/studio.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,25 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+/**
+ * This file adds support for studio
+ */
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/metadata/subpanels/default.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,55 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+
+$module_name='openmeetings';
+$subpanel_layout = array(
+	'top_buttons' => array(
+		array('widget_class' => 'SubPanelTopCreateButton'),
+		array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' =>  
$module_name),
+	),
+
+	'where' => '',
+
+	'list_fields' => array(
+		'name'=>array(
+	 		'vname' => 'LBL_NAME',
+			'widget_class' => 'SubPanelDetailViewLink',
+	 		'width' => '45%',
+		),
+		'date_modified'=>array(
+	 		'vname' => 'LBL_DATE_MODIFIED',
+	 		'width' => '45%',
+		),
+		'edit_button'=>array(
+			'widget_class' => 'SubPanelEditButton',
+		 	'module' => $module_name,
+	 		'width' => '4%',
+		),
+		'remove_button'=>array(
+			'widget_class' => 'SubPanelRemoveButton',
+		 	'module' => $module_name,
+			'width' => '5%',
+		),
+	),
+);
+
+?>
=======================================
--- /dev/null
+++ /trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings.php	Sun  
Nov 25 15:58:15 2012
@@ -0,0 +1,32 @@
+<?PHP
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+/**
+ * THIS CLASS IS FOR DEVELOPERS TO MAKE CUSTOMIZATIONS IN
+ */
+require_once('modules/openmeetings/openmeetings_sugar.php');
+class openmeetings extends openmeetings_sugar {
+
+	function openmeetings(){
+		parent::openmeetings_sugar();
+	}
+
+}
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/lib/openmeetings_rest_service.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,117 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+/*
+ * Created on 03.01.2012 by eugen.schwert@gmail.com
+ *
+ *
+ */
+
+class openmeetings_rest_service {
+
+		function call($request){
+			// This will allow you to view errors in the browser
+	  		// Note: set "display_errors" to 0 in production
+	  		//ini_set('display_errors',1);
+
+	  		// Report all PHP errors (notices, errors, warnings, etc.)
+	  		//error_reporting(E_ALL);
+
+			// URI used for making REST call. Each Web Service uses a unique URL.
+			//$request
+
+			// Initialize the session by passing the request as a parameter
+			$session = curl_init($request);
+
+
+			// Set curl options by passing session and flags
+			// CURLOPT_HEADER allows us to receive the HTTP header
+			curl_setopt($session, CURLOPT_HEADER, true);
+
+			// CURLOPT_RETURNTRANSFER will return the response
+			curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
+
+			// Make the request
+			$response = curl_exec($session);
+
+			// Close the curl session
+			curl_close($session);
+
+			// Confirm that the request was transmitted to the OpenMeetings! Image  
Search Service
+			if(!$response) {
+			   die("Request OpenMeetings! OpenMeetings Service failed and no  
response was returned.");
+			}
+
+			// Create an array to store the HTTP response codes
+			$status_code = array();
+
+			// Use regular expressions to extract the code from the header
+			preg_match('/\d\d\d/', $response, $status_code);
+
+			// Check the HTTP Response code and display message if status code is  
not 200 (OK)
+			switch( $status_code[0] ) {
+			        case 200:
+			                // Success
+			                break;
+			        case 503:
+			                die('Your call to OpenMeetings Web Services failed and  
returned an HTTP status of 503.
+			                     That means: Service unavailable. An internal  
problem prevented us from returning'.
+			                     ' data to you.');
+			                break;
+			        case 403:
+			                die('Your call to OpenMeetings Web Services failed and  
returned an HTTP status of 403.
+			                     That means: Forbidden. You do not have permission  
to access this resource, or are over'.
+			                     ' your rate limit.');
+			                break;
+			        case 400:
+			                // You may want to fall through here and read the  
specific XML error
+			                die('Your call to OpenMeetings Web Services failed and  
returned an HTTP status of 400.
+			                     That means:  Bad request. The parameters passed to  
the service did not match as expected.
+			                     The exact error is returned in the XML response.');
+			                break;
+			        default:
+			                die('Your call to OpenMeetings Web Services returned an  
unexpected HTTP status of: ' . $status_code[0]);
+			}
+
+			// Get the XML from the response, bypassing the header
+			if (!($xml = strstr($response, '<ns'))) {
+			        $xml = null;
+			}
+
+			// Create a SimpleXML object with XML response
+			$simple_xml = simplexml_load_string($xml, "SimpleXMLElement",  
0,"http://services.axis.openmeetings.org", true);
+
+			return $simple_xml;
+		}
+
+
+
+		function getError(){
+
+
+		}
+
+		function fault(){
+
+
+		}
+}
+
+?>
=======================================
--- /dev/null
+++  
/trunk/sugarcrm/SugarModules/modules/openmeetings/openmeetings_gateway/openmeetingsRoomManagament.php	 
Sun Nov 25 15:58:15 2012
@@ -0,0 +1,320 @@
+<?php
+/*********************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License") +  you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*   
********************************************************************************/
+
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once("openmeetings_gateway.php");
+
+global $current_user;
+global $system_config;
+
+
+class openmeetingsRoomManagament {
+
+
+	function displayAdminError($errorString){
+		$output = '<p class="error">' . $errorString .'</p>';
+			return $output;
+	}
+
+
+
+	function addUpdateRoomWithModerationExternalTypeAndTopBarOption(&$focus,  
$event) {
+		global $sugar_config;
+		if(isset($focus->room_id)){
+
+			$openmeetings_gateway = new openmeetings_gateway();
+			if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+				$openmeetings = '';
+
+
+				$openmeetings->room_id = $focus->room_id;
+				$openmeetings->name = $focus->name;
+				$openmeetings->roomtypes_id = $focus->room_type_id;
+				$openmeetings->comment = $focus->description;
+				$openmeetings->numberOfPartizipants = $focus->number_of_partizipants;
+				$openmeetings->ispublic = $focus->is_public;
+				$openmeetings->appointment = 0;
+				$openmeetings->isDemoRoom = 0;
+				$openmeetings->demoTime = "";
+				$openmeetings->isModeratedRoom = $focus->is_moderated_room;
+				$openmeetings->allowUserQuestions = $focus->allow_user_questions;
+
+				//future options not implemented in openmeetings_gateway
+				$openmeetings->isAudioOnly = $focus->is_audio_only;
+				$openmeetings->allowRecording = $focus->allow_recording;
+				$openmeetings->waitForRecording = false;
+				$openmeetings->hideTopBar = true;
+				$openmeetings->externalRoomType = 'SugarCRM';
+
+				$roomid =  
$openmeetings_gateway->updateRoomWithModerationAndQuestions($openmeetings);
+
+				//$focus->room_link =  
$sugar_config[site_url]."/index.php?module=openmeetings&action=room_entrance&roomid=".$focus->room_id;
+
+				return $roomid;
+			} else {
+				die("Could not login User to OpenMeetings, check your OpenMeetings  
Module Configuration");
+			}
+
+		}else{
+
+			$openmeetings_gateway = new openmeetings_gateway();
+			if ($openmeetings_gateway->openmeetings_loginuser()) {
+				//global $sugar_config;
+				$openmeetings = '';
+
+				$openmeetings->name = $focus->name;
+				$openmeetings->roomtypes_id = $focus->room_type_id;
+				$openmeetings->comment = $focus->description;
+				$openmeetings->numberOfPartizipants = $focus->number_of_partizipants;
+				$openmeetings->ispublic = $focus->is_public;
+				$openmeetings->appointment = 0;
+				$openmeetings->isDemoRoom = 0;
+				$openmeetings->demoTime = "";
+				$openmeetings->isModeratedRoom = $focus->is_moderated_room;
+
+				$openmeetings->allowUserQuestions = $focus->allow_user_questions;
+				$openmeetings->isAudioOnly = $focus->is_audio_only;
+				$openmeetings->allowRecording = $focus->allow_recording;
+
+				//future options
+				$openmeetings->waitForRecording = false;
+				$openmeetings->hideTopBar = true;
+				$openmeetings->externalRoomType = 'SugarCRM';
+
+				$room_id =  
$openmeetings_gateway->openmeetings_addRoomWithModerationExternalTypeAndTopBarOption($openmeetings);
+
+				$focus->room_id = $room_id;
+				$focus->room_link =  
$sugar_config[site_url]."/index.php?module=openmeetings&action=room_entrance&roomid=".$room_id;
+
+				return $room_id;
+
+
+			} else {
+				die("Could not login User to OpenMeetings, check your OpenMeetings  
Module Configuration");
+			}
+		}
+	}
+
+
+
+	function getInvitationHash(&$focus, $event) {
+
+		global $sugar_config;
+		global $system_config;
+		global $timedate;
+		global $current_user;
+
+
+		$dateStart = $focus->date_start;
+		$timeFromat = $timedate->get_date_time_format();
+		$toTimeFormat = $timedate->get_db_date_time_format();
+
+
+		$date_start_in_db_fmt = DateTime::createFromFormat($toTimeFormat,  
$dateStart);
+		$date_start_in_db_fmt_str= $date_start_in_db_fmt->format($toTimeFormat);
+
+		$startDateString = $date_start_in_db_fmt->format('d.m.Y'); //dd.mm.yyyy
+		$startTimeString = $date_start_in_db_fmt->format('H:i');
+
+
+		$date_start_timestamp= strtotime($date_start_in_db_fmt_str);
+		$date_end_timestamp = $date_start_timestamp + (( $focus->duration_hours  
* 3600 )+ ($focus->duration_minutes * 60));
+
+		$endDateString = date("d.m.Y", $date_end_timestamp); //dd.mm.yyyy
+		$endTimeString = date("H:i", $date_end_timestamp);
+
+
+		if (!empty($focus->conf_op0b58nigs_ida) &&  
isset($_REQUEST['send_invites']) && $_REQUEST['send_invites'] == 1){
+
+			//work in sugar 2.3
+			//$room_id = 	 
$focus->openmeetings_meetings->beans[$focus->conf_op0b58nigs_ida]->room_id;
+
+			$sql = "select room_id from openmeetings where id = '" .  
$focus->conf_op0b58nigs_ida ."'";
+
+			$result = $focus->db->query($sql, true);
+			$row = $focus->db->fetchByAssoc($result);
+			$room_id = $row['room_id'];
+
+			//$_POST['send_invites'] = 0;
+			$_REQUEST['send_invites'] = '0';
+
+			$openmeetings_gateway = new openmeetings_gateway();
+			if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+				$admin = new Administration();
+	 			$admin->retrieveSettings();
+
+				global $changeNotify;
+				$changeNotify = false;
+	 			if($admin->settings['notify_on']) {
+	 				$changeNotify = true;
+					$admin->saveSetting('notify','on', 0);
+				}
+
+				$descriptionTemp = $focus->description;
+
+				foreach($focus->users_arr as $user_id) {
+					$notify_user = new User();
+					$notify_user->retrieve($user_id);
+					$notify_user->new_assigned_user_name = $notify_user->full_name;
+					$GLOBALS['log']->info("Notifications: recipient is  
$notify_user->new_assigned_user_name");
+
+					$invitation_hash =  
$openmeetings_gateway->getInvitationHash($notify_user->name, $room_id,  
false, "123", 2, $startDateString, $startTimeString, $endDateString,  
$endTimeString);
+
+					$notify_user->online_meeting_url_temp  
= "http://".$system_config->settings[info_openmeetings_url].":".
+							$system_config->settings[info_openmeetings_http_port].
+							"/openmeetings/?" .
+							"invitationHash=" .$invitation_hash;
+
+					$focus->description = $descriptionTemp;
+					$tempInvitationHash = "";
+					$tempInvitationHash =  
translate('LBL_EMAIL_TEXT', 'openmeetings')." ".  
$notify_user->online_meeting_url_temp;
+					$focus->description = $focus->description." ".$tempInvitationHash;
+
+					$focus->send_assignment_notifications($notify_user, $admin);
+				}
+
+
+				foreach($focus->contacts_arr as $contact_id) {
+					$notify_user = new Contact();
+					$notify_user->retrieve($contact_id);
+					$notify_user->new_assigned_user_name = $notify_user->name;
+					$GLOBALS['log']->info("Notifications: recipient is  
$notify_user->new_assigned_user_name");
+
+					$invitation_hash =  
$openmeetings_gateway->getInvitationHash($notify_user->name, $room_id,  
false, "123", 2, $startDateString, $startTimeString, $endDateString,  
$endTimeString);
+
+					$notify_user->online_meeting_url_temp  
= "http://".$system_config->settings[info_openmeetings_url].":".
+							$system_config->settings[info_openmeetings_http_port].
+							"/openmeetings/?" .
+							"invitationHash=" .$invitation_hash;
+
+					$focus->description = $descriptionTemp;
+					$tempInvitationHash = "";
+					$tempInvitationHash =  
translate('LBL_EMAIL_TEXT', 'openmeetings')." ".  
$notify_user->online_meeting_url_temp;
+					$focus->description = $focus->description." ".$tempInvitationHash;
+
+					$focus->send_assignment_notifications($notify_user, $admin);
+				}
+
+				foreach($focus->leads_arr as $lead_id) {
+					$notify_user = new Lead();
+					$notify_user->retrieve($lead_id);
+					$notify_user->new_assigned_user_name = $notify_user->full_name;
+					$GLOBALS['log']->info("Notifications: recipient is  
$notify_user->new_assigned_user_name");
+
+					$invitation_hash =  
$openmeetings_gateway->getInvitationHash($notify_user->name, $room_id,  
false, "123", 2, $startDateString, $startTimeString, $endDateString,  
$endTimeString);
+
+					$notify_user->online_meeting_url_temp  
= "http://".$system_config->settings[info_openmeetings_url].":".
+							$system_config->settings[info_openmeetings_http_port].
+							"/openmeetings/?" .
+							"invitationHash=" .$invitation_hash;
+
+					$focus->description = $descriptionTemp;
+					$tempInvitationHash = "";
+					$tempInvitationHash =  
translate('LBL_EMAIL_TEXT', 'openmeetings')." ".  
$notify_user->online_meeting_url_temp;
+					$focus->description = $focus->description." ".$tempInvitationHash;
+
+					$focus->send_assignment_notifications($notify_user, $admin);
+
+				}
+
+				$focus->description = $descriptionTemp;
+
+
+			} else {
+				die("Could not login User to OpenMeetings, check your OpenMeetings  
Module Configuration");
+			}
+		}
+	}
+
+
+
+
+function sendInvitationHash(&$focus, $event) {
+		global $sugar_config;
+		global $system_config;
+		global $current_user;
+
+
+		if ($focus->room_id){
+
+			$openmeetings_gateway = new openmeetings_gateway();
+			if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+				foreach($focus->contacts_arr as $contact_id) {
+					$notify_user = new Contact();
+					$notify_user->retrieve($contact_id);
+
+					$result =  
$openmeetings_gateway->openmeetings_sendInvitationHash($current_user->name,
+												 
	"message", "http://".$system_config->settings[info_openmeetings_url].":"
+												 
	.$system_config->settings[info_openmeetings_http_port]."/openmeetings/",
+													$notify_user->email1, "Openmeeting Invetation: ".$focus->name,
+													$focus->openmeetings_roomid_c, "", false, "123",  
1, "$focus->date_start",
+													"$focus->time_start", "$focus->date_end", "$focus->time_end",
+													$system_config->settings[info_openmeetings_language], true);
+
+
+				}
+
+
+			} else {
+				die("Could not login User to OpenMeetings, check your OpenMeetings  
Module Configuration");
+			}
+		}
+	}
+
+
+	function setNotification(&$focus, $event) {
+
+		global $changeNotify;
+		$admin = new Administration();
+	 	$admin->retrieveSettings();
+
+	 	if($changeNotify) {
+			$admin->saveSetting('notify','on', 1);
+		}
+	}
+
+
+	function deleteRoom (&$focus, $event){
+
+		$openmeetings_gateway = new openmeetings_gateway();
+		if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+			$openmeetings = new stdClass;
+
+			$openmeetings->room_id = $focus->room_id;
+			$roomid = $openmeetings_gateway->deleteRoom($openmeetings);
+			return $roomid;
+
+		} else {
+			die("Could not login User to OpenMeetings, check your OpenMeetings  
Module Configuration");
+
+		}
+
+
+	}
+
+}
+
+
+?>
=======================================
***Additional files exist in this changeset.***