From f139edeec75fcd0c72f9d7194a0b2b0a09e6741a Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 17 Oct 2018 17:34:03 +0100 Subject: [PATCH] FIX #7995 edit contact in detail --- .../contact_addresses_up_db.php | 25 +++--- .../class/class_contacts_v2_Abstract.php | 42 +++++----- .../indexing_searching/details.php | 2 +- .../my_contacts/info_contact_iframe.php | 77 ++++++++++++------- .../my_contacts/update_address_iframe.php | 30 ++++---- 5 files changed, 96 insertions(+), 80 deletions(-) diff --git a/apps/maarch_entreprise/admin/contacts/contact_addresses/contact_addresses_up_db.php b/apps/maarch_entreprise/admin/contacts/contact_addresses/contact_addresses_up_db.php index f8841db15b8..0e3788de45b 100755 --- a/apps/maarch_entreprise/admin/contacts/contact_addresses/contact_addresses_up_db.php +++ b/apps/maarch_entreprise/admin/contacts/contact_addresses/contact_addresses_up_db.php @@ -49,9 +49,8 @@ if (!$return) { } if (!$return) { - $_SESSION['error'] = _SERVICE . ' ' . _UNKNOWN; - ?> - <script type="text/javascript">window.top.location.href='<?php echo $_SESSION['config']['businessappurl'];?>index.php';</script> + $_SESSION['error'] = _SERVICE . ' ' . _UNKNOWN; ?> + <script type="text/javascript">window.top.location.href='<?php echo $_SESSION['config']['businessappurl']; ?>index.php';</script> <?php exit(); } @@ -61,18 +60,19 @@ require_once("apps".DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_ $contact = new contacts_v2(); $iframe = false; -if(isset($_GET['mycontact']) && $_GET['mycontact'] <> ''){ - $admin = false; - if($_GET['mycontact'] == 'iframe'){ - $iframe = 1; - } else if ($_GET['mycontact'] == 'iframe_add_up') { - $iframe = 2; - } else if ($_GET['mycontact'] == 'fromContactIframe') { +if (isset($_GET['mycontact']) && $_GET['mycontact'] <> '') { + $admin = false; + if ($_GET['mycontact'] == 'iframe') { + $iframe = 1; + } elseif ($_GET['mycontact'] == 'iframe_add_up') { + $iframe = 2; + } elseif ($_GET['mycontact'] == 'fromContactIframe') { $iframe = 3; + } elseif ($_GET['mycontact'] == 'editDetail') { + $iframe = 4; } - } else { - $admin = true; + $admin = true; } if (isset($_REQUEST['fromContactAddressesList'])) { @@ -80,4 +80,3 @@ if (isset($_REQUEST['fromContactAddressesList'])) { } $contact->addupaddress($_POST['mode'], $admin, $iframe); -?> diff --git a/apps/maarch_entreprise/class/class_contacts_v2_Abstract.php b/apps/maarch_entreprise/class/class_contacts_v2_Abstract.php index 247962af44e..0c5cf40ea08 100755 --- a/apps/maarch_entreprise/class/class_contacts_v2_Abstract.php +++ b/apps/maarch_entreprise/class/class_contacts_v2_Abstract.php @@ -1381,11 +1381,8 @@ abstract class contacts_v2_Abstract extends Database echo '</h2>'; } - if ($iframe != true) { - echo '<div id="inner_content_contact" class="clearfix" align="center">'; - } else { - echo '<div id="inner_content_contact" class="clearfix" align="center">'; - } + echo '<div id="inner_content_contact" class="clearfix" align="center">'; + if ($state == false) { echo '<br /><br /><br /><br />'._THE_ADDRESS.' '._UNKOWN.'<br /><br /><br /><br />'; } else { @@ -1404,6 +1401,8 @@ abstract class contacts_v2_Abstract extends Database $action = $_SESSION['config']['businessappurl'].'index.php?display=false&page=contact_addresses_up_db&mycontact=iframe_add_up'; } elseif ($iframe == 'fromContactIframe') { $action = $_SESSION['config']['businessappurl'].'index.php?display=false&page=contact_addresses_up_db&mycontact=fromContactIframe'; + } elseif ($iframe == 'editDetail') { + $action = 'index.php?display=false&page=contact_addresses_up_db&mycontact=editDetail&editDetail'; } if (isset($_SESSION['contact_address']['fromContactAddressesList']) && $_SESSION['contact_address']['fromContactAddressesList'] != '') { $action = $_SESSION['config']['businessappurl'].'index.php?display=true&page=contact_addresses_up_db&fromContactAddressesList'; @@ -2118,32 +2117,29 @@ abstract class contacts_v2_Abstract extends Database if ($iframe) { if ($mode == 'add') { if ($iframe == 1) { - $path_contacts = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=create_contact_iframe&created=Y'; - $path_contacts_add_errors = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=create_address_iframe'; + $path_contacts = 'index.php?display=false&dir=my_contacts&page=create_contact_iframe&created=Y'; + $path_contacts_add_errors = 'index.php?display=false&dir=my_contacts&page=create_address_iframe'; } elseif ($iframe == 2) { - $path_contacts = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=info_contact_iframe&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; - $path_contacts_add_errors = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=create_address_iframe&iframe=iframe_up_add'; + $path_contacts = 'index.php?display=false&dir=my_contacts&page=info_contact_iframe&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + $path_contacts_add_errors = 'index.php?display=false&dir=my_contacts&page=create_address_iframe&iframe=iframe_up_add'; } elseif ($iframe == 3) { - $path_contacts = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=add&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; - $path_contacts_add_errors = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=create_address_iframe&iframe=iframe_up_add'; + $path_contacts = 'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=add&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + $path_contacts_add_errors = 'index.php?display=false&dir=my_contacts&page=create_address_iframe&iframe=iframe_up_add'; } } elseif ($mode == 'up') { if ($iframe == 3) { - $path_contacts = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=Y&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + $path_contacts = 'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=Y&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; } else { - $path_contacts = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=Y&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + $path_contacts = 'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=Y&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + } + + $path_contacts_up_errors = 'index.php?display=false&dir=my_contacts&page=update_address_iframe'; + + if ($iframe == 4) { + $path_contacts = 'index.php?display=false&dir=my_contacts&page=info_contact_iframe&created=editDetail&contactid='.$_SESSION['contact']['current_contact_id'].'&addressid='.$_SESSION['contact']['current_address_id']; + $path_contacts_up_errors = 'index.php?display=false&dir=my_contacts&page=update_address_iframe&editDetail'; } - $path_contacts_up_errors = $_SESSION['config']['businessappurl'] - .'index.php?display=false&dir=my_contacts&page=update_address_iframe'; } } if (isset($_SESSION['contact_address']['fromContactAddressesList']) && $_SESSION['contact_address']['fromContactAddressesList'] != '') { diff --git a/apps/maarch_entreprise/indexing_searching/details.php b/apps/maarch_entreprise/indexing_searching/details.php index a792d73abe3..e6e6ed16e10 100755 --- a/apps/maarch_entreprise/indexing_searching/details.php +++ b/apps/maarch_entreprise/indexing_searching/details.php @@ -658,7 +658,7 @@ if ($stmt->rowCount() == 0) { $inputValue = $data[$key]['value']; $inputAddressValue = $data[$key]['address_value']; - $iconShow = "<a href=\"#\" onclick=\"window.open('index.php?display=true&dir=my_contacts&page=info_contact_iframe&mode=view&popup&contactid={$inputValue}&addressid={$inputAddressValue}', 'contact_info', 'height=800, width=1000,scrollbars=yes,resizable=yes');\">".$iconShow.'</a>'; + $iconShow = "<a href=\"#\" onclick=\"window.open('index.php?display=true&dir=my_contacts&page=info_contact_iframe&mode=editDetail&editDetail&popup&contactid='+document.getElementById('contactid').value+'&addressid='+document.getElementById('addressid').value+'', 'contact_info', 'height=800, width=1000,scrollbars=yes,resizable=yes');\">".$iconShow.'</a>'; } elseif (in_array($key, ['dest_user_id', 'exp_user_id'])) { $inputValue = $data[$key]['value']; $inputAddressValue = $data[$key]['address_value']; diff --git a/apps/maarch_entreprise/my_contacts/info_contact_iframe.php b/apps/maarch_entreprise/my_contacts/info_contact_iframe.php index a8f75e3219f..aa38923e381 100755 --- a/apps/maarch_entreprise/my_contacts/info_contact_iframe.php +++ b/apps/maarch_entreprise/my_contacts/info_contact_iframe.php @@ -32,7 +32,7 @@ $_SESSION['info'] = ''; if (isset($_GET['contactid']) && $_GET['contactid'] <> '') { $_SESSION['contact']['current_contact_id'] = $id; -} else if ($_SESSION['contact']['current_contact_id'] <> '') { +} elseif ($_SESSION['contact']['current_contact_id'] <> '') { $_GET['contactid'] = $_SESSION['contact']['current_contact_id']; } @@ -41,7 +41,7 @@ if (isset($_GET['fromAttachmentContact']) && $_GET['fromAttachmentContact'] == " } if (isset($_GET['addressid']) && $_GET['addressid'] <> '') { $_SESSION['contact']['current_address_id'] = $id; -} else if ($_SESSION['contact']['current_address_id'] <> '') { +} elseif ($_SESSION['contact']['current_address_id'] <> '') { $_GET['addressid'] = $_SESSION['contact']['current_address_id']; } @@ -98,7 +98,6 @@ if ($core_tools2->test_admin('update_contacts', 'apps', false) && $mode <> "view $_GET['id'] = $_GET['addressid']; include_once 'apps/' . $_SESSION['config']['app_id'] . '/my_contacts/update_address_iframe.php'; } - } else { include_once "apps".DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_contacts_v2.php"; include_once "apps".DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_business_app_tools.php"; @@ -134,7 +133,7 @@ if ($core_tools2->test_admin('update_contacts', 'apps', false) && $mode <> "view $_SESSION['m_admin']['address']['SALUTATION_FOOTER'] = $request->show_string($line->salutation_footer); $_SESSION['m_admin']['address']['EXTERNAL_CONTACT_ID']= $request->show_string($line->external_contact_id); - $core_tools2->load_js(); + $core_tools2->load_js(); $query = "SELECT * FROM ".$_SESSION['tablename']['contact_communication']." WHERE contact_id = ?"; $stmt = $db->query($query, array($line->contact_id)); @@ -144,20 +143,41 @@ if ($core_tools2->test_admin('update_contacts', 'apps', false) && $mode <> "view $_SESSION['m_admin']['communication']['ID'] = $contactCommunication->id; $_SESSION['m_admin']['communication']['CONTACT_ID'] = $contactCommunication->contact_id; $_SESSION['m_admin']['communication']['TYPE'] = functions::show_string($contactCommunication->type); - $_SESSION['m_admin']['communication']['VALUE'] = functions::show_string($contactCommunication->value); - - ?> - <div id="inner_content" class="clearfix" align="center" style="padding:0px;width:100% !important;"> - <div class="block"> - <?php - $contact->get_contact_form(); - $contact->get_address_form(); - ?> - </div> - </div> + $_SESSION['m_admin']['communication']['VALUE'] = functions::show_string($contactCommunication->value); ?> +<div id="inner_content" class="clearfix" align="center" style="padding:0px;width:100% !important;"> + <div class="block"> + <?php + $contact->get_contact_form(); + $contact->get_address_form(); ?> + </div> +</div> <?php } +if ($_GET['created'] == "editDetail") { + ?> + <script type="text/javascript"> + new Ajax.Request('index.php?display=false&dir=my_contacts&page=get_last_contact_address&mode=up', + { + method:'post', + parameters: {}, + onSuccess: function(answer){ + eval("response = "+answer.responseText); + + if (response.rateColor != "") { + window.opener.$j('#contact').css('background-color', response.rateColor); + } + + window.opener.$j('#contact').html(response.contactName); + window.opener.$j('#contactid').val(response.contactId); + window.opener.$j('#addressid').val(response.addressId); + this.close(); + } + }); + </script><?php + exit; +} + ?> <script type="text/javascript"> resize_frame_contact('contact'); @@ -166,32 +186,31 @@ if ($core_tools2->test_admin('update_contacts', 'apps', false) && $mode <> "view if (isset($_SESSION['AttachmentContact']) && $_SESSION['AttachmentContact'] =="1" && $_GET['created'] <> '' && isset($_GET['created'])) { - $infoContactDiv = "info_contact_div_attach"; - ?> + $infoContactDiv = "info_contact_div_attach"; ?> <script> - simpleAjax("<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&page=unsetAttachmentContact';?>"); + simpleAjax("<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&page=unsetAttachmentContact'; ?>"); </script> <?php } else { - $infoContactDiv = "show_tab"; -} + $infoContactDiv = "show_tab"; + } if ($_GET['created'] == "open") { - ?> + ?> <script type="text/javascript"> - set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address&mode=up';?>", "<?php functions::xecho($infoContactDiv );?>", "false"); + set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address&mode=up'; ?>", "<?php functions::xecho($infoContactDiv); ?>", "false"); </script> <?php -} else if(isset($_GET['created']) && $_GET['created'] == 'add'){ -?> +} elseif (isset($_GET['created']) && $_GET['created'] == 'add') { + ?> <script type="text/javascript"> - set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address';?>", "<?php functions::xecho($infoContactDiv );?>", "true"); + set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address'; ?>", "<?php functions::xecho($infoContactDiv); ?>", "true"); </script> <?php -} else if(isset($_GET['created']) && $_GET['created'] <> ''){ -?> + } elseif (isset($_GET['created']) && $_GET['created'] <> '') { + ?> <script type="text/javascript"> - set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address&mode=up';?>", "<?php functions::xecho($infoContactDiv );?>", "true"); + set_new_contact_address("<?php echo $_SESSION['config']['businessappurl'] . 'index.php?display=false&dir=my_contacts&page=get_last_contact_address&mode=up'; ?>", "<?php functions::xecho($infoContactDiv); ?>", "true"); </script> <?php -} + } diff --git a/apps/maarch_entreprise/my_contacts/update_address_iframe.php b/apps/maarch_entreprise/my_contacts/update_address_iframe.php index cb8cb05ed33..26927b744f8 100755 --- a/apps/maarch_entreprise/my_contacts/update_address_iframe.php +++ b/apps/maarch_entreprise/my_contacts/update_address_iframe.php @@ -42,23 +42,25 @@ $func = new functions(); if (isset($_GET['id'])) { $id = addslashes($func->wash($_GET['id'], "alphanum", _ADDRESS)); - } else { $id = ""; } -if (isset($_GET['fromContactIframe'])) { - $iframe_txt = "fromContactIframe"; - $_SESSION['contact']['current_address_id'] = $id; +if (isset($_GET['editDetail'])) { + $contact->formaddress("up", $id, false, 'editDetail'); } else { - $iframe_txt = "iframe_add_up"; + if (isset($_GET['fromContactIframe'])) { + $iframe_txt = "fromContactIframe"; + $_SESSION['contact']['current_address_id'] = $id; + } else { + $iframe_txt = "iframe_add_up"; + } + + $load_js = '<script type="text/javascript">'; + $load_js .= "resize_frame_contact('address');"; + $load_js .= '</script>'; + + $contact->formaddress("up", $id, false, $iframe_txt); + + echo $load_js; } - -$load_js = '<script type="text/javascript">'; -$load_js .= "resize_frame_contact('address');"; -$load_js .= '</script>'; - -$contact->formaddress("up", $id, false, $iframe_txt); - -echo $load_js; -?> -- GitLab