* Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/database/PearDatabase.php';
global $adb;
$sharing_module = vtlib_purify($_REQUEST['sharing_module']);
$tabid = getTabid($sharing_module);
$sharedby = explode('::', vtlib_purify($_REQUEST[$sharing_module . '_share']));
$sharedto = explode('::', vtlib_purify($_REQUEST[$sharing_module . '_access']));
$share_entity_type = $sharedby[0];
$to_entity_type = $sharedto[0];
$share_entity_id = $sharedby[1];
$to_entity_id = $sharedto[1];
$module_sharing_access = vtlib_purify($_REQUEST['share_memberType']);
$mode = vtlib_purify($_REQUEST['mode']);
$relatedShareModuleArr = getRelatedSharingModules($tabid);
if ($mode == 'create') {
    $shareId = addSharingRule($tabid, $share_entity_type, $to_entity_type, $share_entity_id, $to_entity_id, $module_sharing_access);
    //Adding the Related ModulePermission Sharing
    foreach ($relatedShareModuleArr as $reltabid => $ds_rm_id) {
        $reltabname = getTabModuleName($reltabid);
        $relSharePermission = vtlib_purify($_REQUEST[$reltabname . '_accessopt']);
        addRelatedModuleSharingPermission($shareId, $tabid, $reltabid, $relSharePermission);
    }
} elseif ($mode == 'edit') {
    $shareId = vtlib_purify($_REQUEST['shareId']);
    updateSharingRule($shareId, $tabid, $share_entity_type, $to_entity_type, $share_entity_id, $to_entity_id, $module_sharing_access);
    //Adding the Related ModulePermission Sharing
    foreach ($relatedShareModuleArr as $reltabid => $ds_rm_id) {
        $reltabname = getTabModuleName($reltabid);
        $relSharePermission = vtlib_purify($_REQUEST[$reltabname . '_accessopt']);
        }
        $toComboValues .= '<option value="rs::' . $roleid . '" ' . $selected . '>' . $mod_strings[LBL_ROLES_SUBORDINATES] . '::' . $rolename[0] . '</option>';
    }
    foreach ($grpDetails as $groupid => $groupname) {
        $selected = '';
        if ($totype == 'groups') {
            if ($groupid == $toid) {
                $selected = 'selected';
            }
        }
        $toComboValues .= '<option value="groups::' . $groupid . '" ' . $selected . '>' . $mod_strings[LBL_GROUP] . '::' . $groupname . '</option>';
    }
}
$relatedmodule = '';
$relatedlistscombo = '';
$relatedModuleSharingArr = getRelatedSharingModules($tabid);
$size = sizeof($relatedModuleSharingArr);
if ($size > 0) {
    if ($mode == 'edit') {
        $relatedModuleSharingPerrArr = getRelatedModuleSharingPermission($shareid);
    }
    foreach ($relatedModuleSharingArr as $reltabid => $relmode_shareid) {
        $rel_module = getTabModuleName($reltabid);
        $relatedmodule .= $rel_module . '###';
    }
    foreach ($relatedModuleSharingArr as $reltabid => $relmode_shareid) {
        $ro_selected = '';
        $rw_selected = '';
        $rel_module = getTabModuleName($reltabid);
        if ($mode == 'create') {
            $ro_selected = 'selected';