} DB::Execute('UPDATE contact_data_1 SET f_access=%s WHERE id=%d', array($gr, $r['id'])); } } } } if (ModuleManager::is_installed('Custom_CADES_AccessRestrictions') >= 0) { DB::Execute('UPDATE cades_behavior_log_field SET type=%s, param=%s WHERE field=%s', array('select', 'contact::Last Name|First Name;', 'Person')); Utils_RecordBrowserCommon::set_QFfield_callback('cades_behavior_log', 'Person', array('Custom_CADES_BehaviorCommon', 'QFfield_log_person')); Utils_CommonDataCommon::extend_array('Contacts/Access', array('mrm' => _M('Medical Record Manager'))); $ret = DB::Execute('SELECT * FROM user_login'); while ($row = $ret->FetchRow()) { $aid = get_acl_user_id($row['id']); $allow = is_user_in_group($aid, 'Medical Record Manager'); $allow |= is_user_in_group($aid, 'Administrator'); $allow |= is_user_in_group($aid, 'Super administrator'); if ($allow) { $r2 = DB::Execute('SELECT * FROM contact_data_1 WHERE f_login=%d', array($row['id'])); while ($r = $r2->FetchRow()) { if (!$r['f_access']) { $gr = '__mrm__'; } else { $gr = $r['f_access'] . 'mrm__'; } DB::Execute('UPDATE contact_data_1 SET f_access=%s WHERE id=%d', array($gr, $r['id'])); } } } Acl::del_group('Medical Record Manager'); Utils_RecordBrowserCommon::new_record_field('contact', array('name' => _M('View'), 'type' => 'crm_contact', 'param' => array('field_type' => 'multiselect', 'crits' => array('Custom_CADES_AccessRestrictionsCommon', 'employee_crits'), 'format' => array('CRM_ContactsCommon', 'contact_format_no_company')), 'required' => false, 'extra' => true, 'filter' => false, 'visible' => false)); Utils_RecordBrowserCommon::new_record_field('contact', array('name' => _M('Edit'), 'type' => 'crm_contact', 'param' => array('field_type' => 'multiselect', 'crits' => array('Custom_CADES_AccessRestrictionsCommon', 'employee_crits'), 'format' => array('CRM_ContactsCommon', 'contact_format_no_company')), 'required' => false, 'extra' => true, 'filter' => false, 'visible' => false));
} $groups = array(); foreach ($groups_arr as $id) { //$arr = Acl::$gacl->get_group_data($id); $group_id = $id; $group_type = 'aro'; $table = 'aro_groups'; $query = 'SELECT id, parent_id, value, name, lft, rgt FROM ' . $table . ' WHERE id=' . $group_id; $arr = DB::GetRow($query); // END if ($arr[3] == $group) { return true; } } return false; } } $ret = DB::Execute('SELECT * FROM user_login'); while ($row = $ret->FetchRow()) { $aid = get_acl_user_id($row['id']); $admin = is_user_in_group($aid, 'Administrator'); $sadmin = is_user_in_group($aid, 'Super administrator'); $aa = 0; if ($admin) { $aa = 1; } if ($sadmin) { $aa = 2; } DB::Execute('UPDATE user_login SET admin=%d WHERE id=%d', array($aa, $row['id'])); }