mirror of
https://github.com/salesagility/SuiteCRM.git
synced 2024-11-21 23:47:57 +00:00
129 lines
4.3 KiB
PHP
Executable File
129 lines
4.3 KiB
PHP
Executable File
<?php
|
|
if (!defined('sugarEntry') || !sugarEntry) {
|
|
die('Not A Valid Entry Point');
|
|
}
|
|
|
|
|
|
require_once('modules/SecurityGroups/SecurityGroup.php');
|
|
|
|
require_once('include/formbase.php');
|
|
global $current_user, $db;
|
|
|
|
|
|
$module = $_REQUEST['return_module'];
|
|
$sugarbean = null;
|
|
|
|
$securitygroup = $_REQUEST['massassign_group'];
|
|
if (!isset($module) || empty($securitygroup) || !isset($securitygroup)) {
|
|
return;
|
|
}
|
|
|
|
if (!empty($GLOBALS['beanList'][$module])) {
|
|
$class = $GLOBALS['beanList'][$module];
|
|
if (!empty($GLOBALS['beanFiles'][$class])) {
|
|
require_once($GLOBALS['beanFiles'][$class]);
|
|
$sugarbean = new $class();
|
|
}
|
|
}
|
|
|
|
$groupFocus = BeanFactory::newBean('SecurityGroups');
|
|
$groupFocus->retrieve($securitygroup);
|
|
|
|
|
|
|
|
|
|
|
|
if (!empty($_REQUEST['uid'])) {
|
|
$_POST['mass'] = explode(',', $_REQUEST['uid']);
|
|
} // coming from listview
|
|
elseif (isset($_REQUEST['entire'])) {
|
|
if (isset($_SESSION['export_where']) && !empty($_SESSION['export_where'])) { // bug 4679
|
|
$where = $_SESSION['export_where'];
|
|
$whereArr = explode(" ", trim($where));
|
|
if ($whereArr[0] === trim('where')) {
|
|
$whereClean = array_shift($whereArr);
|
|
}
|
|
$where = implode(" ", $whereArr);
|
|
} else {
|
|
$where = '';
|
|
}
|
|
$export_where = !empty($_SESSION['export_where']) ? $_SESSION['export_where'] : '';
|
|
if (empty($_REQUEST['export_where_md5']) || $_REQUEST['export_where_md5'] !== md5($export_where)) {
|
|
$err = translate('LBL_ERROR_EXPORT_WHERE_CHANGED', 'SecurityGroups');
|
|
sugar_die($err);
|
|
}
|
|
if (empty($order_by)) {
|
|
$order_by = '';
|
|
}
|
|
$query = $sugarbean->create_export_query($order_by, $where);
|
|
$result = $db->query($query, true);
|
|
|
|
$new_arr = array();
|
|
while ($val = $db->fetchByAssoc($result, -1, false)) {
|
|
array_push($new_arr, $val['id']);
|
|
}
|
|
$_POST['mass'] = $new_arr;
|
|
}
|
|
|
|
if (isset($_POST['mass']) && is_array($_POST['mass'])) {
|
|
$rel_name = "";
|
|
foreach ($_POST['mass'] as $id) {
|
|
if (isset($_POST['Delete'])) {
|
|
$sugarbean->retrieve($id);
|
|
|
|
//if($sugarbean->ACLAccess('Delete')){
|
|
|
|
$GLOBALS['log']->debug("MassAssign - deleting relationship: $groupFocus->name");
|
|
if ($sugarbean->module_dir == 'Users') {
|
|
$rel_name = "SecurityGroups";
|
|
} else {
|
|
if (empty($rel_name) || !isset($rel_name)) {
|
|
$rel_name = $groupFocus->getLinkName($sugarbean->module_dir, "SecurityGroups");
|
|
}
|
|
}
|
|
$sugarbean->load_relationship($rel_name);
|
|
$sugarbean->$rel_name->delete($sugarbean->id, $groupFocus->id);
|
|
|
|
//As of 6.3.0 many-to-many requires a link field set in both modules...so lets bypass that
|
|
//$groupFocus->removeGroupFromRecord($sugarbean->module_dir, $id, $groupFocus->id);
|
|
//}
|
|
} else {
|
|
$sugarbean->retrieve($id);
|
|
|
|
//if($sugarbean->ACLAccess('Save')){
|
|
|
|
$GLOBALS['log']->debug("MassAssign - adding relationship: $groupFocus->name");
|
|
if ($sugarbean->module_dir == 'Users') {
|
|
$rel_name = "SecurityGroups";
|
|
} else {
|
|
if (empty($rel_name) || !isset($rel_name)) {
|
|
$rel_name = $groupFocus->getLinkName($sugarbean->module_dir, "SecurityGroups");
|
|
}
|
|
}
|
|
$GLOBALS['log']->debug("MassAssign - adding relationship relationship name: ".$rel_name);
|
|
$sugarbean->load_relationship($rel_name);
|
|
$sugarbean->$rel_name->add($groupFocus->id);
|
|
|
|
|
|
//As of 6.3.0 many-to-many requires a link field set in both modules...so lets bypass that
|
|
/**
|
|
//check existing
|
|
$query = "SELECT * FROM securitygroups_records WHERE securitygroup_id='$groupFocus->id' AND record_id='$id' AND module='$sugarbean->module_dir' AND deleted=0";
|
|
$db = DBManagerFactory::getInstance();
|
|
$result = $db->query($query);
|
|
$row = $db->fetchByAssoc($result);
|
|
if (empty($row))
|
|
{
|
|
$groupFocus->addGroupToRecord($sugarbean->module_dir, $id, $groupFocus->id);
|
|
}
|
|
*/
|
|
|
|
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
header("Location: index.php?action={$_POST['return_action']}&module={$_POST['return_module']}");
|