mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 08:17:18 +08:00
f058c4c306 Fix #9106 - Update securexss for backwards compatibility 05471a51f3 Update composer.lock dee3305fce 7.11.19 0952712425 Fix Calender display issues in FullCalender 3.10 91bfb1cf3a Fix #7999 - Prevent securitygroups mass assign damage e36e1a52f5 Fix #5624 - Make SWSPEditRoleButton::displayList compatible w. parent 8265b5e29b Fix #8571 - Remove duplicate code in users detailviewdefs f63f05a4a2 Fix #8514 - Implement effective opcache file clearing 5e671f3b1b Fix #8461, #8462 - PHP files are potentially overwritten 0b18500b42 Fix #8700 - Various problems in PHPDocs throughout the codebase. 25dce7954d Fix #9067 - Fix the drop down width 28eecb4198 Add Additional api filter option `like` 8b5a152f7f Add filters in relationship API 7a92e5ec8a Add Relationship Beans in V8 API Response c192ccdf2e Fix #9090 - User menu alignment 466f2d96e7 Fix #6051 - Modulebuilder labels edit fixes fe5ed90fd9 Update JQuery JS Library to v3.6.0 e0382c1a6c Update FullCalendar JS Library to v3.10.2 86882a4d4f Update YUI JS Library to 2.9.1 540245494b Fix #8999 - Hardcoded 'by' label in calls e4f3c6a2fb Fix #9034 - Business Hours does not work in non-english languages b0a51cc667 Fix #8910 - Update the V8 Api to allow for upload of documents similar to notes 8408cd8e91 Fix #9010 - Add missing 'view task' label on calendar faa46f5a4c Fix #8894 - Add missing label for calendar dashlet 5905f3d308 Fix #9032 - Prevent Notice Error During Import 5c9e8700ba Fix #8182 - Update updateTimeDateFields to handle undefined dates fc3dd03386 Fix #9075 - Removing deleted related beans via link 039d9a69d2 Fix #8988 - Improve upon solution which doesn't cache incomplete beans f562c57c8d Fix #7772 - Only index ElasticSearch when enabled dd1a5bc244 Fix #9101 LangText exception breaking ElasticSearch 0c861d3f1a Fix #8472 - No or not complete Searchresults using elasticsearch engine e4e884667c Fix #6800 - Elasticsearch: Elastic index name is hardcoded e525634d7b Fix #8916 - Misspelled elasticsearch labels 28d7afaa59 Fix #9080 - Update config for google/apiclient at composer.json 66bd8998ec Fix #9060 - Project Form action should not be changed if delete is not confirmed 06195fe5f1 Fix #8676 - New Scheduled Reports does not run 89341758e2 Fix #2645 - Calendar quick create ignores required fields a329377bc0 Deprecate PdfParser e5c03ad198 Deprecate advanced open discovery (AOD) git-subtree-dir: public/legacy git-subtree-split: f058c4c3062e7fff72cc2b62440bf064a63e6843
128 lines
4.3 KiB
PHP
Executable file
128 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']}");
|