25 if (!defined(
'NOLOGIN')) define(
"NOLOGIN", 1);
26 if (!defined(
'NOCSRFCHECK')) define(
"NOCSRFCHECK", 1);
27 if (!defined(
'NOBROWSERNOTIF')) define(
'NOBROWSERNOTIF',
'1');
28 if (!defined(
'NOIPCHECK')) define(
'NOIPCHECK',
'1');
30 require
'../../main.inc.php';
31 require_once DOL_DOCUMENT_ROOT.
"/core/lib/admin.lib.php";
32 require_once DOL_DOCUMENT_ROOT.
"/core/lib/files.lib.php";
33 require_once DOL_DOCUMENT_ROOT.
"/opensurvey/class/opensurveysondage.class.php";
34 require_once DOL_DOCUMENT_ROOT.
"/opensurvey/fonctions.php";
38 $action =
GETPOST(
'action',
'aZ09');
42 $numsondage =
GETPOST(
'sondage',
'alpha');
46 $result = $object->fetch(0, $numsondage);
48 $nblines = $object->fetch_lines();
61 $nbcolonnes = substr_count($object->sujet,
',') + 1;
63 $listofvoters = explode(
',', $_SESSION[
"savevoter"]);
66 if (
GETPOST(
'ajoutcomment',
'alpha'))
72 $comment =
GETPOST(
"comment",
'restricthtml');
73 $comment_user =
GETPOST(
'commentuser',
'nohtml');
78 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Comment")), null,
'errors');
83 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Name")), null,
'errors');
86 if (!in_array($comment_user, $listofvoters))
88 setEventMessages($langs->trans(
"UserMustBeSameThanUserUsedToVote"), null,
'errors');
94 $resql = $object->addComment($comment, $comment_user);
109 for ($i = 0; $i < $nbcolonnes; $i++)
112 $nouveauchoix .=
"1";
114 $nouveauchoix .=
"2";
116 $nouveauchoix .=
"0";
120 $nom = substr(
GETPOST(
"nom",
'nohtml'), 0, 64);
123 $sql =
'SELECT id_users, nom as name';
124 $sql .=
' FROM '.MAIN_DB_PREFIX.
'opensurvey_user_studs';
125 $sql .=
" WHERE id_sondage='".$db->escape($numsondage).
"' AND nom = '".$db->escape($nom).
"' ORDER BY id_users";
126 $resql = $db->query($sql);
129 $num_rows = $db->num_rows(
$resql);
135 $sql =
'INSERT INTO '.MAIN_DB_PREFIX.
'opensurvey_user_studs (nom, id_sondage, reponses)';
136 $sql .=
" VALUES ('".$db->escape($nom).
"', '".$db->escape($numsondage).
"','".$db->escape($nouveauchoix).
"')";
137 $resql = $db->query($sql);
142 $_SESSION[
"savevoter"] = $nom.
','.(empty($_SESSION[
"savevoter"]) ?
'' : $_SESSION[
"savevoter"]);
143 $listofvoters = explode(
',', $_SESSION[
"savevoter"]);
145 if ($object->mailsonde)
147 if ($object->fk_user_creat) {
148 $userstatic =
new User($db);
149 $userstatic->fetch($object->fk_user_creat);
151 $email = $userstatic->email;
153 $email = $object->mail_admin;
158 include_once DOL_DOCUMENT_ROOT.
'/core/class/CMailFile.class.php';
160 $application = ($conf->global->MAIN_APPLICATION_TITLE ? $conf->global->MAIN_APPLICATION_TITLE :
'Dolibarr ERP/CRM');
162 $body = str_replace(
'\n',
'<br>', $langs->transnoentities(
'EmailSomeoneVoted', $nom,
getUrlSondage($numsondage,
true)));
165 $cmailfile =
new CMailFile(
"[".$application.
"] ".$langs->trans(
"Poll").
': '.$object->title, $email, $conf->global->MAIN_MAIL_EMAIL_FROM, $body, null, null, null,
'',
'', 0, -1);
166 $result = $cmailfile->sendfile();
172 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Name")), null,
'errors');
178 $testmodifier =
false;
179 $testligneamodifier =
false;
180 $ligneamodifier = -1;
181 for ($i = 0; $i < $nblines; $i++)
185 $ligneamodifier = $i;
186 $testligneamodifier =
true;
193 $testmodifier =
true;
201 for ($i = 0; $i < $nbcolonnes; $i++)
205 $nouveauchoix .=
"1";
207 $nouveauchoix .=
"2";
209 $nouveauchoix .=
"0";
215 $idtomodify = $_POST[
"idtomodify".$modifier];
216 $sql =
'UPDATE '.MAIN_DB_PREFIX.
"opensurvey_user_studs";
217 $sql .=
" SET reponses = '".$db->escape($nouveauchoix).
"'";
218 $sql .=
" WHERE id_users = '".$db->escape($idtomodify).
"'";
220 $resql = $db->query($sql);
225 $idcomment =
GETPOST(
'deletecomment',
'int');
230 $resql = $object->deleteComment($idcomment);
239 $form =
new Form($db);
241 $arrayofjs = array();
242 $arrayofcss = array(
'/opensurvey/css/style.css');
244 llxHeaderSurvey($object->title,
"", 0, 0, $arrayofjs, $arrayofcss, $numsondage);
246 if (empty($object->ref))
248 $langs->load(
"errors");
249 print $langs->trans(
"ErrorRecordNotFound");
258 $toutsujet = explode(
",", $object->sujet);
259 $listofanswers = array();
260 foreach ($toutsujet as $value)
262 $tmp = explode(
'@', $value);
263 $listofanswers[] = array(
'label'=>$tmp[0],
'format'=>($tmp[1] ? $tmp[1] :
'checkbox'));
265 $toutsujet = str_replace(
"°",
"'", $toutsujet);
269 print '<div class="survey_invitation">'.$langs->trans(
"YouAreInivitedToVote").
'</div>';
270 print $langs->trans(
"OpenSurveyHowTo").
'<br><br>';
272 print '<div class="corps"> '.
"\n";
275 $titre = str_replace(
"\\",
"", $object->title);
276 print '<strong>'.dol_htmlentities($titre).
'</strong><br><br>'.
"\n";
279 if ($object->description)
288 if (!$canbemodified) {
289 print '<div style="text-align: center"><p>'.$langs->trans(
'SurveyExpiredInfo').
'</p></div>';
296 print '<div class="cadre"> '.
"\n";
297 print '<br><br>'.
"\n";
300 print '<table class="resultats">'.
"\n";
303 if ($object->format ==
"D")
307 print '<td></td>'.
"\n";
311 $nbofsujet = count($toutsujet);
312 for ($i = 0; $i < $nbofsujet; $i++)
314 if (isset($toutsujet[$i + 1]) && date(
'Y', intval($toutsujet[$i])) == date(
'Y', intval($toutsujet[$i + 1]))) {
317 print '<td colspan='.$colspan.
' class="annee">'.date(
'Y', intval($toutsujet[$i])).
'</td>'.
"\n";
324 print '<td></td>'.
"\n";
328 for ($i = 0; $i < $nbofsujet; $i++) {
329 $cur = intval($toutsujet[$i]);
331 if (isset($toutsujet[$i + 1]) ===
false) {
334 $next = intval($toutsujet[$i + 1]);
347 print '<td></td>'.
"\n";
351 for ($i = 0; $i < $nbofsujet; $i++) {
352 $cur = intval($toutsujet[$i]);
353 if (isset($toutsujet[$i + 1]) ===
false) {
356 $next = intval($toutsujet[$i + 1]);
361 print '<td colspan="'.$colspan.
'" class="jour">'.
dol_print_date($cur,
"%a %e").
'</td>'.
"\n";
369 if (strpos($object->sujet,
'@') !==
false) {
371 print '<td></td>'.
"\n";
373 for ($i = 0; isset($toutsujet[$i]); $i++) {
374 $heures = explode(
'@', $toutsujet[$i]);
375 if (isset($heures[1])) {
376 print '<td class="heure">'.dol_htmlentities($heures[1]).
'</td>'.
"\n";
378 print '<td class="heure"></td>'.
"\n";
387 print '<td></td>'.
"\n";
389 for ($i = 0; isset($toutsujet[$i]); $i++)
391 $tmp = explode(
'@', $toutsujet[$i]);
392 print '<td class="sujet">'.dol_escape_htmltag($tmp[0]).
'</td>'.
"\n";
401 $sumagainst = array();
403 $sql =
"SELECT id_users, nom as name, id_sondage, reponses";
404 $sql .=
" FROM ".MAIN_DB_PREFIX.
"opensurvey_user_studs";
405 $sql .=
" WHERE id_sondage = '".$db->escape($numsondage).
"'";
406 $resql = $db->query($sql);
412 $num = $db->num_rows(
$resql);
413 while ($compteur < $num)
415 $obj = $db->fetch_object(
$resql);
417 $ensemblereponses = $obj->reponses;
420 $mod_ok = (in_array($obj->name, $listofvoters));
422 if (!$mod_ok && !$object->allow_spy) {
430 print '<td class="nom">'.dol_htmlentities($obj->name).
'</td>'.
"\n";
433 if (!$testligneamodifier)
435 for ($i = 0; $i < $nbcolonnes; $i++)
437 $car = substr($ensemblereponses, $i, 1);
440 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
442 if (((
string) $car) ==
"1")
print '<td class="ok">OK</td>'.
"\n";
443 else print '<td class="non">KO</td>'.
"\n";
445 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
446 if (((
string) $car) ==
"1") $sumfor[$i]++;
448 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'yesno')
450 if (((
string) $car) ==
"1")
print '<td class="ok">'.$langs->trans(
"Yes").
'</td>'.
"\n";
451 elseif (((
string) $car) ==
"0")
print '<td class="non">'.$langs->trans("No").'</td>'."\
n";
452 else print '<td class="vide"> </td>'."\n";
454 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
455 if (!isset($sumagainst[$i])) $sumagainst[$i] = 0;
456 if (((
string) $car) == "1") $sumfor[$i]++;
457 if (((
string) $car) == "0") $sumagainst[$i]++;
459 if (!empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
461 if (((
string) $car) ==
"1")
print '<td class="ok">'.$langs->trans(
"For").
'</td>'.
"\n";
462 elseif (((
string) $car) ==
"0")
print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
463 else print '<td class="vide"> </td>'."\n";
465 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
466 if (!isset($sumagainst[$i])) $sumagainst[$i] = 0;
467 if (((
string) $car) == "1") $sumfor[$i]++;
468 if (((
string) $car) == "0") $sumagainst[$i]++;
473 if ($compteur == $ligneamodifier)
475 for ($i = 0; $i < $nbcolonnes; $i++)
477 $car = substr($ensemblereponses, $i, 1);
478 print '<td class="vide">';
479 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
481 print '<input type="checkbox" name="choix'.$i.
'" value="1" ';
482 if ($car ==
'1')
print 'checked';
485 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'yesno')
487 $arraychoice = array(
'2'=>
' ',
'0'=>$langs->trans(
"No"),
'1'=>$langs->trans(
"Yes"));
488 print $form->selectarray(
"choix".$i, $arraychoice, $car);
490 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'foragainst')
492 $arraychoice = array(
'2'=>
' ',
'0'=>$langs->trans(
"Against"),
'1'=>$langs->trans(
"For"));
493 print $form->selectarray(
"choix".$i, $arraychoice, $car);
498 for ($i = 0; $i < $nbcolonnes; $i++)
500 $car = substr($ensemblereponses, $i, 1);
501 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
503 if (((
string) $car) ==
"1")
print '<td class="ok">OK</td>'.
"\n";
504 else print '<td class="non">KO</td>'.
"\n";
506 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
507 if (((
string) $car) ==
"1") $sumfor[$i]++;
509 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'yesno')
511 if (((
string) $car) ==
"1")
print '<td class="ok">'.$langs->trans(
"For").
'</td>'.
"\n";
512 elseif (((
string) $car) ==
"0")
print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
513 else print '<td class="vide"> </td>'."\n";
515 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
516 if (!isset($sumagainst[$i])) $sumagainst[$i] = 0;
517 if (((
string) $car) == "1") $sumfor[$i]++;
518 if (((
string) $car) == "0") $sumagainst[$i]++;
520 if (!empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
522 if (((
string) $car) ==
"1")
print '<td class="ok">'.$langs->trans(
"For").
'</td>'.
"\n";
523 elseif (((
string) $car) ==
"0")
print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
524 else print '<td class="vide"> </td>'."\n";
526 if (!isset($sumfor[$i])) $sumfor[$i] = 0;
527 if (!isset($sumagainst[$i])) $sumagainst[$i] = 0;
528 if (((
string) $car) == "1") $sumfor[$i]++;
529 if (((
string) $car) == "0") $sumagainst[$i]++;
536 if ($compteur != $ligneamodifier && $mod_ok)
538 print '<td class="casevide"><input type="submit" class="button smallpaddingimp" name="modifierligne'.$compteur.
'" value="'.
dol_escape_htmltag($langs->trans(
"Edit")).
'"></td>'.
"\n";
542 for ($i = 0; $i < $nblines; $i++)
548 print '<td class="casevide">';
549 print '<input type="hidden" name="idtomodify'.$compteur.
'" value="'.$obj->id_users.
'">';
550 print '<input type="submit" class="button button-save" name="validermodifier'.$compteur.
'" value="'.
dol_escape_htmltag($langs->trans(
"Save")).
'">';
561 if ($ligneamodifier < 0 && (!isset($_SESSION[
'nom'])))
564 print '<td class="nom">'.
"\n";
565 if (isset($_SESSION[
'nom']))
567 print '<input type=hidden name="nom" value="'.$_SESSION[
'nom'].
'">'.$_SESSION[
'nom'].
"\n";
569 print '<input type="text" name="nom" placeholder="'.dol_escape_htmltag($langs->trans(
"Name")).
'" maxlength="64" size="24">'.
"\n";
574 for ($i = 0; $i < $nbcolonnes; $i++)
576 print '<td class="vide">';
577 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
579 print '<input type="checkbox" name="choix'.$i.
'" value="1"';
585 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'yesno')
587 $arraychoice = array(
'2'=>
' ',
'0'=>$langs->trans(
"No"),
'1'=>$langs->trans(
"Yes"));
588 print $form->selectarray(
"choix".$i, $arraychoice,
GETPOST(
'choix'.$i));
590 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'foragainst')
592 $arraychoice = array(
'2'=>
' ',
'0'=>$langs->trans(
"Against"),
'1'=>$langs->trans(
"For"));
593 print $form->selectarray(
"choix".$i, $arraychoice,
GETPOST(
'choix'.$i));
599 print '<td><input type="image" class="borderimp" name="boutonp" value="'.$langs->trans(
"Vote").
'" src="'.
img_picto(
'',
'edit_add',
'',
false, 1).
'"></td>'.
"\n";
605 for ($i = 0; $i < $nbcolonnes; $i++)
607 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
609 if (isset($sumfor[$i]))
613 $meilleurecolonne = $sumfor[$i];
615 if (!isset($meilleurecolonne) || $sumfor[$i] > $meilleurecolonne)
617 $meilleurecolonne = $sumfor[$i];
622 if ($object->allow_spy) {
625 print '<td class="center">'.$langs->trans(
"Total").
'</td>'.
"\n";
626 for ($i = 0; $i < $nbcolonnes; $i++)
628 $showsumfor = isset($sumfor[$i]) ? $sumfor[$i] :
'';
629 $showsumagainst = isset($sumagainst[$i]) ? $sumagainst[$i] :
'';
630 if (empty($showsumfor)) $showsumfor = 0;
631 if (empty($showsumagainst)) $showsumagainst = 0;
634 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')))
print $showsumfor;
635 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'yesno')
print $langs->trans(
"Yes").
': '.$showsumfor.
'<br>'.$langs->trans(
"No").
': '.$showsumagainst;
636 if (!empty($listofanswers[$i][
'format']) && $listofanswers[$i][
'format'] ==
'foragainst')
print $langs->trans(
"For").
': '.$showsumfor.
'<br>'.$langs->trans(
"Against").
': '.$showsumagainst;
641 if ($nbofcheckbox >= 2)
644 print '<td class="somme"></td>'.
"\n";
645 for ($i = 0; $i < $nbcolonnes; $i++)
648 if (empty($listofanswers[$i][
'format']) || !in_array($listofanswers[$i][
'format'], array(
'yesno',
'foragainst')) && isset($sumfor[$i]) && isset($meilleurecolonne) && $sumfor[$i] == $meilleurecolonne)
650 print '<td class="somme"><img src="'.dol_buildpath(
'/opensurvey/img/medaille.png', 1).
'"></td>'.
"\n";
652 print '<td class="somme"></td>'.
"\n";
658 print '</table>'.
"\n";
661 if ($object->allow_spy) {
662 $toutsujet = explode(
",", $object->sujet);
663 $toutsujet = str_replace(
"°",
"'", $toutsujet);
668 for ($i = 0; $i < $nbcolonnes; $i++) {
669 if (isset($sumfor[$i]) && isset($meilleurecolonne) && $sumfor[$i] == $meilleurecolonne) {
670 $meilleursujet .=
", ";
671 if ($object->format ==
"D") {
672 $meilleursujetexport = $toutsujet[$i];
674 if (strpos($toutsujet[$i],
'@') !==
false) {
675 $toutsujetdate = explode(
"@", $toutsujet[$i]);
681 $tmps = explode(
'@', $toutsujet[$i]);
689 $meilleursujet = substr(
"$meilleursujet", 1);
690 $meilleursujet = str_replace(
"°",
"'", $meilleursujet);
694 if ($nbofcheckbox >= 2)
696 $vote_str = $langs->trans(
'votes');
697 print '<p class="affichageresultats">'.
"\n";
699 if (isset($meilleurecolonne) && $compteursujet ==
"1") {
700 print '<img src="'.dol_buildpath(
'/opensurvey/img/medaille.png', 1).
'"> '.$langs->trans(
'TheBestChoice').
": <b>".$meilleursujet.
"</b> ".$langs->trans(
'with').
" <b>$meilleurecolonne </b>".$vote_str.
".\n";
701 } elseif (isset($meilleurecolonne)) {
702 print '<img src="'.dol_buildpath(
'/opensurvey/img/medaille.png', 1).
'"> '.$langs->trans(
'TheBestChoices').
": <b>".$meilleursujet.
"</b> ".$langs->trans(
'with').
" <b>$meilleurecolonne </b>".$vote_str.
".\n";
705 print '</p><br>'.
"\n";
713 $comments = $object->getComments();
717 print '<br><u><span class="bold opacitymedium">'.$langs->trans(
"CommentsOfVoters").
':</span></u><br>'.
"\n";
719 foreach ($comments as $obj) {
723 print '<div class="comment"><span class="usercomment">';
724 if (in_array($obj->usercomment, $listofvoters))
print '<a href="'.$_SERVER[
"PHP_SELF"].
'?deletecomment='.$obj->id_comment.
'&sondage='.$numsondage.
'"> '.
img_picto(
'',
'delete.png',
'',
false, 0, 0,
'',
'nomarginleft').
'</a> ';
731 if ($object->allow_comments) {
732 print '<br><div class="addcomment"><span class="opacitymedium">'.$langs->trans(
"AddACommentForPoll").
"</span><br>\n";
734 print '<textarea name="comment" rows="'.ROWS_2.
'" class="quatrevingtpercent">'.
dol_escape_htmltag(
GETPOST(
'comment',
'restricthtml'), 0, 1).
'</textarea><br>'.
"\n";
735 print $langs->trans(
"Name").
': ';
736 print '<input type="text" name="commentuser" maxlength="64" value="'.GETPOST(
'commentuser',
'nohtml').
'"> '.
"\n";
737 print '<input type="submit" class="button" name="ajoutcomment" value="'.dol_escape_htmltag($langs->trans(
"AddComment")).
'"><br>'.
"\n";
738 print '</form>'.
"\n";
745 print '<a name="bas"></a>'.
"\n";
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_now($mode= 'auto')
Return date for now.
Class to manage Dolibarr users.
getUrlSondage($id, $admin=false)
Fonction permettant de générer les URL pour les sondage.
dol_htmlentities($string, $flags=null, $encoding= 'UTF-8', $double_encode=false)
Replace htmlentities functions.
dol_htmlentitiesbr($stringtoencode, $nl2brmode=0, $pagecodefrom= 'UTF-8', $removelasteolbr=1)
This function is called to encode a string into a HTML string but differs from htmlentities because a...
dol_nl2br($stringtoencode, $nl2brmode=0, $forxml=false)
Replace CRLF in string with a HTML BR tag.
const STATUS_CLOSED
Closed.
llxFooterSurvey()
Show footer for new member.
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname.
Class to send emails (with attachments or not) Usage: $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filepath,$mimetype,$filename,$cc,$ccc,$deliveryreceipt,$msgishtml,$errors_to,$css,$trackid,$moreinheader,$sendcontext,$replyto); $mailfile->sendfile();.
img_picto($titlealt, $picto, $moreatt= '', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt= '', $morecss= '', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
if(!GETPOST('transkey', 'alphanohtml')&&!GETPOST('transphrase', 'alphanohtml')) else
View.
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
Put here description of your class.
print
Draft customers invoices.
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
print $_SERVER["PHP_SELF"] n
Edit parameters.
llxHeaderSurvey($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs= '', $arrayofcss= '', $numsondage= '')
Show header for new member.
if(!defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN'
Draft customers invoices.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $keepmoretags= '', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields...