diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 1188dd023ab..caed0fc2a7f 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -3081,7 +3081,7 @@ function main_area($title = '')
{
global $conf, $langs, $hookmanager;
- if (empty($conf->dol_hide_leftmenu)) {
+ if (empty($conf->dol_hide_leftmenu) && !GETPOST('dol_openinpopup')) {
print '
';
}
@@ -3317,7 +3317,7 @@ if (!function_exists("llxFooter")) {
print '
'."\n"; // End div fiche
- if (empty($conf->dol_hide_leftmenu)) {
+ if (empty($conf->dol_hide_leftmenu) && !GETPOST('dol_openinpopup')) {
print ' '."\n"; // End div id-right
}
diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php
index 4e80c81a4df..5d3f9dd4275 100644
--- a/htdocs/modulebuilder/template/myobject_card.php
+++ b/htdocs/modulebuilder/template/myobject_card.php
@@ -91,10 +91,16 @@ $action = GETPOST('action', 'aZ09');
$confirm = GETPOST('confirm', 'alpha');
$cancel = GETPOST('cancel', 'aZ09');
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
-$backtopage = GETPOST('backtopage', 'alpha');
-$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
+$backtopage = GETPOST('backtopage', 'alpha'); // if not set, a default page will be used
+$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); // if not set, $backtopage will be used
+$backtopagejsfields = GETPOST('backtopagejsfields', 'alpha');
$dol_openinpopup = GETPOST('dol_openinpopup', 'aZ09');
+if (!empty($backtopagejsfields)) {
+ $tmpbacktopagejsfields = explode(':', $backtopagejsfields);
+ $dol_openinpopup = $tmpbacktopagejsfields[0];
+}
+
// Initialize technical objects
$object = new MyObject($db);
$extrafields = new ExtraFields($db);
@@ -215,8 +221,6 @@ if (empty($reshook)) {
/*
* View
- *
- * Put here all code to build page
*/
$form = new Form($db);
@@ -260,6 +264,12 @@ if ($action == 'create') {
if ($backtopageforcancel) {
print '';
}
+ if ($backtopagejsfields) {
+ print '';
+ }
+ if ($dol_openinpopup) {
+ print '';
+ }
print dol_get_fiche_head(array(), '');
diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php
index 936633508fa..e7467176c10 100644
--- a/htdocs/projet/card.php
+++ b/htdocs/projet/card.php
@@ -51,7 +51,11 @@ $backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
$backtopagejsfields = GETPOST('backtopagejsfields', 'alpha');
$cancel = GETPOST('cancel', 'alpha');
$confirm = GETPOST('confirm', 'aZ09');
-$dol_openinpopup = GETPOST('dol_openinpopup', 'aZ09');
+
+if (!empty($backtopagejsfields)) {
+ $tmpbacktopagejsfields = explode(':', $backtopagejsfields);
+ $dol_openinpopup = $tmpbacktopagejsfields[0];
+}
$status = GETPOST('status', 'int');
$opp_status = GETPOST('opp_status', 'int');
@@ -527,6 +531,7 @@ if ($action == 'create' && $user->rights->projet->creer) {
print '';
print '';
print '';
+ print '';
print dol_get_fiche_head();
diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php
index e18f6987a33..9e4c3eff260 100644
--- a/htdocs/societe/card.php
+++ b/htdocs/societe/card.php
@@ -93,9 +93,13 @@ $cancel = GETPOST('cancel', 'alpha');
$backtopage = GETPOST('backtopage', 'alpha');
$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
$backtopagejsfields = GETPOST('backtopagejsfields', 'alpha');
-$dol_openinpopup = GETPOST('dol_openinpopup', 'aZ09');
$confirm = GETPOST('confirm', 'alpha');
+if (!empty($backtopagejsfields)) {
+ $tmpbacktopagejsfields = explode(':', $backtopagejsfields);
+ $dol_openinpopup = $tmpbacktopagejsfields[0];
+}
+
$socid = GETPOST('socid', 'int') ?GETPOST('socid', 'int') : GETPOST('id', 'int');
if ($user->socid) {
$socid = $user->socid;
@@ -713,9 +717,6 @@ if (empty($reshook)) {
if ($backtopagejsfields) {
llxHeader('', '', '');
- $tmpbacktopagejsfields = explode(':', $backtopagejsfields);
- $dol_openinpopup = $tmpbacktopagejsfields[0];
-
$retstring = '