diff --git a/dev/tools/codespell/codespell-ignore.txt b/dev/tools/codespell/codespell-ignore.txt
index 92155095f18..c71e990a467 100644
--- a/dev/tools/codespell/codespell-ignore.txt
+++ b/dev/tools/codespell/codespell-ignore.txt
@@ -5,69 +5,39 @@ provid
# PostgreSQL
postgresql
-alltime
+# Inside email
ba
blacklist
-whitelist
bu
-captial
categorie
categories
-crypted
clos
-contaxt
-courant
-datea
-datee
+crypted
errorstring
exten
falsy
master
medias
-noe
-NOO
-noo
-od
-nd
-udate
-periode
projet
-referer
-referers
-scrit
-ser
+ro
slave
-savvy
-# Inside email
-suport
te
technic
thead
-udo
ue
-ro
+whitelist
ws
# Code string
ect
tempdate
-# checkES
-checkes
sav
files'
-# Used as array ke
+# Used as array key
seeked
-# Used as translation key
-developpers
-# Used as var
-pice
# Used as key
marge
-# htdocs/projet/activity/permonth.php
-tweek
# moral (var name)
mor
-# reyear, remonth, reday
-reday
# Strings used as keys for translation
uptodate
reenable
@@ -87,5 +57,3 @@ dur
fonction
espace
methode
-# Proper names
-tim
diff --git a/dev/tools/codespell/codespell-lines-ignore.txt b/dev/tools/codespell/codespell-lines-ignore.txt
index b07708eadbd..fe48e3de2e9 100644
--- a/dev/tools/codespell/codespell-lines-ignore.txt
+++ b/dev/tools/codespell/codespell-lines-ignore.txt
@@ -1,2606 +1,331 @@
- 'capture' => true, // Charge immediatly
- // Save a stripe payment was done in realy life so later we will be able to force a commit on recorded payments
- $pdf->SetFont('', '', $default_font_size - 1); // On repositionne la police par defaut
- // Conversion du PDF en image png si fichier png non existant
- // Save a stripe payment was done in realy life so later we will be able to force a commit on recorded payments
- // To make a Stripe SEPA payment request, we must have the payment mode source already saved into societe_rib and retreived with ->sepaStripe
- // If old value crypted in database is same than submited new value, it means we don't change it, so we don't update.
- //break; // No break for sortfield and sortorder so we can cumulate fields (is it realy usefull ?)
- $errmsg = 'Failed to retreive paymentintent or charge from id';
- $minifile = getImageFileNameForSize($fileinfo['basename'], '_mini'); // For new thumbs using same ext (in lower case howerver) than original
- $more .= '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
'; // Button include dynamic contant
- return $this->trigger(9, "an unexpected error occured");
- } // don't wast resourses if we don't need them...
- } elseif ($links[$key]['type'] == 'banktransfert') { // transfert between 1 local account and another local account
- * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...).
- * @param array $menu_array_before Table of menu entries to show before entries of menu handler. This param is deprectaed and must be provided to ''.
- * @param string $head Optionnal head lines
- * Ouput html header of a page. It calls also top_httphead()
- $action = ''; // Do not show form post if there was at least one successfull sent
+ print '
';
$action = 'transfert';
- $alreadyfound = array($id=>1); // We init array of found object to start of tree, so if we found it later (should not happened), we stop immediatly
- $api_key = $_SERVER['HTTP_DOLAPIKEY']; // With header method (recommanded)
- $attachs = $_SESSION['listofnames-'.$object->trackid];
- $buyingprice = price2num(GETPOST('buying_price'.$predef) != '' ? GETPOST('buying_price'.$predef) : ''); // If buying_price is '0', we muste keep this value
- $canconvert = 1; // we can convert credit note into discount if credit note is not payed back and not already converted and amount of payment is 0 (see real condition into condition used to show button converttoreduc)
- $canconvert = 1; // we can convert deposit into discount if deposit is payed (completely, partially or not at all) and not already converted (see real condition into condition used to show button converttoreduc)
- $childs = array();
- $childs[] = array_combine($keys, $values);
- $curent = !empty($conf->global->{$thisTypeConfName}) ? $conf->global->{$thisTypeConfName}:$conf->global->FACTURE_ADDON_PDF;
+ $date_com = dol_mktime(GETPOST('rehour', 'int'), GETPOST('remin', 'int'), GETPOST('resec', 'int'), GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
+ $date_next_execution = (GETPOST('remonth') ? dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')) : -1);
+ $date_next_execution = dol_mktime($rehour, $remin, 0, $remonth, $reday, $reyear);
+ $datee = dol_get_last_day(GETPOST('yeartoexport', 'int'), GETPOST('monthtoexport', 'int') ? GETPOST('monthtoexport', 'int') : 12);
+ $datesubscription = dol_mktime(12, 0, 0, GETPOST("remonth", 'int'), GETPOST("reday", "int"), GETPOST("reyear", "int"));
$ensemblereponses = $obj->reponses;
- $event->datep = dol_mktime(0, 0, 0, $datearray['mon'], $datearray['mday'], $year, true); // For full day events, date are also GMT but they wont but converted during output
- $ext = 'version='.GETPOST('version', 'int'); // usefull to force no cache on css/js
- $filles = array();
- $filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
- $filterabsolutediscount = "fk_invoice_supplier_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
- $filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
- $filtercreditnote = "fk_invoice_supplier_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
- $invoicestatic->statut = $obj->fk_statut; // For backward comaptibility
- $jsListType .= (!empty($jsListType) ? ',' : '').'"'.$type.'":"'.$curent.'"';
- $level = 0; // if $level = -1, we dont' use sublevel recursion, we show all lines
- $line->pa_ht = $line->pa_ht; // we choosed to have buy/cost price always positive, so no revert of sign here
- $msgishtml = -1; // Unknow = autodetect by default
- $msgishtml = -1; // Unknow by default
- $paht_ret = $paht;
- $paramfortooltipimg = ($extracss ? ' class="' . $extracss . '"' : '') . ($extrastyle ? ' style="' . $extrastyle . '"' : ''); // Attribut to put on td text tag
- $paramfortooltipimg = ($extracss ? ' class="'.$extracss.'"' : '').($extrastyle ? ' style="'.$extrastyle.'"' : ''); // Attribut to put on td text tag
- $paramfortooltiptd = ($extracss ? ' class="' . $extracss . '"' : '') . ($extrastyle ? ' style="' . $extrastyle . '"' : ''); // Attribut to put on td text tag
- $paramfortooltiptd = ($extracss ? ' class="'.$extracss.'"' : '').($extrastyle ? ' style="'.$extrastyle.'"' : ''); // Attribut to put on td text tag
- $pdf->MultiCell($this->posxdiscount - $this->posxunit, 2, $outputlangs->transnoentities("Label Mouvement"), '', 'C');
- $pdf->MultiCell(190, 5, $outputlangs->transnoentities("Informations"), '', 'L');*/
- $pdf->SetXY($this->getColumnContentXStart($colKey), $curY); // Set curent position
- $result -= $amountToBreakdown; // And canceled substraction has been replaced by breakdown
- $result = $ldap->add($dn, $info, $user); // Wil fail if already exists
- $result = $line->insert(0, 1); // When creating credit note with same lines than source, we must ignore error if discount alreayd linked
- $serie[$i] = "";
- $serie[$i] = "var d" . $i . " = [];\n";
- $showfield = 1; // By defaut
- $sql .= " AND f.fk_statut = 2"; // payed Not that some corrupted data may contains f.fk_statut = 1 AND f.paye = 1 (it means payed too but should not happend. If yes, reopen and reclassify billed)
- $sql .= " AND f.fk_statut = 3"; // abandonned
- $sql .= " WHERE c.entity IN (".getEntity('commande').")"; // Dont't use entity if you use rowid
- $sql .= " WHERE fk_facture_source = ".((int) $this->fk_facture_source); // Delete all lines of same serie
- $sql .= " WHERE fk_invoice_supplier_source = ".((int) $this->fk_invoice_supplier_source); // Delete all lines of same serie
- $sql .= " WHERE p.entity IN (0,".getEntity('partnership').")"; // Dont't use entity if you use rowid
- $sql .= '(SELECT MAX(fs.rowid)'; // This select returns several ID becasue of the group by later
- $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'opensurvey_user_studs (nom, id_sondage, reponses)';
+ $object->datee = $datee;
+ $object->periode = $dateperiod;
+ $return .= ' '.$langs->trans("Payement").' : '.$this->type_payment.'';
+ $sortfield = "datea";
+ $sql .= " '".$db->escape($conf->currency)."' as currency, 0 as fk_soc, t.date_ech as date, t.periode as date_due, 'SocialContributions' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum, ".PAY_DEBIT." as sens";
+ $sql .= " , datee = ".(!empty($obj->datee) ? "'".$this->db->escape($obj->datee)."'" : "null");
+ $sql .= " AND (".$datefieldname." <= '".$this->db->idate($datee)."' OR ".$datefieldname." IS NULL)";
+ $sql .= " AND (p.datee IS NULL OR p.datee >= ".$db->idate(dol_get_first_day($project_year_filter, 1, false)).")";
+ $sql .= " AND date_creation BETWEEN '".$db->idate($dates)."' AND '".$db->idate($datee)."'";
+ $sql .= " AND er.datee >= '".$this->db->idate($date)."'";
+ $sql .= " ORDER BY pt.datee ASC, pt.dateo ASC";
+ $sql .= " t.datec, t.dateo, t.datee, t.tms,";
+ $sql .= " t.dateo, t.datee, t.planned_workload, t.rang,";
+ $sql .= ", datee = ".($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null');
+ $sql .= "SELECT u.rowid, u.firstname, u.lastname, u.dateemployment as datea, date_format(u.dateemployment, '%d') as daya, 'employment' as typea, u.email, u.statut as status";
+ $sql = "SELECT pt.rowid, pt.ref, pt.fk_projet, pt.fk_task_parent, pt.datec, pt.dateo, pt.datee, pt.datev, pt.label, pt.description, pt.duration_effective, pt.planned_workload, pt.progress";
+ $sql = "SELECT u.rowid, u.firstname, u.lastname, u.birth as datea, date_format(u.birth, '%d') as daya, 'birth' as typea, u.email, u.statut as status";
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'opensurvey_user_studs (nom, id_sondage, reponses, date_creation)';
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'opensurvey_user_studs (nom, id_sondage, reponses, ip, date_creation)';
$sql = 'SELECT s.reponses';
$sql2 .= " SET reponses = '".$db->escape($newcar)."'";
+ $taskstatic->datee = $db->jdate($obj->date_end);
$this->category->childs = array();
- $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "external", "STDEST", "Contact destinataire transfert de stocks", 1, NULL, 0)');
- $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "external", "STFROM", "Contact expéditeur transfert de stocks", 1, NULL, 0)');
- $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "internal", "STRESP", "Responsable du transfert de stocks", 1, NULL, 0)');
- $this->emetteur->country_code = substr($langs->defaultlang, -2); // Par defaut, si n'etait pas defini
- $this->error = 'update_note was called on objet with property table_element not defined';
- $this->modelpdf = $modelpdf; // For bakward compatibility
- $this->output .= ' Send email successfuly to '.$nbok.' members';
- $this->product->sousprods = $childs;
- $this->tpl['yn_assujtva'] = $form->selectyesno('assujtva_value', $this->tpl['tva_assuj'], 1); // Assujeti par defaut en creation
- $title = preg_replace("/([[:alnum:]])\?([[:alnum:]])/", "\\1'\\2", $title); // Gere probleme des apostrophes mal codee/decodee par utf8
- $title = preg_replace("/^\s+/", "", $title); // Supprime espaces de debut
- $trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
- $trans_colour = imagecolorallocate($imgThumb, 255, 255, 255); // On procede autrement pour le format GIF
- $txtforsticker = "%PHOTO%"; // Photo will be barcode image, %BARCODE% posible when using TCPDF generator
- $values = array(); // Array with horizontal y values (specific values of a serie) for each abscisse x
- $values = array(); // Array with horizontal y values (specific values of a serie) for each abscisse x (with x=0,1,2,...)
- $valuetoshow = ucfirst($fieldlist[$field]); // By defaut
- $valuetoshow = ucfirst($fieldlist[$field]); // Par defaut
- $valuetoshow = ucfirst($value); // Par defaut
- $ways = $c->print_all_ways(' >> ', 'none', 0, 1); // $ways[0] = "ccc2 >> ccc2a >> ccc2a1" with html formated text
- 'sr.type' => "Type ban is defaut",
- /* Disabled because bcc must remain by defintion not visible
- // $_POST contains fk_commandefourndet_X_Y where Y is num of product line and X is number of splitted line
- // $new_array_options will be used for direct update, so must contains formated data for the UPDATE.
- // $opt['filter[id]'] contais list of product id that are result of search
- // 1 - Association des utilisateurs du groupe LDAP au groupe Dolibarr
- // 2 - Suppression des utilisateurs du groupe Dolibarr qui ne sont plus dans le groupe LDAP
- // A redirect is added if API call successfull
- // Action according to choosed sending method
- // Action according to the choosed sending method
- // Add entry into bank accoun
- // Add personnal information
- // Adding may convert the original string into a HTML string. Sowe have to first
- // Adding a RSS feed into a sitemap should nto be required. The RSS contains pages that are already included into
- // Amount payed
- // Atom support many links per containging element.
- // Aucun model par defaut.
- // Batch number managment
- // Bloc to update dates of service (month by month only if previously filled and similare to start and end of month)
- // By default, electronic transfert from bank to bank
- // CNAT
- // Calculating a theorical value
- // Check if the page we are translation of is alreayd a translation of a source page. if yes, we will use source id instead
- // Check unicity for serial numbered equipments once all movement were done.
- // Chercher un contact existant avec cette adresse email
- // Color of earch arc
- // Defaut
- // Delivery date planed
- // Discard check of mandatory fiedls for other fields
- // Documents are stored above the web pages root to prevent being downloaded without authentification
- // Dont't use entity if you use rowid
- // Dynamic max line heigh calculation
- // Editer une facture deja validee, sans paiement effectue et pas exporte en compta
- // Exemple : ALTER TABLE llx_adherent ADD CONSTRAINT adherent_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid)
- // Exemple, now $urltograbdirwithoutslash is https://www.dolimed.com/screenshots
- // Fonctions de conversion non presente dans ce PHP
- // Fonctions of conversion not available in this PHP
- // For invoice, we don't want to have a reference line on document. Image we are using recuring invoice, we will have a line longer than document width.
- // Gestion des groupes
- // Gestion des utilisateurs associés au groupe
- // Groupes
- // If a bank account is prodived and we ask to use it as creditor, we use the bank address
- // If googleoauth_login has been set (by google_oauthcallback after a successfull OAUTH2 request on openid scope
- // If not abandonned
- // If stock decrease is on invoice validation, the theorical stock continue to
- // If there is a nown BOM, we force the type of MO to the type of BOM
- // If this is the requestor or has read/write rights
- // If value contains the unique code of vat line (new recommanded method), we use it to find npr and local taxes
- // Informations for expense report (dates and users workflow)
- // Keep invoices that are not situation invoices or that are the last in serie if it is a situation invoice
- // Les contraintes indesirables ont un nom qui commence par 0_ ou se termine par ibfk_999
- // Limit and truncate with "…" the displayed text lenght, 0 = disabled
- // Message must be formated and translated to be used with javascript directly
- // Microsoft is a service that does not need state to be stored as second paramater of requestAccessToken
- // Note: We accept disabled account as parent account so we can build a hierarchy and use only childs
- // Note: We are here only if $conf->global->MAIN_AGENDA_ACTIONAUTO_action is on (tested at begining of this function).
- // Nouveau système du comon object renvoi des rowid et non un id linéaire de 1 à n
- // On create mode, force separator group to not be collapsable
- // On nettoie le header pour qu'il ne se termine pas par un retour chariot.
- // On parcourt donc une liste d'objets en tant qu'objet unique
- // On selectionne les users qui ne sont pas deja dans le groupe
- // On verifie l'emplacement du modele
- // On verifie si aucun paiement n'a ete effectue
- // On verifie si la balise prefix est utilisee
- // On verifie si la facture a des paiements
- // Option to reload page to retrieve customer informations.
- // Option to reload page to retrieve customer informations. Note, this clear other input
- // Parameteres execution
- // Programm next run
- // Replace espacing \' by ''.
- // Replace protected special codes with matching number of _ as wild card caracter
- // Retained warranty : usualy use on construction industry
- // Select des informations du projet
- // Set default encryption to yes, generate a salt and set default encryption algorythm (but only if there is no user yet into database)
- // Show var initialized by include fo paypal lib at begin of this file
- // Si il y a eu echec de connexion, $this->db n'est pas valide pour mysqli_error.
- // Si il y a eu echec de connexion, $this->db n'est pas valide pour sqlite_error.
- // Si il y a eu echec de connexion, $this->db n'est pas valide.
- // Si on a demande supression d'un droit en particulier, on recupere
- // Si on a selectionne une demande a copier, on realise la copie
- // So we wil know the payment that have generated the bank transaction
- // Sort array by date ASC to calucalte balance
- // Succes
- // TODO : revoir la gestion des groupes (ou script de sync groupes)
- // TODO A virer quand sera gere par l'appelant
- // TODO Add a link "Show more..." for all ohter informations.
- // TODO Use a cahe on user
- // TODO We can't, we dont' have full path of file, only last_main_doc and ->element, so we must first rebuild full path $destfull
- // TODO We show localtax from $object, but this properties may not be correct. Only value $object->default_vat_code is guaranted.
- // TODO mettre dans une classe propre au pays
- // Tableau des parametres complementaires du post
- // The entity on the table usergroup_user should be useless and should never be used because it is alreay into gr and r.
- // This is when PHP session is ran outside a web server, like from Linux command line (Not always defined, but usefull if OS defined it).
- // This need a lot of time, that's why enabling alternative dir like "custom" dir is not recommanded
- // Update hourly rate of this time spent entry, but only if it was not set initialy
- // We choosed to have line->pa_ht always positive in database, so we guess the correct sign
- // We dont have printers so return blank array
- // We keep it with value ForceBuyingPriceIfNull = 2 for retroactive effect but results are unpredicable.
- // We must filter on assignement table
- // We need to keep the 10 lastest number of invoice doc_ref not the beginning part that is the unusefull almost same part
- // We use invoice date $data->doc_date not $date_ecriture which is the transfert date
- // We use invoice date $line->doc_date not $date_ecriture which is the transfert date
- // add substition variable for ticket
- // add variables subtitutions ticket
- // count the orders to ship in theorical stock when some are already removed by invoice validation.
- // de ceux du produit par defaut (par exemple si pays different entre vendeur et acheteur).
- // employee informations
- // et on met la quantité de la ligne dans la limite du "budget" indiqué par dispatch.qty
- // if "frequency" is empty or = 0, the reccurence is disabled
+ $this->datea = dol_now();
+ 'datee' => $date_end,
// mise a jour des reponses utilisateurs dans la base
- // note: i don't think this is actually neccessary
- // of the amount and currency retreived from the POST.
- // on verifie si l'objet est utilisé
- // only if socid not filled else it's allready done upper
- // procédure de remplacement de la table pour ajouter la contrainte
- // reload page to retrieve customer informations
- // reload page to retrieve supplier informations
- // save curent cell padding
- // si le curseur est un booleen on retourne la valeur 0
- // this conf is actually hidden, by default we use 10% for "be carefull or warning"
- //Add hook to filter on user (for exemple on usergroup define in custom modules)
- //Another call for easy debugg
- //Calcultate new task end date with difference between origin proj end date and origin task end date
- //Calcultate new task start date with difference between old proj start date and origin task start date
- //Calcultate new task start date with difference between origin proj start date and origin task start date
- //Chek special NIF
- //Origin project strat date
- //Stock mouvement
- //We use invoice date $data->doc_date not $date_ecriture which is the transfert date
- //We use invoice date $line->doc_date not $date_ecriture which is the transfert date
- //XXX: Should be done just befor commit no ?
- //but the note is saved, so just add a notification will be enought
- //if ($user->socid > 0) $socid = $user->socid; // For external user, no check is done on company because readability is managed by public status of project and assignement.
- //print $langs->trans("Desription").' : ';
- //print "connexion de type=".$conf->db->type." sur host=".$conf->db->host." port=".$conf->db->port." user=".$conf->db->user." name=".$conf->db->name;
- //si le sujet n'est pas celui qui a été effacé alors on concatene
- //si on voit une erreur, le fond de la case est rouge
- The selectForForms is called with parameter $objectfield defined, so tha app can retreive the filter inside the ajax component instead of being provided as parameters. The
- console.log("Load desciption into text area : "+description);
- continue; // We discard parametes starting with ?
- dol_print_error('', get_class($this)."::load_previous_next_ref was called on objet with property table_element not defined");
- dol_syslog("Can't remove thirdparty with id ".$id.". There is ".$objectisused." childs", LOG_WARNING);
- dol_syslog("Failed to read image using Imagick (Try to install package 'apt-get install php-imagick ghostscript' and check there is no policy to disable ".$ext." convertion in /etc/ImageMagick*/policy.xml): ".$e->getMessage(), LOG_WARNING);
- dol_syslog("Fichier invalide",LOG_WARNING);
- dol_syslog("RejetPrelevement::_send_email Userid invalide");
- dol_syslog('User not found or not valid, connexion refused');
- dol_syslog('User not found, connexion refused');
- dol_syslog(get_class($this) . "::validate action abandonned: already validated", LOG_WARNING);
- dol_syslog(get_class($this). '::setFrequencyAndUnit was called on objet with params frequency defined but unit not defined', LOG_ERR);
- dol_syslog(get_class($this). '::setFrequencyAndUnit was called on objet with property table_element not defined', LOG_ERR);
- dol_syslog(get_class($this)."::accept action abandonned: already acceptd", LOG_WARNING);
- dol_syslog(get_class($this)."::add successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::add_attribute successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::deleteAttribute successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::line_order was called on objet with property fk_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::line_order was called on objet with property table_element_line not defined", LOG_ERR);
- dol_syslog(get_class($this)."::modify successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::rename successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::setAutoValidate was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setBankAccount was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setContract was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setDocModel was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setFrequencyAndUnit was called on objet with params frequency defined but unit not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setFrequencyAndUnit was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setGeneratePdf was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setMaxPeriod was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setModelPdf was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setNextDate was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setProject was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setShippingMethod was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setVATReverseCharge was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::setWarehouse was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::updateAttribute successfull", LOG_DEBUG);
- dol_syslog(get_class($this)."::update_note was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::update_ref_ext was called on objet with property table_element not defined", LOG_ERR);
- dol_syslog(get_class($this)."::valid action abandonned: already validated", LOG_WARNING);
- dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING);
- dol_syslog(get_class($this).'::setAutoValidate was called on objet with property table_element not defined', LOG_ERR);
- dol_syslog(get_class($this).'::setGeneratePdf was called on objet with property table_element not defined', LOG_ERR);
- dol_syslog(get_class($this).'::setMaxPeriod was called on objet with property table_element not defined', LOG_ERR);
- dol_syslog(get_class($this).'::setModelPdf was called on objet with property table_element not defined', LOG_ERR);
- dol_syslog(get_class($this).'::setNextDate was called on objet with property table_element not defined', LOG_ERR);
- for ($i = 0; $i < $nbseries; $i++) { // Loop on each serie
- foreach ($criterias as $criteriafamilykey => $criteriafamilyval) {
- foreach ($legends as $val) { // Loop on each serie
- header("Location: ".$_SERVER["PHP_SELF"].'?id='.$id.($backtopage ? '&backtopage='.urlencode($backtopage) : '')); // To avoid pb whith back
- idata++; //Next data everytime
- if (!empty($_facrec->frequency)) { // Invoice are created on same thirdparty than template when there is a recurrence, but not necessarly when there is no recurrence.
- if ($attachs && strpos($action, 'SENTBYMAIL')) {
+ if (!empty($arrayfields['t.datee']['checked'])) {
if ($user->hasRight('stock', 'mouvement', 'lire')) {
- if ($value) { // If we have -1 here, pb is into insert, not into ouptut (fix insert instead of changing code here to compensate)
- if (empty($objimport->array_import_convertvalue[0][$tmpcode])) { // If source file does not need convertion
+ if (empty($reyear) || empty($remonth) || empty($reday)) {
jQuery("#mouvement").change(function() {
- let hours = hour.getHours().toString().padStart(2, "0"); // Formater pour obtenir deux chiffres
- let mins = hour.getMinutes().toString().padStart(2, "0"); // Formater pour obtenir deux chiffres
- preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthese on tente recherche de traduction
- print " - Error cant find payment mode for ".$condpayment."\n";
- print "Expedition inexistante ou acces refuse";
- print "\n\n";
- print ''."\n";
+ print $form->selectDate($object->periode, 'period', 0, 0, 0, 'charge', 1);
print ''.$langs->trans("TransferStock").'';
- print ''; // Explicit link, usefull for nojs interfaces
- print '
', $decodedstring, 'Function did not sanitize correclty with test 2');
- $this->assertEquals('a : b " c \' d ' e é', $decodedstring, 'Function did not sanitize correclty');
- $this->assertEquals('a : b " c \' d \' e é', $decodedstring, 'Function did not sanitize correclty');
- $this->assertEquals('afile', $result);
- $this->assertEquals('eée', $decodedstring, 'Function did not sanitize correclty with test 1');
- $this->assertEquals('text text', $decodedstring, 'Function did not sanitize correclty with test 4a');
- $this->assertEquals('text text', $decodedstring, 'Function did not sanitize correclty with test 4b');
- $this->assertTrue($result, 'move of directory with directory whitout rename needed in directory');
- $this->assertTrue($result, 'move of directory with file whitout rename needed in directory');
- $this->const[$r][2] = "DOL_DATA_ROOT/doctemplates/stocks/mouvements";
- $this->const[$r][3] = "Mot de passe Admin des liste mailman";
- $this->description = "A tool for developper adding a debug bar in your browser.";
- $this->description = "Ajout de files d'informations RSS dans les ecrans Dolibarr";
- $this->description = "Gestion des projets";
- $this->object->address = GETPOST("adresse");
- $this->posxdesc = $this->marge_gauche + 1; // For module retrocompatibility support durring PDF transition: TODO remove this at the end
- $this->posxdesc = $this->marge_gauche + 1; // used for notes ans other stuff
- $this->rights[$r][1] = 'Exporter les commande fournisseurs, attributs';
- $this->rights[$r][1] = 'Exporter les factures fournisseurs, attributs et reglements';
- $this->rights[$r][3] = 0; // La permission est-elle une permission par defaut
- $this->rights[$r][3] = 1; // La permission est-elle une permission par defaut
- $this->rights[1][1] = 'Lire ses notes de frais et deplacements et celles de sa hierarchy';
- $this->rights[1][3] = 0; // La permission est-elle une permission par defaut
- $this->rights[1][3] = 1; // La permission est-elle une permission par defaut
- $this->rights[2][3] = 0; // La permission est-elle une permission par defaut
- $this->rights[3][1] = 'Lire mouvements de stocks';
- $this->rights[4][1] = 'Creer/modifier mouvements de stocks';
- $this->rights[4][3] = 0; // La permission est-elle une permission par defaut
- $this->signature_line = dol_hash($keyforsignature, '5'); // Not really usefull
- $this->tva_intra = empty($conf->global->MAIN_INFO_TVAINTRA) ? '' : $conf->global->MAIN_INFO_TVAINTRA; // VAT number, not necessarly INTRA.
- $this->tva_intra = getDolGlobalString('MAIN_INFO_TVAINTRA'); // VAT number, not necessarly INTRA.
- $valuetoshow = ucfirst($fieldlist[$field]); // Par defaut
- 'filles' => array('name'=>'filles', 'type'=>'tns:FillesArray')
- 'fk_statut' =>array('type'=>'smallint(6)', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 2=>'Paid', 3=>'Abandonned')),
- 'qty_regulated' => array('type'=>'double', 'label'=>'QtyDelta', 'visible'=>1, 'enabled'=>1, 'position'=>34, 'index'=>1, 'help'=>'Qty aadded or removed (filled once movements are validated)'),
- 'type_mouvement' =>array('type'=>'smallint(6)', 'label'=>'Type mouvement', 'enabled'=>1, 'visible'=>-1, 'position'=>45),
- /* Definition de la date limite */
- /* Liste des taches et role sur les projets ou taches */
- /* width: ...px; If I use with, there is trouble on size of flex boxes solved with min + (max that is a little bit higer than min) */
- /*if (getDolGlobalInt('PRODUCT_USE_OLD_PATH_FOR_PHOTO')) // For backward compatiblity, we scan also old dirs
- // $boxidactivatedforuser will be array of boxes choosed by user
- // $options is array with filter criterias
- // $placeid is the invoice id (it differs from place) and is defined if the place is set and the ref of invoice is '(PROV-POS'.$_SESSION["takeposterminal"].'-'.$place.')', so the fetch at begining of page works.
- // $this->rights[$r][1] Libelle par defaut si traduction de cle "PermissionXXX" non trouvee (XXX = Id permission)
- // $this->rights[$r][3] 1=Permis par defaut, 0=Non permis par defaut
- // 'member' to add a tab in fundation member view
- // 'member' to add a tab in fundation member view
- // - If not set, we accept ot have amount defined as parameter (for backward compatibility).
- // Action according to choosed sending method
- // Add a where here keeping only the citeria on $tabletouse
- // Add code to open url using the popup. Add also hidden field to retreive the returned variables
- // Add infor from $object->xxx where xxx has been loaded by fetch_origin() of shipment
- // Add the count of record only for the main/first level object. Parents are necessarly unique for each record.
- // Alow external links to svg ?
- // Amount keys formated in a currency
- // Build file for Other Countries with unknow format
- // Build filter to diplay only concerned lines
- // By default, electronic transfert from bank to bank
- // CHANGE THIS: Optionnal
- // Chargement de labels et data_xxx pour tableau 4 Mouvements
- // Chargement librairie pour acces fonction controle RIB
- // Check if field was submited to be edited
- // Check paramaters
- // Check that the redirect_uri that wil be used is same than url of current domain
- // Classif "paid partialy"
- // Clean paramater $typeofdata
- // Clear all fields out of interrest
- // Concatenation des differents codes.
- // Confirm cancelation
- // Confirm deleteion
- // Connexion ldap
- // Convert MySQL syntax to PostgresSQL syntax
- // Create with status validated immediatly
- // Creation de la classe d'import du model Import_XXX
- // Creation objet
- // Date delivery planed
- // Delivery date planed
- // Dependancies
- // Don't log Luracast Restler Explorer recources calls
- // Essai connexion serveur
- // Event into a serie
- // Exclude unsubscribed email adresses
- // Files missings
- // First, we get the max value (reponse immediate car champ indexe)
- // For a string that is already HTML (contains HTML tags) but badly formated
- // For a string that is already HTML (contains HTML tags) with special tags but badly formated
- // For backward compatiblity, we detect file stored into an old path
- // For each file build select list with PDF extention
- // For exemple if element is project
- // For external user, no check is done on company because readability is managed by public status of project and assignement.
- // For external user, no check is done on company permission because readability is managed by public status of project and assignement.
- // Forced filter on socid is similar to forced filter on project. TODO Use project assignement to allow to not use filter on project
- // Github is a service that does not need state to be stored as second paramater of requestAccessToken
- // Hooks on successfull login
- // How the date for data are formated (format used bu jsgantt)
- // How the date for data are formated (format used by dol_print_date)
- // If lib not found in language file, we get label from cache/databse
- // If on smartphone or optmized for small screen
- // If option choosed, we create invoice
- // If resultset not provided, we take the last used by connexion
- // If stock increment is done on reception (recommanded choice)
- // If stock increment is done on sending (recommanded choice)
- // If value contains the unique code of vat line (new recommanded method), we use it to find npr and local taxes
- // Initialisation objet actioncomm
- // Initialise parametres
- // Insert into bank account directlty (if option choosed for) + link to llx_subscription if option is 'bankdirect'
- // Keep the orginal
- // Limite acces si droits non corrects
- // Links beetween objects are stored in this table
- // Load extrafields if not allready done
- // Load extrafiels if not allready does
- // Load librairies to check BAN
- // Log the init of hook but only for hooks thare are declared to be managed
- // Loop on each line keword was found into file.
- // Mis a jour contact
- // More informations
- // Multiplication de chaque groupe par les coef du tableau
- // Nettoyage parametres
- // No check is done on company permission because readability is managed by public status of project and assignement.
- // Now complete $this->newmenu->list to add entries found into $tabMenu that are childs of mainmenu=$menutopid, using the fk_menu link that is int (old method)
- // On definit fin de ligne
- // On recherche les formes juridiques actives des pays actifs
- // On recherche les groupes
- // On remplace les eventuelles lettres par des chiffres.
- // On va boucler sur chaque ligne du document d'origine pour completer objet reception
- // On verifie signe facture
- // Only record into stock tables wil be disabled by this (the rest like writing into lot table or movement of subproucts are done)
- // Option to reload page to retrieve customer informations.
- // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE)
- // Ouput page under the Dolibarr top menu
- // Parameteres execution
- // Permet de commencer l'impression de l'etiquette desiree dans le cas ou la page a deja servie
- // Permettre l'exclusion de groupes
- // Permettre l'inclusion de groupes
- // Positionne parametres
- // Positionning
- // Refresh / Reload web site (for non javascript browers)
- // Remove '<' into remainging, so remove non closing html tags like '1, "s.nom"=>2); // Mut be fields found into declaration of dataset
- //$signature_line = dol_hash($keyforsignature, '5'); // Not really usefull
- //Add hook to filter on user (for exemple on usergroup define in custom modules)
- //If dispach process running we add the number of item to dispatch into the head
- //If invoice has been converted and the conversion has been used, we dont have remain to pay on invoice
- //If no task avaiblable, redirec to to add confirm
- //In some case $object is not instanciate (for paiement on custom object) We need to deal with payment
- //Iterate over each expression splitted by $separator_chr
- //Label mouvement
- //Lot/serie Product
- //We should use dol_now function not time however this is wrong date to transfert in accounting
- //check if tag type submited exists into Tag Map categorie class
- //decoding the respose
- //fetch informations needs on this mode
- //http_response_code(500); // If we use 500, message is not ouput with some command line tools
- //postion of Key
- //prevents agains infinite loop when we can't create root folder
- //print "L'EAN se compose de 8 caracteres, 7 chiffres plus une cle de controle. ";
- //print $rouge.$vert.$bleu;
- //sinon on remplace les choix de l'utilisateur par une ligne de checkbox pour recuperer de nouvelles valeurs
- //sinon on remplace les choix de l'utilisateur par une ligne de checkbox pour saisie
- //var_dump($serie);
- console.log("Cancel check_events() with dolnotif_nb_test_for_page="+dolnotif_nb_test_for_page+". Check is useless because javascript Notification.permission is "+Notification.permission+" (blocked manualy or web site is not https).");
- console.log("Change montly amount echeance="+echeance+" idcap="+idcap+" capital="+capital);
- dol_syslog("The user login has a validity between [".$user->datestartvalidity." and ".$user->dateendvalidity."], curren date is ".dol_now());
- dol_syslog("Warning: Function form_constantes is calle with parameter strictw3c = 0, this is deprecated. Value must be 2 now.", LOG_DEBUG);
- dol_syslog("line.php update bank line to set the new bank receipt nuber", LOG_DEBUG);
- dol_syslog(get_class($this)."::getCustomerAccount Try to find the first system customer id for ".$site." of thirdparty id=".$id." (exemple: cus_.... for stripe)", LOG_DEBUG);
- dol_syslog(get_class($this)."::setCategoriesCommon Oject Id:".$this->id.' type_categ:'.$type_categ.' nb tag add:'.count($categories), LOG_DEBUG);
- foreach ($allways as $way) {
- foreach ($arrayofcriterias as $criterias) {
- foreach ($parent as $key => $value) { // key=label, value is array of childs
- header("Location: ".$_SERVER["PHP_SELF"].'?id='.$id); // To avoid pb whith back
- http_response_code(202); // If we use 202, this is not really an error message, but this allow to ouput message on command line tools
- if (!$login || (in_array('ldap', $authmode) && empty($passwordtotest))) { // With LDAP we refused empty password because some LDAP are "opened" for anonymous access so connexion is a success.
- if (!empty($this->phone)) { // If a phone of thirdparty is defined, we add it ot mobile of contacts
- if (!getDolGlobalString('PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN')) { // Note that some countries still need bank number, BIC/IBAN not enougth for them
- if (!is_array($this->userassigned) && !empty($this->userassigned)) { // For backward compatibility when userassigned was an int instead fo array
- if ($lines[$i]->fk_parent == $parent || $level < 0) { // if $level = -1, we dont' use sublevel recursion, we show all lines
- if ($lines[$i]->fk_task_parent == $parent || $level < 0) { // if $level = -1, we dont' use sublevel recursion, we show all lines
- if ($objectfield) { // We must retreive the objectdesc from the field or extrafield
- if ($this->label == 'Annulation mouvement ID'.$this->id) {
+ $this->periode = $this->date_creation + 3600 * 24 * 30;
+ $title = $langs->trans('Product')." ".$shortlabel." - ".$langs->trans('Referers');
+ $title = $langs->trans('Service')." ".$shortlabel." - ".$langs->trans('Referers');
+ $title = $langs->transnoentities("Balance")." - ".$langs->transnoentities("AllTime");
+ 'datee' => $datee
+ 'datee' =>array('type'=>'date', 'label'=>'DateEnd', 'enabled'=>1, 'visible'=>1, 'position'=>35),
+ 'datee' =>array('type'=>'date', 'label'=>'Datee', 'enabled'=>1, 'visible'=>-1, 'position'=>90),
+ ,'datee'=>array('type'=>'date')
+ // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
+ echo dol_print_date($rule->datee, 'day');
+ foreach ($TWeek as $weekNb) {
+ if (!empty($arrayfields['cs.periode']['checked'])) {
+ if (!empty($arrayfields['p.datee']['checked'])) {
+ if ($datee > 0) {
+ if ($newamount == 0 || empty($this->date_ech) || (empty($this->period) && empty($this->periode))) {
if ($user->hasRight('stock', 'mouvement', 'creer')) {
- if (GETPOST('import_name')) { // If we have submited a form, we take value used fot the update try
- if (dol_strlen($phone) == 10) {// fixe 6 chiffres +352_AA_BB_CC
- if (empty($conf->global->PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN)) { // Note that some countries still need bank number, BIC/IBAN not enougth for them
- if (empty($res)) $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "external", "STDEST", "Contact destinataire transfert de stocks", 1, NULL, 0)');
- if (empty($res)) $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "external", "STFROM", "Contact expéditeur transfert de stocks", 1, NULL, 0)');
- if (empty($res)) $this->db->query('INSERT INTO '.MAIN_DB_PREFIX.'c_type_contact(rowid, element, source, code, libelle, active, module, position) VALUES('.((int) $nextid).', "StockTransfer", "internal", "STRESP", "Responsable du transfert de stocks", 1, NULL, 0)');
- if (empty($tabtp[$obj->rowid]) && !empty($tabmoreinfo[$obj->rowid]['withdraw'])) { // If we dont find 'company' link because it is an old 'withdraw' record
- if (getDolGlobalInt('PRODUCT_USE_OLD_PATH_FOR_PHOTO')) { // For backward compatiblity, we scan also old dirs
- jQuery("#tva_tx").click(function() { /* somtimes field is a text, sometimes a combo */
- jQuery("#tva_tx").keyup(function() { /* somtimes field is a text, sometimes a combo */
- preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthese on tente recherche de traduction
- print "(currenlty not available)";
- print "Expedition inexistante ou acces refuse";
- print $form->selectyesno('assujtva_value', GETPOSTISSET('assujtva_value') ?GETPOST('assujtva_value', 'int') : 1, 1); // Assujeti par defaut en creation
- print $langs->trans("SFTP (FTP as a subsytem of SSH)").': '.yn($conf->global->FTP_CONNECT_WITH_SFTP).' ';
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
%
';
- print '
'.$langs->trans("Time").' '.$j.'
'."\n";
- print '
'."\n";
- print 'This website or feature is currently temporarly not available or failed after a technical error.
This may be due to a maintenance operation. Current status of operation ('.dol_print_date(dol_now(), 'dayhourrfc').') are on next line...
'."\n";
- return $childs;
- return $objet->compteur;
- setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Lable")), null, 'errors');
- unset($object->supplierprices); // Mut use another API to get them
- while ($i < $nblot) { // Loop on each serie
- } else // We decrease agressiveness
- } else { // If thirdparty unkown, output the waiting account
- } else { // We decrease agressiveness
- } else { // old method. deprecated because ot can't retrieve type
- } elseif (!empty($this->childtables)) { // If object has childs linked with a foreign key field, we check all child tables.
- } elseif (!empty($this->fk_element) && !empty($this->childtables)) { // If object has childs linked with a foreign key field, we check all child tables.
- } elseif (dol_strlen($phone) == 11) {// fixe 7 chiffres +352_AA_BB_CC_D
- } elseif (dol_strlen($phone) == 12) {// fixe 8 chiffres +352_AA_BB_CC_DD
- echo Only one line remainging into file $fic, we delete it;
- // TODO Check the lineid $lineid is a line of ojbect
- * fullname = nom avec chemin complet du user
- * fullpath = chemin complet compose des id: "_grandparentid_parentid_id"
- * @param DoliDB $db Handler acces base
- * @param Societe $soc Objet societe
- * Functiun to exlude (set adherent.status to -2) a member
- * Renvoi si un code est pris ou non (par autre tiers)
- * @param mixed $gm 'gmt'=Input informations are GMT values, 'tzserver'=Local to server TZ
- * 'Fiche LDAP' qui affiche champ lisibles par defaut.
- * (Status validated or abandonned for a reason 'other') + not payed + no payment at all + not already replaced
- * (validated + payment on process) or classified (payed completely or payed partiely) + not already replaced + not already a credit note
- * @param User $user Handler du user connecte
- * @param User $user Objet user that make creation
- * @param int $info_bits Miscellaneous informations
- * @param int $closepaidinvoices 1=Also close payed invoices to paid, 0=Do nothing more
- * @param int $closepaidcontrib 1=Also close payed contributions to paid, 0=Do nothing more
- * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, -1 otherwise)
- * @param string $pass Mot de passe
- * @param Adherent $object Member object. Old usage: Array of record informations (array('textleft'=>,'textheader'=>, ...'id'=>,'photo'=>)
- * @param DoliDB $db Handler acces base
- * @param DoliDB $db Handler acces base de donnees
- * @param DoliDB $db Handler acces data base
- * @param Product $product Objet product
- * @param Societe $thirdparty Objet third-party
- * @param Translate $outputlangs Objet langs
- * @param Translate $outputlangs Objet langs
- * @param Translate $outputlangs Objet langs
- * @param Translate $outputlangs objet lang a utiliser pour traduction
- * @param User $user Objet user that modify
- * @param User $user Objet user that create
- * @param User $user Objet user that modify
- * @param User $user Objet user making update
- * @param User $user Objet user qui valide
- * @param User $user Objet user qui demande la creation
- * @param array $arrayofrecords Array of record informations (array('textleft'=>,'textheader'=>, ..., 'id'=>,'photo'=>)
- * @param array $extra_values Any aditional values for expression
- * @param array $extra_values Any aditional values for expression
- * @param int $socid Id ot third party or 0 for all or -1 for empty list
- * @param int $id Id du paiement dont il faut afficher les infos
- * @param mixed $gm 'gmt'=Input informations are GMT values, 'tzserver'=Local to server TZ
- * @param string $method Method of transmision to bank (0=Internet, 1=Api...)
- * @param string $method method of transmision to bank
- * @param string $method method of transmision to bank (0=Internet, 1=Api...)
- * @param string $dolibarr_main_db_pass Mot de passe user a creer
- * @param string $field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre]
- * @param string $resko resultat si test non egal
- * @param string $resok resultat si test egal
- * @param User $user Objet user
- * @param User $user Objet user making change
- * @param User $user Objet user that modify
- * @param User $user Objet utilisateur qui modifie
- * @param User $user Objet utilisateur qui modifie
- * @param int $info_bits Miscellaneous informations
- * @param string $get_params Parametres added to url
- * @param string $get_params Parametres added to url
- * @param int $idremise Id de la remise fixe
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param string $close_code Code indicates whether the class has paid in full while payment is incomplete. Not implementd yet.
- * @param string $close_code Code renseigne si on classe a payee completement alors que paiement incomplet (cas escompte par exemple)
- * @param string $close_note Comment informs if the class has been paid while payment is incomplete. Not implementd yet.
- * @param string $close_note Commentaire renseigne si on classe a payee alors que paiement incomplet (cas escompte par exemple)
- * @return array Tableau info des attributs
- * @return int < 0 if KO (infinit loop), >= 0 if OK
- * @return int Return integer < 0 if KO (infinit loop), >= 0 if OK
- * @return array Tableau des informations des champs de la table
- * @return string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...)
- * @return int 0 en cas de succes
- * @return boolean false if conflit, true if ok
- * Charge indicateurs this->nb de tableau de bord
- * Charge indicateurs this->nb pour le tableau de bord
- * Charge les informations d'ordre info dans l'objet commande
- * Charge les informations d'ordre info dans l'objet facture
- * Classify the reception as invoiced (used for exemple by trigger when WORKFLOW_RECEPTION_CLASSIFY_BILLED_INVOICE is on)
- * Classify the shipping as invoiced (used for exemple by trigger when WORKFLOW_SHIPPING_CLASSIFY_BILLED_INVOICE is on)
- * Connexion to server
- * Define properties fullpath, fullrelativename, fulllabel of a directory of array this->cats and all its childs.
- * For category id_categ and its childs available in this->cats, define property fullpath and fulllabel.
- * For user id_user and its childs available in this->users, define property fullpath and fullname.
- * Function to build PDF on disk, then output on HTTP strem.
- * Informations of vat payment object
- * Init array $this->hooks with instantiated action controlers.
- * Initialise tableau info (tableau des attributs LDAP)
- * Les parametres sont deja cense etre juste et avec valeurs finales a l'appel
- * Libere le dernier resultset utilise sur cette connexion
- * Renvoie la description par defaut du modele de numerotation
- * Renvoie un exemple de numerotation
- * Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
- * Return HTML to show the search and clear seach button
- * Return array of log objects (with criterias)
- * Set withdrawal to transmited status
- * TODO Remplacer les appels a cette fonction par generation objet Ligne
- * TODO Replace calls to this function by generation objet Ligne
- * This create an opened connexion to a database server and eventually to a database
- * Upate ProductFournisseur
- * Update the link betwen localtax payment and the line into llx_bank
- * car conflit majuscule-minuscule. A n'utiliser que pour les pages
- * get available output_modes for tcpdf class wth its translated description
- * mise en forme du nom complet
- * mise en forme du nom formate
- * Les parametres sont deja cense etre juste et avec valeurs finales a l'appel
- * @param Product $product contain informations to update
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut (not working with ajax_autocompleter)
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param int $info_bits Miscellaneous informations
- * @param User $user Objet user that close
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut (not working with ajax_autocompleter)
- * @return resource|int 1 if cancelation is ok or transaction not open, 0 if error
- * Charge les informations d'ordre info dans l'objet entrepot
- * Class line Contructor
- * Load the array of extrafields defintion $this->attributes
- * Renvoi la description par defaut du modele de numerotation
- * Return list of all child users id in herarchy (all sublevels).
- * Total of the VAT payed
- * VAT payed
- * set no_email attribut to 1 or 0
- * For exemple jean;joe;jim%%;!jimo;!jima%> will target all jean, joe, start with jim but not jimo and not everythnig taht start by jima
- * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
- * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
- * Sinon la TVA proposee par defaut=0. Fin de regle.
- * Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
- * - string (categories ids seprated by comma)
- * - string (categories ids seprated by comma)
- * - string (categories ids seprated by comma)
- * All types can also return some values into an array ->results that will be finaly merged into this->resArray for caller.
- * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
- * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
- * Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
- * Sinon la TVA proposee par defaut=0. Fin de regle.
- * fulllabel = nom avec chemin complet de la categorie
- * fullpath = chemin complet compose des id
- * @param User $user Objet user
- * @param User $user Objet user
- * @param User $user Objet user
- * @param User $user Objet user
- * @param User $user Objet user making change
- * @param User $user Objet user
- * @param User $user Objet user
- * @param string $vatrate VAT rate (may contain the vat code too). Exemple: '1.23', '1.23 (ABC)', ...
- * Build the conditionnal string from filter the query
- * Charge indicateurs this->nb de tableau de bord
- * Charge indicateurs this->nb pour le tableau de bord
- * Update informations into database
- * @param string $page Url of page to call if confirmation is OK. Can contains parameters (param 'action' and 'confirm' will be reformated)
- * $this->code_client = -1 and $this->code_fournisseur = -1 means automatic assignement.
- * @param DoliDB $db Handler acces base de donnees
- * @param int $mode 0=Close solved, 1=Close abandonned
- * @param int $isencrypted 0 ou 1 si il faut crypter le mot de passe en base (0 par defaut)
- * @param int $socid Id third pary
- * @param DoliDB $db Handler acces base de donnees
- * @param int $id id du paiement dont il faut afficher les infos
- * @return integer erreur <0, si ok renvoi le nbre de droits par defaut positionnes
- * Connexion to server
- * Constructor de la classe
- * Note: To complete search with a particular filter on select, you can set $object->next_prev_filter set to define SQL criterias.
- * Remove tag payed on TVA
- * Remove tag payed on social contribution
- * Renvoi si un compte peut etre supprimer ou non (sans mouvements)
- * Retourne la liste deroulante des differents etats d'une note de frais.
- * Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne.
- * Return HTML to show the search and clear seach button
- * Return combo list of differents status of a proposal
- * Return incoterms informations
- * Return incoterms informations for pdf display
- * Return list of categories having choosed type
- * Tag TVA as payed completely
- * Tag social contribution as payed completely
- * @param Conf $conf Objet conf
- * @param Translate $langs Objet lang
- * @param User $user Objet user
- * @param object $object Objet concerned. Some context information may also be provided into array property object->context.
- * Charge indicateurs this->nb de tableau de bord
- * Retourne la liste deroulante des regions actives dont le pays est actif
- * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...).
- * @param Translate $outputlangs objet lang a utiliser pour traduction
- * @param User $user Objet user that make creation
- * @param int $disablestockchangeforsubproduct Disable stock change for sub-products of kit (usefull only if product is a subproduct)
- * @param string $criteria Use %% as magic caracters. For exemple to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value,
- * @param string $filter SQL filter on users. This parameter must not come from user intput.
- * @param string $pass Mot de passe
- * @param int $disablecrop Disable crop feature on images (-1 = auto, prefer to set it explicitely to 0 or 1)
- * @param int $disablecrop Disable crop feature on images (-1 = auto, prefer to set it explicitely to 0 or 1)
- * @param DoliDB $db Handler acces base
- * @param Product $product Objet product
- * @param Translate $outputlangs Objet lang to use for translation
- * @param Translate $outputlangs objet lang a utiliser pour traduction
- * @param User $user Objet user that update
- * @param User $user Objet User who activate contract
- * @param User $user Objet User who close contract
- * @param User $user Objet user qui valide
- * @param User $user Objet user doing creation
- * @param User $user Objet du user qui cree
- * @param array $excludelinksto Do not show links of this type, for exemple array('order') or array('supplier_order'). null or array() if no exclusion.
- * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order'). null or array() if no restriction.
- * @param array $arrayofrecords Array of record informations (array('textleft'=>,'textheader'=>, ..., 'id'=>,'photo'=>)
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param float $curY curent Y position
- * @param float $curY curent Y position
- * @param int $fk_product_stock id product_stock for objet
- * @param int $fk_product_stock id product_stock for objet
- * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link
- * @param int $idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm)
- * @param int $lowmemorydump 1=Use the low memory method. If $lowmemorydump is set, it means we want to make the compression using an external pipe instead retreiving the content of the dump in PHP memory array $output_arr and then print it into the PHP pipe open with xopen().
- * @param int $maxlength Max number of charaters into label. If negative, use the ref as label.
- * @param int $no_email 1=Do not send mailing, 0=Ok to recieve mailling
- * @param int $socid Id ot third party or 0 for all
- * @param int $categorie Category id (optionnal)
- * @param string $list Visibilty ('0'=never visible, '1'=visible on list+forms, '2'=list only, '3'=form only or 'eval string')
- * @param string $list Visibily
- * @param string $elemtype Type of element we show ('category', ...). Will execute a formating function on it. To use in readonly mode if js component support HTML formatting.
- * @param string $label Descripton
- * @param string $modele force le modele a utiliser ('' par defaut)
- * @param string $table Nmae of table filter ('xxx%')
- * @param string $errors_to erros to
- * @param string $list Visiblity
- * @param string $resko resultat si test non egal
- * @param string $resok resultat si test egal
- * @param string $selected Id remise fixe pre-selectionnee
- * @param User $user Objet utilisateur qui met a jour le don
- * @param User $user Objet du user qui cree
- * @param User $user Objet user
- * @param array $params array of additionals parameters
- * @param int $info_bits Miscellaneous informations on line
- * @param int $socid Id third pary
- * @param Translate $outputlangs objet lang a utiliser pour traduction
- * @param User $excluser Objet user to exclude
- * @param int $showcode 1=Add language code into label at begining, 2=Add language code into label at end
- * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
- * @param int $fk_cat Category of the vehicule used
- * @param DoliDB $db Handler acces base de donnees
- * @param Object $object Objet livraison
- * @param Societe $soc Objet societe
- * @param array $tabMenu Array to store new entries found (in most cases, it's empty, but may be alreay filled)
- * @param array $extra_values Any aditional values for expression
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount paid if you have it, 1 otherwise)
- * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
- * @param int $closepaidinvoices 1=Also close payed invoices to paid, 0=Do nothing more
- * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount paid if you have it, 1 otherwise)
- * @param integer $searchalt Search also alernate language file
- * @param string $filter Optionnal filters criteras (example: 's.rowid <> x')
- * @param array $params array of additionals parameters
- * @param int $showform Show form tags and submit button (recommanded is to use with value 0)
- * @return string chaine formate SQL
- * @return bool True if disconnect successfull, false otherwise
- * @return boolean True if disconnect successfull, false otherwise
- * @return array array('opened'=>Amount including tax that remains to pay, 'total_ht'=>Total amount without tax of all objects paid or not, 'total_ttc'=>Total amunt including tax of all object paid or not)
- * @return string If OK return clear password, 0 if no change (warning, you may retreive 1 instead of 0 even if password was same), < 0 if error
- * Charge dans l'objet group, la liste des permissions auquels le groupe a droit
- * Charge les informations d'ordre info dans l'objet commande
- * Charge les informations d'ordre info dans l'objet contrat
- * Charge les informations d'ordre info dans l'objet facture
- * Charge les informations sur le contact, depuis la base
- * Charge un objet group avec toutes ses caracteristiques (except ->members array)
- * Clean fields (triming)
- * Close database connexion
- * Create a document onto disk accordign to template module.
- * Delete object in database. If fk_facture_source is defined, we delete all familiy with same fk_facture_source. If not, only with id is removed
- * Deplace fichier uploade sous le nom $file dans le repertoire sdir
- * Fonction appelee lors d'une nouvelle connexion
- * Fonction qui dit si cet utilisateur est un redacteur existant dans spip
- * Function to build PDF on disk, then output on HTTP strem.
- * Les parametres sont deja cense etre juste et avec valeurs finales a l'appel
- * Mise a jour de l'objet ligne de commande en base
- * Mise a jour en base de la date de derniere connexion d'un utilisateur
- * On compare juste manuellement si la database choisie est bien celle activee par la connexion
- * Renvoi la description par defaut du modele de numerotation
- * Renvoi si un code est pris ou non (par autre tiers)
- * Renvoi si un code respecte la syntaxe
- * Retourne la version traduite du texte passe en parametre complete du code pays
- * Retrieve informations about internal contacts
- * Return a HTML link to the user card (with optionaly the picto)
- * Return a link (with optionaly the picto)
- * Return a link to the a lot card (with optionaly the picto)
- * Return a link to the object card (with optionaly the picto)
- * Return a link to the object card (with optionaly the picto).
- * Return a link to the user card (with optionaly the picto)
- * Return an array formated for showing graphs
- * Return childs of product $id
- * Return clickable link of login (eventualy with picto)
- * Return combo list of differents status of a orders
- * Returns if a profid sould be verified to be unique
- * Show 2 HTML widget to input a date or combo list for day, month, years and optionaly hours and minutes.
- * Show a HTML widget to input a date or combo list for day, month, years and optionaly hours and minutes.
- * Show top header of page. This include the logo, ref and address blocs
- * This create an opened connexion to a database server and eventually to a database
- * WARNING: This method change temporarly context $conf->entity to be in correct context for each recurring invoice found.
- * When initHooks function is called, with initHooks(list_of_contexts), an array $this->hooks is defined with instance of controler
- * \brief Compute the cost of the kilometers expense based on the number of kilometers and the vehicule category
- * or partialy (if close_code filled) + appel trigger BILL_PAYED => this->fk_statut=2, this->paye stay 0
- * pour l'instant on ne definit pas les unites dans la base
- * $this->${field} should be a clean and string value (so date are formated for SQL insert).
- * (validated + payment on process) or classified (paid completely or paid partialy) + not already replaced + not already a credit note
- * - $_aryEmail[org] = orignal string
- * - 'sockets' [0] - conect via network to SMTP server
- * - 'sockets' [0] - conect via network to SMTP server - default
- * - La semaine 1 de toute annee est celle qui contient le 4 janvier ou que la semaine 1 de toute annee est celle qui contient le 1er jeudi de janvier.
- * - Then data_xxx.sql (usualy provided by external modules only)
- * - Then update_xxx.sql (usualy provided by external modules only)
- * @deprecated yes this setTypeFromTypeString came deprecated because it exists only for manage setup convertion
- * @param int $info_bits Miscellaneous informations of line
- * @param Societe $objsoc Objet societe
- * @param User $user Objet user
- * @param User $user Objet User
- * @param User $user Objet user
- * @param array $arrayofcriterias Array of available search criterias. Example: array($object->element => $object->fields, 'otherfamily' => otherarrayoffields, ...)
- * @param array $search_component_params Array of selected search criterias
- * @param bool $gm 1=Input informations are GMT values, otherwise local to server TZ
- * @param int $fk_product_stock id product_stock for objet
- * @param int $disabledoutputofmessages Clear all messages stored into session without diplaying them
- * @param int $lineid Id of production line to filter childs
- * @param int $noescapecommand 1=Do not escape command. Warning: Using this parameter needs you alreay have sanitized the $command parameter. If not, it will lead to security vulnerability.
- * @param int $showpointvalue 1=Show value for each point, as tooltip or inline (default), 0=Hide value, 2=Show values for each serie on same point
- * @param int $update_main_doc_field Update field main_doc fied into the table of object.
- * @param integer $mode 0=Use path to find record, 1=Use src_object_xxx fields (Mode 1 is recommanded for new objects)
- * @param integer $selected defaut selected
- * @param string $search_component_params_hidden String with $search_component_params criterias
- * @param string $sortorder Sort order, separated by comma. Example: 'ASC,DESC'. Note: If the quantity fo sortorder values is lower than sortfield, we used the last value for missing values.
- * @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of numeric value). Use '' to use same than $value
- * @param string $filter additionnal filter on project (statut, ref, ...)
- * @param string $images_dir Location of where to store physicaly images files. For example $dolibarr_main_data_root.'/medias'
- * @param Contact $contact Contact Obejct
- * @param Object $objecttmp Object to knwo the table to scan for combo.
- * @param User $user User wich display
- * @param array $type Array with type for each serie. Example: array('type1', 'type2', ...) where type can be:
- * @param array $excludelinksto Do not show links of this type, for exemple array('order') or array('supplier_order'). null or array() if no exclusion.
- * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order'). null or array() if no restriction.
- * @param array $arrayofcriterias Array of available search criterias. Example: array($object->element => $object->fields, 'otherfamily' => otherarrayoffields, ...)
- * @param array $search_component_params Array of selected search criterias
- * @param int $no_email 1=Do not send mailing, 0=Ok to recieve mailling
- * @param object $line_ext Objet with full information of line. $line_ext->detail_batch must be an array of ExpeditionLineBatch
- * @param string $uploaded_file Uploade file
- * @param string $label Label (Example: 'Leave', 'Manual update', 'Leave request cancelation'...)
- * @param string $uploaded_file Uploade file
- * @param string $head Optionnal head lines
- * @param string $elemtype Type of element we show ('category', ...). Will execute a formating function on it. To use in readonly mode if js component support HTML formatting.
- * @param string $type_categ Category type ('customer', 'supplier', 'website_page', ...) definied into const class Categorie type
- * @param string $search_component_params_hidden String with $search_component_params criterias
- * @param User $user Objet User who close contract
- * @param int $rowid Id of third party to load (Use 0 to get a specimen record, use null to use other search criterias)
- * @param string $dolibarr_main_db_pass Mot de passe user a creer
- * @param string $field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre]
- * @param Facture $invoice Objet facture
- * @param User $user Objet User who activate contract
- * @param array $info content informations of field
- * @param boolean $confirmnow false=default, true=try to confirm immediatly after create (if conditions are ok)
- * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
- * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link
- * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link
- * @param int $default_font_size default siez of font
- * @param int $id id du paiement dont il faut afficher les infos
- * @param string $alias String of alias of table for fields. For example 't'. It is recommended to use '' and set alias into fields defintion.
- * @param string $alias String of alias of table for fields. For example 't'. It is recommended to use '' and set alias into fields defintion.
- * @param string $ref Reference of object (This will define subdir automatically and store submited file into it)
- * @param string $resko resultat si test non egal
- * @param string $resok resultat si test egal
- * @param int $disablestockchangeforsubproduct Disable stock change for sub-products of kit (usefull only if product is a subproduct)
- * @param int $disablestockchangeforsubproduct Disable stock change for sub-products of kit (usefull only if product is a subproduct)
- * @param int $nbmax Number maxium of photos (0=no maximum)
- * @param int $id Id of product to search childs of
- * @param string $extrafieldsobjectkey The key to use to store retreived data (commonly $object->table_element)
- * @param string $extrafieldsobjectkey The key to use to store retreived data (for example $object->table_element)
- * @param string $moreparam To add more parametes on html input tag
- * @param string $moreparam To add more parametes on html input tag
- * @param Object $objecttmp Object to knwo the table to scan for combo.
- * @param Translate $outputlangs objet lang a utiliser pour traduction
- * @param array $dict Array of dictionnary for translation
- * @param array $array_receiver Array of receiver. exemple array('name' => 'John Doe', 'email' => 'john@doe.com', etc...)
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut (not working with ajax_autocompleter)
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut
- * @param bool $multiple add [] in the name of element and add 'multiple' attribut (not working with ajax_autocompleter)
- * @param int $mode O for create, R for regenerate (Look always 0 ment toujours 0 within the framework of XML exchanges according to documentation)
- * @param int $socid Id ot third party or 0 for all or -1 for empty list
- * @param int $socid Id ot third party or 0 for all
- * @param int $i Rank from which we want to create skilldets (level $i to HRM_MAXRANK wil be created)
- * @param int $month Specifig month - Can be empty
- * @param int $year Specifig year - Can be empty
- * @param int $_type Interger value representing Mail Transport Type
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $str Original string to encode and optionaly truncate
- * @param string $page Url of page to call if confirmation is OK. Can contains parameters (param 'action' and 'confirm' will be reformated)
- * @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of numeric value, or a select combo). Use '' to use same than $value
- * @param string $output_format (html/opton (for option html only)/array (to return options arrays
- * @param string $page Page name (website id must also be filled if this parameter is used). Exemple 'myaliaspage' or 'fr/myaliaspage'
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $properties Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
- * @param string $_path Path to the sendmail execuable
- * @param string $key Authentification key
- * @param string $selected Id remise fixe pre-selectionnee
- * @return string Id connexion
- * @return int 1 if transaction successfuly opened or already opened, 0 if error
- * @return string Formated value
- * @return string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...)
- * @return float|string Total amout of discount
- * @return int <0 if KO, number of equipments found if OK
- * @return int Return integer <0 if KO, number of equipments found if OK
- * @return string Javacript code to manage dependency
- * @return string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...)
- * @return array Array with inforation on table
- * @return boolean True if disconnect successfull, false otherwise
- * @return int 1 if transaction successfuly opened or already opened, 0 if error
- * @return int 1 if transaction successfuly opened or already opened, 0 if error
- * @return int 1 if cancelation ok or transaction not open, 0 if error
- * @return string Id connexion
- * @return array Aray of resources
- * @return boolean True if mandatory_period setted to 1
- * @return int Minimum recommanded price that is higher price among all suppliers * PRODUCT_MINIMUM_RECOMMENDED_PRICE
- * @return string Customer ref formated
- * @return string Supplier ref formated
- * @var array Childs
- * @var array Contents informations. Usually created at runtime by loadBox().
- * @var array Custom family informations
- * @var array Header informations. Usually created at runtime by loadBox().
- * @var array box dependancies
- * @var boolean $standard_conforming_string Set this to true if postgres accept only standard encoding of sting using '' and not \'
- * @var int Postion
- * @var int Date for cancelation
- * @var int ID for cancelation
- * @var int -1=Unkown duration
- * @var int Amount can be choosen by the visitor during subscription (0 or 1)
- * @var int Code modifiable si il est invalide
- * @var int Subsription required (0 or 1)
- * @var int availabilty ID
- * @var integer|string Date delivery planed
- * @var string The name of constant to use to scan ODT files (Exemple: 'COMMANDE_ADDON_PDF_ODT_PATH')
- * @var string Hash to identify ticket publically
- * @var string availabilty code
- * @var string availabilty label
- * @var string ref custome
- * Active Directory ne supporte pas les connexions anonymes
- * Attention ce module est utilise par defaut si aucun module n'a
- * Boundary String for MIME seperation
- * CAN BE A CRON TASK. In such a case, paramerts come from the schedule job setup field 'Parameters'
- * Charge indicateurs this->nb pour le tableau de bord
- * Close database connexion
- * Connexion to server
- * Constructes and returns message header
- * Correct an uncomplete html string
- * Creditor Identifier CI. Some banks use different ICS for direct debit and bank tranfer
- * Criterias used to build request are defined into the constructor of parent class into xxx/class/xxxstats.class.php
- * DN des groupes
- * Dont add LIMIT to your query, it will be added by this method
- * Empty function to prevent errors on call of this function must be overload if usefull
- * Exemple of POST query :
- * Exemple: { "socid": 2, "date": 1595196000, "type": 0, "lines": [{ "fk_product": 2, "qty": 1 }] }
- * Flag to 1 if we must clean ambiguous charaters for the autogeneration of password (List of ambiguous char is in $this->Ambi)
- * Function to know all custom groupd from an accounting account
- * Function to shwo the combo select to chose a type of field (varchar, int, email, ...)
- * Function used to return childs of Mo
- * If paid completelly, this->close_code will be null
- * Inserts all informations into database.
- * Libere le dernier resultset utilise sur cette connexion
- * Load all informations of accountancy document
- * Method exists only for manage setup convertion
- * Method used to test module builder convertion to this form usage
- * Method was used to test module builder convertion to this form usage.
- * Mot de passe de l'administrateur
- * Multi-diminsional array containg addresses the message will
- * Note: To complete search with a particular filter on select, you can set $object->next_prev_filter set to define SQL criterias.
- * Optionaly with $selected_warehouse_id parameter user can get stock of specific warehouse
- * Parse criteria to return a SQL qury formated
- * Path to the sendmail execuable
- * Permet le chargement d'une fonction personnalisee dans le moteur de base de donnees.
- * Put in array _translatedFiles[$file], line of a new tranlated pair
- * Recommanded solution is to recreate a new payment intent each time we need one (old one will be automatically closed after a delay),
- * Renvoi la description par defaut du modele de numerotation
- * Retrieve informations about external contacts
- * Retrieve informations about internal contacts
- * Retrieve number of equipments for a product lot/serial
- * Return Unix time from ical date time fomrat (YYYYMMDD[T]HHMMSS[Z] or YYYYMMDD[T]HHMMSS)
- * Return an array with Agenda Events informations
- * Return an array with Currency informations
- * Return an array with Expense Report informations
- * Return an array with MO informations
- * Return an array with bom informations
- * Return an array with candidature informations
- * Return an array with category informations
- * Return an array with commercial proposal informations
- * Return an array with contact informations
- * Return an array with contract informations
- * Return an array with donation informations
- * Return an array with group informations
- * Return an array with hook informations
- * Return an array with invoice informations
- * Return an array with jobposition informations
- * Return an array with knowledgerecord informations
- * Return an array with member informations
- * Return an array with member type informations
- * Return an array with myobject informations
- * Return an array with order informations
- * Return an array with partnership informations
- * Return an array with project informations
- * Return an array with proposal informations
- * Return an array with reception informations
- * Return an array with shipment informations
- * Return an array with stock movement informations
- * Return an array with subscription informations
- * Return an array with supplier proposal informations
- * Return an array with task informations
- * Return an array with thirdparty informations
- * Return an array with ticket informations
- * Return an array with warehouse informations
- * Return and array with all instanciated first level children users of current user
- * Return connexion ID
- * Return direct childs id of a category into an array
- * Return list of auxilary accounts. Cumulate list from customers, suppliers and users.
- * Return list of categories having choosed type
- * Return list of product formated for output
- * Return the addtional SQL JOIN query for filtering a list by a category
- * Return the addtional SQL SELECT query for filtering a list by a category
- * Return verion of data file
- * Returns the partial diff for the specificed sequences, in reverse order.
- * Serivce expiration unit
- * The string return is not formated (translated with transnoentitiesnoconv).
- * This can be changed for 2byte characers sets
- * This method takes a list of given addresses, via an array or a COMMA delimted string, and inserts them into a highly
- * Udpate the percent value of a event with the given id
- * Unsuscribe all : 1 = contact has globaly unsubscribe of all mass emailings
- * and restore it into another database with different id wihtout comprimising checksums
- * be carefull with this method use it only with some limit of results to avoid performences loss.
- * build RECIPIENT List, all addresses who will recieve this message
- * ete definit dans la configuration
- * or a COMMA delimted string, and inserts them into a highly
- * reload conf value from databases is an aliase of loadValueFromConf
- * reverse mouvement for object by updating infos
- * statique et publique. Le nombre de parametres est determine automatiquement.
- * the tagret is useful with hooks : that allow externals modules to add setup items on good place
- * the underlaying array is destroyed and reconstructed.
- * to define the UNIX file system path to the sendmail execuable
- If an error occured, show the resulting errors
- # ---------------------------- mot de passe admin mysql
- # Add cach performance directives
- # Log directoves
- # Log directoves
- $IBS_RETOUR = "montant:M;ref:R;auto:A;trans:T"; // Format des parametres du get de validation en reponse (url a definir sous paybox)
- $alwaysuncheckedmodules = array('dav', 'dynamicprices', 'incoterm', 'loan', 'multicurrency', 'paybox', 'paypal', 'stripe', 'google', 'printing', 'scanner', 'skype', 'website'); // Module we dont want by default
- $alwaysuncheckedmodules = array('dav', 'dynamicprices', 'incoterm', 'loan', 'multicurrency', 'paybox', 'paypal', 'stripe', 'google', 'printing', 'scanner', 'socialnetworks', 'website'); // Module we dont want by default
- $amount = (is_numeric($amount) ? $amount : 0); // Check if amount is numeric, for example, an error occured when amount value = o (letter) instead 0 (number)
- $controle = $tableau[$report][10];
- $data = getDecodeValue($mege, $type);
- $daytoparse = dol_mktime(0, 0, 0, $month, $day, $year); // this are value submited after submit of action 'submitdateselect'
+ if (GETPOSTISSET("reday") && GETPOSTISSET("remonth") && GETPOSTISSET("reyear")) {
+ if (count($arrayfields) > 0 && !empty($arrayfields['t.datee']['checked'])) {
+ if (empty($datee)) {
+ if (empty($reyear) || empty($remonth) || empty($reday)) {
+ if (empty($this->datea)) {
+ if (in_array('01', $TWeek) && in_array('52', $TWeek) && $weekNb == '01') {
+ print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0);
+ print $object->datee ? dol_print_date($object->datee, 'daytext') : ' ';
+ print '
'.$langs->trans("Datee").'
';
+ print_liste_field_titre($arrayfields['t.datee']['label'], $_SERVER["PHP_SELF"], "t.datee", '', $param, '', $sortfield, $sortorder, 'center ');
+ * @param string $datee End date (ex 23:59:59)
+ * @param float|string $selectedrate Force preselected vat rate. Can be '8.5' or '8.5 (NOO)' for example. Use '' for no forcing.
+ $TWeek = array();
+ $date = $obj->periode;
+ $datee = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear'));
+ $datee = dol_stringtotime($dateerfc);
+ $datepaid = dol_mktime(12, 0, 0, GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear"));
+ $datepaid = dol_mktime(12, 0, 0, GETPOST("remonth", 'int'), GETPOST("reday", 'int'), GETPOST("reyear", 'int'));
+ $datepaye = dol_mktime(12, 0, 0, GETPOST("remonth", "int"), GETPOST("reday", "int"), GETPOST("reyear", "int"));
+ $datepaye = dol_mktime(12, 0, 0, GETPOST("remonth", 'int'), GETPOST("reday", 'int'), GETPOST("reyear", 'int'));
+ $datepaye = dol_mktime(GETPOST("rehour", 'int'), GETPOST("remin", 'int'), GETPOST("resec", 'int'), GETPOST("remonth", 'int'), GETPOST("reday", 'int'), GETPOST("reyear", 'int'));
+ $datepaye = dol_mktime(GETPOST("rehour", 'int'), GETPOST("remin", 'int'), GETPOST("resec", 'int'), GETPOST("remonth", 'int'), GETPOST("reday", 'int'), GETPOST("reyear", 'int'), 'tzuserrel');
$ensemblereponses = $obj->reponses;
- $fils = 0;
- $i1 = 0; // count the nb of and criteria added (all fields / criterias)
- $intial = 0;
- $ldaprecords = $ldap->getRecords('*', $conf->global->LDAP_MEMBER_DN, $conf->global->LDAP_KEY_MEMBERS, $required_fields, 'member'); // Fiter on 'member' filter param
- $ldaprecords = $ldap->getRecords('*', $conf->global->LDAP_USER_DN, $conf->global->LDAP_KEY_USERS, $required_fields, 'user'); // Fiter on 'user' filter param
- $ldaprecords = $ldap->getRecords('*', getDolGlobalString('LDAP_MEMBER_DN'), getDolGlobalString('LDAP_KEY_MEMBERS'), $required_fields, 'member'); // Fiter on 'member' filter param
- $ldaprecords = $ldap->getRecords('*', getDolGlobalString('LDAP_USER_DN'), getDolGlobalString('LDAP_KEY_USERS'), $required_fields, 'user'); // Fiter on 'user' filter param
- $mege = imap_fetchbody($mbox, $jk, $fpos);
- $mege = imap_fetchbody($mbox, $jk, $fpos, FT_UID);
- $object->status = $object->fk_statut; // for backwad compatibility
+ $head[$h][1] = $langs->trans('Referers');
+ $morewherefilterarray[] = " t.datee <= '".$db->idate($search_date_end_end)."'";
+ $morewherefilterarray[] = " t.datee >= '".$db->idate($search_date_end_start)."'";
$opensurveysondage->mail_admin = $_SESSION['adresse'];
$pdf->SetXY($savx, $savy);
+ $projectstatic->datee = $db->jdate($obj->projectdatee);
+ $reday = GETPOST('reday');
$savy = $pdf->getY();
- $showfield = 1; // By defaut
$somethingshown = $formactions->showactions($object, 'mouvement', 0, 1, '', $MAXEVENT, '', $morehtmlcenter); // Show all action for product
+ $sql .= " (cs.periode IS NOT NULL AND cs.periode between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
+ $sql .= " AND cs.periode <= '".$db->idate($search_date_limit_end)."'";
+ $sql .= " AND cs.periode >= '".$db->idate($search_date_limit_start)."'";
+ $sql .= " AND p.datee <= '".$db->idate($search_date_end_end)."'";
+ $sql .= " AND p.datee >= '".$db->idate($search_date_end_start)."'";
+ $sql .= " AND t.datee <= '".$db->idate($search_datelimit_end)."'";
+ $sql .= " AND t.datee >= '".$db->idate($search_datelimit_start)."'";
+ $sql .= " GROUP BY p.ref, p.title, p.rowid, p.fk_statut, p.fk_opp_status, p.public, p.dateo, p.datee, t.label, t.rowid, t.planned_workload, t.duration_effective, t.progress, t.dateo, t.datee";
+ $sql .= " GROUP BY p.rowid, p.ref, p.title, p.fk_statut, p.datee, p.fk_opp_status, p.public, p.fk_user_creat,";
+ $sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
+ $sql .= " ORDER BY t.dateo DESC, t.rowid DESC, t.datee DESC";
$sql .= " SET reponses = '".$db->escape($nouveauchoix)."'";
- $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories set cachenbofdoc = -1 WHERE cachenbofdoc < 0"; // If pb into cahce counting, we set to value -1 = "unknown"
- $tmpday = -date("w", dol_mktime(12, 0, 0, $month, 1, $year, 'gmt')) + 2; // date('w') is 0 fo sunday
- $valuetoshow = ucfirst($fieldlist[$field]); // By defaut
- /* intput, input[type=text], */
- /* width: 168px; If I use with, there is trouble on size of flex boxes solved with min+max that is a little bit higer than min */
- /** Renvoi la description par defaut du modele de numerotation
- /** @var string Authentification key */
- // -> 7=Canceled/Never received -> (reopen) 3=Process runing
- // 0=Draft -> 1=Validated -> 2=Approved -> 3=Process runing -> 4=Received partially -> 5=Received totally -> (reopen) 4=Received partially
- // -> 7=Canceled/Never received -> (reopen) 3=Process runing
- // (usefull to sort holidays, sick days or similar on the top)
- // Add LEFT JOIN for all parent tables mentionned into the Group by
- // Add LEFT JOIN for all parent tables mentionned into the Xaxis
- // Add LEFT JOIN for all parent tables mentionned into the Yaxis
- // Add format informations and link to download example
- // Affichage de la liste des projets de la semaine
- // Bit 1: 0 ligne normale - 1 si ligne de remise fixe
- // Build filter to diplay only concerned lines
- // By default use tls decied by PHP.
- // Cas des parametres TAX_MODE_SELL/BUY_SERVICE/PRODUCT
- // Chargement de la classe
- // Chargement de labels et data_xxx pour tableau 4 Mouvements
- // Chars '--' can be used into filename to inject special paramaters like --use-compress-program to make command with file as parameter making remote execution of command
- // Compare version with last install database version (upgrades never occured)
- // Confirm cancelation
- // Confirm deleteion
- // Confirmation desactivation
- // Confirmation du classement abandonne
- // Contacts of task, disabled because available by default jsut after
- // Create MO with Childs
- // Create classe to use for import
- // Create or edit a varian
- // Create temporary encryption key if nedded
- // Date appoval
- // Date delivery planed
- // Definition des parametres vente produit pour paybox
- // Definition, nettoyage parametres
- // Delivery date planed
- // Donwload file
- // Edition des varibales globales
- // FIX for compatibity habitual tabs
- // Fixe les dimensions de la vignette
- // Fixed by Matelli (see http://matelli.fr/showcases/patchs-dolibarr/fix-cleaning-url.html)
- // For example to avoid to have substition done when object is generic and not yet defined.
- // Force parametres en chaine
- // Get the main request informaiton.
- // Hauteur par defaut d'une ligne
- // If there is a translation, we can send immediatly the label
- // If we are here, this means authentication was successfull.
- // Initialisation objet cactioncomm
- // Initialize array of search criterias
- // Link for delivery fields ref and date. Does not duplicate the line because we should always have ony 1 link or 0 per shipment
- // List of fiels for action=list
- // None. Beeing connected is enough.
- // Nunber of files
- // On remet cette lecture de permission ici car nécessaire d'avoir le nouveau statut de l'objet après toute action exécutée dessus (après incrémentation par exemple, le bouton supprimer doit disparaître)
- // Parameteres execution
- // Payment informations
- // Payments not linked to an invoice. Should not happend. For debug only.
- // Peut valoir un nombre ou liste de nombre separes par virgules
- // Properties to store project informations
- // Replace HTML coments
- // Replace protected special codes with matching number of _ as wild card caracter
- // Search parent to set task_parent_alternate_id (requird by ganttchart)
- // Set also dependencies between use taks and bill time
- // Show autofill date for recuring invoices
- // Show image to selecte between date survey or other survey
- // Si (vendeur dans Communaute europeene et acheteur hors Communaute europeenne et acheteur particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle
- // Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = entreprise) alors TVA par defaut=0. Fin de regle
- // Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle
- // Si (vendeur et acheteur dans Communaute europeenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
- // Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
- // Sinon la TVA proposee par defaut=0. Fin de regle.
- // Subscription informations
- // Tableau des parametres complementaires du post
- // The feature to define the numbering module of lot or serial is no enabled bcause it is not used anywhere in Dolibarr code: You can set it
- // Update ressource
- // Verification parametres
- // Warning: Do not set default value into property defintion. it must stay null.
- // We keep it with value ForceBuyingPriceIfNull = 2 for retroactive effect but results are unpredicable.
- // We open a list of transaction of a dedicated account and no page was set by defaut
- // When a dictionnary is commented
- // add properties and declare them in consturctor
- // buil format asciidoc for urls in table
- // but in some situations that is required (update legal informations for example)
- // for gravatar use get_avatar_from_service('gravatar', md5 hash email@adress, size-in-px )
- // on transfert les données de l'un vers l'autre
- // rewrite dictionnary if
- // si le filtrage est parametre pour l'export ou pas
- // start and end date that change with time andd that may be different that the period of reference for price.
- // verify informations entred
- //' If an error occured, show the resulting errors
- //' If the API call succeded, then redirect the buyer to PayPal to begin to authorize payment.
- //' of the authorization, incuding any shipping information of the
- //'__PERSONALIZED__' => 'TESTPersonalized' // Hiden because not used yet
- //'options_attr2'=>'Attr2 balbal' //Extra field exemple where field code is attr2
- //,'options_attr1'=>'Attr1 balbal', //Extra field exemple where field code is attr1
- //If invoice has been converted and the conversion has been used, we dont have remain to pay on invoice
- //If no task avaiblable, redirec to to add confirm
- //TODO : Note and docuement
- //console.log("amount before="+amount+" rouding="+rounding)
- //if ($val['notnull'] > 0) $rightpart .= ' fieldrequired'; // No fieldrequired inthe view output
- //search and get all permssion in stirng
-
pRes
(optional) resource name
+ $sql .= " cs.rowid, cs.libelle, cs.fk_type as type, cs.periode as period, cs.date_ech, cs.amount as total,";
+ $sql .= " t.datec, t.dateo, t.datee, t.tms,";
+ $sql .= " t.label, t.rowid as taskid, t.planned_workload, t.duration_effective, t.progress, t.dateo as date_start, t.datee as date_end, SUM(tasktime.element_duration) as timespent";
+ $sql = "SELECT p.ref, p.title, p.rowid as projectid, p.fk_statut as status, p.fk_opp_status as opp_status, p.public, p.dateo as projdate_start, p.datee as projdate_end,";
+ $sql.= " ".MAIN_DB_PREFIX."notify_def as nd,";
+ $sql.= " AND nd.fk_action = ad.rowid";
+ $sql.= " WHERE u.rowid = nd.fk_user";
+ $sql.= " nd.rowid, ad.code, ad.label";
+ $sql2 .= " p.dateo, p.datee,";
+ $sql2 .= " s.logo, s.email, s.entity, p.fk_user_creat, p.public, p.fk_statut, p.fk_opp_status, p.opp_percent, p.opp_amount, p.dateo, p.datee";
+ $title = $langs->trans('Batch')." ".$shortlabel." - ".$langs->trans('Referers');
+ $totalforvisibletasks = projectLinesPerMonth($j, $firstdaytoshow, $usertoprocess, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask, $isavailable, 0, $TWeek);
+ 'cs.periode' =>array('label'=>"PeriodEndDate", 'checked'=>1, 'position'=>50),
+ 't.datee'=>array('label'=>"Deadline", 'checked'=>1, 'position'=>101),
+ 't.datee'=>array('label'=>"Deadline", 'checked'=>1, 'position'=>5),
+ // Ligne de la periode d'analyse du rapport
+ // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
+ //$datee=$now
+ //$dates=dol_time_plus_duree($datee, -1, 'y');
TaskItem(pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt)
-
-
- Une ligne represente un element : data[$x]
- accessforbidden('Not enought permissions');
- const CLOSECODE_ABANDONED = 'abandon'; // Abandonned - other
- const CLOSECODE_BADDEBT = 'badcustomer'; // Abandonned remain - bad customer
- const CLOSECODE_BANKCHARGE = 'bankcharge'; // Abandonned remain - bank charge
- const CLOSECODE_DISCOUNTVAT = 'discount_vat'; // Abandonned remain - escompte
- const CLOSECODE_OTHER = 'other'; // Abandonned remain - other
- const TRIGGER_PREFIX = ''; // to be overriden in child class implementations, i.e. 'BILL', 'TASK', 'PROPAL', etc.
- display: inline-block; /* this will be modifiy on the fly by the copy-paste js code in lib_foot.js.php to have copy feature working */
- dol_syslog("complete_dictionary_with_modules Search external modules to complete the list of dictionnary tables", LOG_DEBUG, 1);
- dol_syslog("getURLContent response size=".strlen($response)); // This may contains binary data, so we dont output it
- dolibarr_del_const($db, 'SYSLOG_HANDLERS', -1); // To be sure ther is not a setup into another entity
- echo $line->disable_stock_change ? yn($line->disable_stock_change) : ''; // Yes, it is a quantity, not a price, but we just want the formating role of function price
- global $conf, $db, $hookmanager, $langs, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs; // Very important. Required to have var available when running inluded containers.
- global $conf, $db, $hookmanager, $langs, $mysoc, $user, $website, $websitepage, $weblangs; // Very important. Required to have var available when running inluded containers.
- httponly_accessforbidden('Module Memebership no enabled');
+ foreach ($TWeek as $weekNb) {
+ foreach ($TWeek as $week_number) {
+ if (!empty($arrayfields['t.datee']['checked'])) {
if ($action == "transfert") {
- if ($fils == 0) {
- if ($fk_pa > 0 && empty($paht)) {
- if (empty($shmkeys[$memoryid])) { // No room reserved for thid memoryid, no way to use cache
- if (getDolGlobalInt('PRODUCT_USE_OLD_PATH_FOR_PHOTO')) { // For backward compatiblity, we scan also old dirs
- min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height doe not work either for div */
- min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height does not work either for div */
- padding: .19em .35em; /* more than 0.19 generate a change into heigth of lines */
- print "Load joomla news and create them into Dolibarr database (if they don't alreay exist).\n";
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
- print '
The recommanded value for MAIN_SECURITY_HASH_ALGO is now \'password_hash\' but setting it now will make ALL existing passwords of all users not valid, so update is not possible. ';
+ if (GETPOST("reyear", "int") && GETPOST("remonth", "int") && GETPOST("reday", "int")) {
+ if (GETPOST('reday')) {
+ print $form->selectDate($datee, 'datee', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '';
print '