mirror of
https://github.com/VTECRM/vtenext.git
synced 2026-02-26 16:18:47 +00:00
234 lines
8.0 KiB
PHP
234 lines
8.0 KiB
PHP
<?php
|
|
/*************************************
|
|
* SPDX-FileCopyrightText: 2009-2020 Vtenext S.r.l. <info@vtenext.com>
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
************************************/
|
|
|
|
/* crmv@104568 crmv@146434 */
|
|
|
|
require_once('include/CustomFieldUtil.php');
|
|
require_once('include/ComboUtil.php');
|
|
require_once('modules/Settings/LayoutBlockListUtils.php'); // crmv@64542
|
|
|
|
global $mod_strings,$app_strings,$log,$theme;
|
|
$theme_path="themes/".$theme."/";
|
|
$image_path=$theme_path."images/";
|
|
require_once('modules/VteCore/layout_utils.php'); //crmv@30447
|
|
$smarty=new VteSmarty();
|
|
$layoutBlockListUtils = LayoutBlockListUtils::getInstance();
|
|
|
|
$subMode = $_REQUEST['sub_mode'];
|
|
$smarty->assign("MOD",$mod_strings);
|
|
$smarty->assign("APP",$app_strings);
|
|
|
|
if($_REQUEST['formodule'] !='')
|
|
$fld_module = $_REQUEST['formodule'];
|
|
elseif($_REQUEST['fld_module'] != ''){
|
|
$fld_module = $_REQUEST['fld_module'];
|
|
}else
|
|
$fld_module = 'Accounts';
|
|
|
|
$panelid = intval($_REQUEST['panelid']);
|
|
if (!$panelid) {
|
|
$panelid = getCurrentPanelId($fld_module);
|
|
} else {
|
|
// check if exists
|
|
$tab = Vtecrm_Panel::getInstance($panelid);
|
|
if (!$tab) {
|
|
$panelid = getCurrentPanelId($fld_module);
|
|
}
|
|
}
|
|
$smarty->assign("PANELID",$panelid);
|
|
|
|
$layoutBlockListUtils->checkAndFixFieldsOrder($fld_module); // crmv@178362
|
|
|
|
// crmv@39110 crmv@123049
|
|
if ($_REQUEST['mobile'] == '1') {
|
|
$forMobile = true;
|
|
$mobileProfiles = getAllProfileInfo(true);
|
|
$smarty->assign("MOBILE_PROFILES",$mobileProfiles);
|
|
if (count($mobileProfiles) > 0) {
|
|
$mobileProfilesId = array_keys($mobileProfiles);
|
|
$mobileProfileId = $mobileProfilesId[0]; // take the first to read the config
|
|
// align fields with profiles
|
|
if (empty($subMode)) {
|
|
alignFieldsForProfile($fld_module, $mobileProfilesId);
|
|
alignRelatedForProfile($fld_module, $mobileProfilesId);
|
|
alignMobileInfoForProfile($fld_module, $mobileProfilesId);
|
|
}
|
|
}
|
|
}
|
|
$smarty->assign("FORMOBILE",$forMobile);
|
|
|
|
$smarty->assign("MODULELIST",getModuleList());
|
|
|
|
if ($subMode == 'addTab') {
|
|
$error = createTab($fld_module);
|
|
if (!empty($error)) die($error);
|
|
} elseif ($subMode == 'editTab') {
|
|
$error = editTab($fld_module);
|
|
if (!empty($error)) die($error);
|
|
} elseif ($subMode == 'deleteTab') {
|
|
deleteTab();
|
|
} elseif ($subMode == 'reorderTabs') {
|
|
reorderTabs($fld_module);
|
|
die();
|
|
} elseif ($subMode == 'moveBlockToTab') {
|
|
moveBlockToTab();
|
|
} elseif ($subMode == 'updateFieldProperties')
|
|
updateFieldProperties($forMobile, $mobileProfilesId);
|
|
elseif($subMode == 'deleteCustomField')
|
|
deleteCustomField();
|
|
elseif($subMode == 'changeOrder')
|
|
changeFieldOrder($forMobile, $mobileProfilesId);
|
|
elseif($subMode == 'addBlock')
|
|
$error = addblock();
|
|
if (!empty($error)) die($error);
|
|
elseif($subMode == 'deleteCustomBlock')
|
|
deleteBlock();
|
|
elseif($subMode == 'addCustomField')
|
|
$error = addCustomField();
|
|
if (!empty($error)) die($error);
|
|
elseif($subMode == 'movehiddenfields' || $subMode == 'showhiddenfields')
|
|
show_move_hiddenfields($subMode, $forMobile, $mobileProfilesId);
|
|
elseif($subMode == 'changeRelatedInfoOrder')
|
|
changeRelatedListOrder($forMobile, $mobileProfilesId);
|
|
elseif($subMode == 'changeRelatedInfoVisibility')
|
|
changeRelatedListVisibility($forMobile, $mobileProfilesId);
|
|
// crmv@104568
|
|
elseif($subMode == 'changeRelatedOption') {
|
|
changeRelatedListOption($forMobile, $mobileProfilesId);
|
|
// crmv@104568e
|
|
} elseif ($subMode == 'addRelatedToTab') {
|
|
addRelatedToTab($fld_module);
|
|
} elseif ($subMode == 'removeTabRelated') {
|
|
removeTabRelated($fld_module);
|
|
} elseif ($subMode == 'reorderTabRelateds') {
|
|
reorderTabRelateds($fld_module);
|
|
die();
|
|
} elseif($subMode == 'saveMobileInfo') {
|
|
saveMobileInfo($fld_module, $mobileProfilesId);
|
|
}
|
|
// crmv@39110e crmv@123049e
|
|
elseif($subMode == 'layoutBlockVersion') {
|
|
$pending_version = $layoutBlockListUtils->getPendingVersion(getTabid($fld_module));
|
|
$smarty->assign('PENDING_VERSION', $pending_version['version']);
|
|
$smarty->assign('CURRENT_VERSION', $layoutBlockListUtils->getCurrentVersionNumber(getTabid($fld_module)));
|
|
$smarty->assign('PERM_VERSION_EXPORT', $layoutBlockListUtils->isExportPermitted(getTabid($fld_module)));
|
|
$smarty->assign('PERM_VERSION_IMPORT', $layoutBlockListUtils->isImportPermitted(getTabid($fld_module)));
|
|
$smarty->assign('CHECK_VERSION_IMPORT', $layoutBlockListUtils->checkImportVersion($fld_module));
|
|
$smarty->display('Settings/LayoutBlockVersion.tpl');
|
|
die();
|
|
} elseif($subMode == 'closeVersion') {
|
|
$err_string = '';
|
|
$result = $layoutBlockListUtils->closeVersion($fld_module,$err_string);
|
|
if ($result === false) echo $err_string;
|
|
die();
|
|
} elseif($subMode == 'checkExportVersion') {
|
|
$err_string = '';
|
|
$result = $layoutBlockListUtils->checkExportVersion($fld_module,$err_string);
|
|
if ($result === false) echo $err_string;
|
|
die();
|
|
} elseif($subMode == 'exportVersion') {
|
|
$layoutBlockListUtils->exportVersion($fld_module);
|
|
die();
|
|
} elseif($subMode == 'importVersion') {
|
|
$err_string = '';
|
|
$result = $layoutBlockListUtils->importVersion($fld_module,$err_string);
|
|
if ($result === false) $smarty->assign("ERROR_STRING", $err_string);
|
|
}
|
|
|
|
$smarty->assign("THEME", $theme);
|
|
$module_array=getCustomFieldSupportedModules();
|
|
|
|
$cfimagecombo = Array(
|
|
$image_path."text.gif",
|
|
$image_path."number.gif",
|
|
$image_path."percent.gif",
|
|
$image_path."currency.gif",
|
|
$image_path."date.gif",
|
|
$image_path."email.gif",
|
|
$image_path."phone.gif",
|
|
$image_path."picklist.gif",
|
|
$image_path."url.gif",
|
|
$image_path."checkbox.gif",
|
|
$image_path."text.gif",
|
|
$image_path."picklist.gif"
|
|
);
|
|
|
|
$cftextcombo = Array(
|
|
$mod_strings['Text'],
|
|
$mod_strings['Number'],
|
|
$mod_strings['Percent'],
|
|
$mod_strings['Currency'],
|
|
$mod_strings['Date'],
|
|
$mod_strings['Email'],
|
|
$mod_strings['Phone'],
|
|
$mod_strings['PickList'],
|
|
$mod_strings['LBL_URL'],
|
|
$mod_strings['LBL_CHECK_BOX'],
|
|
$mod_strings['LBL_TEXT_AREA'],
|
|
$mod_strings['LBL_MULTISELECT_COMBO']
|
|
);
|
|
|
|
$smarty->assign("MODULES",$module_array);
|
|
$smarty->assign("CFTEXTCOMBO",$cftextcombo);
|
|
$smarty->assign("CFIMAGECOMBO",$cfimagecombo);
|
|
|
|
$tabs = getPanelsAndBlocks($fld_module);
|
|
$smarty->assign("TABS",$tabs);
|
|
$smarty->assign("TABS_JSON",Zend_Json::encode($tabs));
|
|
|
|
$tabRelids = array();
|
|
if ($panelid > 0) {
|
|
$currentPanel = Vtecrm_Panel::getInstance($panelid);
|
|
if ($currentPanel) {
|
|
$panelRelated = $currentPanel->getRelatedLists();
|
|
foreach ($panelRelated as $rel) {
|
|
$tabRelids[] = $rel['id'];
|
|
}
|
|
$smarty->assign("TAB_RELATED", $panelRelated);
|
|
}
|
|
}
|
|
$smarty->assign("TAB_RELIDS", $tabRelids);
|
|
|
|
$block_array = getModuleBlocks($fld_module);
|
|
|
|
$smarty->assign("BLOCKS",$block_array);
|
|
$smarty->assign("MODULE",$fld_module);
|
|
|
|
$smarty->assign("CFENTRIES",getFieldListEntries($fld_module, $mobileProfileId));
|
|
$smarty->assign("RELATEDLIST",getRelatedListInfo($fld_module, $mobileProfileId));
|
|
$smarty->assign("RELATEDLISTCONFIG",getRelatedListOptions($fld_module, $mobileProfileId)); // crmv@104568
|
|
if ($forMobile) {
|
|
$cvFocus = CRMEntity::getInstance('CustomView', $fld_module);
|
|
$smarty->assign("CVLIST",$cvFocus->getPublicFilters());
|
|
$smarty->assign("MOBILEINFO",getMobileInfo($fld_module, $mobileProfileId));
|
|
}
|
|
|
|
if($_REQUEST['mode'] !='')
|
|
$mode = $_REQUEST['mode'];
|
|
|
|
$smarty->assign("MODE", $mode);
|
|
|
|
//crmv@101683
|
|
$smarty->assign('NEWFIELDS', getNewFields());
|
|
$smarty->assign('USERSLIST', get_user_array(true, "Active"));
|
|
//crmv@101683e
|
|
|
|
$pending_version = $layoutBlockListUtils->getPendingVersion(getTabid($fld_module));
|
|
$smarty->assign('PENDING_VERSION', $pending_version['version']);
|
|
$smarty->assign('CURRENT_VERSION', $layoutBlockListUtils->getCurrentVersionNumber(getTabid($fld_module)));
|
|
$smarty->assign('PERM_VERSION_EXPORT', $layoutBlockListUtils->isExportPermitted(getTabid($fld_module)));
|
|
$smarty->assign('PERM_VERSION_IMPORT', $layoutBlockListUtils->isImportPermitted(getTabid($fld_module)));
|
|
$smarty->assign('CHECK_VERSION_IMPORT', $layoutBlockListUtils->checkImportVersion($fld_module));
|
|
|
|
if($_REQUEST['ajax'] != 'true'){
|
|
$smarty->display('Settings/LayoutBlockList.tpl');
|
|
}
|
|
elseif(in_array($subMode, array('getRelatedInfoOrder', 'changeRelatedInfoOrder', 'changeRelatedInfoVisibility', 'changeRelatedOption')) && $_REQUEST['ajax'] == 'true') { // crmv@104568
|
|
$smarty->display('Settings/OrderRelatedList.tpl');
|
|
}
|
|
else{
|
|
$smarty->display('Settings/LayoutBlockEntries.tpl');
|
|
} |