* Process the form submission.
*/
public function postProcess() {
- CRM_Core_BAO_CMSUser::synchronize();
+ $result = CRM_Core_BAO_CMSUser::synchronize();
+
+ $status = ts('Checked one user record.',
+ array(
+ 'count' => $result['contactCount'],
+ 'plural' => 'Checked %count user records.',
+ )
+ );
+ if ($result['contactMatching']) {
+ $status .= '<br />' . ts('Found one matching contact record.',
+ array(
+ 'count' => $result['contactMatching'],
+ 'plural' => 'Found %count matching contact records.',
+ )
+ );
+ }
+
+ $status .= '<br />' . ts('Created one new contact record.',
+ array(
+ 'count' => $result['contactCreated'],
+ 'plural' => 'Created %count new contact records.',
+ )
+ );
+ CRM_Core_Session::setStatus($status, ts('Synchronize Complete'), 'success');
+ CRM_Core_Session::singleton()->pushUserContext(CRM_Utils_System::url('civicrm/admin', 'reset=1'));
}
}
+++ /dev/null
-<?php
-/*
- +--------------------------------------------------------------------+
- | CiviCRM version 4.7 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2015 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
- | |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
- | |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
- +--------------------------------------------------------------------+
- */
-
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2015
- */
-
-/**
- * Page for synchronizing CMS users
- */
-class CRM_Admin_Page_CMSUser extends CRM_Core_Page {
-
- /**
- * Run the page.
- *
- * This method is called after the page is created. It checks for the
- * type of action and executes that action.
- * Finally it calls the parent's run method.
- */
- public function run() {
- //if javascript is enabled
- if (CRM_Utils_Request::retrieve('confirmed', 'Boolean',
- $this, '', '', 'GET'
- )
- ) {
- CRM_Core_BAO_CMSUser::synchronize();
- return;
- }
- $controller = new CRM_Core_Controller_Simple('CRM_Admin_Form_CMSUser', 'Synchronize CMS Users');
-
- // set the userContext stack
- $session = CRM_Core_Session::singleton();
- $session->pushUserContext(CRM_Utils_System::url('civicrm/admin', 'reset=1'));
-
- $controller->setEmbedded(TRUE);
- $controller->process();
- $controller->run();
-
- return parent::run();
- }
-
-}
class CRM_Core_BAO_CMSUser {
/**
- * Synchronizing cms users with CiviCRM contacts.
+ * Synchronize CMS users with CiviCRM contacts.
*
- * @param bool $is_interactive
- * Whether to show statuses & perform redirects.
- * This behavior is misplaced in the BAO layer, but we'll preserve it to avoid
- * contract changes in the middle of the support cycle. In the next major
- * release, we should remove & document it.
+ * @return array
*/
- public static function synchronize($is_interactive = TRUE) {
+ public static function synchronize() {
$config = CRM_Core_Config::singleton();
// Build an array of rows from UF users table.
}
}
}
- //end of synchronization code
-
- if ($is_interactive) {
- $status = ts('Synchronize Users to Contacts completed.');
- $status .= ' ' . ts('Checked one user record.',
- array(
- 'count' => $contactCount,
- 'plural' => 'Checked %count user records.',
- )
- );
- if ($contactMatching) {
- $status .= ' ' . ts('Found one matching contact record.',
- array(
- 'count' => $contactMatching,
- 'plural' => 'Found %count matching contact records.',
- )
- );
- }
- $status .= ' ' . ts('Created one new contact record.',
- array(
- 'count' => $contactCreated,
- 'plural' => 'Created %count new contact records.',
- )
- );
- CRM_Core_Session::setStatus($status, ts('Saved'), 'success');
- CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin', 'reset=1'));
- }
+ return array(
+ 'contactCount' => $contactCount,
+ 'contactMatching' => $contactMatching,
+ 'contactCreated' => $contactCreated,
+ );
}
/**
<path>civicrm/admin/synchUser</path>
<title>Synchronize Users to Contacts</title>
<desc>Automatically create a CiviCRM contact record for each CMS user record.</desc>
- <page_callback>CRM_Admin_Page_CMSUser</page_callback>
+ <page_callback>CRM_Admin_Form_CMSUser</page_callback>
<adminGroup>Users and Permissions</adminGroup>
<icon>admin/small/Synch_user.png</icon>
<weight>20</weight>
+++ /dev/null
-{*
- +--------------------------------------------------------------------+
- | CiviCRM version 4.7 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2015 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
- | |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
- | |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
- +--------------------------------------------------------------------+
-*}
-{* this template is for synchronizing CMS user*}
-{include file="CRM/Admin/Form/CMSUser.tpl"}
-