diff --git a/README b/README index 342035579b4..2eebec8c5f8 100644 --- a/README +++ b/README @@ -53,20 +53,13 @@ To upgrade Dolibarr from an old version to this one: - If you came from a beta version or from any version x.y.z to any other where x or y number differs, you must call the Dolibarr "install/" - page in your browser. - Url might be for example: + page in your browser (this should be done automatically at first dolibarr + access). + This URL should looks like: http://localhost/dolibarr/htdocs/install/ or http://yourdolibarrhost/install/index.php - To know what is exactly correct URL for "install/" page, take URL you use - to go on login page. It it ends with "index.php", remove it. Then add - "install/" at the end. - For example, if your login page is: - http://yourdolibarrhost/something/index.php - Then, your "install/" pages will be - http://yourdolibarrhost/something/install/ - Then choose the "update" option according to your case. Note: Migrate process can be ran safely several times. diff --git a/README-FR b/README-FR index 404d3f1a521..75962578d1d 100644 --- a/README-FR +++ b/README-FR @@ -53,19 +53,13 @@ Pour mettre a jour Dolibarr depuis une vieille version vers celle ci: il n'y a pas besoin de migration de données. - Si vous venez d'une beta ou d'un version x.y.z vers une autre ou les numeros x - ou y varient, vous devez appelez la page de migration dans votre navigateur: + ou y varient, vous devez appelez la page "install/" de migration dans votre + navigateur (ceci doit se faire automatiquement au premier accès de l'application). + Ce sera une URL du genre: http://localhost/dolibarr/htdocs/install/index.php ou http://yourdolibarrhost/install/index.php - Pour savoir quelle est l'URL exactement de la page "install/", prenez l'URL que - vous utilisez pour vous loguer. Si elle se termine par "index.php", enlevez le. - Dans tous les cas, ajouter ensuite "install/" à la fin. - Par exemple, si votre page de connexion est: - http://yourdolibarrhost/something/index.php - Alors la page "install/" sera - http://yourdolibarrhost/something/install/ - Ensuite, choisir l'option de "mise a jour" en rapport avec votre cas. Note: Le processus de migration peut etre lance plusieurs fois sans risque. diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php index c508e65182f..9a36e5a2e8a 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/impayees.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -23,7 +23,7 @@ * \file htdocs/compta/facture/impayees.php * \ingroup facture * \brief Page to list and build liste of unpaid invoices - * \version $Revision$ + * \version $Revision: 1.83 $ */ require("../../main.inc.php"); @@ -268,7 +268,7 @@ if ($result) print_fiche_titre($titre,$link); //print_barre_liste($titre,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',0); // We don't want pagination on this page - if ($mesg) print $mesg; + dol_htmloutput_mesg($mesg); $i = 0; print ''; @@ -351,10 +351,10 @@ if ($result) // PDF Picto print ''; + print ''; print '
'; - $filename=dol_sanitizeFileName($objp->facnumber); + $filename=dol_sanitizeFileName($objp->facnumber); $filedir=$conf->facture->dir_output . '/' . dol_sanitizeFileName($objp->facnumber); $foundpdf=$formfile->show_documents('facture',$filename,$filedir,$urlsource,'','','',1,'',1,$param); - print '
'; @@ -425,5 +425,5 @@ if ($result) $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/07/13 14:41:02 $ - $Revision: 1.83 $'); ?> diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index e9ae1ea7e05..a6c93758797 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -22,7 +22,7 @@ * \file htdocs/core/class/commonobject.class.php * \ingroup core * \brief File of parent class of all other business classes (invoices, contracts, proposals, orders, ...) - * \version $Id: commonobject.class.php,v 1.145 2011/07/10 16:50:40 eldy Exp $ + * \version $Id: commonobject.class.php,v 1.146 2011/07/13 16:55:25 eldy Exp $ */ @@ -365,9 +365,10 @@ class CommonObject * Return array with list of possible values for type of contacts * @param source internal, external or all if not defined * @param order Sort order by : code or rowid - * @return array List of type of contacts + * @param option 0=Return array id->label, 1=Return array code->label + * @return array Array list of type of contacts (id->label if option=0, code->label if option=1) */ - function liste_type_contact($source='internal', $order='code') + function liste_type_contact($source='internal', $order='code', $option=0) { global $langs; @@ -390,7 +391,8 @@ class CommonObject $transkey="TypeContact_".$this->element."_".$source."_".$obj->code; $libelle_type=($langs->trans($transkey)!=$transkey ? $langs->trans($transkey) : $obj->libelle); - $tab[$obj->rowid]=$libelle_type; + if (empty($option)) $tab[$obj->rowid]=$libelle_type; + else $tab[$obj->code]=$libelle_type; $i++; } return $tab; diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index cfd46212a10..ab274743513 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -22,7 +22,7 @@ * \file htdocs/core/class/html.formfile.class.php * \ingroup core * \brief File of class to offer components to list and upload files - * \version $Id: html.formfile.class.php,v 1.48 2011/07/13 07:38:11 hregis Exp $ + * \version $Id: html.formfile.class.php,v 1.49 2011/07/13 14:41:03 eldy Exp $ */ @@ -152,6 +152,7 @@ class FormFile */ function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$allowgenifempty=1,$forcenomultilang=0,$iconPDF=0,$maxfilenamelength=28,$noform=0,$param='',$title='',$buttonlabel='',$codelang='',$hooks='') { + $this->numoffiles=0; print $this->showdocuments($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed,$modelselected,$allowgenifempty,$forcenomultilang,$iconPDF,$maxfilenamelength,$noform,$param,$title,$buttonlabel,$codelang,$hooks); return $this->numoffiles; } @@ -845,12 +846,12 @@ class FormFile print ''; print ''; print ''; - + print ''; - + print '
'; print '
'; - + print ''; /*print ''; print ''; diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 3164f86d8e1..6ca8f1e007f 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -22,7 +22,7 @@ * \file htdocs/core/class/html.formmail.class.php * \ingroup core * \brief Fichier de la classe permettant la generation du formulaire html d'envoi de mail unitaire - * \version $Id: html.formmail.class.php,v 1.31 2011/07/10 20:03:41 eldy Exp $ + * \version $Id: html.formmail.class.php,v 1.32 2011/07/13 16:55:25 eldy Exp $ */ require_once(DOL_DOCUMENT_ROOT ."/core/class/html.form.class.php"); @@ -519,7 +519,7 @@ class FormMail foreach($listofpaths as $key => $val) { $out.= '
'; - $out.= img_mime($listofnames[$key]).' '.$listofnames[$key]; + $out.= img_mime($listofnames[$key]).' '.$listofnames[$key]; if (! $this->withfilereadonly) { $out.= ' '; @@ -547,15 +547,15 @@ class FormMail $defaultmessage=""; // TODO A partir du type, proposer liste de messages dans table llx_models - if ($this->param["models"]=='body') { $defaultmessage=$this->withbody; } - if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); } - if ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); } - if ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); } - if ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); } - if ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); } - if ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); } - if ($this->param["models"]=='shipping_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendShipping"); } - if ($this->param["models"]=='fichinter_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendFichInter"); } + if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); } + elseif ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); } + elseif ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); } + elseif ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); } + elseif ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); } + elseif ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); } + elseif ($this->param["models"]=='shipping_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendShipping"); } + elseif ($this->param["models"]=='fichinter_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendFichInter"); } + elseif (! is_numeric($this->withbody)) { $defaultmessage=$this->withbody; } if ($conf->paypal->enabled && $conf->global->PAYPAL_ADD_PAYMENT_URL) { @@ -565,12 +565,12 @@ class FormMail if ($this->param["models"]=='order_send') { - $url=getPaymentUrl('order',$this->substit['__ORDERREF__']); + $url=getPaypalPaymentUrl('order',$this->substit['__ORDERREF__']); $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrderWithPaypalLink",$url); } if ($this->param["models"]=='facture_send') { - $url=getPaymentUrl('invoice',$this->substit['__FACREF__']); + $url=getPaypalPaymentUrl('invoice',$this->substit['__FACREF__']); $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceWithPaypalLink",$url); } } diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 1967e26eb00..96292683296 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -9,8 +9,8 @@ // Reference language: en_US CHARSET=UTF-8 DIRECTION=ltr -FONTFORPDF=chinese -#FONTFORPDF=stsongstdlight +#FONTFORPDF=chinese +FONTFORPDF=stsongstdlight #FONTSIZEFORPDF=9 SeparatorDecimal=. SeparatorThousand=None diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php index 0e846c9e9a7..82ec9a15c2e 100755 --- a/htdocs/paypal/lib/paypal.lib.php +++ b/htdocs/paypal/lib/paypal.lib.php @@ -22,7 +22,7 @@ * \file htdocs/paypal/lib/paypal.lib.php * \ingroup paypal * \brief Library for common paypal functions - * \version $Id$ + * \version $Id: paypal.lib.php,v 1.25 2011/07/13 16:55:34 eldy Exp $ */ function llxHeaderPaypal($title, $head = "") { @@ -132,7 +132,7 @@ function html_print_paypal_footer($fromcompany,$langs) function paypaladmin_prepare_head() { global $langs, $conf; - + $h = 0; $head = array(); @@ -140,7 +140,7 @@ function paypaladmin_prepare_head() $head[$h][1] = $langs->trans("Account"); $head[$h][2] = 'paypalaccount'; $h++; - + // Show more tabs from modules // Entries must be declared in modules descriptor with line // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab @@ -151,24 +151,24 @@ function paypaladmin_prepare_head() } /** - * + * */ -function getPaymentUrl($source='',$ref='',$amount=0,$freetag='') +function getPaypalPaymentUrl($source='',$ref='',$amount=0,$freetag='') { global $conf; - + require_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php"); - + if (! empty($source) && ! empty($ref)) { $token=''; if (! empty($conf->global->PAYPAL_SECURITY_TOKEN)) $token='&securekey='.dol_hash($conf->global->PAYPAL_SECURITY_TOKEN.$source.$ref, 2); - + if ($source == 'commande') $source = 'order'; if ($source == 'facture') $source = 'invoice'; - + $url = DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?source='.$source.'&ref='.$ref.$token; - + return $url; } } @@ -482,7 +482,7 @@ function hash_call($methodName,$nvpStr) global $conf, $langs; global $API_Endpoint, $API_Url, $API_version, $USE_PROXY, $PROXY_HOST, $PROXY_PORT, $PROXY_USER, $PROXY_PASS; global $PAYPAL_API_USER, $PAYPAL_API_PASSWORD, $PAYPAL_API_SIGNATURE; - + // TODO problem with triggers $API_version="56"; if ($conf->global->PAYPAL_API_SANDBOX) @@ -495,7 +495,7 @@ function hash_call($methodName,$nvpStr) $API_Endpoint = "https://api-3t.paypal.com/nvp"; $API_Url = "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token="; } - + // Clean parameters $PAYPAL_API_USER=""; if ($conf->global->PAYPAL_API_USER) $PAYPAL_API_USER=$conf->global->PAYPAL_API_USER; @@ -506,7 +506,7 @@ function hash_call($methodName,$nvpStr) $PAYPAL_API_SANDBOX=""; if ($conf->global->PAYPAL_API_SANDBOX) $PAYPAL_API_SANDBOX=$conf->global->PAYPAL_API_SANDBOX; // TODO END problem with triggers - + dol_syslog("Paypal API endpoint ".$API_Endpoint); //setting the curl parameters. @@ -580,19 +580,19 @@ function hash_call($methodName,$nvpStr) function GetApiError() { $errors=array(); - + $resArray=$_SESSION['reshash']; - + if(isset($_SESSION['curl_error_no'])) { $errors[] = $_SESSION['curl_error_no'].'-'.$_SESSION['curl_error_msg']; } - + foreach($resArray as $key => $value) { $errors[] = $key.'-'.$value; } - + return $errors; } diff --git a/htdocs/societe/socnote.php b/htdocs/societe/socnote.php index 6385d48e759..e0a849af112 100644 --- a/htdocs/societe/socnote.php +++ b/htdocs/societe/socnote.php @@ -23,7 +23,7 @@ * \file htdocs/societe/socnote.php * \brief Tab for notes on third party * \ingroup societe - * \version $Id$ + * \version $Id: socnote.php,v 1.22 2011/07/13 16:24:57 eldy Exp $ */ require("../main.inc.php"); @@ -44,13 +44,13 @@ $result = restrictedArea($user, 'societe', $socid); * Actions */ -if ($action == 'add') +if ($action == 'add' && ! GETPOST('cancel')) { - $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET note='".$db->escape($_POST["note"])."' WHERE rowid=".$_POST["socid"]; - $result = $db->query($sql); + $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET note='".$db->escape($_POST["note"])."' WHERE rowid=".$_POST["socid"]; + $result = $db->query($sql); - $_GET["socid"]=$_POST["socid"]; // Pour retour sur fiche - $socid = $_GET["socid"]; + $_GET["socid"]=$_POST["socid"]; // Pour retour sur fiche + $socid = $_GET["socid"]; } @@ -70,25 +70,25 @@ if ($socid > 0) $societe = new Societe($db, $socid); $societe->fetch($socid); - /* - * Affichage onglets - */ + /* + * Affichage onglets + */ if ($conf->notification->enabled) $langs->load("mails"); - $head = societe_prepare_head($societe); + $head = societe_prepare_head($societe); - dol_fiche_head($head, 'note', $langs->trans("ThirdParty"),0,'company'); + dol_fiche_head($head, 'note', $langs->trans("ThirdParty"),0,'company'); - print "
"; - print ''; + print ""; + print ''; - print '
'.$langs->trans("Documents2").'
'; + print '
'; - print ''; - print ''; + print ''; + print ''; if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field { @@ -113,32 +113,36 @@ if ($socid > 0) print ''; } - print ''; - print ''; + print '"; + // Editeur wysiwyg + require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); + $doleditor=new DolEditor('note',$societe->note,'',360,'dolibarr_notes','In',true,false,$conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE,20,70); + $doleditor->Create(); + } + else + { + print dol_textishtml($societe->note)?$societe->note:dol_nl2br($societe->note,1,true); + } + print ""; - if ($action == 'edit') - { - print ''; - } + if ($action == 'edit') + { + print ''; + } - print "
'.$langs->trans('ThirdPartyName').''; - print $form->showrefnav($societe,'socid','',($user->societe_id?0:1),'rowid','nom'); - print '
'.$langs->trans('ThirdPartyName').''; + print $form->showrefnav($societe,'socid','',($user->societe_id?0:1),'rowid','nom'); + print '
'.$langs->trans("Note").''; - if ($action == 'edit' && $user->rights->societe->creer) - { - print ""; - print "id."\">"; + print '
'.$langs->trans("Note").''; + if ($action == 'edit' && $user->rights->societe->creer) + { + print ""; + print "id."\">"; - // Editeur wysiwyg - require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); - $doleditor=new DolEditor('note',$societe->note,'',360,'dolibarr_notes','In',true,false,$conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE,20,70); - $doleditor->Create(); - } - else - { - print dol_textishtml($societe->note)?$societe->note:dol_nl2br($societe->note,1,true); - } - print "
'; + print ''; + print '   '; + print ''; + print '
"; + print ""; - print ''; + print ''; } print '
'; @@ -163,5 +167,5 @@ if ($action != 'edit') $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/07/13 16:24:57 $ - $Revision: 1.22 $'); ?>