diff --git a/README-FR.md b/README-FR.md index 19d4ae25df9..4feb27893e0 100644 --- a/README-FR.md +++ b/README-FR.md @@ -15,37 +15,43 @@ Dolibarr est distribué sous les termes de la licence GNU General Public License ## INSTALLER DOLIBARR -Si vous n'avez pas de connaissances techniques, et que vous recherchez -un programme d'installation qui installe Dolibarr ERP/CRM en quelques clics, -vous devez vous ré-orienter vers DoliWamp (la version tout-en-un -de Dolibarr pour Windows), DoliDeb (la version tout-en-un pour Debian ou -Ubuntu) ou DoliRpm (la version tout-en-un de Dolibarr pour Fedora, Redhat, -OpenSuse, Mandriva ou Mageia). +### Configuration simple -Vous pouvez les télécharger depuis la rubrique *download* du portail officiel: -https://www.dolibarr.org/ +Si vous avez peu de compétences techniques et que vous souhaitez installer Dolibarr ERP/CRM en quelques clics, vous pouvez utiliser l'une des versions pré-packagées avec les prérequis: -Si vous avez déjà installé un serveur Web avec PHP et une base de données (MariaDb/MySql/PostgreSql), -vous pouvez installer Dolibarr avec cette version de la manière suivante: +- DoliWamp pour Windows +- DoliDeb pour Debian ou Ubuntu +- DoliRpm pour Redhat, Fedora, OpenSuse, Mandriva ou Mageia -- Copiez le répertoire "dolibarr" et son contenu dans la racine de votre serveur - web, ou bien copiez le répertoire sur le serveur et configurez ce serveur pour - utiliser "dolibarr/htdocs" comme racine d'un nouveau virtual host (ce second - choix requiert des compétences et habilitations en administration du serveur - web). - -- Créez un fichier vide "htdocs/conf/conf.php" et attribuez les permissions - en lecture et écriture pour le user du serveur web (les permissions en - écriture seront supprimées une fois l'installation terminée). +Les packages peuvent être téléchargés à partir de [site web officiel] (https://www.dolibarr.org/). -- Depuis votre navigateur, appelez la page "install/" de dolibarr. L'url dépend - du choix fait à la première étape: - http://localhost/dolibarr/htdocs/install/ - ou - http://yourdolibarrvirtualhost/install/ - -- Suivez les instructions fournies par l'installateur... +### Configuration avancée +Vous pouvez aussi utiliser un serveur Web et une base de données prise en charge (MariaDB, MySQL ou PostgreSQL) pour installer la version standard. + +- Décompressez l'archive .zip téléchargée pour copier le répertoire "dolibarr/htdocs" et tous ses fichiers à la racine du serveur Web ou récupérez-les directement à partir de GitHub (recommandé si vous connaissez git): + +  git clone https://github.com/dolibarr/dolibarr -b x.y (où x.y est la version principale comme 3.6, 9.0, ...) + +- Configurez votre serveur Web pour qu'il utilise "*dolibarr/htdocs*" en tant que racine si votre serveur Web ne possède pas déjà de répertoire défini vers lequel pointer. +  +- Créez un fichier `htdocs/conf/conf.php` vide et définissez les autorisations d'*écrire* pour l'utilisateur de votre serveur Web (l'autorisation *écrire* sera supprimée une fois l'installation terminée) + +- Depuis votre navigateur, allez à la page "install/" de dolibarr + +    L’URL dépendra de la façon dont votre configuration Web a été configurée pour pointer vers votre installation de dolibarr. Cela peut ressembler à: + +        http://localhost/dolibarr/htdocs/install/ +         +    ou +     +        http://localhost/dolibarr/install/ +         +    ou +     +    http://yourdolibarrvirtualhost/install/ +    +- Suivez les instructions de l'installateur ## METTRE A JOUR DOLIBARR diff --git a/README.md b/README.md index bcff409035f..6cb38b4bb1d 100644 --- a/README.md +++ b/README.md @@ -29,27 +29,6 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git ## INSTALLING -### Download - -Releases can be downloaded from [official website](https://www.dolibarr.org/). - -### Install from composer - -If you do not already have Composer installed, you may do so by following the instructions at [getcomposer.org](https://getcomposer.org/). On Linux and macOS, you may run the following commands: - -```bash -curl -sS https://getcomposer.org/installer | php -mv composer.phar /usr/local/bin/composer -``` - -On Windows, you can download and run https://getcomposer.org/Composer-Setup.exe - -You can then create a new project - -```bash -composer create-project dolibarr/dolibarr erp -``` - ### Simple setup If you have low technical skills and you're looking to install Dolibarr ERP/CRM in just a few clicks, you can use one of the packaged versions: @@ -58,16 +37,23 @@ If you have low technical skills and you're looking to install Dolibarr ERP/CRM - DoliDeb for Debian or Ubuntu - DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia +Releases can be downloaded from [official website](https://www.dolibarr.org/). + ### Advanced setup You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version. -- Uncompress the downloaded archive -- Copy the "dolibarr" directory and all its files inside your web server root or anywhere you'd like and set up your web server to use "*dolibarr/htdocs*" as root for a new web server virtual host (second choice need to be server administrator) -- Create an empty `htdocs/conf/conf.php` file and set permissions for your web server user (*write* permissions will be removed once install is finished) +- Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you known git): + + git clone https://github.com/dolibarr/dolibarr -b x.y (where x.y is main version like 3.6, 9.0, ...) + +- Set up your web server to use "*dolibarr/htdocs*" as root if you'r web server does not have directory to point to already defined. + +- Create an empty `htdocs/conf/conf.php` file and set *write* permissions for your web server user (*write* permission will be removed once install is finished) + - From your browser, go to the dolibarr "install/" page - The URL will depends on choices made in the first step: + The URL will depends on how you web setup was setup to point to your dolibarr installation. It may looks like: http://localhost/dolibarr/htdocs/install/ diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 14f28a71edc..bbdfa564183 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -589,7 +589,8 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/Examples`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/unitTests`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/license.md`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/sabre/sabre/dav/tests`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/sabre/sabre/*/tests`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/stripe/tests`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/stripe/LICENSE`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`; diff --git a/htdocs/adherents/admin/adherent_emails.php b/htdocs/adherents/admin/adherent_emails.php index 9ee06cd3fa7..33d42986256 100644 --- a/htdocs/adherents/admin/adherent_emails.php +++ b/htdocs/adherents/admin/adherent_emails.php @@ -43,6 +43,22 @@ $oldtypetonewone=array('texte'=>'text','chaine'=>'string'); // old type to new o $action = GETPOST('action','alpha'); +$error = 0; + +// Editing global variables not related to a specific theme +$constantes=array( + 'MEMBER_REMINDER_EMAIL'=>array('type'=>'yesno', 'label'=>$langs->trans('MEMBER_REMINDER_EMAIL', $langs->transnoentities("Module2300Name"))), + 'ADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION' =>'emailtemplate:member', + 'ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER' =>'emailtemplate:member', /* old was ADHERENT_AUTOREGISTER_MAIL */ + 'ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_VALID */ + 'ADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_COTIS */ + 'ADHERENT_EMAIL_TEMPLATE_CANCELATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_RESIL */ + 'ADHERENT_MAIL_FROM'=>'string', + 'ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT'=>'string', + 'ADHERENT_AUTOREGISTER_NOTIF_MAIL'=>'html', +); + + /* * Actions @@ -133,24 +149,10 @@ $head = member_admin_prepare_head(); dol_fiche_head($head, 'emails', $langs->trans("Members"), -1, 'user'); -print '
'; -print ''; -print ''; - -/* - * Editing global variables not related to a specific theme - */ -$constantes=array( - 'ADHERENT_MAIL_FROM'=>'string', - 'ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT'=>'string', - 'ADHERENT_AUTOREGISTER_NOTIF_MAIL'=>'html', - 'ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER' =>'emailtemplate:member', /* old was ADHERENT_AUTOREGISTER_MAIL */ - 'ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_VALID */ - 'ADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_COTIS */ - 'ADHERENT_EMAIL_TEMPLATE_CANCELATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_RESIL */ - 'MEMBER_REMINDER_EMAIL'=>array('type'=>'yesno', 'label'=>$langs->trans('MEMBER_REMINDER_EMAIL', $langs->transnoentities("Module2300Name"))), - 'ADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION' =>'emailtemplate:member', -); +// TODO Use global form +//print ''; +//print ''; +//print ''; $helptext='*'.$langs->trans("FollowingConstantsWillBeSubstituted").'
'; $helptext.='__DOL_MAIN_URL_ROOT__, __ID__, __FIRSTNAME__, __LASTNAME__, __FULLNAME__, __LOGIN__, __PASSWORD__, '; @@ -159,6 +161,9 @@ $helptext.='__COMPANY__, __ADDRESS__, __ZIP__, __TOWN__, __COUNTRY__, __EMAIL__, form_constantes($constantes, 0, $helptext); +//print '
'; +//print '
'; + dol_fiche_end(); // End of page diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 26094c4cc49..4f1d1d21c02 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6355,10 +6355,13 @@ abstract class CommonObject // Show only the key field in params if (is_array($params) && array_key_exists('onlykey',$params) && $key != $params['onlykey']) continue; + // @TODO Add test also on 'enabled' (different than 'list' that is 'visibility') $enabled = 1; - if ($enabled && isset($extrafields->attributes[$this->table_element]['list'][$key])) + + $visibility = 1; + if ($visibility && isset($extrafields->attributes[$this->table_element]['list'][$key])) { - $enabled = dol_eval($extrafields->attributes[$this->table_element]['list'][$key], 1); + $visibility = dol_eval($extrafields->attributes[$this->table_element]['list'][$key], 1); } $perms = 1; @@ -6367,7 +6370,7 @@ abstract class CommonObject $perms = dol_eval($extrafields->attributes[$this->table_element]['perms'][$key], 1); } - if (($mode == 'create' || $mode == 'edit') && abs($enabled) != 1 && abs($enabled) != 3) continue; // <> -1 and <> 1 and <> 3 = not visible on forms, only on list + if (($mode == 'create' || $mode == 'edit') && abs($visibility) != 1 && abs($visibility) != 3) continue; // <> -1 and <> 1 and <> 3 = not visible on forms, only on list if (empty($perms)) continue; // Load language if required diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 0b51f226e5e..dba52f5c69e 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1175,6 +1175,15 @@ function pdf_writelinedesc(&$pdf, $object, $i, $outputlangs, $w, $h, $posx, $pos if (empty($reshook)) { $labelproductservice=pdf_getlinedesc($object,$i,$outputlangs,$hideref,$hidedesc,$issupplierline); + + //var_dump($labelproductservice);exit; + + // Fix bug of some HTML editors that replace links ]*src=")([^"]*)(&)([^"]*")/', '\1\2&\4', $labelproductservice, -1, $nbrep); + + //var_dump($labelproductservice);exit; + // Description $pdf->writeHTMLCell($w, $h, $posx, $posy, $outputlangs->convToOutputCharset($labelproductservice), 0, 1, false, true, 'J',true); $result.=$labelproductservice; diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 7d003fc2731..1072c306551 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -216,23 +216,43 @@ class modUser extends DolibarrModules $r++; $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs'; + $this->export_label[$r]='List of users and attributes'; $this->export_permission[$r]=array(array("user","user","export")); $this->export_fields_array[$r]=array( - 'u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.accountancy_code'=>"UserAccountancyCode", - 'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification", - 'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion', + 'u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.employee'=>"Employee",'u.job'=>"PostOrFunction",'u.gender'=>"Gender", + 'u.accountancy_code'=>"UserAccountancyCode", + 'u.address'=>"Address",'u.zip'=>"Zip",'u.town'=>"Town", + 'u.office_phone'=>'Phone','u.user_mobile'=>"Mobile",'u.office_fax'=>'Fax', + 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature', + 'u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM','u.weeklyhours'=>'WeeklyHours', + 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey', + 'u.birth'=>'BirthdayDate', + 'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification", + 'u.admin'=>"Administrator",'u.statut'=>'Status','u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion', 'u.fk_socpeople'=>"IdContact",'u.fk_soc'=>"IdCompany",'u.fk_member'=>"MemberId" ); $this->export_TypeFields_array[$r]=array( - 'u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.accountancy_code'=>'Text','u.office_phone'=>'Text','u.office_fax'=>'Text', + 'u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.employee'=>'Boolean','u.job'=>'Text', + 'u.accountancy_code'=>'Text', + 'u.address'=>"Text",'u.zip'=>"Text",'u.town'=>"Text", + 'u.office_phone'=>'Text','u.user_mobile'=>'Text','u.office_fax'=>'Text', 'u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date', - 'u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname" + 'u.fk_user'=>"List:user:login", + 'u.birth'=>'Date', + 'u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname" ); $this->export_entities_array[$r]=array( - 'u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.accountancy_code'=>'user','u.office_phone'=>'user', - 'u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user", - 'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member" + 'u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.employee'=>'user','u.job'=>'user','u.gender'=>'user', + 'u.accountancy_code'=>'user', + 'u.address'=>"user",'u.zip'=>"user",'u.town'=>"user", + 'u.office_phone'=>'user','u.user_mobile'=>'user','u.office_fax'=>'user', + 'u.email'=>'user','u.note'=>"user",'u.signature'=>'user', + 'u.fk_user'=>'user','u.thm'=>'user','u.tjm'=>'user','u.weeklyhours'=>'user', + 'u.dateemployment'=>'user','u.salary'=>'user','u.color'=>'user','u.api_key'=>'user', + 'u.birth'=>'user', + 'u.datec'=>"user",'u.tms'=>"user", + 'u.admin'=>"user",'u.statut'=>'user','u.datelastlogin'=>'user','u.datepreviouslogin'=>'user', + 'u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member" ); if (empty($conf->adherent->enabled)) { @@ -254,11 +274,17 @@ class modUser extends DolibarrModules $this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon $this->import_tables_array[$r]=array('u'=>MAIN_DB_PREFIX.'user','extra'=>MAIN_DB_PREFIX.'user_extrafields'); // List of tables to insert into (insert done in same order) $this->import_fields_array[$r]=array( - 'u.lastname'=>"Name*",'u.firstname'=>"Firstname",'u.employee'=>"Employee*",'u.job'=>"Job",'u.gender'=>"Gender",'u.login'=>"Login*", + 'u.login'=>"Login*",'u.lastname'=>"Name*",'u.firstname'=>"Firstname",'u.employee'=>"Employee*",'u.job'=>"PostOrFunction",'u.gender'=>"Gender", + 'u.accountancy_code'=>"UserAccountancyCode", 'u.pass_crypted'=>"Password",'u.admin'=>"Administrator",'u.fk_soc'=>"Company*",'u.address'=>"Address",'u.zip'=>"Zip",'u.town'=>"Town", - 'u.fk_state'=>"StateId",'u.fk_country'=>"CountryCode",'u.office_phone'=>"Phone",'u.user_mobile'=>"Mobile",'u.office_fax'=>"Fax", - 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature','u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM', - 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey','u.datec'=>"DateCreation" + 'u.fk_state'=>"StateId",'u.fk_country'=>"CountryCode", + 'u.office_phone'=>"Phone",'u.user_mobile'=>"Mobile",'u.office_fax'=>"Fax", + 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature', + 'u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM','u.weeklyhours'=>'WeeklyHours', + 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey', + 'u.birth'=>'BirthdayDate', + 'u.datec'=>"DateCreation", + 'u.statut'=>'Status' ); // Add extra fields $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'user' AND entity IN (0,".$conf->entity.")"; @@ -282,13 +308,16 @@ class modUser extends DolibarrModules //$this->import_convertvalue_array[$r]=array('s.fk_soc'=>array('rule'=>'lastrowid',table='t'); $this->import_regex_array[$r]=array( 'u.employee'=>'^[0|1]', - 'u.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$' + 'u.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$', + 'u.dateemployment'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$', + 'u.birth'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$' ); $this->import_examplevalues_array[$r]=array( - 'u.lastname'=>"Doe",'u.firstname'=>'John','u.login'=>'jdoe','u.employee'=>'0 or 1','u.status'=>"0 (closed) or 1 (active)", + 'u.lastname'=>"Doe",'u.firstname'=>'John','u.login'=>'jdoe','u.employee'=>'0 or 1', 'u.fk_soc'=>'0 (internal user) or company name (external user)','u.datec'=>dol_print_date(dol_now(),'%Y-%m-%d'),'u.address'=>"61 jump street", 'u.zip'=>"123456",'u.town'=>"Big town",'u.fk_country'=>'US, FR, DE...','u.office_phone'=>"0101010101",'u.office_fax'=>"0101010102", - 'u.email'=>"test@mycompany.com",'u.salary'=>"10000",'u.note'=>"This is an example of note for record",'u.datec'=>"2015-01-01 or 2015-01-01 12:30:00" + 'u.email'=>"test@mycompany.com",'u.salary'=>"10000",'u.note'=>"This is an example of note for record",'u.datec'=>"2015-01-01 or 2015-01-01 12:30:00", + 'u.statut'=>"0 (closed) or 1 (active)", ); $this->import_updatekeys_array[$r]=array('u.lastname'=>'Lastname','u.firstname'=>'Firstname','u.login'=>'Login'); } diff --git a/htdocs/install/medias/background_computer_coffee.jpg b/htdocs/install/medias/background_computer_coffee.jpg deleted file mode 100644 index 0a4c8828a58..00000000000 Binary files a/htdocs/install/medias/background_computer_coffee.jpg and /dev/null differ diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang index d93d329ab23..ecb10fb1549 100644 --- a/htdocs/langs/en_US/members.lang +++ b/htdocs/langs/en_US/members.lang @@ -126,8 +126,8 @@ ThisIsContentOfYourMembershipWasValidated=We want to let you know that your memb ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

-DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the email received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Email received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 6aef75a5746..f8d4669b8e5 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -76,7 +76,7 @@ ListOfMenusEntries=List of menu entries ListOfPermissionsDefined=List of defined permissions SeeExamples=See examples here EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only. Using a negative value means field is not shown by default on list but can be selected for viewing) +VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only. Using a negative value means field is not shown by default on list but can be selected for viewing). It can be an expression, for example: preg_match('/public/', $_SERVER['PHP_SELF'])?0:1 IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang index 73e97174e4f..6a24a9a2f64 100644 --- a/htdocs/langs/fr_FR/members.lang +++ b/htdocs/langs/fr_FR/members.lang @@ -124,7 +124,7 @@ CardContent=Contenu de votre fiche adhérent ThisIsContentOfYourMembershipRequestWasReceived=Nous vous informons que votre demande d'adhésion a bien été reçue.

ThisIsContentOfYourMembershipWasValidated=Nous vous informons que votre adhésion a été validé avec les informations suivantes:

ThisIsContentOfYourSubscriptionWasRecorded=Nous vous informons que votre nouvelle cotisation a été enregistrée.

-ThisIsContentOfSubscriptionReminderEmail=Nous voulons vous informer que votre abonnement est sur le point d'expirer ou a déjà expiré (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Nous espérons que vous pourrez le renouveler, votre soutien nous ait précieux.

+ThisIsContentOfSubscriptionReminderEmail=Nous voulons vous informer que votre cotisation est sur le point d'expirer ou a déjà expiré (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Nous espérons que vous pourrez le renouveler, votre soutien nous ait précieux.

ThisIsContentOfYourCard=Ceci est un rappel des informations que nous avons vous concernant. N'hésitez pas à nous contacter en cas d'erreur.

DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Sujet de l'email reçu en cas d'auto-inscription d'un invité DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Email reçu en cas d'auto-inscription d'un invité diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index be09afd16d2..815a1cdbe4c 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -82,7 +82,7 @@ AttachANewFile=Ajouter un nouveau fichier/document LinkedObject=Objet lié NbOfActiveNotifications=Nombre de notifications (nb de destinataires emails) PredefinedMailTest=__(Hello)__,\nCeci est un mail de test envoyé à __EMAIL__.\nLes deux lignes sont séparées par un saut de ligne.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__\nCeci est un message de test (le mot test doit être en gras).
Les 2 lignes sont séparées par un retour à la ligne.

__SIGNATURE__ +PredefinedMailTestHtml=__(Hello)__
Ceci est un message de test (le mot test doit être en gras).
Les 2 lignes sont séparées par un retour à la ligne.

__SIGNATURE__ PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(Bonjour)__\n\nVeuillez trouver la facture ci-jointe __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(Bonjour)__\n\nNous tenons à vous avertir que la facture __REF__ ne semble pas avoir été payée. La facture est jointe, à titre de rappel.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ diff --git a/htdocs/theme/eldy/ckeditor/config.js b/htdocs/theme/eldy/ckeditor/config.js index 50ff0cc6eed..b52fd6f7e51 100644 --- a/htdocs/theme/eldy/ckeditor/config.js +++ b/htdocs/theme/eldy/ckeditor/config.js @@ -9,6 +9,8 @@ CKEDITOR.editorConfig = function( config ) // http://docs.cksource.com/CKEditor_3.x/Developers_Guide // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html config.enterMode = CKEDITOR.ENTER_BR; + //config.forceSimpleAmpersand = true; // When you put a into the textarea, and go into "source", then ckeditor change the & into &. We don't want this. But this option does not fix this. + //config.entities = false; // When you put a into the textarea, and go into "source", then ckeditor change the & into &. We don't want this. But this option does not fix this. config.resize_enabled = false; //config.resize_maxHeight = 3000; //config.resize_maxWidth = 3000;