dolibarr 25.0.0-alpha
FormMail Class Reference

Class to manage a HTML form to send a unitary email Usage: $formail = new FormMail($db) $formmail->proprietes=1 or string or array of values $formmail->show_form() show the form. More...

Inheritance diagram for FormMail:
Collaboration diagram for FormMail:

Public Member Functions

 __construct ($db)
 Constructor.
 
 clear_attached_files ()
 Clear list of attached files in send mail form (also stored in session)
 
 add_attached_files ($path, $file='', $type='')
 Add a file into the list of attached files (stored in SECTION array)
 
 remove_attached_files ($keytodelete)
 Remove a file from the list of attached files (stored in SECTION array)
 
 get_attached_files ()
 Return list of attached files (stored in SECTION array)
 
 show_form ($addfileaction='addfile', $removefileaction='removefile')
 Show the form to input an email this->withfile: 0=No attaches files, 1=Show attached files, 2=Can add new attached files this->withmaindocfile.
 
 get_form ($addfileaction='addfile', $removefileaction='removefile')
 Get the form to input an email this->withfile: 0=No attaches files, 1=Show attached files, 2=Can add new attached files this->param: Contains more parameters like email templates info this->withfckeditor: 1=We use an advanced editor, so we switch content into HTML.
 
 getHtmlForTo ()
 get html For To
 
 getHtmlForToNew ()
 get html For To, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForTo() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on)
 
 getHtmlForCc ()
 get html For CC
 
 getHtmlForCcNew ()
 get html For CC, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForCc() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on)
 
 getHtmlForWithCcc ()
 get html For WithCCC This information is show when MAIN_EMAIL_USECCC is set.
 
 getHtmlForWithCccNew ()
 get html For WithCCC, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForWithCcc() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on) This information is show when MAIN_EMAIL_USECCC is set.
 
 getHtmlForWithErrorsTo ()
 get Html For WithErrorsTo
 
 getHtmlForDeliveryreceipt ()
 get Html For Asking for Delivery Receipt
 
 getHtmlForTopic ($arraydefaultmessage, $helpforsubstitution)
 Return Html section for the Topic of message.
 
 getEmailLayoutSelector ($htmlContent='message', $showlinktolayout='email')
 Return HTML code for selection of email layout.
 
 getEMailTemplate ($dbs, $type_template, $user, $outputlangs, $id=0, $active=1, $label='', $defaultfortype=-1)
 Return templates of email with type = $type_template or type = 'all'.
 
 isEMailTemplate ($type_template, $user, $outputlangs)
 Find if template exists Search into table c_email_templates.
 
 fetchAllEMailTemplate ($type_template, $user, $outputlangs, $active=1)
 Find if template exists and are available for current user, then set them into $this->lines_model.
 
 setSubstitFromObject ($object, $outputlangs)
 Set ->substit (and ->substit_line) array from object.
 
- Public Member Functions inherited from Form
 getDurationTypes (Translate $langs, $plurial=true, $reverse=false)
 Return an array of Duration Types.
 
 editfieldkey ($text, $htmlname, $preselected, $object, $perm, $typeofdata='string', $moreparam='', $fieldrequired=0, $notabletag=0, $paramid='id', $help='')
 Output key field for an editable field.
 
 editfieldval ($text, $htmlname, $value, $object, $perm, $typeofdata='string', $editvalue='', $extObject=null, $custommsg=null, $moreparam='', $notabletag=1, $formatfunc='', $paramid='id', $gm='auto', $moreoptions=array(), $editaction='')
 Output value of a field for an editable field.
 
 widgetForTranslation ($fieldname, $object, $perm, $typeofdata='string', $check='', $morecss='')
 Output edit in place form.
 
 textwithtooltip ($text, $htmltext, $tooltipon=1, $direction=0, $img='', $extracss='', $notabs=3, $incbefore='', $noencodehtmltext=0, $tooltiptrigger='', $forcenowrap=0)
 Show a text and picto with tooltip on text or picto.
 
 textwithpicto ($text, $htmltooltip, $direction=1, $type='help', $extracss='valignmiddle', $noencodehtmltext=0, $notabs=3, $tooltiptrigger='', $forcenowrap=0)
 Show a text with a picto and a tooltip on picto.
 
 selectMassAction ($selected, $arrayofaction, $alwaysvisible=0, $name='massaction', $cssclass='checkforselect')
 Generate select HTML to choose massaction.
 
 selectPhoneCode ($selected='', $htmlname='phone_code', $morecss='maxwidth150', $showempty=0, $country_id_hint=0)
 Return a select list of country phone calling codes.
 
 showPhoneInput ($phoneValue, $htmlname, $country_id_hint=0, $picto='object_phoning', $morecss='maxwidth150', $maxlength=0, $countrySelectorId='selectcountry_id')
 Show a self-contained phone input: hidden field + country code dropdown + number text field + JS.
 
 select_incoterms ($selected='', $location_incoterms='', $page='', $htmlname='incoterm_id', $htmloption='', $forcecombo=1, $events=array(), $disableautocomplete=0)
 Return select list of incoterms.
 
 select_type_of_lines ($selected='', $htmlname='type', $showempty=0, $hidetext=0, $forceall=0, $morecss="", $useajaxcombo=1)
 Return list of types of lines (product or service) Example: 0=product, 1=service, 9=other (for external module)
 
 load_cache_types_fees ()
 Load into cache cache_types_fees, array of types of fees.
 
 select_type_fees ($selected='', $htmlname='type', $showempty=0, $morecss='', $nooutput=0, $noadmin=0)
 Return list of types of notes.
 
 select_company ($selected='', $htmlname='socid', $filter='', $showempty='', $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100', $moreparam='', $selected_input_value='', $hidelabel=1, $ajaxoptions=array(), $multiple=false, $excludeids=array(), $showcode=0)
 Output html form to select a third party This call select_thirdparty_list() or ajax depending on setup.
 
 select_contact ($socid, $selected='', $htmlname='contactid', $showempty=0, $exclude='', $limitto='', $showfunction=0, $morecss='', $nokeyifsocid=true, $showsoc=0, $forcecombo=0, $events=array(), $moreparam='', $htmlid='', $selected_input_value='', $filter='', $multiple=false)
 Output html form to select a contact This call select_contacts() or ajax depending on setup.
 
 select_thirdparty_list ($selected='', $htmlname='socid', $filter='', $showempty='', $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0, $morecss='minwidth100', $moreparam='', $multiple=false, $excludeids=array(), $showcode=0)
 Output html form to select a third party.
 
 selectcontacts ($socid, $selected=array(), $htmlname='contactid', $showempty=0, $exclude='', $limitto='', $showfunction=0, $morecss='', $options_only=0, $showsoc=0, $forcecombo=0, $events=array(), $moreparam='', $htmlid='', $multiple=false, $disableifempty=0, $filter='', $limit=0, $limitoffset=0)
 Return HTML code of the SELECT of list of all contacts (for a third party or all).
 
 select_remises ($selected, $htmlname, $filter, $socid, $maxvalue=0)
 Return HTML combo list of absolute discounts.
 
 select_users ($selected='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include='', $enableonly=array(), $force_entity='0')
 Return the HTML select list of users.
 
 select_dolusers ($userselected='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include='', $enableonly='', $force_entity='', $maxlength=0, $showstatus=0, $morefilter='', $showalso=0, $enableonlytext='', $morecss='', $notdisabled=0, $outputmode=0, $multiple=false, $forcecombo=0, $filterkey='', $limit=0, $limitoffset=0)
 Return select list of users.
 
 select_dolusers_forevent ($action='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include=array(), $enableonly=array(), $force_entity='0', $maxlength=0, $showstatus=0, $morefilter='', $showproperties=0, $listofuserid=array(), $listofcontactid=array(), $listofotherid=array(), $canremoveowner=1)
 Return select list of users.
 
 select_dolresources_forevent ($action='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include=array(), $enableonly=array(), $force_entity='0', $maxlength=0, $showstatus=0, $morefilter='', $showproperties=0, $listofresourceid=array())
 Return select list of resources.
 
 select_produits ($selected=0, $htmlname='productid', $filtertype='', $limit=0, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $hidepriceinlabel=0, $warehouseStatus='', $selected_combinations=null, $nooutput=0, $status_purchase=-1, $warehouseId=0)
 Return list of products.
 
 select_bom ($selected='', $htmlname='bom_id', $limit=0, $status=1, $type=0, $showempty='1', $morecss='', $nooutput='', $forcecombo=0, $TProducts=[])
 Return list of BOM for customer in Ajax if Ajax activated or go to select_produits_list.
 
 select_produits_list ($selected=0, $htmlname='productid', $filtertype='', $limit=1000, $price_level=0, $filterkey='', $status=1, $finished=2, $outputmode=0, $socid=0, $showempty='1', $forcecombo=0, $morecss='maxwidth500', $hidepriceinlabel=0, $warehouseStatus='', $status_purchase=-1, $warehouseId=0)
 Return list of products for a customer.
 
 select_produits_fournisseurs ($socid, $selected='', $htmlname='productid', $filtertype='', $notused='', $ajaxoptions=array(), $hidelabel=0, $alsoproductwithnosupplierprice=0, $morecss='', $placeholder='', $nooutput=0)
 Return list of products for customer (in Ajax if Ajax activated or go to select_produits_fournisseurs_list)
 
 select_produits_fournisseurs_list ($socid, $selected='', $htmlname='productid', $filtertype='', $notused='', $filterkey='', $statut=-1, $outputmode=0, $limit=100, $alsoproductwithnosupplierprice=0, $morecss='', $showstockinlist=0, $placeholder='')
 Return list of suppliers products.
 
 select_product_fourn_price ($productid, $htmlname='productfournpriceid', $selected_supplier=0)
 Return list of suppliers prices for a product.
 
 load_cache_conditions_paiements ()
 Load into cache list of payment terms.
 
 load_cache_rule_for_lines_dates ()
 Loads into a cache property the list of possible rules for line dates.
 
 load_cache_availability ()
 Load int a cache property the list of possible delivery delays.
 
 selectAvailabilityDelay ($selected='', $htmlname='availid', $filtertype='', $addempty=0, $morecss='', $noouput=0)
 Return the list of type of delay available.
 
 selectInputReason ($selected='', $htmlname='demandreasonid', $exclude='', $addempty=0, $morecss='', $notooltip=0)
 Return list of input reason (events that triggered an object creation, like after sending an emailing, making an advert, ...) List found into table c_input_reason loaded by loadCacheInputReason.
 
 load_cache_types_paiements ()
 Load into the cacha array all possible payment modes.
 
 select_conditions_paiements ($selected=0, $htmlname='condid', $filtertype=-1, $addempty=0, $noinfoadmin=0, $morecss='', $deposit_percent=-1, $noprint=0)
 print list of payment modes.
 
 getSelectConditionsPaiements ($selected=0, $htmlname='condid', $filtertype=-1, $addempty=0, $noinfoadmin=0, $morecss='', $deposit_percent=-1)
 Return list of payment modes.
 
 getSelectRuleForLinesDates ($selected='', $htmlname='rule_for_lines_dates', $addempty=0)
 Returns select with rule for lines dates.
 
 select_types_paiements ($selected='', $htmlname='paiementtype', $filtertype='', $format=0, $empty=1, $noadmininfo=0, $maxlength=0, $active=1, $morecss='', $nooutput=0)
 Return list of payment methods Constant MAIN_DEFAULT_PAYMENT_TYPE_ID can used to set default value but scope is all application, probably not what you want.
 
 selectPriceBaseType ($selected='', $htmlname='price_base_type', $addjscombo=0)
 Selection HT or TTC.
 
 load_cache_transport_mode ()
 
 selectTransportMode ($selected='', $htmlname='transportmode', $format=0, $empty=1, $noadmininfo=0, $maxlength=0, $active=1, $morecss='')
 Return list of transport mode for intracomm report.
 
 selectShippingMethod ($selected='', $htmlname='shipping_method_id', $filtre='', $useempty=0, $moreattrib='', $noinfoadmin=0, $morecss='')
 Return a HTML select list of shipping mode.
 
 formSelectShippingMethod ($page, $selected='', $htmlname='shipping_method_id', $addempty=0)
 Display form to select shipping mode.
 
 selectSituationInvoices ($selected='', $socid=0)
 Creates HTML last in cycle situation invoices selector.
 
 selectUnits ($selected='', $htmlname='units', $showempty=0, $unit_type='')
 Creates HTML units selector (code => label)
 
 select_comptes ($selected='', $htmlname='accountid', $status=0, $filtre='', $useempty=0, $moreattrib='', $showcurrency=0, $morecss='', $nooutput=0, $addentrynone=0)
 Return a HTML select list of bank accounts.
 
 selectRib ($selected='', $htmlname='ribcompanyid', $filtre='', $useempty=0, $moreattrib='', $showibanbic=0, $morecss='', $nooutput=0)
 Return a HTML select list of bank accounts customer.
 
 selectEstablishments ($selected='', $htmlname='entity', $status=0, $filtre='', $useempty=0, $moreattrib='')
 Return a HTML select list of establishment.
 
 formSelectAccount ($page, $selected='', $htmlname='fk_account', $addempty=0)
 Display form to select bank account.
 
 formRib ($page, $selected='', $htmlname='ribcompanyid', $filtre='', $addempty=0, $showibanbic=0)
 Display form to select bank customer account.
 
 selectCategories ($categtype, $htmlname, $object=null)
 Return HTML component to select a category.
 
 select_all_categories ($type, $selected='', $htmlname="parent", $maxlength=64, $fromid=0, $outputmode=0, $include=0, $morecss='', $useempty=1)
 Return list of categories having chosen type.
 
 getHelpBlock ($content, $icon='fa-question-circle')
 Generate a collapsible help block with a standard '?' icon.
 
 form_confirm ($page, $title, $question, $action, $formquestion=array(), $selectedchoice="", $useajax=0, $height=170, $width=500)
 
 formconfirm ($page, $title, $question, $action, $formquestion='', $selectedchoice='', $useajax=0, $height=0, $width=600, $disableformtag=0, $labelbuttonyes='Yes', $labelbuttonno='No', $helpContent='')
 Show a confirmation HTML form or AJAX popup.
 
 form_project ($page, $socid, $selected='', $htmlname='projectid', $discard_closed=0, $maxlength=20, $forcefocus=0, $nooutput=0, $textifnoproject='', $morecss='', $option='')
 Show a form to select a project.
 
 form_conditions_reglement ($page, $selected='', $htmlname='cond_reglement_id', $addempty=0, $type='', $filtertype=-1, $deposit_percent=-1, $nooutput=0)
 Show a form to select payment conditions.
 
 form_rule_for_lines_dates ($page, $selected='', $htmlname='rule_for_lines_dates', $addempty=0, $nooutput=0)
 Form select for rule for lines dates.
 
 form_availability ($page, $selected='', $htmlname='availability', $addempty=0)
 Show a form to select a delivery delay.
 
 formInputReason ($page, $selected='', $htmlname='demandreason', $addempty=0, $morecss='')
 Output HTML form to select list of input reason (events that triggered an object creation, like after sending an emailing, making an advert, ...) List found into table c_input_reason loaded by loadCacheInputReason.
 
 form_date ($page, $selected, $htmlname, $displayhour=0, $displaymin=0, $nooutput=0, $type='')
 Show a form + html select a date.
 
 form_users ($page, $selected='', $htmlname='userid', $exclude=array(), $include=array())
 Show a select form to choose a user.
 
 form_modes_reglement ($page, $selected='', $htmlname='mode_reglement_id', $filtertype='', $active=1, $addempty=0, $type='', $nooutput=0, $short=0)
 Show form with payment mode.
 
 formSelectTransportMode ($page, $selected='', $htmlname='transport_mode_id', $active=1, $addempty=0)
 Show form with transport mode.
 
 form_multicurrency_code ($page, $selected='', $htmlname='multicurrency_code')
 Show form with multicurrency code.
 
 form_multicurrency_rate ($page, $rate=0.0, $htmlname='multicurrency_tx', $currency='', $rate_direct=0.0)
 Show form with multicurrency rate.
 
 form_remise_dispo ($page, $selected, $htmlname, $socid, $amount, $filter='', $maxvalue=0, $more='', $hidelist=0, $discount_type=0, $filterabsolutediscount=0, $filtercreditnote=0)
 Show a select box with available absolute discounts.
 
 form_contacts ($page, $societe, $selected='', $htmlname='contactid')
 Show forms to select a contact.
 
 form_thirdparty ($page, $selected='', $htmlname='socid', $filter='', $showempty=0, $showtype=0, $forcecombo=0, $events=array(), $nooutput=0, $excludeids=array(), $textifnothirdparty='')
 Output html select to select thirdparty.
 
 select_currency ($selected='', $htmlname='currency_id')
 Returns the list of currencies in the user's language.
 
 selectCurrency ($selected='', $htmlname='currency_id', $mode=0, $useempty='')
 Returns the list of currencies in the user's language.
 
 selectMultiCurrency ($selected='', $htmlname='multicurrency_code', $useempty=0, $filter='', $excludeConfCurrency=false, $morecss='maxwidth200 widthcentpercentminusx')
 Return array of currencies in user language.
 
 load_cache_vatrates ($country_code)
 Load into the cache ->cache_vatrates, all the vat rates of a country.
 
 load_tva ($htmlname='tauxtva', $selectedrate='', $societe_vendeuse=null, $societe_acheteuse=null, $idprod=0, $info_bits=0, $type='', $options_only=false, $mode=0, $type_vat=0)
 Output an HTML select vat rate.
 
 select_date ($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowlink=0, $nooutput=0, $disabled=0, $fullday=0, $addplusone='', $adddateof='')
 Show a HTML widget to input a date or combo list for day, month, years and optionally hours and minutes.
 
 selectDateToDate ($set_time='', $set_time_end='', $prefix='re', $empty=0, $forcenewline=0)
 Show 2 HTML widget to input a date or combo list for day, month, years and optionally hours and minutes.
 
 selectDate ($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowlink=0, $disabled=0, $fullday='', $addplusone='', $adddateof='', $openinghours='', $stepminutes=1, $labeladddateof='', $placeholder='', $gm='auto', $calendarpicto='')
 Show a HTML widget to input a date or combo list for day, month, years and optionally hours and minutes.
 
 selectTypeDuration ($prefix, $selected='i', $excludetypes=array(), $morecss='minwidth75 maxwidth100')
 selectTypeDuration
 
 select_duration ($prefix, $iSecond='', $disabled=0, $typehour='select', $minunderhours=0, $nooutput=0)
 Function to show a form to select a duration on a page.
 
 selectTickets ($selected='', $htmlname='ticketid', $filtertype='', $limit=0, $status=1, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $selected_combinations=null, $nooutput=0)
 Return list of tickets in Ajax if Ajax activated or go to selectTicketsList.
 
 selectTicketsList ($selected='', $htmlname='ticketid', $filtertype='', $limit=20, $filterkey='', $status=1, $outputmode=0, $showempty='1', $forcecombo=0, $morecss='')
 Return list of tickets.
 
 selectProjects ($selected='', $htmlname='projectid', $filtertype='', $limit=0, $status=1, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $selected_combinations=null, $nooutput=0)
 Return list of projects in Ajax if Ajax activated or go to selectTicketsList.
 
 selectProjectsList ($selected='', $htmlname='projectid', $filtertype='', $limit=20, $filterkey='', $status=1, $outputmode=0, $showempty='1', $forcecombo=0, $morecss='')
 Return list of projects.
 
 selectMembers ($selected='', $htmlname='adherentid', $filtertype='', $limit=0, $status=1, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $selected_combinations=null, $nooutput=0, $excludeids=array())
 Return list of members in Ajax if Ajax activated or go to selectTicketsList.
 
 selectMembersList ($selected='', $htmlname='adherentid', $filtertype='', $limit=20, $filterkey='', $status=1, $outputmode=0, $showempty='1', $forcecombo=0, $morecss='', $excludeids=array())
 Return list of adherents.
 
 selectForFormsList ($objecttmp, $htmlname, $preselectedvalue, $showempty='', $searchkey='', $placeholder='', $morecss='', $moreparams='', $forcecombo=0, $outputmode=0, $disabled=0, $sortfield='', $filter='', $sortorder='ASC')
 Output html form to select an object.
 
 showCategories ($id, $type, $rendermode=0, $nolink=0)
 Render list of categories linked to object with id $id and type $type.
 
 showLinkedObjectBlock ($object, $morehtmlright='', $compatibleImportElementsList=array(), $title='RelatedObjects')
 Show linked object block.
 
 showLinkToObjectBlock ($object, $restrictlinksto=array(), $excludelinksto=array(), $nooutput=0)
 Show block with links "to link to" other objects.
 
 selectyesno ($htmlname, $value='', $option=0, $disabled=false, $useempty=0, $addjscombo=0, $morecss='yesno width75', $labelyes='Yes', $labelno='No')
 Return an html string with a select combo box to choose yes or no.
 
 select_export_model ($selected='', $htmlname='exportmodelid', $type='', $useempty=0)
 Return list of export templates.
 
 showrefnav ($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $morehtmlright='')
 Return a HTML area with the reference of object and a navigation bar for a business object Note: To complete search with a particular filter on select, you can set $object->next_prev_filter set to define SQL criteria.
 
 showbarcode (&$object, $width=100, $morecss='')
 Return HTML code to output a barcode.
 
 select_dolgroups ($selected=0, $htmlname='groupid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly=array(), $force_entity='0', $multiple=false, $morecss='minwidth200')
 Return select list of user groups.
 
 showFilterButtons ($pos='')
 Return HTML to show the search and clear search button.
 
 showCheckAddButtons ($cssclass='checkforaction', $calljsfunction=0, $massactionname="massaction")
 Return HTML to show the search and clear search button.
 
 showFilterAndCheckAddButtons ($addcheckuncheckall=0, $cssclass='checkforaction', $calljsfunction=0, $massactionname="massaction")
 Return HTML to show the search and clear search button.
 
 selectExpenseCategories ($selected='', $htmlname='fk_c_exp_tax_cat', $useempty=0, $excludeid=array(), $target='', $default_selected=0, $params=array(), $info_admin=1)
 Return HTML to show the select of expense categories.
 
 selectExpenseRanges ($selected='', $htmlname='fk_range', $useempty=0)
 Return HTML to show the select ranges of expense range.
 
 selectExpenseFees ($selected='', $htmlname='fk_c_type_fees', $useempty=0, $allchoice=1, $useid=0)
 Return HTML to show a select of expense.
 
 selectInvoiceForTimeProject ($socid=-1, $selected='', $htmlname='invoiceid', $maxlength=24, $option_only=0, $show_empty='1', $discard_closed=0, $forcefocus=0, $disabled=0, $morecss='maxwidth500', $projectsListId='', $showproject='all', $usertofilter=null)
 Output a combo list with invoices for a project.
 
 selectInvoiceRec ($selected='', $htmlname='facrecid', $maxlength=24, $option_only=0, $show_empty='1', $forcefocus=0, $disabled=0, $morecss='maxwidth500')
 Output a combo list with invoices qualified for a third party TODO Bad method.
 
 searchComponent ($arrayofcriterias, $search_component_params, $arrayofinputfieldsalreadyoutput=array(), $search_component_params_hidden='', $arrayoffiltercriterias=array())
 Output the component to make advanced search criteria.
 
 selectModelMail ($prefix, $modelType='', $default=0, $addjscombo=0, $selected=0, $morecss='')
 selectModelMail
 
 buttonsSaveCancel ($save_label='Save', $cancel_label='Cancel', $morebuttons=array(), $withoutdiv=false, $morecss='', $dol_openinpopup='')
 Output the buttons to submit a creation/edit form.
 
 load_cache_invoice_subtype ()
 Load into cache list of invoice subtypes.
 
 getSelectInvoiceSubtype ($selected=0, $htmlname='subtypeid', $addempty=0, $noinfoadmin=0, $morecss='')
 Return list of invoice subtypes.
 
 getSearchFilterToolInput ($dataTarget, $htmlName='search-tools-input', $value='', $params=[])
 
 inputType ($type, $name, $value='', $id='', $morecss='', $moreparam='', $label='', $addInputLabel='')
 Html for input with label.
 
 inputSelectAjax ($htmlName, $array, $id, $ajaxUrl, $ajaxData=[], $morecss='minwidth75', $moreparam='')
 Html for select with get options by AJAX.
 
 inputHtml ($htmlName, $value, $morecss='', $moreparam='')
 Html for HTML area.
 
 inputText ($htmlName, $value, $morecss='', $moreparam='', $options=array())
 Html for HTML area.
 
 inputRadio ($htmlName, $options, $selectedValue, $morecss='', $moreparam='')
 Html for input radio.
 
 inputStars ($htmlName, $size, $value, $morecss='', $moreparam='')
 Html for input stars.
 
 inputIcon ($htmlName, $value, $morecss='', $moreparam='')
 Html for input icon.
 
 inputGeoPoint ($htmlName, $value, $type='')
 Html for input geo point.
 
 outputMultiValues ($values)
 Html for show selected multiple values.
 
 outputStars ($size, $value)
 Html for show stars.
 
 outputIcon ($value)
 Html for show icon.
 
 outputGeoPoint ($value, $type)
 Html for show geo point.
 
 getNomUrl (&$object, $withpicto=0, $option='', $maxlength=0, $save_lastsearch_value=-1, $notooltip=0, $morecss='', $add_label=0, $sep=' - ')
 Return link of object.
 

Static Public Member Functions

static getAvailableSubstitKey ($mode='formemail', $object=null)
 Get list of substitution keys available for emails.
 
- Static Public Member Functions inherited from Form
static isUserComboMorefilterAllowed ($morefilter)
 Tell whether a $morefilter value is allowed to be forwarded to the user/ajax/users.php endpoint.
 
static radio ($htmlName, $radioItems, $selected='', $moreGlobalParams=[])
 Generates a set of HTML radio inputs from an array of key-value items.
 
static selectarray ($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='minwidth75', $addjscombo=1, $moreparamonempty='', $disablebademail=0, $nohtmlescape=0)
 Return a HTML select string, built from an array of key+value.
 
static selectArrayAjax ($htmlname, $url, $id='', $moreparam='', $moreparamtourl='', $disabled=0, $minimumInputLength=1, $morecss='', $callurlonselect=0, $placeholder='', $acceptdelayedhtml=0)
 Return a HTML select string, built from an array of key+value, but content returned into select come from an Ajax call of an URL.
 
static selectArrayFilter ($htmlname, $array, $id='', $moreparam='', $disableFiltering=0, $disabled=0, $minimumInputLength=1, $morecss='', $callurlonselect=0, $placeholder='', $acceptdelayedhtml=0, $textfortitle='')
 Return a HTML select string, built from an array of key+value, but content returned into select is defined into $array parameter.
 
static multiselectarray ($htmlname, $array, $selected=array(), $key_in_label=0, $value_as_key=0, $morecss='', $translate=0, $width=0, $moreattrib='', $nu='', $placeholder='', $addjscombo=-1)
 Show a multiselect form from an array.
 
static multiSelectArrayWithCheckbox ($htmlname, &$array, $varpage, $pos='', $draganddrop=0)
 Show a multiselect dropbox from an array.
 
static showphoto ($modulepart, $object, $width=100, $height=0, $caneditfield=0, $cssclass='photowithmargin', $imagesize='', $addlinktofullsize=1, $cache=0, $forcecapture='', $noexternsourceoverwrite=0, $usesharelinkifavailable=0)
 Return HTML code to output a photo.
 

Private Member Functions

 getHtmlForFreetagRecipient ($htmlname, array $sourcearray, array $selected)
 Build a select2 combo that accepts the existing thirdparty/contact/free entries of $sourcearray and also lets the user create a new entry by typing a "Name <email>" or bare "email" value (select2 "tags" mode).
 

Static Private Member Functions

static normalizeTextForComparison ($value)
 Normalize a text for equality checks.
 
static getLangPrefix ($langcode)
 Return language prefix from a language code.
 
static getBestProductTranslation ($multilangs, $langcode)
 Pick best translated label/description from product multilangs.
 

Additional Inherited Members

- Protected Member Functions inherited from Form
 editInPlace ($object, $value, $htmlname, $condition, $inputType='textarea', $editvalue=null, $extObject=null, $custommsg=null)
 Output edit in place form.
 
 constructProductListOption (&$objp, &$opt, &$optJson, $price_level, $selected, $hidepriceinlabel=0, $filterkey='', $novirtualstock=0)
 Function to forge the string with OPTIONs of SELECT.
 
 constructTicketListOption (&$objp, &$opt, &$optJson, $selected, $filterkey='')
 constructTicketListOption.
 
 constructProjectListOption (&$objp, &$opt, &$optJson, $selected, $filterkey='')
 constructProjectListOption.
 
 constructMemberListOption (&$objp, &$opt, &$optJson, $selected, $filterkey='')
 constructMemberListOption.
 

Detailed Description

Class to manage a HTML form to send a unitary email Usage: $formail = new FormMail($db) $formmail->proprietes=1 or string or array of values $formmail->show_form() show the form.

Definition at line 44 of file html.formmail.class.php.

Constructor & Destructor Documentation

◆ __construct()

FormMail::__construct ( $db)

Constructor.

Parameters
DoliDB$dbDatabase handler

Reimplemented from Form.

Definition at line 286 of file html.formmail.class.php.

Member Function Documentation

◆ add_attached_files()

FormMail::add_attached_files ( $path,
$file = '',
$type = '' )

Add a file into the list of attached files (stored in SECTION array)

Parameters
string$pathFull absolute path on filesystem of file, including file name
string$fileOnly filename (can be basename($path))
string$typeMime type (can be dol_mimetype($file))
Returns
void

Definition at line 350 of file html.formmail.class.php.

References dol_mimetype().

Referenced by get_form().

◆ clear_attached_files()

FormMail::clear_attached_files ( )

Clear list of attached files in send mail form (also stored in session)

Returns
void

Definition at line 322 of file html.formmail.class.php.

References $conf, and dol_delete_dir_recursive().

Referenced by get_form().

◆ fetchAllEMailTemplate()

FormMail::fetchAllEMailTemplate ( $type_template,
$user,
$outputlangs,
$active = 1 )

Find if template exists and are available for current user, then set them into $this->lines_model.

Search in table c_email_templates

Parameters
string$type_templateGet message for key module
User$userUse template public or limited to this user
?Translate$outputlangsOutput lang object
int<-1,1>$active 1=Only active template, 0=Only disabled, -1=All
Returns
int<-1,max> Return integer <0 if KO, nb of records found if OK

Definition at line 2223 of file html.formmail.class.php.

Referenced by get_form().

◆ get_attached_files()

FormMail::get_attached_files ( )

Return list of attached files (stored in SECTION array)

Returns
array{paths:string[],names:string[],mimes:string[]}

Definition at line 425 of file html.formmail.class.php.

◆ get_form()

FormMail::get_form ( $addfileaction = 'addfile',
$removefileaction = 'removefile' )

Get the form to input an email this->withfile: 0=No attaches files, 1=Show attached files, 2=Can add new attached files this->param: Contains more parameters like email templates info this->withfckeditor: 1=We use an advanced editor, so we switch content into HTML.

Parameters
string$addfileactionName of action when posting file attachments
string$removefileactionName of action when removing file attachments
Returns
string Form to show

Definition at line 473 of file html.formmail.class.php.

References $conf, add_attached_files(), button, clear_attached_files(), dol_escape_htmltag(), dol_htmlentities(), dol_nl2br(), dol_string_nohtmltag(), dol_textishtml(), dolGetFirstLineOfText(), fetchAllEMailTemplate(), getDolGlobalBool(), getDolGlobalInt(), getDolGlobalString(), getEMailTemplate(), getEntity(), getHtmlForCc(), getHtmlForCcNew(), getHtmlForDeliveryreceipt(), getHtmlForTo(), getHtmlForToNew(), getHtmlForTopic(), getHtmlForWithCcc(), getHtmlForWithCccNew(), getHtmlForWithErrorsTo(), getMaxFileSizeArray(), GETPOST(), GETPOSTINT(), GETPOSTISSET(), img_mime(), info_admin(), isModEnabled(), make_substitutions(), picto_from_langcode(), and Form\selectarray().

Referenced by show_form().

◆ getAvailableSubstitKey()

static FormMail::getAvailableSubstitKey ( $mode = 'formemail',
$object = null )
static

Get list of substitution keys available for emails.

This is used for tooltips help. This include the complete_substitutions_array.

Parameters
string$mode'formemail', 'formemailwithlines', 'formemailforlines', 'emailing', ...
?Object$objectObject if applicable
Returns
array<string,string> Array of substitution values for emails.

Definition at line 2442 of file html.formmail.class.php.

◆ getBestProductTranslation()

static FormMail::getBestProductTranslation ( $multilangs,
$langcode )
staticprivate

Pick best translated label/description from product multilangs.

Parameters
array<string,array{label?:string,description?:string,note?:string,other?:string}>|null$multilangs Product multilang rows indexed by language code.
string$langcodePreferred language code.
Returns
array{label:string,description:string}

Definition at line 2309 of file html.formmail.class.php.

◆ getEmailLayoutSelector()

FormMail::getEmailLayoutSelector ( $htmlContent = 'message',
$showlinktolayout = 'email' )

Return HTML code for selection of email layout.

Parameters
string$htmlContentHTML name of WYSIWYG field to fill once layout has been chosen
string$showlinktolayoutShow link to layout
Returns
string HTML for model email boxes
See also
getContentPageTemplate()

Definition at line 1799 of file html.formmail.class.php.

◆ getEMailTemplate()

FormMail::getEMailTemplate ( $dbs,
$type_template,
$user,
$outputlangs,
$id = 0,
$active = 1,
$label = '',
$defaultfortype = -1 )

Return templates of email with type = $type_template or type = 'all'.

This search into table c_email_templates. Used by the get_form function.

Parameters
DoliDB$dbsDatabase handler
string$type_templateGet message for model/type=$type_template, type='all' also included.
User$userGet templates public + limited to this user
Translate$outputlangsOutput lang object
int$idId of template to get, or -1 for first found with position 0, or 0 for first found whatever is position (priority order depends on lang provided or not) or -2 for exact match with label (no answer if not found)
int$active1=Only active template, 0=Only disabled, -1=All
string$labelLabel of template to get
int$defaultfortype1=Only default templates, 0=Only not default, -1=All
Returns
ModelMail|CEmailTemplate|int<-1,-1> One instance of CEmailTemplate or < 0 if error

Definition at line 2039 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForCc()

FormMail::getHtmlForCc ( )

get html For CC

Returns
string html

Definition at line 1460 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForCcNew()

FormMail::getHtmlForCcNew ( )

get html For CC, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForCc() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on)

Returns
string html

Definition at line 1509 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForDeliveryreceipt()

FormMail::getHtmlForDeliveryreceipt ( )

get Html For Asking for Delivery Receipt

Returns
string html

Definition at line 1711 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForFreetagRecipient()

FormMail::getHtmlForFreetagRecipient ( $htmlname,
array $sourcearray,
array $selected )
private

Build a select2 combo that accepts the existing thirdparty/contact/free entries of $sourcearray and also lets the user create a new entry by typing a "Name <email>" or bare "email" value (select2 "tags" mode).

Used by the *New() variants of getHtmlForTo()/getHtmlForCc()/ getHtmlForWithCcc() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on.

Unlike multiselectarray()'s own generic script (skipped here via $addjscombo=0), this select2 instance is not shared with other combos on the page: it needs its own tags/createTag options, so it is initialized by its own dedicated <script>, and multiselectarray() itself is never modified by this feature.

Parameters
string$htmlnameName of the html field, also used as the <select> id
array<int|string,string|array<string,mixed>>$sourcearray Same shape as $this->withto/withtocc/withtoccc: key=>label or key=>array('id'=>,'label'=>)
string[]$selectedArray of preselected keys
Returns
string Html of the <select multiple> plus its dedicated select2 init script

Definition at line 1248 of file html.formmail.class.php.

◆ getHtmlForTo()

FormMail::getHtmlForTo ( )

get html For To

Returns
string html

Definition at line 1312 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForToNew()

FormMail::getHtmlForToNew ( )

get html For To, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForTo() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on)

Returns
string html

Definition at line 1397 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForTopic()

FormMail::getHtmlForTopic ( $arraydefaultmessage,
$helpforsubstitution )

Return Html section for the Topic of message.

Parameters
CEmailTemplate$arraydefaultmessageArray with message template content
string$helpforsubstitutionHelp string for substitution
Returns
string Text for topic

Definition at line 1750 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForWithCcc()

FormMail::getHtmlForWithCcc ( )

get html For WithCCC This information is show when MAIN_EMAIL_USECCC is set.

Returns
string html

Definition at line 1542 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForWithCccNew()

FormMail::getHtmlForWithCccNew ( )

get html For WithCCC, using a single select2 combo that also accepts free-typed "Name <email>" tags (used instead of getHtmlForWithCcc() when MAIL_ENABLE_FREETAG_RECIPIENT_INPUT is on) This information is show when MAIN_EMAIL_USECCC is set.

Returns
string html

Definition at line 1624 of file html.formmail.class.php.

Referenced by get_form().

◆ getHtmlForWithErrorsTo()

FormMail::getHtmlForWithErrorsTo ( )

get Html For WithErrorsTo

Returns
string html

Definition at line 1687 of file html.formmail.class.php.

Referenced by get_form().

◆ getLangPrefix()

static FormMail::getLangPrefix ( $langcode)
staticprivate

Return language prefix from a language code.

Parameters
string$langcodeFull language code (for example fr_FR).
Returns
string

Definition at line 2290 of file html.formmail.class.php.

◆ isEMailTemplate()

FormMail::isEMailTemplate ( $type_template,
$user,
$outputlangs )

Find if template exists Search into table c_email_templates.

Parameters
string$type_templateGet message for key module
User$userUse template public or limited to this user
Translate$outputlangsOutput lang object
Returns
int Return integer <0 if KO,

Definition at line 2189 of file html.formmail.class.php.

◆ normalizeTextForComparison()

static FormMail::normalizeTextForComparison ( $value)
staticprivate

Normalize a text for equality checks.

Parameters
string$valueRaw text to normalize.
Returns
string

Definition at line 2278 of file html.formmail.class.php.

◆ remove_attached_files()

FormMail::remove_attached_files ( $keytodelete)

Remove a file from the list of attached files (stored in SECTION array)

Parameters
int$keytodeleteKey index in file array (0, 1, 2, ...)
Returns
void

Definition at line 391 of file html.formmail.class.php.

◆ setSubstitFromObject()

FormMail::setSubstitFromObject ( $object,
$outputlangs )

Set ->substit (and ->substit_line) array from object.

This is call when suggesting the email template into forms before sending email.

Parameters
CommonObject$objectObject to use
Translate$outputlangsObject lang
Returns
void
See also
getCommonSubstitutionArray()

Definition at line 2359 of file html.formmail.class.php.

◆ show_form()

FormMail::show_form ( $addfileaction = 'addfile',
$removefileaction = 'removefile' )

Show the form to input an email this->withfile: 0=No attaches files, 1=Show attached files, 2=Can add new attached files this->withmaindocfile.

Parameters
string$addfileactionName of action when posting file attachments
string$removefileactionName of action when removing file attachments
Returns
void
Deprecated

Definition at line 456 of file html.formmail.class.php.

References get_form().


The documentation for this class was generated from the following file: