3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
31 * @copyright CiviCRM LLC (c) 2004-2015
35 class CRM_Bridge_OG_Utils
{
36 const aclEnabled
= 1, syncFromCiviCRM
= 1;
41 public static function aclEnabled() {
42 return self
::aclEnabled
;
46 * Switch to stop synchronization from CiviCRM.
47 * This was always false before, and is always true
48 * now. Most likely, this needs to be a setting.
50 public static function syncFromCiviCRM() {
51 // make sure that acls are not enabled
52 //RMT -- the following makes no f**king sense...
53 //return ! self::aclEnabled & self::syncFromCiviCRM;
62 public static function ogSyncName($ogID) {
63 return "OG Sync Group :{$ogID}:";
71 public static function ogSyncACLName($ogID) {
72 return "OG Sync Group ACL :{$ogID}:";
79 * @return int|null|string
82 public static function ogID($groupID, $abort = TRUE) {
83 $source = CRM_Core_DAO
::getFieldValue('CRM_Contact_DAO_Group',
88 if (strpos($source, 'OG Sync Group') !== FALSE) {
89 preg_match('/:(\d+):$/', $source, $matches);
90 if (is_numeric($matches[1])) {
95 CRM_Core_Error
::fatal();
106 public static function contactID($ufID) {
107 $contactID = CRM_Core_BAO_UFMatch
::getContactId($ufID);
111 // else synchronize contact for this user
113 $account = user_load($ufID);
115 CRM_Core_BAO_UFMatch
::synchronizeUFMatch($account, $ufID, $account->mail
, 'Drupal');
116 $contactID = CRM_Core_BAO_UFMatch
::getContactId($ufID);
118 CRM_Core_Error
::fatal();
128 * @return null|string
131 public static function groupID($source, $title = NULL, $abort = FALSE) {
136 $params = array(1 => array($source, 'String'));
139 $query .= " OR title = %2";
140 $params[2] = array($title, 'String');
143 $groupID = CRM_Core_DAO
::singleValueQuery($query, $params);
147 CRM_Core_Error
::fatal();