From d242f4930d906e42a6d41ecc537fb602764ccf67 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Sun, 23 Feb 2014 17:01:51 +0100 Subject: [PATCH] php codesniffer --- htdocs/comm/propal.php | 2878 +++++++++++++++++--------------------- htdocs/societe/price.php | 448 +++--- 2 files changed, 1501 insertions(+), 1825 deletions(-) diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 0ed379610fa..fe7acc7b568 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -25,25 +25,23 @@ */ /** - * \file htdocs/comm/propal.php - * \ingroup propale - * \brief Page of commercial proposals card and list + * \file htdocs/comm/propal.php + * \ingroup propale + * \brief Page of commercial proposals card and list */ - require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formpropal.class.php'; -require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; -require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/modules/propale/modules_propale.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/propal.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; -if (! empty($conf->projet->enabled)) -{ - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formpropal.class.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/propal/class/propal.class.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/modules/propale/modules_propale.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/propal.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; +if (! empty($conf->projet->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; + require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; } $langs->load('companies'); @@ -56,1948 +54,1690 @@ $langs->load("deliveries"); if (! empty($conf->margin->enabled)) $langs->load('margins'); -$error=0; +$error = 0; -$id=GETPOST('id','int'); -$ref=GETPOST('ref','alpha'); -$socid=GETPOST('socid','int'); -$action=GETPOST('action','alpha'); -$origin=GETPOST('origin','alpha'); -$originid=GETPOST('originid','int'); -$confirm=GETPOST('confirm','alpha'); -$lineid=GETPOST('lineid','int'); +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'alpha'); +$origin = GETPOST('origin', 'alpha'); +$originid = GETPOST('originid', 'int'); +$confirm = GETPOST('confirm', 'alpha'); +$lineid = GETPOST('lineid', 'int'); -//PDF -$hidedetails = (GETPOST('hidedetails','int') ? GETPOST('hidedetails','int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS) ? 1 : 0)); -$hidedesc = (GETPOST('hidedesc','int') ? GETPOST('hidedesc','int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0)); -$hideref = (GETPOST('hideref','int') ? GETPOST('hideref','int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); +// PDF +$hidedetails = (GETPOST('hidedetails', 'int') ? GETPOST('hidedetails', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS) ? 1 : 0)); +$hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0)); +$hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); // Nombre de ligne pour choix de produit/service predefinis -$NBLINES=4; +$NBLINES = 4; // Security check -if (! empty($user->societe_id)) $socid=$user->societe_id; +if (! empty($user->societe_id)) + $socid = $user->societe_id; $result = restrictedArea($user, 'propal', $id); $object = new Propal($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load object -if ($id > 0 || ! empty($ref)) -{ - $ret=$object->fetch($id, $ref); - if ($ret > 0) $ret=$object->fetch_thirdparty(); - if ($ret < 0) dol_print_error('',$object->error); +if ($id > 0 || ! empty($ref)) { + $ret = $object->fetch($id, $ref); + if ($ret > 0) + $ret = $object->fetch_thirdparty(); + if ($ret < 0) + dol_print_error('', $object->error); } // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('propalcard')); - -$permissionnote=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php +$hookmanager->initHooks(array ( + 'propalcard' +)); +$permissionnote = $user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php /* * Actions */ -$parameters=array('socid'=>$socid); -$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once - +$parameters = array ( + 'socid' => $socid +); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once + // Action clone object -if ($action == 'confirm_clone' && $confirm == 'yes') -{ - if (1==0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers')) - { +if ($action == 'confirm_clone' && $confirm == 'yes') { + if (1 == 0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers')) { setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors'); - } - else - { - if ($object->id > 0) - { - $result=$object->createFromClone($socid); - if ($result > 0) - { - header("Location: ".$_SERVER['PHP_SELF'].'?id='.$result); - exit; - } - else - { + } else { + if ($object->id > 0) { + $result = $object->createFromClone($socid); + if ($result > 0) { + header("Location: " . $_SERVER ['PHP_SELF'] . '?id=' . $result); + exit(); + } else { setEventMessage($object->error, 'errors'); - $action=''; + $action = ''; } } } -} +} // Delete proposal -else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->propal->supprimer) -{ - $result=$object->delete($user); - if ($result > 0) - { - header('Location: '.DOL_URL_ROOT.'/comm/propal/list.php'); - exit; - } - else - { +else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->propal->supprimer) { + $result = $object->delete($user); + if ($result > 0) { + header('Location: ' . DOL_URL_ROOT . '/comm/propal/list.php'); + exit(); + } else { $langs->load("errors"); setEventMessage($langs->trans($object->error), 'errors'); } -} +} // Remove line -else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->propal->creer) -{ +else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->propal->creer) { $result = $object->deleteline($lineid); // reorder lines - if ($result) $object->line_order(true); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + if ($result) + $object->line_order(true); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id); - exit; -} + + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id); + exit(); +} // Validation -else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->propal->valider) -{ - $result=$object->valid($user); - if ($result >= 0) - { - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { +else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->propal->valider) { + $result = $object->valid($user); + if ($result >= 0) { + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - } - else - { + } else { $langs->load("errors"); setEventMessage($langs->trans($object->error), 'errors'); } -} +} -else if ($action == 'setdate' && $user->rights->propal->creer) -{ - $datep=dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); - - if (empty($datep)) - { - $error++; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")), 'errors'); +else if ($action == 'setdate' && $user->rights->propal->creer) { + $datep = dol_mktime(12, 0, 0, $_POST ['remonth'], $_POST ['reday'], $_POST ['reyear']); + + if (empty($datep)) { + $error ++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors'); } - - if (! $error) - { - $result=$object->set_date($user,$datep); - if ($result < 0) dol_print_error($db,$object->error); + + if (! $error) { + $result = $object->set_date($user, $datep); + if ($result < 0) + dol_print_error($db, $object->error); } -} -else if ($action == 'setecheance' && $user->rights->propal->creer) -{ - $result=$object->set_echeance($user,dol_mktime(12, 0, 0, $_POST['echmonth'], $_POST['echday'], $_POST['echyear'])); - if ($result < 0) dol_print_error($db,$object->error); -} -else if ($action == 'setdate_livraison' && $user->rights->propal->creer) -{ - $result=$object->set_date_livraison($user,dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year'])); - if ($result < 0) dol_print_error($db,$object->error); -} +} else if ($action == 'setecheance' && $user->rights->propal->creer) { + $result = $object->set_echeance($user, dol_mktime(12, 0, 0, $_POST ['echmonth'], $_POST ['echday'], $_POST ['echyear'])); + if ($result < 0) + dol_print_error($db, $object->error); +} else if ($action == 'setdate_livraison' && $user->rights->propal->creer) { + $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST ['liv_month'], $_POST ['liv_day'], $_POST ['liv_year'])); + if ($result < 0) + dol_print_error($db, $object->error); +} // Positionne ref client -else if ($action == 'set_ref_client' && $user->rights->propal->creer) -{ - $object->set_ref_client($user, $_POST['ref_client']); -} +else if ($action == 'set_ref_client' && $user->rights->propal->creer) { + $object->set_ref_client($user, $_POST ['ref_client']); +} // Create proposal -else if ($action == 'add' && $user->rights->propal->creer) -{ - $object->socid=$socid; +else if ($action == 'add' && $user->rights->propal->creer) { + $object->socid = $socid; $object->fetch_thirdparty(); - - $datep=dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); - $date_delivery=dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); - $duration=GETPOST('duree_validite'); - - if (empty($datep)) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")), 'errors'); - $action='create'; - $error++; + + $datep = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); + $date_delivery = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); + $duration = GETPOST('duree_validite'); + + if (empty($datep)) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), 'errors'); + $action = 'create'; + $error ++; } - if (empty($duration)) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("ValidityDuration")), 'errors'); - $action='create'; - $error++; + if (empty($duration)) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ValidityDuration")), 'errors'); + $action = 'create'; + $error ++; } - - if ($socid<1) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Customer")),'errors'); - $action='create'; - $error++; + + if ($socid < 1) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), 'errors'); + $action = 'create'; + $error ++; } - - if (! $error) - { + + if (! $error) { $db->begin(); - + // Si on a selectionne une propal a copier, on realise la copie - if (GETPOST('createmode')=='copy' && GETPOST('copie_propal')) - { - if ($object->fetch(GETPOST('copie_propal')) > 0) - { - $object->ref = GETPOST('ref'); - $object->datep = $datep; - $object->date_livraison = $date_delivery; - $object->availability_id = GETPOST('availability_id'); - $object->demand_reason_id = GETPOST('demand_reason_id'); - $object->fk_delivery_address = GETPOST('fk_address'); - $object->duree_validite = $duration; - $object->cond_reglement_id = GETPOST('cond_reglement_id'); - $object->mode_reglement_id = GETPOST('mode_reglement_id'); - $object->remise_percent = GETPOST('remise_percent'); - $object->remise_absolue = GETPOST('remise_absolue'); - $object->socid = GETPOST('socid'); - $object->contactid = GETPOST('contactidp'); - $object->fk_project = GETPOST('projectid'); - $object->modelpdf = GETPOST('model'); - $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); - $object->statut = 0; - + if (GETPOST('createmode') == 'copy' && GETPOST('copie_propal')) { + if ($object->fetch(GETPOST('copie_propal')) > 0) { + $object->ref = GETPOST('ref'); + $object->datep = $datep; + $object->date_livraison = $date_delivery; + $object->availability_id = GETPOST('availability_id'); + $object->demand_reason_id = GETPOST('demand_reason_id'); + $object->fk_delivery_address = GETPOST('fk_address'); + $object->duree_validite = $duration; + $object->cond_reglement_id = GETPOST('cond_reglement_id'); + $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->remise_percent = GETPOST('remise_percent'); + $object->remise_absolue = GETPOST('remise_absolue'); + $object->socid = GETPOST('socid'); + $object->contactid = GETPOST('contactidp'); + $object->fk_project = GETPOST('projectid'); + $object->modelpdf = GETPOST('model'); + $object->author = $user->id; // deprecated + $object->note = GETPOST('note'); + $object->statut = 0; + $id = $object->create_from($user); + } else { + setEventMessage($langs->trans("ErrorFailedToCopyProposal", GETPOST('copie_propal')), 'errors'); } - else - { - setEventMessage($langs->trans("ErrorFailedToCopyProposal",GETPOST('copie_propal')), 'errors'); - } - } - else - { - $object->ref = GETPOST('ref'); - $object->ref_client = GETPOST('ref_client'); - $object->datep = $datep; - $object->date_livraison = $date_delivery; - $object->availability_id = GETPOST('availability_id'); - $object->demand_reason_id = GETPOST('demand_reason_id'); - $object->fk_delivery_address = GETPOST('fk_address'); - $object->duree_validite = GETPOST('duree_validite'); - $object->cond_reglement_id = GETPOST('cond_reglement_id'); - $object->mode_reglement_id = GETPOST('mode_reglement_id'); - - $object->contactid = GETPOST('contactidp'); + } else { + $object->ref = GETPOST('ref'); + $object->ref_client = GETPOST('ref_client'); + $object->datep = $datep; + $object->date_livraison = $date_delivery; + $object->availability_id = GETPOST('availability_id'); + $object->demand_reason_id = GETPOST('demand_reason_id'); + $object->fk_delivery_address = GETPOST('fk_address'); + $object->duree_validite = GETPOST('duree_validite'); + $object->cond_reglement_id = GETPOST('cond_reglement_id'); + $object->mode_reglement_id = GETPOST('mode_reglement_id'); + + $object->contactid = GETPOST('contactidp'); $object->fk_project = GETPOST('projectid'); - $object->modelpdf = GETPOST('model'); - $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); - - $object->origin = GETPOST('origin'); - $object->origin_id = GETPOST('originid'); - - for ($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i++) - { - if ($_POST['idprod'.$i]) - { - $xid = 'idprod'.$i; - $xqty = 'qty'.$i; - $xremise = 'remise'.$i; - $object->add_product($_POST[$xid],$_POST[$xqty],$_POST[$xremise]); + $object->modelpdf = GETPOST('model'); + $object->author = $user->id; // deprecated + $object->note = GETPOST('note'); + + $object->origin = GETPOST('origin'); + $object->origin_id = GETPOST('originid'); + + for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++) { + if ($_POST ['idprod' . $i]) { + $xid = 'idprod' . $i; + $xqty = 'qty' . $i; + $xremise = 'remise' . $i; + $object->add_product($_POST [$xid], $_POST [$xqty], $_POST [$xremise]); } } - + // Fill array 'array_options' with data from add form - $ret = $extrafields->setOptionalsFromPost($extralabels,$object); - if($ret < 0) { - $error++; + $ret = $extrafields->setOptionalsFromPost($extralabels, $object); + if ($ret < 0) { + $error ++; $action = 'create'; } } - - if(!$error) { + + if (! $error) { $id = $object->create($user); - - if ($id > 0) - { + + if ($id > 0) { // Insertion contact par defaut si defini - if (GETPOST('contactidp') > 0) - { - $result=$object->add_contact(GETPOST('contactidp'),'CUSTOMER','external'); - if ($result < 0) - { - $error++; + if (GETPOST('contactidp') > 0) { + $result = $object->add_contact(GETPOST('contactidp'), 'CUSTOMER', 'external'); + if ($result < 0) { + $error ++; setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors'); } } - - if (! $error) - { + + if (! $error) { $db->commit(); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$id); - exit; - } - else - { + + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id); + exit(); + } else { $db->rollback(); } - } - else - { - dol_print_error($db,$object->error); + } else { + dol_print_error($db, $object->error); $db->rollback(); - exit; + exit(); } } } -} +} // Classify billed -else if ($action == 'classifybilled' && $user->rights->propal->cloturer) -{ +else if ($action == 'classifybilled' && $user->rights->propal->cloturer) { $object->cloture($user, 4, ''); -} +} // Reopen proposal -else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) -{ +else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) { // prevent browser refresh from reopening proposal several times - if ($object->statut==2 || $object->statut==3) - { - $object->reopen($user,1); + if ($object->statut == 2 || $object->statut == 3) { + $object->reopen($user, 1); } -} +} // Close proposal -else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) -{ - if (! GETPOST('statut')) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("CloseAs")), 'errors'); - $action='statut'; - } - else - { +else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) { + if (! GETPOST('statut')) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), 'errors'); + $action = 'statut'; + } else { // prevent browser refresh from closing proposal several times - if ($object->statut==1) - { + if ($object->statut == 1) { $object->cloture($user, GETPOST('statut'), GETPOST('note')); } } } // Add file in email form -if (GETPOST('addfile')) -{ - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - +if (GETPOST('addfile')) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + // Set tmp user directory TODO Use a dedicated directory for temp mails files - $vardir=$conf->user->dir_output."/".$user->id; - $upload_dir_tmp = $vardir.'/temp'; - - dol_add_file_process($upload_dir_tmp,0,0); - $action='presend'; + $vardir = $conf->user->dir_output . "/" . $user->id; + $upload_dir_tmp = $vardir . '/temp'; + + dol_add_file_process($upload_dir_tmp, 0, 0); + $action = 'presend'; } // Remove file in email form -if (GETPOST('removedfile')) -{ - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - +if (GETPOST('removedfile')) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + // Set tmp user directory - $vardir=$conf->user->dir_output."/".$user->id; - $upload_dir_tmp = $vardir.'/temp'; - + $vardir = $conf->user->dir_output . "/" . $user->id; + $upload_dir_tmp = $vardir . '/temp'; + // TODO Delete only files that was uploaded from email form - dol_remove_file_process($_POST['removedfile'],0); - $action='presend'; + dol_remove_file_process($_POST ['removedfile'], 0); + $action = 'presend'; } /* * Send mail */ -if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! GETPOST('cancel')) -{ +if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! GETPOST('cancel')) { $langs->load('mails'); - - if ($object->id > 0) - { - if ($_POST['sendto']) - { + + if ($object->id > 0) { + if ($_POST ['sendto']) { // Le destinataire a ete fourni via le champ libre - $sendto = $_POST['sendto']; + $sendto = $_POST ['sendto']; $sendtoid = 0; - } - elseif ($_POST['receiver'] != '-1') - { + } elseif ($_POST ['receiver'] != '-1') { // Recipient was provided from combo list - if ($_POST['receiver'] == 'thirdparty') // Id of third party + if ($_POST ['receiver'] == 'thirdparty') // Id of third party { $sendto = $object->client->email; $sendtoid = 0; - } - else // Id du contact + } else // Id du contact { - $sendto = $object->client->contact_get_property($_POST['receiver'],'email'); - $sendtoid = $_POST['receiver']; + $sendto = $object->client->contact_get_property($_POST ['receiver'], 'email'); + $sendtoid = $_POST ['receiver']; } } - - if (dol_strlen($sendto)) - { + + if (dol_strlen($sendto)) { $langs->load("commercial"); - - $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>'; - $replyto = $_POST['replytoname']. ' <' . $_POST['replytomail'].'>'; - $message = $_POST['message']; - $sendtocc = $_POST['sendtocc']; - $deliveryreceipt = $_POST['deliveryreceipt']; - - if (dol_strlen($_POST['subject'])) $subject = $_POST['subject']; - else $subject = $langs->transnoentities('Propal').' '.$object->ref; - $actiontypecode='AC_PROP'; - $actionmsg = $langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto.".\n"; - if ($message) - { - $actionmsg.=$langs->transnoentities('MailTopic').": ".$subject."\n"; - $actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n"; - $actionmsg.=$message; - } - $actionmsg2=$langs->transnoentities('Action'.$actiontypecode); - - // Create form object - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; - $formmail = new FormMail($db); - - $attachedfiles=$formmail->get_attached_files(); - $filepath = $attachedfiles['paths']; - $filename = $attachedfiles['names']; - $mimetype = $attachedfiles['mimes']; - - // Envoi de la propal - require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,'',$deliveryreceipt,-1); - if ($mailfile->error) - { - setEventMessage($mailfile->error, 'errors'); - } + + $from = $_POST ['fromname'] . ' <' . $_POST ['frommail'] . '>'; + $replyto = $_POST ['replytoname'] . ' <' . $_POST ['replytomail'] . '>'; + $message = $_POST ['message']; + $sendtocc = $_POST ['sendtocc']; + $deliveryreceipt = $_POST ['deliveryreceipt']; + + if (dol_strlen($_POST ['subject'])) + $subject = $_POST ['subject']; else - { - $result=$mailfile->sendfile(); - if ($result) - { + $subject = $langs->transnoentities('Propal') . ' ' . $object->ref; + $actiontypecode = 'AC_PROP'; + $actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto . ".\n"; + if ($message) { + $actionmsg .= $langs->transnoentities('MailTopic') . ": " . $subject . "\n"; + $actionmsg .= $langs->transnoentities('TextUsedInTheMessageBody') . ":\n"; + $actionmsg .= $message; + } + $actionmsg2 = $langs->transnoentities('Action' . $actiontypecode); + + // Create form object + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + $attachedfiles = $formmail->get_attached_files(); + $filepath = $attachedfiles ['paths']; + $filename = $attachedfiles ['names']; + $mimetype = $attachedfiles ['mimes']; + + // Envoi de la propal + require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php'; + $mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, '', $deliveryreceipt, - 1); + if ($mailfile->error) { + setEventMessage($mailfile->error, 'errors'); + } else { + $result = $mailfile->sendfile(); + if ($result) { // Initialisation donnees - $object->sendtoid = $sendtoid; - $object->actiontypecode = $actiontypecode; - $object->actionmsg = $actionmsg; - $object->actionmsg2 = $actionmsg2; - $object->fk_element = $object->id; - $object->elementtype = $object->element; - + $object->sendtoid = $sendtoid; + $object->actiontypecode = $actiontypecode; + $object->actionmsg = $actionmsg; + $object->actionmsg2 = $actionmsg2; + $object->fk_element = $object->id; + $object->elementtype = $object->element; + // Appel des triggers include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; - $interface=new Interfaces($db); - $result=$interface->run_triggers('PROPAL_SENTBYMAIL',$object,$user,$langs,$conf); + $interface = new Interfaces($db); + $result = $interface->run_triggers('PROPAL_SENTBYMAIL', $object, $user, $langs, $conf); if ($result < 0) { - $error++; $this->errors=$interface->errors; + $error ++; + $this->errors = $interface->errors; } // Fin appel triggers - - if (! $error) - { + + if (! $error) { // Redirect here // This avoid sending mail twice if going out and then back to page - $mesg=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)); + $mesg = $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2)); setEventMessage($mesg); - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id); - exit; - } - else - { + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id); + exit(); + } else { dol_print_error($db); } - } - else - { + } else { $langs->load("other"); - if ($mailfile->error) - { - $mesg.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); - $mesg.='
'.$mailfile->error; - } - else - { - $mesg.='No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS'; + if ($mailfile->error) { + $mesg .= $langs->trans('ErrorFailedToSendMail', $from, $sendto); + $mesg .= '
' . $mailfile->error; + } else { + $mesg .= 'No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS'; } setEventMessage($mesg, 'errors'); } } - } - else - { + } else { $langs->load("other"); - setEventMessage($langs->trans('ErrorMailRecipientIsEmpty').'!', 'errors'); + setEventMessage($langs->trans('ErrorMailRecipientIsEmpty') . '!', 'errors'); dol_syslog($langs->trans('ErrorMailRecipientIsEmpty')); } - } - else - { + } else { $langs->load("other"); - setEventMessage($langs->trans('ErrorFailedToReadEntity',$langs->trans("Proposal")), 'errors'); - dol_syslog($langs->trans('ErrorFailedToReadEntity',$langs->trans("Proposal"))); + setEventMessage($langs->trans('ErrorFailedToReadEntity', $langs->trans("Proposal")), 'errors'); + dol_syslog($langs->trans('ErrorFailedToReadEntity', $langs->trans("Proposal"))); } } // Go back to draft -if ($action == 'modif' && $user->rights->propal->creer) -{ +if ($action == 'modif' && $user->rights->propal->creer) { $object->set_draft($user); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } -} +} -else if ($action == "setabsolutediscount" && $user->rights->propal->creer) -{ - if ($_POST["remise_id"]) - { - if ($object->id > 0) - { - $result=$object->insert_discount($_POST["remise_id"]); - if ($result < 0) - { +else if ($action == "setabsolutediscount" && $user->rights->propal->creer) { + if ($_POST ["remise_id"]) { + if ($object->id > 0) { + $result = $object->insert_discount($_POST ["remise_id"]); + if ($result < 0) { setEventMessage($object->error, 'errors'); } } } -} +} // Add line -else if (($action == 'addline' || $action == 'addline_predef') && $user->rights->propal->creer) -{ +else if (($action == 'addline' || $action == 'addline_predef') && $user->rights->propal->creer) { // Set if we used free entry or predefined product - if (GETPOST('addline_libre')) - { - $predef=''; - $idprod=0; - $product_desc=(GETPOST('dp_desc')?GETPOST('dp_desc'):''); + if (GETPOST('addline_libre')) { + $predef = ''; + $idprod = 0; + $product_desc = (GETPOST('dp_desc') ? GETPOST('dp_desc') : ''); $price_ht = GETPOST('price_ht'); - $tva_tx=(GETPOST('tva_tx')?GETPOST('tva_tx'):0); + $tva_tx = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); } - if (GETPOST('addline_predefined')) - { - $predef=(($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : ''); - $idprod=GETPOST('idprod', 'int'); - $product_desc = (GETPOST('product_desc')?GETPOST('product_desc'):(GETPOST('np_desc')?GETPOST('np_desc'):'')); + if (GETPOST('addline_predefined')) { + $predef = (($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : ''); + $idprod = GETPOST('idprod', 'int'); + $product_desc = (GETPOST('product_desc') ? GETPOST('product_desc') : (GETPOST('np_desc') ? GETPOST('np_desc') : '')); $price_ht = ''; $tva_tx = ''; } - if (GETPOST('usenewaddlineform')) { - $idprod=GETPOST('idprod', 'int'); - $product_desc = (GETPOST('product_desc')?GETPOST('product_desc'):(GETPOST('np_desc')?GETPOST('np_desc'):(GETPOST('dp_desc')?GETPOST('dp_desc'):''))); - $price_ht = GETPOST('price_ht'); - $tva_tx=(GETPOST('tva_tx')?GETPOST('tva_tx'):0); - } - $qty = GETPOST('qty'.$predef); - $remise_percent=GETPOST('remise_percent'.$predef); - - //Extrafields + if (GETPOST('usenewaddlineform')) { + $idprod = GETPOST('idprod', 'int'); + $product_desc = (GETPOST('product_desc') ? GETPOST('product_desc') : (GETPOST('np_desc') ? GETPOST('np_desc') : (GETPOST('dp_desc') ? GETPOST('dp_desc') : ''))); + $price_ht = GETPOST('price_ht'); + $tva_tx = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); + } + $qty = GETPOST('qty' . $predef); + $remise_percent = GETPOST('remise_percent' . $predef); + + // Extrafields $extrafieldsline = new ExtraFields($db); - $extralabelsline =$extrafieldsline->fetch_name_optionals_label($object->table_element_line); - $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline,$predef); - //Unset extrafield - if (is_array($extralabelsline)) - { + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + // Unset extrafield + if (is_array($extralabelsline)) { // Get extra fields - foreach ($extralabelsline as $key => $value) - { - unset($_POST["options_".$key]); + foreach ( $extralabelsline as $key => $value ) { + unset($_POST ["options_" . $key]); } } - - if (empty($idprod) && GETPOST('type') < 0) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")), 'errors'); - $error++; + + if (empty($idprod) && GETPOST('type') < 0) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), 'errors'); + $error ++; } - - if ((empty($idprod) || GETPOST('usenewaddlineform')) && $price_ht == '') // Unit price can be 0 but not ''. Also price can be negative for proposal. + + if ((empty($idprod) || GETPOST('usenewaddlineform')) && $price_ht == '') // Unit price can be 0 but not ''. Also price can be negative for + // proposal. { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("UnitPriceHT")), 'errors'); - $error++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), 'errors'); + $error ++; } - if (empty($idprod) && empty($product_desc)) - { + if (empty($idprod) && empty($product_desc)) { setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Description")), 'errors'); - $error++; + $error ++; } - - if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) - { - $pu_ht=0; - $pu_ttc=0; - $price_min=0; - $price_base_type = (GETPOST('price_base_type', 'alpha')?GETPOST('price_base_type', 'alpha'):'HT'); - + + if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) { + $pu_ht = 0; + $pu_ttc = 0; + $price_min = 0; + $price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT'); + $db->begin(); - + // Ecrase $pu par celui du produit // Ecrase $desc par celui du produit // Ecrase $txtva par celui du produit - if (! empty($idprod)) - { + if (! empty($idprod)) { $prod = new Product($db); $prod->fetch($idprod); - - $label = ((GETPOST('product_label') && GETPOST('product_label')!=$prod->label)?GETPOST('product_label'):''); - + + $label = ((GETPOST('product_label') && GETPOST('product_label') != $prod->label) ? GETPOST('product_label') : ''); + // If prices fields are update - if (GETPOST('usenewaddlineform')) - { - $pu_ht=price2num($price_ht, 'MU'); - $pu_ttc=price2num(GETPOST('price_ttc'), 'MU'); - $tva_npr=(preg_match('/\*/', $tva_tx)?1:0); - $tva_tx=str_replace('*','', $tva_tx); + if (GETPOST('usenewaddlineform')) { + $pu_ht = price2num($price_ht, 'MU'); + $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); + $tva_npr = (preg_match('/\*/', $tva_tx) ? 1 : 0); + $tva_tx = str_replace('*', '', $tva_tx); $desc = $product_desc; - } - else - { - $tva_tx = get_default_tva($mysoc,$object->client,$prod->id); - $tva_npr = get_default_npr($mysoc,$object->client,$prod->id); - + } else { + $tva_tx = get_default_tva($mysoc, $object->client, $prod->id); + $tva_npr = get_default_npr($mysoc, $object->client, $prod->id); + // On defini prix unitaire - if (! empty($conf->global->PRODUIT_MULTIPRICES) && $object->client->price_level) - { - $pu_ht = $prod->multiprices[$object->client->price_level]; - $pu_ttc = $prod->multiprices_ttc[$object->client->price_level]; - $price_min = $prod->multiprices_min[$object->client->price_level]; - $price_base_type = $prod->multiprices_base_type[$object->client->price_level]; - } - elseif (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { + if (! empty($conf->global->PRODUIT_MULTIPRICES) && $object->client->price_level) { + $pu_ht = $prod->multiprices [$object->client->price_level]; + $pu_ttc = $prod->multiprices_ttc [$object->client->price_level]; + $price_min = $prod->multiprices_min [$object->client->price_level]; + $price_base_type = $prod->multiprices_base_type [$object->client->price_level]; + } elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - - $prodcustprice = new Productcustomerprice( $db ); - + + $prodcustprice = new Productcustomerprice($db); + $filter = array ( - 't.fk_product' => $prod->id, - 't.fk_soc'=> $object->client->id + 't.fk_product' => $prod->id,'t.fk_soc' => $object->client->id ); - - $result = $prodcustprice->fetch_all( '', '', 0,0, $filter ); - if ($result) - { - if (count($prodcustprice->lines)>0) - { - $found=true; - $pu_ht=price($prodcustprice->lines[0]->price); - $pu_ttc=price($prodcustprice->lines[0]->price_ttc); - $price_base_type=$prodcustprice->lines[0]->price_base_type; - $prod->tva_tx=$prodcustprice->lines[0]->tva_tx; + + $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); + if ($result) { + if (count($prodcustprice->lines) > 0) { + $found = true; + $pu_ht = price($prodcustprice->lines [0]->price); + $pu_ttc = price($prodcustprice->lines [0]->price_ttc); + $price_base_type = $prodcustprice->lines [0]->price_base_type; + $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; } } - } - else - { + } else { $pu_ht = $prod->price; $pu_ttc = $prod->price_ttc; $price_min = $prod->price_min; $price_base_type = $prod->price_base_type; } - + // if price ht is forced (ie: calculated by margin rate and cost price) - if (!empty($price_ht)) - { - $pu_ht = price2num($price_ht, 'MU'); - $pu_ttc = price2num($pu_ht * (1 + ($tva_tx/100)), 'MU'); - } + if (! empty($price_ht)) { + $pu_ht = price2num($price_ht, 'MU'); + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); + } // On reevalue prix selon taux tva car taux tva transaction peut etre different // de ceux du produit par defaut (par exemple si pays different entre vendeur et acheteur). - elseif ($tva_tx != $prod->tva_tx) - { - if ($price_base_type != 'HT') - { - $pu_ht = price2num($pu_ttc / (1 + ($tva_tx/100)), 'MU'); - } - else - { - $pu_ttc = price2num($pu_ht * (1 + ($tva_tx/100)), 'MU'); + elseif ($tva_tx != $prod->tva_tx) { + if ($price_base_type != 'HT') { + $pu_ht = price2num($pu_ttc / (1 + ($tva_tx / 100)), 'MU'); + } else { + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); } } - - $desc=''; - + + $desc = ''; + // Define output language - if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) - { + if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { $outputlangs = $langs; - $newlang=''; - if (empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id'); - if (empty($newlang)) $newlang=$object->client->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); + $newlang = ''; + if (empty($newlang) && GETPOST('lang_id')) + $newlang = GETPOST('lang_id'); + if (empty($newlang)) + $newlang = $object->client->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); $outputlangs->setDefaultLang($newlang); } - - $desc = (! empty($prod->multilangs[$outputlangs->defaultlang]["description"])) ? $prod->multilangs[$outputlangs->defaultlang]["description"] : $prod->description; - } - else - { + + $desc = (! empty($prod->multilangs [$outputlangs->defaultlang] ["description"])) ? $prod->multilangs [$outputlangs->defaultlang] ["description"] : $prod->description; + } else { $desc = $prod->description; } - - $desc=dol_concatdesc($desc,$product_desc); - + + $desc = dol_concatdesc($desc, $product_desc); + // Add custom code and origin country into description - if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) - { - $tmptxt='('; - if (! empty($prod->customcode)) $tmptxt.=$langs->transnoentitiesnoconv("CustomCode").': '.$prod->customcode; - if (! empty($prod->customcode) && ! empty($prod->country_code)) $tmptxt.=' - '; - if (! empty($prod->country_code)) $tmptxt.=$langs->transnoentitiesnoconv("CountryOrigin").': '.getCountry($prod->country_code,0,$db,$langs,0); - $tmptxt.=')'; - $desc= dol_concatdesc($desc, $tmptxt); + if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) { + $tmptxt = '('; + if (! empty($prod->customcode)) + $tmptxt .= $langs->transnoentitiesnoconv("CustomCode") . ': ' . $prod->customcode; + if (! empty($prod->customcode) && ! empty($prod->country_code)) + $tmptxt .= ' - '; + if (! empty($prod->country_code)) + $tmptxt .= $langs->transnoentitiesnoconv("CountryOrigin") . ': ' . getCountry($prod->country_code, 0, $db, $langs, 0); + $tmptxt .= ')'; + $desc = dol_concatdesc($desc, $tmptxt); } } - + $type = $prod->type; + } else { + $pu_ht = price2num($price_ht, 'MU'); + $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); + $tva_npr = (preg_match('/\*/', $tva_tx) ? 1 : 0); + $tva_tx = str_replace('*', '', $tva_tx); + $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); + $desc = $product_desc; + $type = GETPOST('type'); } - else - { - $pu_ht = price2num($price_ht, 'MU'); - $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); - $tva_npr = (preg_match('/\*/', $tva_tx)?1:0); - $tva_tx = str_replace('*', '', $tva_tx); - $label = (GETPOST('product_label')?GETPOST('product_label'):''); - $desc = $product_desc; - $type = GETPOST('type'); - } - + // Margin - $fournprice=(GETPOST('fournprice'.$predef)?GETPOST('fournprice'.$predef):''); - $buyingprice=(GETPOST('buying_price'.$predef)?GETPOST('buying_price'.$predef):''); - - $date_start=dol_mktime(0, 0, 0, GETPOST('date_start'.$predef.'month'), GETPOST('date_start'.$predef.'day'), GETPOST('date_start'.$predef.'year')); - $date_end=dol_mktime(0, 0, 0, GETPOST('date_end'.$predef.'month'), GETPOST('date_end'.$predef.'day'), GETPOST('date_end'.$predef.'year')); - + $fournprice = (GETPOST('fournprice' . $predef) ? GETPOST('fournprice' . $predef) : ''); + $buyingprice = (GETPOST('buying_price' . $predef) ? GETPOST('buying_price' . $predef) : ''); + + $date_start = dol_mktime(0, 0, 0, GETPOST('date_start' . $predef . 'month'), GETPOST('date_start' . $predef . 'day'), GETPOST('date_start' . $predef . 'year')); + $date_end = dol_mktime(0, 0, 0, GETPOST('date_end' . $predef . 'month'), GETPOST('date_end' . $predef . 'day'), GETPOST('date_end' . $predef . 'year')); + // Local Taxes - $localtax1_tx= get_localtax($tva_tx, 1, $object->client); - $localtax2_tx= get_localtax($tva_tx, 2, $object->client); - - $info_bits=0; - if ($tva_npr) $info_bits |= 0x01; - - if (! empty($price_min) && (price2num($pu_ht)*(1-price2num($remise_percent)/100) < price2num($price_min))) - { - $mesg = $langs->trans("CantBeLessThanMinPrice",price(price2num($price_min,'MU'),0,$langs,0,0,-1,$conf->currency)); + $localtax1_tx = get_localtax($tva_tx, 1, $object->client); + $localtax2_tx = get_localtax($tva_tx, 2, $object->client); + + $info_bits = 0; + if ($tva_npr) + $info_bits |= 0x01; + + if (! empty($price_min) && (price2num($pu_ht) * (1 - price2num($remise_percent) / 100) < price2num($price_min))) { + $mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)); setEventMessage($mesg, 'errors'); - } - else - { + } else { // Insert line - $result=$object->addline( - $desc, - $pu_ht, - $qty, - $tva_tx, - $localtax1_tx, - $localtax2_tx, - $idprod, - $remise_percent, - $price_base_type, - $pu_ttc, - $info_bits, - $type, - -1, - 0, - GETPOST('fk_parent_line'), - $fournprice, - $buyingprice, - $label, - $date_start, - $date_end, - $array_option - ); - - if ($result > 0) - { + $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $date_start, $date_end, $array_option); + + if ($result > 0) { $db->commit(); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - - unset($_POST['qty']); - unset($_POST['type']); - unset($_POST['remise_percent']); - unset($_POST['price_ht']); - unset($_POST['price_ttc']); - unset($_POST['tva_tx']); - unset($_POST['product_ref']); - unset($_POST['product_label']); - unset($_POST['product_desc']); - unset($_POST['fournprice']); - unset($_POST['buying_price']); - unset($_POST['np_marginRate']); - unset($_POST['np_markRate']); - unset($_POST['dp_desc']); - - unset($_POST['idprod']); - unset($_POST['qty_predef']); - unset($_POST['remise_percent_predef']); - unset($_POST['fournprice_predef']); - unset($_POST['buying_price_predef']); - unset($_POST['np_marginRate_predef']); - unset($_POST['np_markRate_predef']); - unset($_POST['np_desc']); - } - else - { + + unset($_POST ['qty']); + unset($_POST ['type']); + unset($_POST ['remise_percent']); + unset($_POST ['price_ht']); + unset($_POST ['price_ttc']); + unset($_POST ['tva_tx']); + unset($_POST ['product_ref']); + unset($_POST ['product_label']); + unset($_POST ['product_desc']); + unset($_POST ['fournprice']); + unset($_POST ['buying_price']); + unset($_POST ['np_marginRate']); + unset($_POST ['np_markRate']); + unset($_POST ['dp_desc']); + + unset($_POST ['idprod']); + unset($_POST ['qty_predef']); + unset($_POST ['remise_percent_predef']); + unset($_POST ['fournprice_predef']); + unset($_POST ['buying_price_predef']); + unset($_POST ['np_marginRate_predef']); + unset($_POST ['np_markRate_predef']); + unset($_POST ['np_desc']); + } else { $db->rollback(); - + setEventMessage($object->error, 'errors'); } } } -} +} // Mise a jour d'une ligne dans la propale -else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('save') == $langs->trans("Save")) -{ +else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('save') == $langs->trans("Save")) { // Define info_bits - $info_bits=0; - if (preg_match('/\*/', GETPOST('tva_tx'))) $info_bits |= 0x01; - - // Clean parameters - $description=dol_htmlcleanlastbr(GETPOST('product_desc')); - + $info_bits = 0; + if (preg_match('/\*/', GETPOST('tva_tx'))) + $info_bits |= 0x01; + + // Clean parameters + $description = dol_htmlcleanlastbr(GETPOST('product_desc')); + // Define vat_rate - $vat_rate=(GETPOST('tva_tx')?GETPOST('tva_tx'):0); - $vat_rate=str_replace('*','',$vat_rate); - $localtax1_rate=get_localtax($vat_rate,1,$object->client); - $localtax2_rate=get_localtax($vat_rate,2,$object->client); - $pu_ht=GETPOST('price_ht'); - + $vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); + $vat_rate = str_replace('*', '', $vat_rate); + $localtax1_rate = get_localtax($vat_rate, 1, $object->client); + $localtax2_rate = get_localtax($vat_rate, 2, $object->client); + $pu_ht = GETPOST('price_ht'); + // Add buying price - $fournprice=(GETPOST('fournprice')?GETPOST('fournprice'):''); - $buyingprice=(GETPOST('buying_price')?GETPOST('buying_price'):''); - - $date_start=dol_mktime(0, 0, 0, GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear')); - $date_end=dol_mktime(0, 0, 0, GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear')); - - //Extrafields + $fournprice = (GETPOST('fournprice') ? GETPOST('fournprice') : ''); + $buyingprice = (GETPOST('buying_price') ? GETPOST('buying_price') : ''); + + $date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear')); + $date_end = dol_mktime(0, 0, 0, GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear')); + + // Extrafields $extrafieldsline = new ExtraFields($db); - $extralabelsline =$extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline); - //Unset extrafield - if (is_array($extralabelsline)) - { + // Unset extrafield + if (is_array($extralabelsline)) { // Get extra fields - foreach ($extralabelsline as $key => $value) - { - unset($_POST["options_".$key]); + foreach ( $extralabelsline as $key => $value ) { + unset($_POST ["options_" . $key]); } } - + // Define special_code for special lines - $special_code=0; - if (! GETPOST('qty')) $special_code=3; - - // Check minimum price + $special_code = 0; + if (! GETPOST('qty')) + $special_code = 3; + + // Check minimum price $productid = GETPOST('productid', 'int'); - if (! empty($productid)) - { + if (! empty($productid)) { $product = new Product($db); - $res=$product->fetch($productid); - - $type=$product->type; - + $res = $product->fetch($productid); + + $type = $product->type; + $price_min = $product->price_min; if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->client->price_level)) - $price_min = $product->multiprices_min[$object->client->price_level]; - - $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label'):''); - - if ($price_min && (price2num($pu_ht)*(1-price2num(GETPOST('remise_percent'))/100) < price2num($price_min))) - { - setEventMessage($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min,'MU'),0,$langs,0,0,-1,$conf->currency)), 'errors'); - $error++; + $price_min = $product->multiprices_min [$object->client->price_level]; + + $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); + + if ($price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent')) / 100) < price2num($price_min))) { + setEventMessage($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), 'errors'); + $error ++; } - } - else - { + } else { $type = GETPOST('type'); - $label = (GETPOST('product_label') ? GETPOST('product_label'):''); - + $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); + // Check parameters if (GETPOST('type') < 0) { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")), 'errors'); - $error++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), 'errors'); + $error ++; } } - - if (! $error) - { + + if (! $error) { $db->begin(); - - $result = $object->updateline( - GETPOST('lineid'), - $pu_ht, - GETPOST('qty'), - GETPOST('remise_percent'), - $vat_rate, - $localtax1_rate, - $localtax2_rate, - $description, - 'HT', - $info_bits, - $special_code, - GETPOST('fk_parent_line'), - 0, - $fournprice, - $buyingprice, - $label, - $type, - $date_start, - $date_end, - $array_option - ); - - if ($result >= 0) - { + + $result = $object->updateline(GETPOST('lineid'), $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $date_start, $date_end, $array_option); + + if ($result >= 0) { $db->commit(); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - - unset($_POST['qty']); - unset($_POST['type']); - unset($_POST['productid']); - unset($_POST['remise_percent']); - unset($_POST['price_ht']); - unset($_POST['price_ttc']); - unset($_POST['tva_tx']); - unset($_POST['product_ref']); - unset($_POST['product_label']); - unset($_POST['product_desc']); - unset($_POST['fournprice']); - unset($_POST['buying_price']); - } - else - { + + unset($_POST ['qty']); + unset($_POST ['type']); + unset($_POST ['productid']); + unset($_POST ['remise_percent']); + unset($_POST ['price_ht']); + unset($_POST ['price_ttc']); + unset($_POST ['tva_tx']); + unset($_POST ['product_ref']); + unset($_POST ['product_label']); + unset($_POST ['product_desc']); + unset($_POST ['fournprice']); + unset($_POST ['buying_price']); + } else { $db->rollback(); - + setEventMessage($object->error, 'errors'); } } -} +} -else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('cancel') == $langs->trans('Cancel')) -{ - header('Location: '.$_SERVER['PHP_SELF'].'?id='.$object->id); // Pour reaffichage de la fiche en cours d'edition - exit; -} +else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('cancel') == $langs->trans('Cancel')) { + header('Location: ' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition + exit(); +} // Generation doc (depuis lien ou depuis cartouche doc) -else if ($action == 'builddoc' && $user->rights->propal->creer) -{ - if (GETPOST('model')) - { +else if ($action == 'builddoc' && $user->rights->propal->creer) { + if (GETPOST('model')) { $object->setDocModel($user, GETPOST('model')); } - + // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records - $result=propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - - if ($result <= 0) - { - dol_print_error($db,$result); - exit; + $ret = $object->fetch($id); // Reload to get new records + $result = propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + + if ($result <= 0) { + dol_print_error($db, $result); + exit(); + } else { + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc')); + exit(); } - else - { - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.(empty($conf->global->MAIN_JUMP_TAG)?'':'#builddoc')); - exit; - } -} +} // Remove file in doc form -else if ($action == 'remove_file' && $user->rights->propal->creer) -{ - if ($object->id > 0) - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - +else if ($action == 'remove_file' && $user->rights->propal->creer) { + if ($object->id > 0) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + $langs->load("other"); $upload_dir = $conf->propal->dir_output; $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file,0,0,0,$object); - if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); - else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); + $ret = dol_delete_file($file, 0, 0, 0, $object); + if ($ret) + setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); + else + setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); } -} +} // Set project -else if ($action == 'classin' && $user->rights->propal->creer) -{ - $object->setProject($_POST['projectid']); -} +else if ($action == 'classin' && $user->rights->propal->creer) { + $object->setProject($_POST ['projectid']); +} // Delai de livraison -else if ($action == 'setavailability' && $user->rights->propal->creer) -{ - $result = $object->availability($_POST['availability_id']); -} +else if ($action == 'setavailability' && $user->rights->propal->creer) { + $result = $object->availability($_POST ['availability_id']); +} // Origine de la propale -else if ($action == 'setdemandreason' && $user->rights->propal->creer) -{ - $result = $object->demand_reason($_POST['demand_reason_id']); -} +else if ($action == 'setdemandreason' && $user->rights->propal->creer) { + $result = $object->demand_reason($_POST ['demand_reason_id']); +} // Conditions de reglement -else if ($action == 'setconditions' && $user->rights->propal->creer) -{ - $result = $object->setPaymentTerms(GETPOST('cond_reglement_id','int')); -} +else if ($action == 'setconditions' && $user->rights->propal->creer) { + $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); +} -else if ($action == 'setremisepercent' && $user->rights->propal->creer) -{ - $result = $object->set_remise_percent($user, $_POST['remise_percent']); -} +else if ($action == 'setremisepercent' && $user->rights->propal->creer) { + $result = $object->set_remise_percent($user, $_POST ['remise_percent']); +} -else if ($action == 'setremiseabsolue' && $user->rights->propal->creer) -{ - $result = $object->set_remise_absolue($user, $_POST['remise_absolue']); -} +else if ($action == 'setremiseabsolue' && $user->rights->propal->creer) { + $result = $object->set_remise_absolue($user, $_POST ['remise_absolue']); +} // Mode de reglement -else if ($action == 'setmode' && $user->rights->propal->creer) -{ - $result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int')); -} +else if ($action == 'setmode' && $user->rights->propal->creer) { + $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); +} /* * Ordonnancement des lignes */ -else if ($action == 'up' && $user->rights->propal->creer) -{ +else if ($action == 'up' && $user->rights->propal->creer) { $object->line_up(GETPOST('rowid')); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } + + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid')); + exit(); +} - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$id.'#'.GETPOST('rowid')); - exit; -} - -else if ($action == 'down' && $user->rights->propal->creer) -{ +else if ($action == 'down' && $user->rights->propal->creer) { $object->line_down(GETPOST('rowid')); - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { // Define output language $outputlangs = $langs; - if (! empty($conf->global->MAIN_MULTILANGS)) - { - $outputlangs = new Translate("",$conf); - $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->client->default_lang); $outputlangs->setDefaultLang($newlang); } - $ret=$object->fetch($id); // Reload to get new records + $ret = $object->fetch($id); // Reload to get new records propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); } - - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$id.'#'.GETPOST('rowid')); - exit; -} -else if ($action == 'update_extras') -{ + + header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid')); + exit(); +} else if ($action == 'update_extras') { // Fill array 'array_options' with data from update form - $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); - $ret = $extrafields->setOptionalsFromPost($extralabels,$object,GETPOST('attribute')); - if($ret < 0) $error++; - - if (! $error) - { + $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute')); + if ($ret < 0) + $error ++; + + if (! $error) { // Actions on extra fields (by external module or standard code) // FIXME le hook fait double emploi avec le trigger !! - $hookmanager->initHooks(array('propaldao')); - $parameters=array('id'=>$object->id); - $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - if (empty($reshook)) - { - $result=$object->insertExtraFields(); - if ($result < 0) - { - $error++; + $hookmanager->initHooks(array ( + 'propaldao' + )); + $parameters = array ( + 'id' => $object->id + ); + $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been modified by + // some hooks + if (empty($reshook)) { + $result = $object->insertExtraFields(); + if ($result < 0) { + $error ++; } - } - else if ($reshook < 0) $error++; + } else if ($reshook < 0) + $error ++; } - - if ($error) $action = 'edit_extras'; + + if ($error) + $action = 'edit_extras'; } -if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->creer) -{ - if ($action == 'addcontact') - { - if ($object->id > 0) - { +if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->creer) { + if ($action == 'addcontact') { + if ($object->id > 0) { $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); - $result = $object->add_contact($contactid, $_POST["type"], $_POST["source"]); + $result = $object->add_contact($contactid, $_POST ["type"], $_POST ["source"]); } - - if ($result >= 0) - { - header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); - exit; - } - else - { - if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { + + if ($result >= 0) { + header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id); + exit(); + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { $langs->load("errors"); setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'errors'); - } - else - { + } else { setEventMessage($object->error, 'errors'); } } - } + } // Bascule du statut d'un contact - else if ($action == 'swapstatut') - { - if ($object->fetch($id) > 0) - { - $result=$object->swapContactStatus(GETPOST('ligne')); - } - else - { + else if ($action == 'swapstatut') { + if ($object->fetch($id) > 0) { + $result = $object->swapContactStatus(GETPOST('ligne')); + } else { dol_print_error($db); } - } + } // Efface un contact - else if ($action == 'deletecontact') - { + else if ($action == 'deletecontact') { $object->fetch($id); $result = $object->delete_contact($lineid); - - if ($result >= 0) - { - header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); - exit; - } - else - { + + if ($result >= 0) { + header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id); + exit(); + } else { dol_print_error($db); } } } - /* * View */ -llxHeader('',$langs->trans('Proposal'),'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'); +llxHeader('', $langs->trans('Proposal'), 'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'); $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); $formpropal = new FormPropal($db); -$companystatic=new Societe($db); +$companystatic = new Societe($db); -$now=dol_now(); +$now = dol_now(); // Add new proposal -if ($action == 'create') -{ +if ($action == 'create') { print_fiche_titre($langs->trans("NewProp")); - + $soc = new Societe($db); - if ($socid>0) $res=$soc->fetch($socid); - + if ($socid > 0) + $res = $soc->fetch($socid); + $object = new Propal($db); - - print '
'; - print ''; + + print ''; + print ''; print ''; - - if ($origin != 'project' && $originid) - { - print ''; - print ''; + + if ($origin != 'project' && $originid) { + print ''; + print ''; } - + print ''; - + // Reference - print ''; - + print ''; + // Ref customer - print ''; print ''; - + // Third party print ''; - print ''; - if($socid>0) - { + print ''; + if ($socid > 0) { print ''; - } - else - { + } else { print ''; } - print ''."\n"; - + print '' . "\n"; + // Contacts - if($socid>0) - { - print "'; - + // Ligne info remises tiers - print ''; } - + // Date - print ''; - + // Validaty duration - print ''; - + print ''; + // Terms of payment - print ''; - + // Mode of payment - print ''; - + // What trigger creation - print ''; - + // Delivery delay - print ''; - + // Delivery date (or manufacturing) - print ''; + print ''; print ''; - + // Model print ''; - print ''; + print ''; print '"; - + // Project - if (! empty($conf->projet->enabled) && $socid>0) - { - - $formproject=new FormProjets($db); - + if (! empty($conf->projet->enabled) && $socid > 0) { + + $formproject = new FormProjets($db); + $projectid = 0; - if ($origin == 'project') $projectid = ($originid?$originid:0); - + if ($origin == 'project') + $projectid = ($originid ? $originid : 0); + print ''; - print ''; print ''; } - + // Other attributes - $parameters=array('colspan' => ' colspan="3"'); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - print $object->showOptionals($extrafields,'edit'); + $parameters = array ( + 'colspan' => ' colspan="3"' + ); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by + // hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) { + print $object->showOptionals($extrafields, 'edit'); } - + print "
'.$langs->trans('Ref').''.$langs->trans("Draft").'
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
'.$langs->trans('RefCustomer').''; + print '
' . $langs->trans('RefCustomer') . ''; print '
'.$langs->trans('Customer').'' . $langs->trans('Customer') . ''; print $soc->getNomUrl(1); - print ''; + print ''; print ''; - print $form->select_company('','socid','s.client = 1 OR s.client = 2 OR s.client = 3',1); + print $form->select_company('', 'socid', 's.client = 1 OR s.client = 2 OR s.client = 3', 1); print '
".$langs->trans("DefaultContact").''; - $form->select_contacts($soc->id,$setcontact,'contactidp',1,$srccontactslist); + if ($socid > 0) { + print "
" . $langs->trans("DefaultContact") . ''; + $form->select_contacts($soc->id, $setcontact, 'contactidp', 1, $srccontactslist); print '
'.$langs->trans('Discounts').''; - if ($soc->remise_percent) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_percent); - else print $langs->trans("CompanyHasNoRelativeDiscount"); - $absolute_discount=$soc->getAvailableDiscounts(); + print '
' . $langs->trans('Discounts') . ''; + if ($soc->remise_percent) + print $langs->trans("CompanyHasRelativeDiscount", $soc->remise_percent); + else + print $langs->trans("CompanyHasNoRelativeDiscount"); + $absolute_discount = $soc->getAvailableDiscounts(); print '. '; - if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->currency)); - else print $langs->trans("CompanyHasNoAbsoluteDiscount"); + if ($absolute_discount) + print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->trans("Currency" . $conf->currency)); + else + print $langs->trans("CompanyHasNoAbsoluteDiscount"); print '.'; print '
'.$langs->trans('Date').''; - $form->select_date('','','','','',"addprop"); + print '
' . $langs->trans('Date') . ''; + $form->select_date('', '', '', '', '', "addprop"); print '
'.$langs->trans("ValidityDuration").' '.$langs->trans("days").'
' . $langs->trans("ValidityDuration") . ' ' . $langs->trans("days") . '
'.$langs->trans('PaymentConditionsShort').''; - $form->select_conditions_paiements($soc->cond_reglement_id,'cond_reglement_id'); + print '
' . $langs->trans('PaymentConditionsShort') . ''; + $form->select_conditions_paiements($soc->cond_reglement_id, 'cond_reglement_id'); print '
'.$langs->trans('PaymentMode').''; - $form->select_types_paiements($soc->mode_reglement_id,'mode_reglement_id'); + print '
' . $langs->trans('PaymentMode') . ''; + $form->select_types_paiements($soc->mode_reglement_id, 'mode_reglement_id'); print '
'.$langs->trans('Source').''; - $form->select_demand_reason('','demand_reason_id',"SRC_PROP",1); + print '
' . $langs->trans('Source') . ''; + $form->select_demand_reason('', 'demand_reason_id', "SRC_PROP", 1); print '
'.$langs->trans('AvailabilityPeriod').''; - $form->select_availability('','availability_id','',1); + print '
' . $langs->trans('AvailabilityPeriod') . ''; + $form->select_availability('', 'availability_id', '', 1); print '
'.$langs->trans("DeliveryDate").'
' . $langs->trans("DeliveryDate") . ''; - if ($conf->global->DATE_LIVRAISON_WEEK_DELAY != "") - { + if ($conf->global->DATE_LIVRAISON_WEEK_DELAY != "") { $tmpdte = time() + ((7 * $conf->global->DATE_LIVRAISON_WEEK_DELAY) * 24 * 60 * 60); $syear = date("Y", $tmpdte); $smonth = date("m", $tmpdte); $sday = date("d", $tmpdte); - $form->select_date($syear."-".$smonth."-".$sday,'liv_','','','',"addprop"); - } - else - { - $datepropal=empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0; - $form->select_date($datepropal,'liv_','','','',"addprop"); + $form->select_date($syear . "-" . $smonth . "-" . $sday, 'liv_', '', '', '', "addprop"); + } else { + $datepropal = empty($conf->global->MAIN_AUTOFILL_DATE) ? - 1 : 0; + $form->select_date($datepropal, 'liv_', '', '', '', "addprop"); } print '
'.$langs->trans("DefaultModel").'' . $langs->trans("DefaultModel") . ''; - $liste=ModelePDFPropales::liste_modeles($db); - print $form->selectarray('model',$liste,($conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT?$conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT:$conf->global->PROPALE_ADDON_PDF)); + $liste = ModelePDFPropales::liste_modeles($db); + print $form->selectarray('model', $liste, ($conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT ? $conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT : $conf->global->PROPALE_ADDON_PDF)); print "
'.$langs->trans("Project").''; - - $numprojet=$formproject->select_projects($soc->id,$projectid); - if ($numprojet==0) - { + print '' . $langs->trans("Project") . ''; + + $numprojet = $formproject->select_projects($soc->id, $projectid); + if ($numprojet == 0) { $langs->load("projects"); - print '   '.$langs->trans("AddProject").''; + print '   ' . $langs->trans("AddProject") . ''; } print '
"; print '
'; - + /* * Combobox pour la fonction de copie */ - - if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) - { + + if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) { print ''; } - + print ''; - if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) - { + if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) { // For backward compatibility print ''; print ''; - print ''; + print ''; print ''; - - if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print ''; - + + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) + print ''; + print ''; - print ''; + print ''; } - - if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) - { + + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { print ''; } print '
'.$langs->trans("CopyPropalFrom").' ' . $langs->trans("CopyPropalFrom") . ' '; - $liste_propal = array(); - $liste_propal[0] = ''; - - $sql ="SELECT p.rowid as id, p.ref, s.nom"; - $sql.=" FROM ".MAIN_DB_PREFIX."propal p"; - $sql.= ", ".MAIN_DB_PREFIX."societe s"; - $sql.= " WHERE s.rowid = p.fk_soc"; - $sql.= " AND p.entity = ".$conf->entity; - $sql.= " AND p.fk_statut <> 0"; - $sql.= " ORDER BY Id"; - + $liste_propal = array (); + $liste_propal [0] = ''; + + $sql = "SELECT p.rowid as id, p.ref, s.nom"; + $sql .= " FROM " . MAIN_DB_PREFIX . "propal p"; + $sql .= ", " . MAIN_DB_PREFIX . "societe s"; + $sql .= " WHERE s.rowid = p.fk_soc"; + $sql .= " AND p.entity = " . $conf->entity; + $sql .= " AND p.fk_statut <> 0"; + $sql .= " ORDER BY Id"; + $resql = $db->query($sql); - if ($resql) - { + if ($resql) { $num = $db->num_rows($resql); $i = 0; - while ($i < $num) - { + while ( $i < $num ) { $row = $db->fetch_row($resql); - $propalRefAndSocName = $row[1]." - ".$row[2]; - $liste_propal[$row[0]]=$propalRefAndSocName; - $i++; + $propalRefAndSocName = $row [1] . " - " . $row [2]; + $liste_propal [$row [0]] = $propalRefAndSocName; + $i ++; } - print $form->selectarray("copie_propal",$liste_propal, 0); - } - else - { + print $form->selectarray("copie_propal", $liste_propal, 0); + } else { dol_print_error($db); } print '
 
 
'.$langs->trans("CreateEmptyPropal").'
' . $langs->trans("CreateEmptyPropal") . '
'; - if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) - { - $lib=$langs->trans("ProductsAndServices"); - + if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { + $lib = $langs->trans("ProductsAndServices"); + print ''; print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; print ''; - for ($i = 1 ; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i++) - { + for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++) { print ''; - print ''; - print ''; + print ''; + print ''; print ''; } - + print "
'.$lib.''.$langs->trans("Qty").''.$langs->trans("ReductionShort").'' . $lib . '' . $langs->trans("Qty") . '' . $langs->trans("ReductionShort") . '
'; // multiprix - if($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) - $form->select_produits('',"idprod".$i,'',$conf->product->limit_size,$soc->price_level); + if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) + $form->select_produits('', "idprod" . $i, '', $conf->product->limit_size, $soc->price_level); else - $form->select_produits('',"idprod".$i,'',$conf->product->limit_size); + $form->select_produits('', "idprod" . $i, '', $conf->product->limit_size); print '%%
"; - } print '
'; print '
'; - + $langs->load("bills"); print '
'; - print ''; - print ' '; + print ''; + print ' '; print '
'; - + print "
"; -} -else -{ +} else { /* * Show object in view mode */ - + $soc = new Societe($db); $soc->fetch($object->socid); - + $head = propal_prepare_head($object); dol_fiche_head($head, 'comm', $langs->trans('Proposal'), 0, 'propal'); - - $formconfirm=''; - + + $formconfirm = ''; + // Clone confirmation - if ($action == 'clone') - { + if ($action == 'clone') { // Create an array for form - $formquestion=array( - //'text' => $langs->trans("ConfirmClone"), - //array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1), - //array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1), - array('type' => 'other', 'name' => 'socid', 'label' => $langs->trans("SelectThirdParty"), 'value' => $form->select_company(GETPOST('socid','int'),'socid','(s.client=1 OR s.client=2 OR s.client=3)')) + $formquestion = array ( + // 'text' => $langs->trans("ConfirmClone"), + // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1), + // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1), + array ( + 'type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', '(s.client=1 OR s.client=2 OR s.client=3)') + ) ); // Paiement incomplet. On demande si motif = escompte ou autre - $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id,$langs->trans('ClonePropal'),$langs->trans('ConfirmClonePropal',$object->ref),'confirm_clone',$formquestion,'yes',1); - } + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ClonePropal'), $langs->trans('ConfirmClonePropal', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + } // Confirm delete - else if ($action == 'delete') - { - $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp',$object->ref), 'confirm_delete','',0,1); - } + else if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp', $object->ref), 'confirm_delete', '', 0, 1); + } // Confirm reopen - else if ($action == 'reopen') - { - $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp',$object->ref), 'confirm_reopen','',0,1); - } + else if ($action == 'reopen') { + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp', $object->ref), 'confirm_reopen', '', 0, 1); + } // Confirmation delete product/service line - else if ($action == 'ask_deleteline') - { - $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline','',0,1); - } + else if ($action == 'ask_deleteline') { + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); + } // Confirm validate proposal - else if ($action == 'validate') - { - $error=0; - + else if ($action == 'validate') { + $error = 0; + // on verifie si l'objet est en numerotation provisoire $ref = substr($object->ref, 1, 4); - if ($ref == 'PROV') - { + if ($ref == 'PROV') { $numref = $object->getNextNumRef($soc); - if (empty($numref)) - { - $error++; + if (empty($numref)) { + $error ++; dol_htmloutput_errors($object->error); } - } - else - { + } else { $numref = $object->ref; } - - $text=$langs->trans('ConfirmValidateProp',$numref); - if (! empty($conf->notification->enabled)) - { - require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; - $notify=new Notify($db); - $text.='
'; - $text.=$notify->confirmMessage('PROPAL_VALIDATE',$object->socid); + + $text = $langs->trans('ConfirmValidateProp', $numref); + if (! empty($conf->notification->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; + $notify = new Notify($db); + $text .= '
'; + $text .= $notify->confirmMessage('PROPAL_VALIDATE', $object->socid); } - - if (! $error) $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate','',0,1); + + if (! $error) + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate', '', 0, 1); } - - if (! $formconfirm) - { - $parameters=array('lineid'=>$lineid); - $formconfirm=$hookmanager->executeHooks('formConfirm',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + + if (! $formconfirm) { + $parameters = array ( + 'lineid' => $lineid + ); + $formconfirm = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by + // hook } - + // Print form confirm print $formconfirm; - - + print ''; - - $linkback = ''.$langs->trans("BackToList").''; - + + $linkback = '' . $langs->trans("BackToList") . ''; + // Ref - print ''; - + // Ref customer print ''; print ''; - + // Company - print ''; + print ''; print ''; - + // Ligne info remises tiers - print ''; - + // Date of proposal print ''; print ''; - + // Date end proposal print ''; print ''; print ''; - + // Payment term print ''; print ''; - + // Delivery date $langs->load('deliveries'); print ''; print ''; - + // Delivery delay print ''; print ''; - + // Origin of demand print ''; print ''; - + // Payment mode print ''; print ''; - + // Project - if (! empty($conf->projet->enabled)) - { + if (! empty($conf->projet->enabled)) { $langs->load("projects"); print ''; - } - else - { + } else { print '
'.$langs->trans('Ref').''; + print '
' . $langs->trans('Ref') . ''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print '
'; print ''; - if ($action != 'refclient' && ! empty($object->brouillon)) print ''; + print $langs->trans('RefCustomer') . ''; + if ($action != 'refclient' && ! empty($object->brouillon)) + print ''; print ''; print '
'; - print $langs->trans('RefCustomer').''.img_edit($langs->trans('Modify')).'' . img_edit($langs->trans('Modify')) . '
'; print '
'; - if ($user->rights->propal->creer && $action == 'refclient') - { - print '
'; - print ''; + if ($user->rights->propal->creer && $action == 'refclient') { + print ''; + print ''; print ''; - print ''; - print ' '; + print ''; + print ' '; print '
'; - } - else - { + } else { print $object->ref_client; } print '
'.$langs->trans('Company').''.$soc->getNomUrl(1).'
' . $langs->trans('Company') . '' . $soc->getNomUrl(1) . '
'.$langs->trans('Discounts').''; - if ($soc->remise_percent) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_percent); - else print $langs->trans("CompanyHasNoRelativeDiscount"); + print '
' . $langs->trans('Discounts') . ''; + if ($soc->remise_percent) + print $langs->trans("CompanyHasRelativeDiscount", $soc->remise_percent); + else + print $langs->trans("CompanyHasNoRelativeDiscount"); print '. '; - $absolute_discount=$soc->getAvailableDiscounts('','fk_facture_source IS NULL'); - $absolute_creditnote=$soc->getAvailableDiscounts('','fk_facture_source IS NOT NULL'); - $absolute_discount=price2num($absolute_discount,'MT'); - $absolute_creditnote=price2num($absolute_creditnote,'MT'); - if ($absolute_discount) - { - if ($object->statut > 0) - { - print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); - - } - else - { + $absolute_discount = $soc->getAvailableDiscounts('', 'fk_facture_source IS NULL'); + $absolute_creditnote = $soc->getAvailableDiscounts('', 'fk_facture_source IS NOT NULL'); + $absolute_discount = price2num($absolute_discount, 'MT'); + $absolute_creditnote = price2num($absolute_creditnote, 'MT'); + if ($absolute_discount) { + if ($object->statut > 0) { + print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->transnoentities("Currency" . $conf->currency)); + } else { // Remise dispo de type non avoir - $filter='fk_facture_source IS NULL'; + $filter = 'fk_facture_source IS NULL'; print '
'; - $form->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$object->id,0,'remise_id',$soc->id,$absolute_discount,$filter); + $form->form_remise_dispo($_SERVER ["PHP_SELF"] . '?id=' . $object->id, 0, 'remise_id', $soc->id, $absolute_discount, $filter); } } - if ($absolute_creditnote) - { - print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)).'. '; + if ($absolute_creditnote) { + print $langs->trans("CompanyHasCreditNote", price($absolute_creditnote), $langs->transnoentities("Currency" . $conf->currency)) . '. '; } - if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.'; + if (! $absolute_discount && ! $absolute_creditnote) + print $langs->trans("CompanyHasNoAbsoluteDiscount") . '.'; print '
'; print ''; - if ($action != 'editdate' && ! empty($object->brouillon)) print ''; + if ($action != 'editdate' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('Date'); print 'id.'">'.img_edit($langs->trans('SetDate'),1).'id . '">' . img_edit($langs->trans('SetDate'), 1) . '
'; print '
'; - if (! empty($object->brouillon) && $action == 'editdate') - { - print '
'; - print ''; + if (! empty($object->brouillon) && $action == 'editdate') { + print ''; + print ''; print ''; - $form->select_date($object->date,'re','','',0,"editdate"); - print ''; + $form->select_date($object->date, 're', '', '', 0, "editdate"); + print ''; print '
'; - } - else - { - if ($object->date) - { - print dol_print_date($object->date,'daytext'); - } - else - { + } else { + if ($object->date) { + print dol_print_date($object->date, 'daytext'); + } else { print ' '; } } print '
'; print ''; - if ($action != 'editecheance' && ! empty($object->brouillon)) print ''; + if ($action != 'editecheance' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('DateEndPropal'); print 'id.'">'.img_edit($langs->trans('SetConditions'),1).'id . '">' . img_edit($langs->trans('SetConditions'), 1) . '
'; print '
'; - if (! empty($object->brouillon) && $action == 'editecheance') - { - print '
'; - print ''; + if (! empty($object->brouillon) && $action == 'editecheance') { + print ''; + print ''; print ''; - $form->select_date($object->fin_validite,'ech','','','',"editecheance"); - print ''; + $form->select_date($object->fin_validite, 'ech', '', '', '', "editecheance"); + print ''; print '
'; - } - else - { - if (! empty($object->fin_validite)) - { - print dol_print_date($object->fin_validite,'daytext'); - if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); - } - else - { + } else { + if (! empty($object->fin_validite)) { + print dol_print_date($object->fin_validite, 'daytext'); + if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) + print img_warning($langs->trans("Late")); + } else { print ' '; } } print '
'; print ''; - if ($action != 'editconditions' && ! empty($object->brouillon)) print ''; + if ($action != 'editconditions' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('PaymentConditionsShort'); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetConditions'),1).'id . '">' . img_edit($langs->transnoentitiesnoconv('SetConditions'), 1) . '
'; print '
'; - if ($action == 'editconditions') - { - $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'cond_reglement_id'); - } - else - { - $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'none'); + if ($action == 'editconditions') { + $form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id'); + } else { + $form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none'); } print '
'; print ''; - if ($action != 'editdate_livraison' && ! empty($object->brouillon)) print ''; + if ($action != 'editdate_livraison' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('DeliveryDate'); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'),1).'id . '">' . img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'), 1) . '
'; print '
'; - if ($action == 'editdate_livraison') - { - print '
'; - print ''; + if ($action == 'editdate_livraison') { + print ''; + print ''; print ''; - $form->select_date($object->date_livraison,'liv_','','','',"editdate_livraison"); - print ''; + $form->select_date($object->date_livraison, 'liv_', '', '', '', "editdate_livraison"); + print ''; print '
'; - } - else - { - print dol_print_date($object->date_livraison,'daytext'); + } else { + print dol_print_date($object->date_livraison, 'daytext'); } print '
'; print ''; - if ($action != 'editavailability' && ! empty($object->brouillon)) print ''; + if ($action != 'editavailability' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('AvailabilityPeriod'); - if (! empty($conf->commande->enabled)) print ' ('.$langs->trans('AfterOrder').')'; + if (! empty($conf->commande->enabled)) + print ' (' . $langs->trans('AfterOrder') . ')'; print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetAvailability'),1).'id . '">' . img_edit($langs->transnoentitiesnoconv('SetAvailability'), 1) . '
'; print '
'; - if ($action == 'editavailability') - { - $form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'availability_id',1); + if ($action == 'editavailability') { + $form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'availability_id', 1); + } else { + $form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'none', 1); } - else - { - $form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'none',1); - } - + print '
'; print ''; - if ($action != 'editdemandreason' && ! empty($object->brouillon)) print ''; + if ($action != 'editdemandreason' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('Source'); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetDemandReason'),1).'id . '">' . img_edit($langs->transnoentitiesnoconv('SetDemandReason'), 1) . '
'; print '
'; - //print $object->demand_reason_id; - if ($action == 'editdemandreason') - { - $form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'demand_reason_id',1); + // print $object->demand_reason_id; + if ($action == 'editdemandreason') { + $form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1); + } else { + $form->form_demand_reason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none'); } - else - { - $form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'none'); - } - + print '
'; print ''; - if ($action != 'editmode' && ! empty($object->brouillon)) print ''; + if ($action != 'editmode' && ! empty($object->brouillon)) + print ''; print '
'; print $langs->trans('PaymentMode'); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMode'),1).'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMode'), 1) . '
'; print '
'; - if ($action == 'editmode') - { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'mode_reglement_id'); - } - else - { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'none'); + if ($action == 'editmode') { + $form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id'); + } else { + $form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none'); } print '
'; print ''; - if ($user->rights->propal->creer) - { - if ($action != 'classify') print ''; + print $langs->trans('Project') . ''; + if ($user->rights->propal->creer) { + if ($action != 'classify') + print ''; print '
'; - print $langs->trans('Project').''.img_edit($langs->transnoentitiesnoconv('SetProject')).'' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '
'; print '
'; - if ($action == 'classify') - { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'projectid'); - } - else - { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none'); + if ($action == 'classify') { + $form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid'); + } else { + $form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none'); } print '
'; - if (! empty($object->fk_project)) - { + if (! empty($object->fk_project)) { print ''; $proj = new Project($db); $proj->fetch($object->fk_project); - print ''; + print ''; print $proj->ref; print ''; print ''; - } - else { + } else { print ' '; } } print ''; } - - if ($soc->outstanding_limit) - { + + if ($soc->outstanding_limit) { // Outstanding Bill print ''; print $langs->trans('OutstandingBill'); print ''; - print price($soc->get_OutstandingBill()).' / '; - print price($soc->outstanding_limit, 0, '', 1, -1, -1, $conf->currency); + print price($soc->get_OutstandingBill()) . ' / '; + print price($soc->outstanding_limit, 0, '', 1, - 1, - 1, $conf->currency); print ''; print ''; } - - // Other attributes (TODO Move this into an include) - $res=$object->fetch_optionals($object->id,$extralabels); - $parameters=array('colspan' => ' colspan="3"'); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - foreach($extrafields->attribute_label as $key=>$label) - { + + // Other attributes (TODO Move this into an include) + $res = $object->fetch_optionals($object->id, $extralabels); + $parameters = array ( + 'colspan' => ' colspan="3"' + ); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by + // hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) { + foreach ( $extrafields->attribute_label as $key => $label ) { if ($action == 'edit_extras') { - $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]); + $value = (isset($_POST ["options_" . $key]) ? $_POST ["options_" . $key] : $object->array_options ["options_" . $key]); } else { - $value=$object->array_options["options_".$key]; + $value = $object->array_options ["options_" . $key]; } - if ($extrafields->attribute_type[$key] == 'separate') - { + if ($extrafields->attribute_type [$key] == 'separate') { print $extrafields->showSeparator($key); - } - else - { + } else { print 'attribute_required[$key])) print ' class="fieldrequired"'; - print '>'.$label.''; + if (! empty($extrafields->attribute_required [$key])) + print ' class="fieldrequired"'; + print '>' . $label . ''; // Convert date into timestamp format - if (in_array($extrafields->attribute_type[$key],array('date','datetime'))) - { - $value = isset($_POST["options_".$key])?dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]):$db->jdate($object->array_options['options_'.$key]); + if (in_array($extrafields->attribute_type [$key], array ( + 'date','datetime' + ))) { + $value = isset($_POST ["options_" . $key]) ? dol_mktime($_POST ["options_" . $key . "hour"], $_POST ["options_" . $key . "min"], 0, $_POST ["options_" . $key . "month"], $_POST ["options_" . $key . "day"], $_POST ["options_" . $key . "year"]) : $db->jdate($object->array_options ['options_' . $key]); } - - if ($action == 'edit_extras' && $user->rights->propal->creer && GETPOST('attribute') == $key) - { - print '
'; + + if ($action == 'edit_extras' && $user->rights->propal->creer && GETPOST('attribute') == $key) { + print ''; print ''; - print ''; - print ''; - print ''; - - print $extrafields->showInputField($key,$value); - - print ''; - + print ''; + print ''; + print ''; + + print $extrafields->showInputField($key, $value); + + print ''; + print '
'; + } else { + print $extrafields->showOutputField($key, $value); + if ($object->statut == 0 && $user->rights->propal->creer) + print '' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . ''; } - else - { - print $extrafields->showOutputField($key,$value); - if ($object->statut == 0 && $user->rights->propal->creer) print ''.img_picto('','edit').' '.$langs->trans('Modify').''; - } - print ''."\n"; + print '' . "\n"; } } } - + // Amount HT - print ''.$langs->trans('AmountHT').''; - print ''.price($object->total_ht,'',$langs,0,-1,-1,$conf->currency).''; + print '' . $langs->trans('AmountHT') . ''; + print '' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; - + // Margin Infos if (! empty($conf->margin->enabled)) { print ''; @@ -2005,400 +1745,358 @@ else print ''; } print ''; - + // Amount VAT - print ''.$langs->trans('AmountVAT').''; - print ''.price($object->total_tva,'',$langs,0,-1,-1,$conf->currency).''; + print '' . $langs->trans('AmountVAT') . ''; + print '' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; - + // Amount Local Taxes - if ($mysoc->localtax1_assuj=="1") //Localtax1 + if ($mysoc->localtax1_assuj == "1") // Localtax1 { - print ''.$langs->transcountry("AmountLT1",$mysoc->country_code).''; - print ''.price($object->total_localtax1,'',$langs,0,-1,-1,$conf->currency).''; + print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . ''; + print '' . price($object->total_localtax1, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; } - if ($mysoc->localtax2_assuj=="1") //Localtax2 + if ($mysoc->localtax2_assuj == "1") // Localtax2 { - print ''.$langs->transcountry("AmountLT2",$mysoc->country_code).''; - print ''.price($object->total_localtax2,'',$langs,0,-1,-1,$conf->currency).''; + print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . ''; + print '' . price($object->total_localtax2, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; } - - + // Amount TTC - print ''.$langs->trans('AmountTTC').''; - print ''.price($object->total_ttc,'',$langs,0,-1,-1,$conf->currency).''; + print '' . $langs->trans('AmountTTC') . ''; + print '' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; - + // Statut - print ''.$langs->trans('Status').''.$object->getLibStatut(4).''; - + print '' . $langs->trans('Status') . '' . $object->getLibStatut(4) . ''; + print '
'; - - if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) - { + + if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) { $blocname = 'contacts'; $title = $langs->trans('ContactsAddresses'); - include DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php'; + include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; } - - if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) - { + + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) { $blocname = 'notes'; $title = $langs->trans('Notes'); - include DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php'; + include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; } - - + /* * Lines */ - + // Show object lines $result = $object->getLinesArray(); - - - print '
- - + + print ' + + - + '; - - - if (! empty($conf->use_javascript_ajax) && $object->statut == 0) - { - include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php'; + + if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { + include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; } - + print ''; - + if (! empty($object->lines)) - $ret=$object->printObjectLines($action,$mysoc,$soc,$lineid,1); - - // Form to add new line - if ($object->statut == 0 && $user->rights->propal->creer) - { - if ($action != 'editline') - { - $var=true; - - if ($conf->global->MAIN_FEATURES_LEVEL > 1) - { + $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); + + // Form to add new line + if ($object->statut == 0 && $user->rights->propal->creer) { + if ($action != 'editline') { + $var = true; + + if ($conf->global->MAIN_FEATURES_LEVEL > 1) { // Add free or predefined products/services - $object->formAddObjectLine(1,$mysoc,$soc); - } - else - { + $object->formAddObjectLine(1, $mysoc, $soc); + } else { // Add free products/services - $object->formAddFreeProduct(1,$mysoc,$soc); - + $object->formAddFreeProduct(1, $mysoc, $soc); + // Add predefined products/services - if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) - { - $var=!$var; - $object->formAddPredefinedProduct(1,$mysoc,$soc); + if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { + $var = ! $var; + $object->formAddPredefinedProduct(1, $mysoc, $soc); } } - - $parameters=array(); - $reshook=$hookmanager->executeHooks('formAddObjectLine',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + + $parameters = array (); + $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified + // by hook } } - + print '
'; - + print "
\n"; - + dol_fiche_end(); - - if ($action == 'statut') - { + + if ($action == 'statut') { /* * Formulaire cloture (signe ou non) */ - $form_close = '
'; - $form_close.= ''; - $form_close.= ''; - $form_close.= ''; - $form_close.= ''; - $form_close.= ''; - $form_close.= '
'.$langs->trans("CloseAs").''; - $form_close.= ''; - $form_close.= ''; - $form_close.= '
'.$langs->trans('Note').'
'; - $form_close.= ''; - $form_close.= '   '; - $form_close.= ' '; - $form_close.= '
'; - + $form_close = '
'; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= '
' . $langs->trans("CloseAs") . ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= '
' . $langs->trans('Note') . '
'; + $form_close .= ''; + $form_close .= '   '; + $form_close .= ' '; + $form_close .= '
'; + print $form_close; } - - + /* * Boutons Actions */ - if ($action != 'presend') - { + if ($action != 'presend') { print '
'; - - $parameters=array(); - $reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook)) - { - if ($action != 'statut' && $action <> 'editline') - { + + $parameters = array (); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been + // modified by hook + if (empty($reshook)) { + if ($action != 'statut' && $action != 'editline') { // Validate - if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) - { - if (count($object->lines) > 0) print ''; - //else print ''.$langs->trans('Validate').''; + if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) { + if (count($object->lines) > 0) + print ''; + // else print ''.$langs->trans('Validate').''; } // Create event - if ($conf->agenda->enabled && ! empty($conf->global->MAIN_ADD_EVENT_ON_ELEMENT_CARD)) // Add hidden condition because this is not a "workflow" action so should appears somewhere else on page. + if ($conf->agenda->enabled && ! empty($conf->global->MAIN_ADD_EVENT_ON_ELEMENT_CARD)) // Add hidden condition because this is not a + // "workflow" action so should appears somewhere else on + // page. { - print ''.$langs->trans("AddAction").''; + print '' . $langs->trans("AddAction") . ''; } // Edit - if ($object->statut == 1 && $user->rights->propal->creer) - { - print ''; + if ($object->statut == 1 && $user->rights->propal->creer) { + print ''; } - + // ReOpen - if (($object->statut == 2 || $object->statut == 3) && $user->rights->propal->cloturer) - { - print ''; + if (($object->statut == 2 || $object->statut == 3) && $user->rights->propal->cloturer) { + print ''; } - + // Send - if ($object->statut == 1 || $object->statut == 2) - { - if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propal->propal_advance->send) - { - print ''; - } - else print ''; + if ($object->statut == 1 || $object->statut == 2) { + if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propal->propal_advance->send) { + print ''; + } else + print ''; } - + // Create an order - if (! empty($conf->commande->enabled) && $object->statut == 2) - { - if ($user->rights->commande->creer) - { - print ''; + if (! empty($conf->commande->enabled) && $object->statut == 2) { + if ($user->rights->commande->creer) { + print ''; } } - + // Create contract - if ($conf->contrat->enabled && $object->statut == 2) - { + if ($conf->contrat->enabled && $object->statut == 2) { $langs->load("contracts"); - - if ($user->rights->contrat->creer) - { - print ''; + + if ($user->rights->contrat->creer) { + print ''; } } - + // Create an invoice and classify billed - if ($object->statut == 2) - { - if (! empty($conf->facture->enabled) && $user->rights->facture->creer) - { - print ''; + if ($object->statut == 2) { + if (! empty($conf->facture->enabled) && $user->rights->facture->creer) { + print ''; } - - $arraypropal=$object->getInvoiceArrayList(); - if (is_array($arraypropal) && count($arraypropal) > 0) - { - print ''; + + $arraypropal = $object->getInvoiceArrayList(); + if (is_array($arraypropal) && count($arraypropal) > 0) { + print ''; } } - + // Close - if ($object->statut == 1 && $user->rights->propal->cloturer) - { - print ''; + if ($object->statut == 1 && $user->rights->propal->cloturer) { + print ''; } - + // Clone - if ($user->rights->propal->creer) - { - print ''; + if ($user->rights->propal->creer) { + print ''; } - + // Delete - if ($user->rights->propal->supprimer) - { - print ''; + if ($user->rights->propal->supprimer) { + print ''; } - } } - + print '
'; } print "
\n"; - - if ($action != 'presend') - { + + if ($action != 'presend') { print '
'; - //print '
'; - //print ''; // ancre - - + // print '
'; + // print ''; // ancre + /* * Documents generes */ - $filename=dol_sanitizeFileName($object->ref); - $filedir=$conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref); - $urlsource=$_SERVER["PHP_SELF"]."?id=".$object->id; - $genallowed=$user->rights->propal->creer; - $delallowed=$user->rights->propal->supprimer; - - $var=true; - - $somethingshown=$formfile->show_documents('propal',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'',0,'',$soc->default_lang); - - + $filename = dol_sanitizeFileName($object->ref); + $filedir = $conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref); + $urlsource = $_SERVER ["PHP_SELF"] . "?id=" . $object->id; + $genallowed = $user->rights->propal->creer; + $delallowed = $user->rights->propal->supprimer; + + $var = true; + + $somethingshown = $formfile->show_documents('propal', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); + /* * Linked object block */ - $somethingshown=$object->showLinkedObjectBlock(); - - - + $somethingshown = $object->showLinkedObjectBlock(); + print '
'; - //print '
'; - - + // print ''; + // List of actions on element - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; - $formactions=new FormActions($db); - $somethingshown=$formactions->showactions($object,'propal',$socid); - - - //print '
'; + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, 'propal', $socid); + + // print '
'; print '
'; } - - + /* * Action presend * */ - if ($action == 'presend') - { + if ($action == 'presend') { $ref = dol_sanitizeFileName($object->ref); - include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref,'/')); - $file=$fileparams['fullname']; - + include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/')); + $file = $fileparams ['fullname']; + // Build document if it not exists - if (! $file || ! is_readable($file)) - { + if (! $file || ! is_readable($file)) { // Define output language $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id'])) + $newlang = $_REQUEST ['lang_id']; + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) + $newlang = $object->client->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); $outputlangs->setDefaultLang($newlang); } - - $result=propale_pdf_create($db, $object, GETPOST('model')?GETPOST('model'):$object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - if ($result <= 0) - { - dol_print_error($db,$result); - exit; + + $result = propale_pdf_create($db, $object, GETPOST('model') ? GETPOST('model') : $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + if ($result <= 0) { + dol_print_error($db, $result); + exit(); } - $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref,'/')); - $file=$fileparams['fullname']; + $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/')); + $file = $fileparams ['fullname']; } - + print '
'; print_titre($langs->trans('SendPropalByMail')); - + // Create form object - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; $formmail = new FormMail($db); $formmail->fromtype = 'user'; - $formmail->fromid = $user->id; + $formmail->fromid = $user->id; $formmail->fromname = $user->getFullName($langs); $formmail->frommail = $user->email; - $formmail->withfrom=1; - $liste=array(); - foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key=>$value) $liste[$key]=$value; - $formmail->withto=GETPOST("sendto")?GETPOST("sendto"):$liste; - $formmail->withtocc=$liste; - $formmail->withtoccc=(! empty($conf->global->MAIN_EMAIL_USECCC)?$conf->global->MAIN_EMAIL_USECCC:false); - if(empty($object->ref_client)) - { - $formmail->withtopic=$langs->trans('SendPropalRef','__PROPREF__'); + $formmail->withfrom = 1; + $liste = array (); + foreach ( $object->thirdparty->thirdparty_and_contact_email_array(1) as $key => $value ) + $liste [$key] = $value; + $formmail->withto = GETPOST("sendto") ? GETPOST("sendto") : $liste; + $formmail->withtocc = $liste; + $formmail->withtoccc = (! empty($conf->global->MAIN_EMAIL_USECCC) ? $conf->global->MAIN_EMAIL_USECCC : false); + if (empty($object->ref_client)) { + $formmail->withtopic = $langs->trans('SendPropalRef', '__PROPREF__'); + } else if (! empty($object->ref_client)) { + $formmail->withtopic = $langs->trans('SendPropalRef', '__PROPREF__(__REFCLIENT__)'); } - else if(!empty($object->ref_client)) - { - $formmail->withtopic=$langs->trans('SendPropalRef','__PROPREF__(__REFCLIENT__)'); - } - $formmail->withfile=2; - $formmail->withbody=1; - $formmail->withdeliveryreceipt=1; - $formmail->withcancel=1; - + $formmail->withfile = 2; + $formmail->withbody = 1; + $formmail->withdeliveryreceipt = 1; + $formmail->withcancel = 1; + // Tableau des substitutions - $formmail->substit['__PROPREF__']=$object->ref; - $formmail->substit['__SIGNATURE__']=$user->signature; - $formmail->substit['__REFCLIENT__']=$object->ref_client; - $formmail->substit['__PERSONALIZED__']=''; - $formmail->substit['__CONTACTCIVNAME__']=''; - - //Find the good contact adress - $custcontact=''; - $contactarr=array(); - $contactarr=$object->liste_contact(-1,'external'); - - if (is_array($contactarr) && count($contactarr)>0) { - foreach($contactarr as $contact) { - if ($contact['libelle']==$langs->trans('TypeContact_propal_external_CUSTOMER')) { - $contactstatic=new Contact($db); - $contactstatic->fetch($contact['id']); - $custcontact=$contactstatic->getFullName($langs,1); + $formmail->substit ['__PROPREF__'] = $object->ref; + $formmail->substit ['__SIGNATURE__'] = $user->signature; + $formmail->substit ['__REFCLIENT__'] = $object->ref_client; + $formmail->substit ['__PERSONALIZED__'] = ''; + $formmail->substit ['__CONTACTCIVNAME__'] = ''; + + // Find the good contact adress + $custcontact = ''; + $contactarr = array (); + $contactarr = $object->liste_contact(- 1, 'external'); + + if (is_array($contactarr) && count($contactarr) > 0) { + foreach ( $contactarr as $contact ) { + if ($contact ['libelle'] == $langs->trans('TypeContact_propal_external_CUSTOMER')) { + $contactstatic = new Contact($db); + $contactstatic->fetch($contact ['id']); + $custcontact = $contactstatic->getFullName($langs, 1); } } - - if (!empty($custcontact)) { - $formmail->substit['__CONTACTCIVNAME__']=$custcontact; + + if (! empty($custcontact)) { + $formmail->substit ['__CONTACTCIVNAME__'] = $custcontact; } } - + // Tableau des parametres complementaires - $formmail->param['action']='send'; - $formmail->param['models']='propal_send'; - $formmail->param['id']=$object->id; - $formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; + $formmail->param ['action'] = 'send'; + $formmail->param ['models'] = 'propal_send'; + $formmail->param ['id'] = $object->id; + $formmail->param ['returnurl'] = $_SERVER ["PHP_SELF"] . '?id=' . $object->id; // Init list of files - if (GETPOST("mode")=='init') - { + if (GETPOST("mode") == 'init') { $formmail->clear_attached_files(); - $formmail->add_attached_files($file,basename($file),dol_mimetype($file)); + $formmail->add_attached_files($file, basename($file), dol_mimetype($file)); } - + print $formmail->get_form(); - + print '
'; } } diff --git a/htdocs/societe/price.php b/htdocs/societe/price.php index 7cd8d9123cc..6b5a552f00d 100644 --- a/htdocs/societe/price.php +++ b/htdocs/societe/price.php @@ -20,107 +20,99 @@ */ /** - * \file htdocs/societe/price.php - * \ingroup product - * \brief Page to show product prices by customer + * \file htdocs/societe/price.php + * \ingroup product + * \brief Page to show product prices by customer */ - require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; -if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { +if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - $prodcustprice = new Productcustomerprice ( $db ); + $prodcustprice = new Productcustomerprice($db); } $langs->load("products"); $langs->load("companies"); $langs->load("bills"); -$action = GETPOST('action', 'alpha'); +$action = GETPOST('action', 'alpha'); // Security check -$socid = GETPOST('socid','int'); -if ($user->societe_id) $socid=$user->societe_id; +$socid = GETPOST('socid', 'int'); +if ($user->societe_id) + $socid = $user->societe_id; $result = restrictedArea($user, 'societe', $socid, '&societe'); - -/***************************************************** +/** + * *************************************************** * Price by customer -*****************************************************/ -if ($action == 'add_customer_price_confirm' && ! $_POST["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) -{ + * **************************************************** + */ +if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - $update_child_soc=GETPOST('updatechildprice'); + $update_child_soc = GETPOST('updatechildprice'); - //add price by customer - $prodcustprice->fk_soc=$socid; - $prodcustprice->fk_product=GETPOST('prodid','int'); - $prodcustprice->price=price2num(GETPOST("price"),'MU'); - $prodcustprice->price_min=price2num(GETPOST("price_min"),'MU'); - $prodcustprice->price_base_type=GETPOST("price_base_type",'alpha'); - $prodcustprice->tva_tx=str_replace('*','',GETPOST("tva_tx")); - $prodcustprice->recuperableonly=(preg_match('/\*/',GETPOST("tva_tx")) ? 1 : 0); - - $result = $prodcustprice->create($user,0,$update_child_soc); - - if ($result < 0) - { - setEventMessage($prodcustprice->error,'errors'); + // add price by customer + $prodcustprice->fk_soc = $socid; + $prodcustprice->fk_product = GETPOST('prodid', 'int'); + $prodcustprice->price = price2num(GETPOST("price"), 'MU'); + $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); + $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); + $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); + $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); + + $result = $prodcustprice->create($user, 0, $update_child_soc); + + if ($result < 0) { + setEventMessage($prodcustprice->error, 'errors'); } else { - setEventMessage($langs->trans('Save'),'mesgs'); + setEventMessage($langs->trans('Save'), 'mesgs'); } - - $action=''; + + $action = ''; } -if ($action == 'delete_customer_price' && ($user->rights->produit->creer || $user->rights->service->creer)) -{ - //Delete price by customer - $prodcustprice->id=GETPOST('lineid'); +if ($action == 'delete_customer_price' && ($user->rights->produit->creer || $user->rights->service->creer)) { + // Delete price by customer + $prodcustprice->id = GETPOST('lineid'); $result = $prodcustprice->delete($user); - - if ($result < 0) - { - setEventMessage($prodcustprice->error,'mesgs'); - }else { - setEventMessage($langs->trans('Delete'),'errors'); + + if ($result < 0) { + setEventMessage($prodcustprice->error, 'mesgs'); + } else { + setEventMessage($langs->trans('Delete'), 'errors'); } - $action=''; + $action = ''; } -if ($action == 'update_customer_price_confirm' && ! $_POST["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) -{ +if ($action == 'update_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - $prodcustprice->fetch(GETPOST('lineid','int')); + $prodcustprice->fetch(GETPOST('lineid', 'int')); - $update_child_soc=GETPOST('updatechildprice'); + $update_child_soc = GETPOST('updatechildprice'); - //update price by customer - $prodcustprice->price=price2num(GETPOST("price"),'MU'); - $prodcustprice->price_min=price2num(GETPOST("price_min"),'MU'); - $prodcustprice->price_base_type=GETPOST("price_base_type",'alpha'); - $prodcustprice->tva_tx=str_replace('*','',GETPOST("tva_tx")); - $prodcustprice->recuperableonly=(preg_match('/\*/',GETPOST("tva_tx")) ? 1 : 0); - - $result = $prodcustprice->update($user,0,$update_child_soc); - if ($result < 0) - { - setEventMessage($prodcustprice->error,'errors'); - }else { - setEventMessage($langs->trans('Save'),'mesgs'); + // update price by customer + $prodcustprice->price = price2num(GETPOST("price"), 'MU'); + $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); + $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); + $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); + $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); + + $result = $prodcustprice->update($user, 0, $update_child_soc); + if ($result < 0) { + setEventMessage($prodcustprice->error, 'errors'); + } else { + setEventMessage($langs->trans('Save'), 'mesgs'); } - $action=''; - + $action = ''; } - - /* * View */ @@ -129,94 +121,90 @@ $form = new Form($db); $soc = new Societe($db); - $result = $soc->fetch($socid); -llxHeader("",$langs->trans("ThirdParty").'-'. $langs->trans ( 'PriceByCustomer' )); +llxHeader("", $langs->trans("ThirdParty") . '-' . $langs->trans('PriceByCustomer')); -if (! empty($conf->notification->enabled)) $langs->load("mails"); +if (! empty($conf->notification->enabled)) + $langs->load("mails"); $head = societe_prepare_head($soc); -dol_fiche_head($head, 'price', $langs->trans("ThirdParty"),0,'company'); +dol_fiche_head($head, 'price', $langs->trans("ThirdParty"), 0, 'company'); print ''; -print ''; -if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field +if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field { - print ''; + print ''; } -if ($soc->client) -{ +if ($soc->client) { print ''; } -if ($soc->fournisseur) -{ +if ($soc->fournisseur) { print ''; } -if (! empty($conf->barcode->enabled)) -{ - print ''; +if (! empty($conf->barcode->enabled)) { + print ''; } -print ""; // Zip / Town -print '"; -print '"; +print '"; +print '"; // Country if ($soc->country) { - print ''; } // EMail -print ''; // Web -print ''; // Phone / Fax -print ''; -print ''; +print ''; +print ''; print '
'.$langs->trans("ThirdPartyName").''; -print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom'); +print '
' . $langs->trans("ThirdPartyName") . ''; +print $form->showrefnav($soc, 'socid', '', ($user->societe_id ? 0 : 1), 'rowid', 'nom'); print '
'.$langs->trans('Prefix').''.$soc->prefix_comm.'
' . $langs->trans('Prefix') . '' . $soc->prefix_comm . '
'; - print $langs->trans('CustomerCode').''; + print $langs->trans('CustomerCode') . ''; print $soc->code_client; - if ($soc->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; + if ($soc->check_codeclient() != 0) + print ' (' . $langs->trans("WrongCustomerCode") . ')'; print '
'; - print $langs->trans('SupplierCode').''; + print $langs->trans('SupplierCode') . ''; print $soc->code_fournisseur; - if ($soc->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; + if ($soc->check_codefournisseur() != 0) + print ' (' . $langs->trans("WrongSupplierCode") . ')'; print '
'.$langs->trans('Gencod').''.$soc->barcode.'
' . $langs->trans('Gencod') . '' . $soc->barcode . '
".$langs->trans('Address').""; +print "
" . $langs->trans('Address') . ""; dol_print_address($soc->address, 'gmap', 'thirdparty', $soc->id); print "
'.$langs->trans('Zip').''.$soc->zip."'.$langs->trans('Town').''.$soc->town."
' . $langs->trans('Zip') . '' . $soc->zip . "' . $langs->trans('Town') . '' . $soc->town . "
'.$langs->trans('Country').''; - $img=picto_from_langcode($soc->country_code); - print ($img?$img.' ':''); + print '
' . $langs->trans('Country') . ''; + $img = picto_from_langcode($soc->country_code); + print($img ? $img . ' ' : ''); print $soc->country; print '
'.$langs->trans('EMail').''; -print dol_print_email($soc->email,0,$soc->id,'AC_EMAIL'); +print '
' . $langs->trans('EMail') . ''; +print dol_print_email($soc->email, 0, $soc->id, 'AC_EMAIL'); print '
'.$langs->trans('Web').''; +print '
' . $langs->trans('Web') . ''; print dol_print_url($soc->url); print '
'.$langs->trans('Phone').''.dol_print_phone($soc->tel,$soc->country_code,0,$soc->id,'AC_TEL').''.$langs->trans('Fax').''.dol_print_phone($soc->fax,$soc->country_code,0,$soc->id,'AC_FAX').'
' . $langs->trans('Phone') . '' . dol_print_phone($soc->tel, $soc->country_code, 0, $soc->id, 'AC_TEL') . '' . $langs->trans('Fax') . '' . dol_print_phone($soc->fax, $soc->country_code, 0, $soc->id, 'AC_FAX') . '
'; print ''; - - - -if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { +if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { - $prodcustprice = new Productcustomerprice ( $db ); + $prodcustprice = new Productcustomerprice($db); - $sortfield = GETPOST ( "sortfield", 'alpha' ); - $sortorder = GETPOST ( "sortorder", 'alpha' ); - $page = GETPOST ( "page", 'int' ); + $sortfield = GETPOST("sortfield", 'alpha'); + $sortorder = GETPOST("sortorder", 'alpha'); + $page = GETPOST("page", 'int'); if ($page == - 1) { $page = 0; } @@ -233,8 +221,8 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { 't.fk_soc' => $soc->id ); - $search_soc = GETPOST ( 'search_soc' ); - if (! empty ( $search_soc )) { + $search_soc = GETPOST('search_soc'); + if (! empty($search_soc)) { $filter ['soc.nom'] = $search_soc; } @@ -242,7 +230,7 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { // Create mode - print_fiche_titre ( $langs->trans ( 'PriceByCustomer' ) ); + print_fiche_titre($langs->trans('PriceByCustomer')); print '
'; print ''; @@ -250,52 +238,52 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; // VAT - print ''; // Price base print ''; print ''; print ''; // Price print ''; // Price minimum print ''; // Update all child soc print ''; print '
' . $langs->trans ( 'Product' ) . '' . $langs->trans('Product') . ''; - print $form->select_produits('','prodid','',0); + print $form->select_produits('', 'prodid', '', 0); print '
' . $langs->trans ( "VATRate" ) . ''; - print $form->load_tva ( "tva_tx", $object->tva_tx, $mysoc, '', $object->id, $object->tva_npr ); + print '
' . $langs->trans("VATRate") . ''; + print $form->load_tva("tva_tx", $object->tva_tx, $mysoc, '', $object->id, $object->tva_npr); print '
'; - print $langs->trans ( 'PriceBase' ); + print $langs->trans('PriceBase'); print ''; - print $form->select_PriceBaseType ( $object->price_base_type, "price_base_type" ); + print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); print '
'; - $text = $langs->trans ( 'SellingPrice' ); - print $form->textwithpicto ( $text, $langs->trans ( "PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT ), 1, 1 ); + $text = $langs->trans('SellingPrice'); + print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); print ''; if ($object->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print '
'; - $text = $langs->trans ( 'MinPrice' ); - print $form->textwithpicto ( $text, $langs->trans ( "PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT ), 1, 1 ); + $text = $langs->trans('MinPrice'); + print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); if ($object->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print '
'; - print $langs->trans ( 'ForceUpdateChildPriceSoc' ); + print $langs->trans('ForceUpdateChildPriceSoc'); print ''; print ''; @@ -304,19 +292,19 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print '
'; - print '

 '; - print '
'; + print '

 '; + print '
'; print '
'; } elseif ($action == 'edit_customer_price') { // Edit mode - print_fiche_titre ( $langs->trans ( 'PriceByCustomer' ) ); + print_fiche_titre($langs->trans('PriceByCustomer')); - $result = $prodcustprice->fetch ( GETPOST ( 'lineid', 'int' ) ); + $result = $prodcustprice->fetch(GETPOST('lineid', 'int')); if ($result < 0) { - setEventMessage ( $prodcustprice->error, 'errors' ); + setEventMessage($prodcustprice->error, 'errors'); } print '
'; @@ -325,52 +313,52 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print ''; print ''; print ''; - print ''; - $staticprod = new Product ( $db ); - $staticprod->fetch ( $prodcustprice->fk_product ); - print ""; + print ''; + $staticprod = new Product($db); + $staticprod->fetch($prodcustprice->fk_product); + print ""; print ''; // VAT - print ''; // Price base print ''; print ''; print ''; // Price print ''; // Price minimum print ''; // Update all child soc print ''; print '
' . $langs->trans ( 'Product' ) . '" . $staticprod->getNomUrl ( 1 ) . "' . $langs->trans('Product') . '" . $staticprod->getNomUrl(1) . "
' . $langs->trans ( "VATRate" ) . ''; - print $form->load_tva ( "tva_tx", $prodcustprice->tva_tx, $mysoc, '', $staticprod->id, $prodcustprice->recuperableonly ); + print '
' . $langs->trans("VATRate") . ''; + print $form->load_tva("tva_tx", $prodcustprice->tva_tx, $mysoc, '', $staticprod->id, $prodcustprice->recuperableonly); print '
'; - print $langs->trans ( 'PriceBase' ); + print $langs->trans('PriceBase'); print ''; - print $form->select_PriceBaseType ( $prodcustprice->price_base_type, "price_base_type" ); + print $form->select_PriceBaseType($prodcustprice->price_base_type, "price_base_type"); print '
'; - $text = $langs->trans ( 'SellingPrice' ); - print $form->textwithpicto ( $text, $langs->trans ( "PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT ), 1, 1 ); + $text = $langs->trans('SellingPrice'); + print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); print ''; if ($prodcustprice->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print '
'; - $text = $langs->trans ( 'MinPrice' ); - print $form->textwithpicto ( $text, $langs->trans ( "PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT ), 1, 1 ); + $text = $langs->trans('MinPrice'); + print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); if ($prodcustprice->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print '
'; - print $langs->trans ( 'ForceUpdateChildPriceSoc' ); + print $langs->trans('ForceUpdateChildPriceSoc'); print ''; print ''; @@ -379,112 +367,104 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print '
'; - print '

 '; - print '
'; + print '

 '; + print '
'; print '
'; - } elseif ($action=='showlog_customer_price') { - + } elseif ($action == 'showlog_customer_price') { $filter = array ( - 't.fk_product' => GETPOST('prodid','int'), - 't.fk_soc'=> $socid - ); + 't.fk_product' => GETPOST('prodid', 'int'),'t.fk_soc' => $socid + ); // Count total nb of records $nbtotalofrecords = 0; - if (empty ( $conf->global->MAIN_DISABLE_FULL_SCANLIST )) { - $nbtotalofrecords = $prodcustprice->fetch_all_log ( $sortorder, $sortfield, $conf->liste_limit, $offset, $filter ); + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $nbtotalofrecords = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); } - $result = $prodcustprice->fetch_all_log ( $sortorder, $sortfield, $conf->liste_limit, $offset, $filter ); + $result = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { - setEventMessage ( $prodcustprice->error, 'errors' ); + setEventMessage($prodcustprice->error, 'errors'); } - $option = '&socid=' . GETPOST('socid','int') . '&prodid=' . GETPOST('prodid','int'); + $option = '&socid=' . GETPOST('socid', 'int') . '&prodid=' . GETPOST('prodid', 'int'); - print_barre_liste ( $langs->trans ( 'PriceByCustomerLog' ), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count ( $prodcustprice->lines ), $nbtotalofrecords ); + print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); - if (count ( $prodcustprice->lines ) > 0) { - + if (count($prodcustprice->lines) > 0) { + print '
'; print ''; - + print ''; - + print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ''; print ''; - + $var = True; - + foreach ( $prodcustprice->lines as $line ) { - - print ""; - $staticprod = new Product ( $db ); - $staticprod->fetch ( $line->fk_product ); - print ""; - print ""; - - print '"; - print '"; - print '"; - print '"; - print ''; - print ''; - + print ""; + $staticprod = new Product($db); + $staticprod->fetch($line->fk_product); + + print ""; + print ""; + + print '"; + print '"; + print '"; + print '"; + print ''; + print ''; + // User - $userstatic=new User($db); + $userstatic = new User($db); $userstatic->fetch($line->fk_user); print ''; - - - - } - print "
' . $langs->trans ( "Product" ) . '' . $langs->trans ( "AppliedPricesFrom" ) . '' . $langs->trans ( "PriceBase" ) . '' . $langs->trans ( "VAT" ) . '' . $langs->trans ( "HT" ) . '' . $langs->trans ( "TTC" ) . '' . $langs->trans ( "MinPrice" ) . ' ' . $langs->trans ( "HT" ) . '' . $langs->trans ( "MinPrice" ) . ' ' . $langs->trans ( "TTC" ) . '' . $langs->trans ( "ChangedBy" ) . '' . $langs->trans("Product") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("PriceBase") . '' . $langs->trans("VAT") . '' . $langs->trans("HT") . '' . $langs->trans("TTC") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '' . $langs->trans("ChangedBy") . ' 
" . $staticprod->getNomUrl ( 1 ) . "" . dol_print_date ( $line->datec, "dayhour" ) . "' . $langs->trans ( $line->price_base_type ) . "' . vatrate ( $line->tva_tx, true, $line->recuperableonly ) . "' . price ( $line->price ) . "' . price ( $line->price_ttc ) . "' . price ( $line->price_min ) . '' . price ( $line->price_min_ttc ) . '
" . $staticprod->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . ''; print $userstatic->getLoginUrl(1); print '
"; - } else { - print $langs->trans ( 'None' ); - - + } + print ""; + } else { + print $langs->trans('None'); } print "\n" . '
' . "\n"; - print ''; + print ''; print "\n

\n"; - } else { // View mode // Count total nb of records $nbtotalofrecords = 0; - if (empty ( $conf->global->MAIN_DISABLE_FULL_SCANLIST )) { - $nbtotalofrecords = $prodcustprice->fetch_all ( '', '', 0, 0, $filter ); + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $nbtotalofrecords = $prodcustprice->fetch_all('', '', 0, 0, $filter); } - $result = $prodcustprice->fetch_all ( $sortorder, $sortfield, $conf->liste_limit, $offset, $filter ); + $result = $prodcustprice->fetch_all($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { - setEventMessage ( $prodcustprice->error, 'errors' ); + setEventMessage($prodcustprice->error, 'errors'); } $option = '&search_soc=' . $search_soc . '&id=' . $object->id; - print_barre_liste ( $langs->trans ( 'PriceByCustomer' ), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count ( $prodcustprice->lines ), $nbtotalofrecords ); + print_barre_liste($langs->trans('PriceByCustomer'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); - if (count ( $prodcustprice->lines ) > 0) { + if (count($prodcustprice->lines) > 0) { print ''; print ''; @@ -492,15 +472,15 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print ''; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ''; print ''; @@ -509,7 +489,7 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print ''; // Print the search button print ''; print ''; @@ -518,40 +498,39 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { foreach ( $prodcustprice->lines as $line ) { print ""; - - $staticprod = new Product ( $db ); - $staticprod->fetch ( $line->fk_product ); - print ""; - print ""; + $staticprod = new Product($db); + $staticprod->fetch($line->fk_product); - print '"; - print '"; - print '"; - print '"; - print ''; - print ''; + print ""; + print ""; + + print '"; + print '"; + print '"; + print '"; + print ''; + print ''; // User - $userstatic=new User($db); + $userstatic = new User($db); $userstatic->fetch($line->fk_user); print ''; - // Todo Edit or delete button // Action if ($user->rights->produit->creer || $user->rights->service->creer) { print ''; } @@ -562,7 +541,7 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print ""; } else { - print $langs->trans ( 'None' ); + print $langs->trans('None'); } /* ************************************************************************** */ @@ -574,13 +553,12 @@ if (! empty ( $conf->global->PRODUIT_CUSTOMER_PRICES )) { print "\n" . '
' . "\n"; if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; + print ''; } print "\n

\n"; } } - llxFooter(); $db->close();
' . $langs->trans ( "Product" ) . '' . $langs->trans ( "AppliedPricesFrom" ) . '' . $langs->trans ( "PriceBase" ) . '' . $langs->trans ( "VAT" ) . '' . $langs->trans ( "HT" ) . '' . $langs->trans ( "TTC" ) . '' . $langs->trans ( "MinPrice" ) . ' ' . $langs->trans ( "HT" ) . '' . $langs->trans ( "MinPrice" ) . ' ' . $langs->trans ( "TTC" ) . '' . $langs->trans ( "ChangedBy" ) . '' . $langs->trans("Product") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("PriceBase") . '' . $langs->trans("VAT") . '' . $langs->trans("HT") . '' . $langs->trans("TTC") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '' . $langs->trans("ChangedBy") . ' 
 '; - print ''; + print ''; print '
" . $staticprod->getNomUrl ( 1 ) . "" . dol_print_date ( $line->datec, "dayhour" ) . "' . $langs->trans ( $line->price_base_type ) . "' . vatrate ( $line->tva_tx, true, $line->recuperableonly ) . "' . price ( $line->price ) . "' . price ( $line->price_ttc ) . "' . price ( $line->price_min ) . '' . price ( $line->price_min_ttc ) . '" . $staticprod->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . ''; print $userstatic->getLoginUrl(1); print ''; print 'id . '&lineid=' . $line->id . '">'; - print img_delete (); + print img_delete(); print ''; print 'id . '&lineid=' . $line->id . '">'; - print img_edit (); + print img_edit(); print ''; print 'id . '&prodid=' . $line->fk_product . '">'; - print img_info (); + print img_info(); print ''; print '