Completed
Branch develop (a671c9)
by
unknown
21:29
created
htdocs/projet/tasks/time.php 1 patch
Spacing   +173 added lines, -173 removed lines patch added patch discarded remove patch
@@ -33,14 +33,14 @@  discard block
 block discarded – undo
33 33
 
34 34
 // Load Dolibarr environment
35 35
 require '../../main.inc.php';
36
-require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
37
-require_once DOL_DOCUMENT_ROOT . '/projet/class/task.class.php';
38
-require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
39
-require_once DOL_DOCUMENT_ROOT . '/core/lib/project.lib.php';
40
-require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
41
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
42
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php';
43
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.formintervention.class.php';
36
+require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
37
+require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php';
38
+require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
39
+require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
40
+require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
41
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
42
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
43
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formintervention.class.php';
44 44
 
45 45
 // Load translation files required by the page
46 46
 $langsLoad = array('projects', 'bills', 'orders', 'companies');
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
 	setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
167 167
 }
168 168
 
169
-include DOL_DOCUMENT_ROOT . '/core/actions_changeselectedfields.inc.php';
169
+include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
170 170
 
171 171
 // Purge search criteria
172 172
 if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers
@@ -352,10 +352,10 @@  discard block
 block discarded – undo
352 352
 }
353 353
 
354 354
 if ($action == 'confirm_deleteline' && $confirm == "yes" && ($user->hasRight('projet', 'time') || $user->hasRight('projet', 'all', 'creer'))) {
355
-	$object->fetchTimeSpent(GETPOSTINT('lineid'));    // load properties like $object->timespent_xxx
355
+	$object->fetchTimeSpent(GETPOSTINT('lineid')); // load properties like $object->timespent_xxx
356 356
 
357 357
 	if (in_array($object->timespent_fk_user, $childids) || $user->hasRight('projet', 'all', 'creer')) {
358
-		$result = $object->delTimeSpent($user);    // delete line with $object->timespent_id
358
+		$result = $object->delTimeSpent($user); // delete line with $object->timespent_id
359 359
 
360 360
 		if ($result < 0) {
361 361
 			$langs->load("errors");
@@ -375,7 +375,7 @@  discard block
 block discarded – undo
375 375
 		if (count($tasksarray) > 0) {
376 376
 			$id = $tasksarray[0]->id;
377 377
 		} else {
378
-			header("Location: " . DOL_URL_ROOT . '/projet/tasks.php?id=' . $projectstatic->id . ($withproject ? '&withproject=1' : '') . (empty($mode) ? '' : '&mode=' . $mode));
378
+			header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject ? '&withproject=1' : '').(empty($mode) ? '' : '&mode='.$mode));
379 379
 			exit;
380 380
 		}
381 381
 	}
@@ -412,9 +412,9 @@  discard block
 block discarded – undo
412 412
 	if (!($projectstatic->thirdparty->id > 0)) {
413 413
 		setEventMessages($langs->trans("ThirdPartyRequiredToGenerateInvoice"), null, 'errors');
414 414
 	} else {
415
-		include_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
416
-		include_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
417
-		include_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php';
415
+		include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
416
+		include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
417
+		include_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
418 418
 
419 419
 		$tmpinvoice = new Facture($db);
420 420
 		$tmptimespent = new Task($db);
@@ -480,7 +480,7 @@  discard block
 block discarded – undo
480 480
 				$arrayoftasks = array();
481 481
 				foreach ($toselect as $key => $value) {
482 482
 					// Get userid, timepent
483
-					$object->fetchTimeSpent($value);    // $value is ID of 1 line in timespent table
483
+					$object->fetchTimeSpent($value); // $value is ID of 1 line in timespent table
484 484
 					$arrayoftasks[$object->timespent_fk_user][(int) $object->timespent_fk_product]['timespent'] += $object->timespent_duration;
485 485
 					$arrayoftasks[$object->timespent_fk_user][(int) $object->timespent_fk_product]['totalvaluetodivideby3600'] += ($object->timespent_duration * $object->timespent_thm);
486 486
 				}
@@ -553,7 +553,7 @@  discard block
 block discarded – undo
553 553
 						}
554 554
 
555 555
 						// Add lines
556
-						$lineid = $tmpinvoice->addline($langs->trans("TimeSpentForInvoice", $username) . ' : ' . $qtyhourtext, $pu_htline, round($qtyhour / $prodDurationHours, 2), $txtvaline, $localtax1line, $localtax2line, ($idprodline > 0 ? $idprodline : 0), $remiseproject);
556
+						$lineid = $tmpinvoice->addline($langs->trans("TimeSpentForInvoice", $username).' : '.$qtyhourtext, $pu_htline, round($qtyhour / $prodDurationHours, 2), $txtvaline, $localtax1line, $localtax2line, ($idprodline > 0 ? $idprodline : 0), $remiseproject);
557 557
 						if ($lineid < 0) {
558 558
 							$error++;
559 559
 							setEventMessages(null, $tmpinvoice->errors, 'errors');
@@ -586,16 +586,16 @@  discard block
 block discarded – undo
586 586
 
587 587
 					$arrayoftasks[$object->timespent_id]['timespent'] = $object->timespent_duration;
588 588
 					$arrayoftasks[$object->timespent_id]['totalvaluetodivideby3600'] = $object->timespent_duration * $object->timespent_thm;
589
-					$arrayoftasks[$object->timespent_id]['note'] = $ftask->ref . ' - ' . $ftask->label . ' - ' . $username;
589
+					$arrayoftasks[$object->timespent_id]['note'] = $ftask->ref.' - '.$ftask->label.' - '.$username;
590 590
 					$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $object->timespent_note);
591 591
 
592 592
 					if (!empty($withdetail)) {
593 593
 						if (!empty($object->timespent_withhour)) {
594
-							$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Date") . ': ' . dol_print_date($object->timespent_datehour));
594
+							$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Date").': '.dol_print_date($object->timespent_datehour));
595 595
 						} else {
596
-							$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Date") . ': ' . dol_print_date($object->timespent_date));
596
+							$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Date").': '.dol_print_date($object->timespent_date));
597 597
 						}
598
-						$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Duration") . ': ' . convertSecondToTime($object->timespent_duration, 'all', $conf->global->MAIN_DURATION_OF_WORKDAY));
598
+						$arrayoftasks[$object->timespent_id]['note'] = dol_concatdesc($arrayoftasks[$object->timespent_id]['note'], $langs->trans("Duration").': '.convertSecondToTime($object->timespent_duration, 'all', $conf->global->MAIN_DURATION_OF_WORKDAY));
599 599
 					}
600 600
 					$arrayoftasks[$object->timespent_id]['user'] = $object->timespent_fk_user;
601 601
 					$arrayoftasks[$object->timespent_id]['fk_product'] = $object->timespent_fk_product;
@@ -673,7 +673,7 @@  discard block
 block discarded – undo
673 673
 				$arrayoftasks = array();
674 674
 				foreach ($toselect as $key => $value) {
675 675
 					// Get userid, timepent
676
-					$object->fetchTimeSpent($value);        // Call method to get list of timespent for a timespent line id (We use the utiliy method found into Task object)
676
+					$object->fetchTimeSpent($value); // Call method to get list of timespent for a timespent line id (We use the utiliy method found into Task object)
677 677
 					// $object->id is now the task id
678 678
 					$arrayoftasks[$object->id][(int) $object->timespent_fk_product]['timespent'] += $object->timespent_duration;
679 679
 					$arrayoftasks[$object->id][(int) $object->timespent_fk_product]['totalvaluetodivideby3600'] += ($object->timespent_duration * $object->timespent_thm);
@@ -749,7 +749,7 @@  discard block
 block discarded – undo
749 749
 						// Add lines
750 750
 						$date_start = '';
751 751
 						$date_end = '';
752
-						$lineName = $ftask->ref . ' - ' . $ftask->label;
752
+						$lineName = $ftask->ref.' - '.$ftask->label;
753 753
 						$lineid = $tmpinvoice->addline($lineName, $pu_ht_for_task, price2num($qtyhour / $prodDurationHours, 'MS'), $txtvaline, $localtax1line, $localtax2line, ($idprodline > 0 ? $idprodline : 0), $remiseproject, $date_start, $date_end, 0, 0, '', 'HT', 0, 1, -1, 0, '', 0, 0, null, $pa_ht);
754 754
 						if ($lineid < 0) {
755 755
 							$error++;
@@ -759,8 +759,8 @@  discard block
 block discarded – undo
759 759
 
760 760
 						if (!$error) {
761 761
 							// Update lineid into line of timespent
762
-							$sql = 'UPDATE ' . MAIN_DB_PREFIX . 'element_time SET invoice_line_id = ' . ((int) $lineid) . ', invoice_id = ' . ((int) $tmpinvoice->id);
763
-							$sql .= ' WHERE rowid IN (' . $db->sanitize(implode(',', $toselect)) . ')';
762
+							$sql = 'UPDATE '.MAIN_DB_PREFIX.'element_time SET invoice_line_id = '.((int) $lineid).', invoice_id = '.((int) $tmpinvoice->id);
763
+							$sql .= ' WHERE rowid IN ('.$db->sanitize(implode(',', $toselect)).')';
764 764
 							$result = $db->query($sql);
765 765
 							if (!$result) {
766 766
 								$error++;
@@ -798,12 +798,12 @@  discard block
 block discarded – undo
798 798
 	if (!($projectstatic->thirdparty->id > 0)) {
799 799
 		setEventMessages($langs->trans("ThirdPartyRequiredToGenerateIntervention"), null, 'errors');
800 800
 	} else {
801
-		include_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
802
-		include_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
803
-		include_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php';
801
+		include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
802
+		include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
803
+		include_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
804 804
 
805 805
 
806
-		require_once DOL_DOCUMENT_ROOT . '/fichinter/class/fichinter.class.php';
806
+		require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php';
807 807
 		$tmpinter = new Fichinter($db);
808 808
 		$tmptimespent = new Task($db);
809 809
 		$fuser = new User($db);
@@ -815,7 +815,7 @@  discard block
 block discarded – undo
815 815
 		$tmpinter->socid = $projectstatic->thirdparty->id;
816 816
 		$tmpinter->date = dol_mktime(GETPOSTINT('rehour'), GETPOSTINT('remin'), GETPOSTINT('resec'), GETPOSTINT('remonth'), GETPOSTINT('reday'), GETPOSTINT('reyear'));
817 817
 		$tmpinter->fk_project = $projectstatic->id;
818
-		$tmpinter->description = $projectstatic->title . (!empty($projectstatic->description) ? '-' . $projectstatic->label : '');
818
+		$tmpinter->description = $projectstatic->title.(!empty($projectstatic->description) ? '-'.$projectstatic->label : '');
819 819
 
820 820
 		if ($interToUse) {
821 821
 			$tmpinter->fetch($interToUse);
@@ -848,7 +848,7 @@  discard block
 block discarded – undo
848 848
 				$qtyhourtext = convertSecondToTime($value['timespent'], 'all', $conf->global->MAIN_DURATION_OF_WORKDAY);
849 849
 
850 850
 				// Add lines
851
-				$lineid = $tmpinter->addline($user, $tmpinter->id, $ftask->label . (!empty($value['note']) ? ' - ' . $value['note'] : ''), $value['date'], $value['timespent']);
851
+				$lineid = $tmpinter->addline($user, $tmpinter->id, $ftask->label.(!empty($value['note']) ? ' - '.$value['note'] : ''), $value['date'], $value['timespent']);
852 852
 			}
853 853
 		}
854 854
 
@@ -879,9 +879,9 @@  discard block
 block discarded – undo
879 879
 //$result = $projectstatic->fetch($object->fk_project);
880 880
 $arrayofselected = is_array($toselect) ? $toselect : array();
881 881
 
882
-$title = $object->ref . ' - ' . $langs->trans("TimeSpent");
882
+$title = $object->ref.' - '.$langs->trans("TimeSpent");
883 883
 if (!empty($withproject)) {
884
-	$title .= ' | ' . $langs->trans("Project") . (!empty($projectstatic->ref) ? ': ' . $projectstatic->ref : '');
884
+	$title .= ' | '.$langs->trans("Project").(!empty($projectstatic->ref) ? ': '.$projectstatic->ref : '');
885 885
 }
886 886
 $help_url = '';
887 887
 
@@ -930,13 +930,13 @@  discard block
 block discarded – undo
930 930
 
931 931
 			$param = ((!empty($mode) && $mode == 'mine') ? '&mode=mine' : '');
932 932
 			if ($search_user) {
933
-				$param .= '&search_user=' . ((int) $search_user);
933
+				$param .= '&search_user='.((int) $search_user);
934 934
 			}
935 935
 			if ($search_month) {
936
-				$param .= '&search_month=' . ((int) $search_month);
936
+				$param .= '&search_month='.((int) $search_month);
937 937
 			}
938 938
 			if ($search_year) {
939
-				$param .= '&search_year=' . ((int) $search_year);
939
+				$param .= '&search_year='.((int) $search_year);
940 940
 			}
941 941
 
942 942
 			// Project card
@@ -948,14 +948,14 @@  discard block
 block discarded – undo
948 948
 			$morehtmlref .= $projectstatic->title;
949 949
 			// Thirdparty
950 950
 			if (!empty($projectstatic->thirdparty->id) && $projectstatic->thirdparty->id > 0) {
951
-				$morehtmlref .= '<br>' . $projectstatic->thirdparty->getNomUrl(1, 'project');
951
+				$morehtmlref .= '<br>'.$projectstatic->thirdparty->getNomUrl(1, 'project');
952 952
 			}
953 953
 			$morehtmlref .= '</div>';
954 954
 
955 955
 			// Define a complementary filter for search of next/prev ref.
956 956
 			if (!$user->hasRight('projet', 'all', 'lire')) {
957 957
 				$objectsListId = $projectstatic->getProjectsAuthorizedForUser($user, 0, 0);
958
-				$projectstatic->next_prev_filter = "rowid IN (" . $db->sanitize(count($objectsListId) ? implode(',', array_keys($objectsListId)) : '0') . ")";
958
+				$projectstatic->next_prev_filter = "rowid IN (".$db->sanitize(count($objectsListId) ? implode(',', array_keys($objectsListId)) : '0').")";
959 959
 			}
960 960
 
961 961
 			dol_banner_tab($projectstatic, 'project_ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $param);
@@ -973,25 +973,25 @@  discard block
 block discarded – undo
973 973
 				print '</td>';
974 974
 				print '<td>';
975 975
 				if (getDolGlobalString('PROJECT_USE_OPPORTUNITIES')) {
976
-					print '<input type="checkbox" disabled name="usage_opportunity"' . (GETPOSTISSET('usage_opportunity') ? (GETPOST('usage_opportunity', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_opportunity ? ' checked="checked"' : '')) . '"> ';
976
+					print '<input type="checkbox" disabled name="usage_opportunity"'.(GETPOSTISSET('usage_opportunity') ? (GETPOST('usage_opportunity', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_opportunity ? ' checked="checked"' : '')).'"> ';
977 977
 					$htmltext = $langs->trans("ProjectFollowOpportunity");
978 978
 					print $form->textwithpicto($langs->trans("ProjectFollowOpportunity"), $htmltext);
979 979
 					print '<br>';
980 980
 				}
981 981
 				if (!getDolGlobalString('PROJECT_HIDE_TASKS')) {
982
-					print '<input type="checkbox" disabled name="usage_task"' . (GETPOSTISSET('usage_task') ? (GETPOST('usage_task', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_task ? ' checked="checked"' : '')) . '"> ';
982
+					print '<input type="checkbox" disabled name="usage_task"'.(GETPOSTISSET('usage_task') ? (GETPOST('usage_task', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_task ? ' checked="checked"' : '')).'"> ';
983 983
 					$htmltext = $langs->trans("ProjectFollowTasks");
984 984
 					print $form->textwithpicto($langs->trans("ProjectFollowTasks"), $htmltext);
985 985
 					print '<br>';
986 986
 				}
987 987
 				if (!getDolGlobalString('PROJECT_HIDE_TASKS') && getDolGlobalString('PROJECT_BILL_TIME_SPENT')) {
988
-					print '<input type="checkbox" disabled name="usage_bill_time"' . (GETPOSTISSET('usage_bill_time') ? (GETPOST('usage_bill_time', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_bill_time ? ' checked="checked"' : '')) . '"> ';
988
+					print '<input type="checkbox" disabled name="usage_bill_time"'.(GETPOSTISSET('usage_bill_time') ? (GETPOST('usage_bill_time', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_bill_time ? ' checked="checked"' : '')).'"> ';
989 989
 					$htmltext = $langs->trans("ProjectBillTimeDescription");
990 990
 					print $form->textwithpicto($langs->trans("BillTime"), $htmltext);
991 991
 					print '<br>';
992 992
 				}
993 993
 				if (isModEnabled('eventorganization')) {
994
-					print '<input type="checkbox" disabled name="usage_organize_event"' . (GETPOSTISSET('usage_organize_event') ? (GETPOST('usage_organize_event', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_organize_event ? ' checked="checked"' : '')) . '"> ';
994
+					print '<input type="checkbox" disabled name="usage_organize_event"'.(GETPOSTISSET('usage_organize_event') ? (GETPOST('usage_organize_event', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_organize_event ? ' checked="checked"' : '')).'"> ';
995 995
 					$htmltext = $langs->trans("EventOrganizationDescriptionLong");
996 996
 					print $form->textwithpicto($langs->trans("ManageOrganizeEvent"), $htmltext);
997 997
 				}
@@ -999,7 +999,7 @@  discard block
 block discarded – undo
999 999
 			}
1000 1000
 
1001 1001
 			// Visibility
1002
-			print '<tr><td class="titlefield">' . $langs->trans("Visibility") . '</td><td>';
1002
+			print '<tr><td class="titlefield">'.$langs->trans("Visibility").'</td><td>';
1003 1003
 			if ($projectstatic->public) {
1004 1004
 				print img_picto($langs->trans('SharedProject'), 'world', 'class="paddingrightonly"');
1005 1005
 				print $langs->trans('SharedProject');
@@ -1010,14 +1010,14 @@  discard block
 block discarded – undo
1010 1010
 			print '</td></tr>';
1011 1011
 
1012 1012
 			// Budget
1013
-			print '<tr><td>' . $langs->trans("Budget") . '</td><td>';
1013
+			print '<tr><td>'.$langs->trans("Budget").'</td><td>';
1014 1014
 			if (!is_null($projectstatic->budget_amount) && strcmp($projectstatic->budget_amount, '')) {
1015
-				print '<span class="amount">' . price($projectstatic->budget_amount, 0, $langs, 1, 0, 0, $conf->currency) . '</span>';
1015
+				print '<span class="amount">'.price($projectstatic->budget_amount, 0, $langs, 1, 0, 0, $conf->currency).'</span>';
1016 1016
 			}
1017 1017
 			print '</td></tr>';
1018 1018
 
1019 1019
 			// Date start - end project
1020
-			print '<tr><td>' . $langs->trans("Dates") . '</td><td>';
1020
+			print '<tr><td>'.$langs->trans("Dates").'</td><td>';
1021 1021
 			$start = dol_print_date($projectstatic->date_start, 'day');
1022 1022
 			print($start ? $start : '?');
1023 1023
 			$end = dol_print_date($projectstatic->date_end, 'day');
@@ -1032,7 +1032,7 @@  discard block
 block discarded – undo
1032 1032
 			$cols = 2;
1033 1033
 			$savobject = $object;
1034 1034
 			$object = $projectstatic;
1035
-			include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
1035
+			include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
1036 1036
 			$object = $savobject;
1037 1037
 
1038 1038
 			print '</table>';
@@ -1050,7 +1050,7 @@  discard block
 block discarded – undo
1050 1050
 
1051 1051
 			// Categories
1052 1052
 			if (isModEnabled('category')) {
1053
-				print '<tr><td class="valignmiddle">' . $langs->trans("Categories") . '</td><td>';
1053
+				print '<tr><td class="valignmiddle">'.$langs->trans("Categories").'</td><td>';
1054 1054
 				print $form->showCategories($projectstatic->id, 'project', 1);
1055 1055
 				print "</td></tr>";
1056 1056
 			}
@@ -1079,12 +1079,12 @@  discard block
 block discarded – undo
1079 1079
 
1080 1080
 				if (!empty($projectidforalltimes)) {
1081 1081
 					// We are on tab 'Time Spent' of project
1082
-					$backtourl = $_SERVER['PHP_SELF'] . '?projectid=' . $projectstatic->id . ($withproject ? '&withproject=1' : '');
1083
-					$linktocreatetimeUrl = $_SERVER['PHP_SELF'] . '?' . ($withproject ? 'withproject=1' : '') . '&projectid=' . $projectstatic->id . '&action=createtime&token=' . newToken() . $param . '&backtopage=' . urlencode($backtourl);
1082
+					$backtourl = $_SERVER['PHP_SELF'].'?projectid='.$projectstatic->id.($withproject ? '&withproject=1' : '');
1083
+					$linktocreatetimeUrl = $_SERVER['PHP_SELF'].'?'.($withproject ? 'withproject=1' : '').'&projectid='.$projectstatic->id.'&action=createtime&token='.newToken().$param.'&backtopage='.urlencode($backtourl);
1084 1084
 				} else {
1085 1085
 					// We are on tab 'Time Spent' of task
1086
-					$backtourl = $_SERVER['PHP_SELF'] . '?id=' . $object->id . ($withproject ? '&withproject=1' : '');
1087
-					$linktocreatetimeUrl = $_SERVER['PHP_SELF'] . '?' . ($withproject ? 'withproject=1' : '') . ($object->id > 0 ? '&id=' . $object->id : '&projectid=' . $projectstatic->id) . '&action=createtime&token=' . newToken() . $param . '&backtopage=' . urlencode($backtourl);
1086
+					$backtourl = $_SERVER['PHP_SELF'].'?id='.$object->id.($withproject ? '&withproject=1' : '');
1087
+					$linktocreatetimeUrl = $_SERVER['PHP_SELF'].'?'.($withproject ? 'withproject=1' : '').($object->id > 0 ? '&id='.$object->id : '&projectid='.$projectstatic->id).'&action=createtime&token='.newToken().$param.'&backtopage='.urlencode($backtourl);
1088 1088
 				}
1089 1089
 			} else {
1090 1090
 				$linktocreatetimeBtnStatus = -2;
@@ -1129,19 +1129,19 @@  discard block
 block discarded – undo
1129 1129
 		print dol_get_fiche_head($head, 'task_time', $langs->trans("Task"), -1, 'projecttask', 0, '', 'reposition');
1130 1130
 
1131 1131
 		if ($action == 'deleteline') {
1132
-			$urlafterconfirm = $_SERVER["PHP_SELF"] . "?" . ($object->id > 0 ? "id=" . $object->id : 'projectid=' . $projectstatic->id) . '&lineid=' . GETPOSTINT("lineid") . ($withproject ? '&withproject=1' : '');
1132
+			$urlafterconfirm = $_SERVER["PHP_SELF"]."?".($object->id > 0 ? "id=".$object->id : 'projectid='.$projectstatic->id).'&lineid='.GETPOSTINT("lineid").($withproject ? '&withproject=1' : '');
1133 1133
 			print $form->formconfirm($urlafterconfirm, $langs->trans("DeleteATimeSpent"), $langs->trans("ConfirmDeleteATimeSpent"), "confirm_deleteline", '', '', 1);
1134 1134
 		}
1135 1135
 
1136 1136
 		$param = ($withproject ? '&withproject=1' : '');
1137
-		$param .= ($param ? '&' : '') . 'id=' . $object->id;        // ID of task
1138
-		$linkback = $withproject ? '<a href="' . DOL_URL_ROOT . '/projet/tasks.php?id=' . $projectstatic->id . '">' . $langs->trans("BackToList") . '</a>' : '';
1137
+		$param .= ($param ? '&' : '').'id='.$object->id; // ID of task
1138
+		$linkback = $withproject ? '<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>' : '';
1139 1139
 
1140 1140
 		if (!GETPOST('withproject') || empty($projectstatic->id)) {
1141 1141
 			$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user, 0, 1);
1142
-			$object->next_prev_filter = "fk_projet IN (" . $db->sanitize($projectsListId) . ")";
1142
+			$object->next_prev_filter = "fk_projet IN (".$db->sanitize($projectsListId).")";
1143 1143
 		} else {
1144
-			$object->next_prev_filter = "fk_projet = " . ((int) $projectstatic->id);
1144
+			$object->next_prev_filter = "fk_projet = ".((int) $projectstatic->id);
1145 1145
 		}
1146 1146
 
1147 1147
 		$morehtmlref = '';
@@ -1149,12 +1149,12 @@  discard block
 block discarded – undo
1149 1149
 		// Project
1150 1150
 		if (empty($withproject)) {
1151 1151
 			$morehtmlref .= '<div class="refidno">';
1152
-			$morehtmlref .= $langs->trans("Project") . ': ';
1152
+			$morehtmlref .= $langs->trans("Project").': ';
1153 1153
 			$morehtmlref .= $projectstatic->getNomUrl(1);
1154 1154
 			$morehtmlref .= '<br>';
1155 1155
 
1156 1156
 			// Third party
1157
-			$morehtmlref .= $langs->trans("ThirdParty") . ': ';
1157
+			$morehtmlref .= $langs->trans("ThirdParty").': ';
1158 1158
 			if (!empty($projectstatic->thirdparty) && is_object($projectstatic->thirdparty)) {
1159 1159
 				$morehtmlref .= $projectstatic->thirdparty->getNomUrl(1);
1160 1160
 			}
@@ -1170,7 +1170,7 @@  discard block
 block discarded – undo
1170 1170
 		print '<table class="border centpercent tableforfield">';
1171 1171
 
1172 1172
 		// Task parent
1173
-		print '<tr><td>' . $langs->trans("ChildOfTask") . '</td><td>';
1173
+		print '<tr><td>'.$langs->trans("ChildOfTask").'</td><td>';
1174 1174
 		if ($object->fk_task_parent > 0) {
1175 1175
 			$tasktmp = new Task($db);
1176 1176
 			$tasktmp->fetch($object->fk_task_parent);
@@ -1179,7 +1179,7 @@  discard block
 block discarded – undo
1179 1179
 		print '</td></tr>';
1180 1180
 
1181 1181
 		// Date start - Date end task
1182
-		print '<tr><td class="titlefield">' . $langs->trans("DateStart") . ' - ' . $langs->trans("Deadline") . '</td><td>';
1182
+		print '<tr><td class="titlefield">'.$langs->trans("DateStart").' - '.$langs->trans("Deadline").'</td><td>';
1183 1183
 		$start = dol_print_date($object->date_start, 'dayhour');
1184 1184
 		print($start ? $start : '?');
1185 1185
 		$end = dol_print_date($object->date_end, 'dayhour');
@@ -1191,7 +1191,7 @@  discard block
 block discarded – undo
1191 1191
 		print '</td></tr>';
1192 1192
 
1193 1193
 		// Planned workload
1194
-		print '<tr><td>' . $langs->trans("PlannedWorkload") . '</td><td>';
1194
+		print '<tr><td>'.$langs->trans("PlannedWorkload").'</td><td>';
1195 1195
 		if ($object->planned_workload) {
1196 1196
 			print convertSecondToTime($object->planned_workload, 'allhourmin');
1197 1197
 		}
@@ -1206,21 +1206,21 @@  discard block
 block discarded – undo
1206 1206
 		print '<table class="border tableforfield centpercent">';
1207 1207
 
1208 1208
 		// Progress declared
1209
-		print '<tr><td class="titlefield">' . $langs->trans("ProgressDeclared") . '</td><td>';
1210
-		print $object->progress != '' ? $object->progress . ' %' : '';
1209
+		print '<tr><td class="titlefield">'.$langs->trans("ProgressDeclared").'</td><td>';
1210
+		print $object->progress != '' ? $object->progress.' %' : '';
1211 1211
 		print '</td></tr>';
1212 1212
 
1213 1213
 		// Progress calculated
1214
-		print '<tr><td>' . $langs->trans("ProgressCalculated") . '</td><td>';
1214
+		print '<tr><td>'.$langs->trans("ProgressCalculated").'</td><td>';
1215 1215
 		if ($object->planned_workload) {
1216 1216
 			$tmparray = $object->getSummaryOfTimeSpent();
1217 1217
 			if ($tmparray['total_duration'] > 0) {
1218
-				print round($tmparray['total_duration'] / $object->planned_workload * 100, 2) . ' %';
1218
+				print round($tmparray['total_duration'] / $object->planned_workload * 100, 2).' %';
1219 1219
 			} else {
1220 1220
 				print '0 %';
1221 1221
 			}
1222 1222
 		} else {
1223
-			print '<span class="opacitymedium">' . $langs->trans("WorkloadNotDefined") . '</span>';
1223
+			print '<span class="opacitymedium">'.$langs->trans("WorkloadNotDefined").'</span>';
1224 1224
 		}
1225 1225
 		print '</td>';
1226 1226
 
@@ -1236,7 +1236,7 @@  discard block
 block discarded – undo
1236 1236
 		print dol_get_fiche_end();
1237 1237
 	} else {
1238 1238
 		if ($action == 'deleteline') {
1239
-			$urlafterconfirm = $_SERVER["PHP_SELF"] . "?" . ($object->id > 0 ? "id=" . $object->id : 'projectid=' . $projectstatic->id) . '&lineid=' . GETPOSTINT("lineid") . ($withproject ? '&withproject=1' : '');
1239
+			$urlafterconfirm = $_SERVER["PHP_SELF"]."?".($object->id > 0 ? "id=".$object->id : 'projectid='.$projectstatic->id).'&lineid='.GETPOSTINT("lineid").($withproject ? '&withproject=1' : '');
1240 1240
 			print $form->formconfirm($urlafterconfirm, $langs->trans("DeleteATimeSpent"), $langs->trans("ConfirmDeleteATimeSpent"), "confirm_deleteline", '', '', 1);
1241 1241
 		}
1242 1242
 	}
@@ -1250,7 +1250,7 @@  discard block
 block discarded – undo
1250 1250
 
1251 1251
 		if ($action == 'deleteline' && !empty($projectidforalltimes)) {
1252 1252
 			// We must use projectidprojectid if on list of timespent of project and id=taskid if on list of timespent of a task
1253
-			$urlafterconfirm = $_SERVER["PHP_SELF"] . "?" . ($projectstatic->id > 0 ? 'projectid=' . $projectstatic->id : ($object->id > 0 ? "id=" . $object->id : '')) . '&lineid=' . GETPOSTINT('lineid') . ($withproject ? '&withproject=1' : '') . "&contextpage=" . urlencode($contextpage);
1253
+			$urlafterconfirm = $_SERVER["PHP_SELF"]."?".($projectstatic->id > 0 ? 'projectid='.$projectstatic->id : ($object->id > 0 ? "id=".$object->id : '')).'&lineid='.GETPOSTINT('lineid').($withproject ? '&withproject=1' : '')."&contextpage=".urlencode($contextpage);
1254 1254
 			$formconfirm = $form->formconfirm($urlafterconfirm, $langs->trans("DeleteATimeSpent"), $langs->trans("ConfirmDeleteATimeSpent"), "confirm_deleteline", '', '', 1);
1255 1255
 		}
1256 1256
 
@@ -1269,10 +1269,10 @@  discard block
 block discarded – undo
1269 1269
 		// Definition of fields for list
1270 1270
 		$arrayfields = array();
1271 1271
 		$arrayfields['t.element_date'] = array('label' => $langs->trans("Date"), 'checked' => 1);
1272
-		$arrayfields['p.fk_soc'] = array('label' => $langs->trans("ThirdParty"), 'type' => 'integer:Societe:/societe/class/societe.class.php:1','checked' => 1);
1272
+		$arrayfields['p.fk_soc'] = array('label' => $langs->trans("ThirdParty"), 'type' => 'integer:Societe:/societe/class/societe.class.php:1', 'checked' => 1);
1273 1273
 		$arrayfields['s.name_alias'] = array('label' => $langs->trans("AliasNameShort"), 'type' => 'integer:Societe:/societe/class/societe.class.php:1');
1274 1274
 		if ((empty($id) && empty($ref)) || !empty($projectidforalltimes)) {	// Not a dedicated task
1275
-			if (! empty($allprojectforuser)) {
1275
+			if (!empty($allprojectforuser)) {
1276 1276
 				$arrayfields['p.project_ref'] = ['label' => $langs->trans('RefProject'), 'checked' => 1];
1277 1277
 				$arrayfields['p.project_label'] = ['label' => $langs->trans('ProjectLabel'), 'checked' => 1];
1278 1278
 			}
@@ -1288,83 +1288,83 @@  discard block
 block discarded – undo
1288 1288
 		$arrayfields['value'] = array('label' => $langs->trans("Value"), 'checked' => 1, 'enabled' => isModEnabled("salaries"));
1289 1289
 		$arrayfields['valuebilled'] = array('label' => $langs->trans("Billed"), 'checked' => 1, 'enabled' => (((getDolGlobalInt('PROJECT_HIDE_TASKS') || !getDolGlobalInt('PROJECT_BILL_TIME_SPENT')) ? 0 : 1) && $projectstatic->usage_bill_time));
1290 1290
 		// Extra fields
1291
-		include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_array_fields.tpl.php';
1291
+		include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
1292 1292
 
1293 1293
 		$arrayfields = dol_sort_array($arrayfields, 'position');
1294
-		'@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields';  // dol_sort_array looses type for Phan
1294
+		'@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields'; // dol_sort_array looses type for Phan
1295 1295
 
1296 1296
 		$param = '';
1297 1297
 		if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
1298
-			$param .= '&contextpage=' . urlencode($contextpage);
1298
+			$param .= '&contextpage='.urlencode($contextpage);
1299 1299
 		}
1300 1300
 		if ($limit > 0 && $limit != $conf->liste_limit) {
1301 1301
 			$param .= '&limit='.((int) $limit);
1302 1302
 		}
1303 1303
 		if ($search_month > 0) {
1304
-			$param .= '&search_month=' . urlencode((string) ($search_month));
1304
+			$param .= '&search_month='.urlencode((string) ($search_month));
1305 1305
 		}
1306 1306
 		if ($search_year > 0) {
1307
-			$param .= '&search_year=' . urlencode((string) ($search_year));
1307
+			$param .= '&search_year='.urlencode((string) ($search_year));
1308 1308
 		}
1309 1309
 		if (!empty($search_user)) { 	// We keep param if -1 because default value is forced to user id if not set
1310 1310
 			$param .= '&search_user='.urlencode($search_user);
1311 1311
 		}
1312 1312
 		if ($search_task_ref != '') {
1313
-			$param .= '&search_task_ref=' . urlencode($search_task_ref);
1313
+			$param .= '&search_task_ref='.urlencode($search_task_ref);
1314 1314
 		}
1315 1315
 		if ($search_company != '') {
1316
-			$param .= '&amp;$search_company=' . urlencode($search_company);
1316
+			$param .= '&amp;$search_company='.urlencode($search_company);
1317 1317
 		}
1318 1318
 		if ($search_company_alias != '') {
1319
-			$param .= '&amp;$search_company_alias=' . urlencode($search_company_alias);
1319
+			$param .= '&amp;$search_company_alias='.urlencode($search_company_alias);
1320 1320
 		}
1321 1321
 		if ($search_project_ref != '') {
1322
-			$param .= '&amp;$search_project_ref=' . urlencode($search_project_ref);
1322
+			$param .= '&amp;$search_project_ref='.urlencode($search_project_ref);
1323 1323
 		}
1324 1324
 		if ($search_project_label != '') {
1325
-			$param .= '&amp;$search_project_label=' . urlencode($search_project_label);
1325
+			$param .= '&amp;$search_project_label='.urlencode($search_project_label);
1326 1326
 		}
1327 1327
 		if ($search_task_label != '') {
1328
-			$param .= '&search_task_label=' . urlencode($search_task_label);
1328
+			$param .= '&search_task_label='.urlencode($search_task_label);
1329 1329
 		}
1330 1330
 		if ($search_note != '') {
1331
-			$param .= '&search_note=' . urlencode($search_note);
1331
+			$param .= '&search_note='.urlencode($search_note);
1332 1332
 		}
1333 1333
 		if ($search_duration != '') {
1334
-			$param .= '&amp;search_field2=' . urlencode((string) ($search_duration));
1334
+			$param .= '&amp;search_field2='.urlencode((string) ($search_duration));
1335 1335
 		}
1336 1336
 		if ($optioncss != '') {
1337
-			$param .= '&optioncss=' . urlencode($optioncss);
1337
+			$param .= '&optioncss='.urlencode($optioncss);
1338 1338
 		}
1339 1339
 		if ($search_date_startday) {
1340
-			$param .= '&search_date_startday=' . urlencode((string) ($search_date_startday));
1340
+			$param .= '&search_date_startday='.urlencode((string) ($search_date_startday));
1341 1341
 		}
1342 1342
 		if ($search_date_startmonth) {
1343
-			$param .= '&search_date_startmonth=' . urlencode((string) ($search_date_startmonth));
1343
+			$param .= '&search_date_startmonth='.urlencode((string) ($search_date_startmonth));
1344 1344
 		}
1345 1345
 		if ($search_date_startyear) {
1346
-			$param .= '&search_date_startyear=' . urlencode((string) ($search_date_startyear));
1346
+			$param .= '&search_date_startyear='.urlencode((string) ($search_date_startyear));
1347 1347
 		}
1348 1348
 		if ($search_date_endday) {
1349
-			$param .= '&search_date_endday=' . urlencode((string) ($search_date_endday));
1349
+			$param .= '&search_date_endday='.urlencode((string) ($search_date_endday));
1350 1350
 		}
1351 1351
 		if ($search_date_endmonth) {
1352
-			$param .= '&search_date_endmonth=' . urlencode((string) ($search_date_endmonth));
1352
+			$param .= '&search_date_endmonth='.urlencode((string) ($search_date_endmonth));
1353 1353
 		}
1354 1354
 		if ($search_date_endyear) {
1355
-			$param .= '&search_date_endyear=' . urlencode((string) ($search_date_endyear));
1355
+			$param .= '&search_date_endyear='.urlencode((string) ($search_date_endyear));
1356 1356
 		}
1357 1357
 		if ($search_timespent_starthour) {
1358
-			$param .= '&search_timespent_duration_starthour=' . urlencode((string) ($search_timespent_starthour));
1358
+			$param .= '&search_timespent_duration_starthour='.urlencode((string) ($search_timespent_starthour));
1359 1359
 		}
1360 1360
 		if ($search_timespent_startmin) {
1361
-			$param .= '&search_timespent_duration_startmin=' . urlencode((string) ($search_timespent_startmin));
1361
+			$param .= '&search_timespent_duration_startmin='.urlencode((string) ($search_timespent_startmin));
1362 1362
 		}
1363 1363
 		if ($search_timespent_endhour) {
1364
-			$param .= '&search_timespent_duration_endhour=' . urlencode((string) ($search_timespent_endhour));
1364
+			$param .= '&search_timespent_duration_endhour='.urlencode((string) ($search_timespent_endhour));
1365 1365
 		}
1366 1366
 		if ($search_timespent_endmin) {
1367
-			$param .= '&search_timespent_duration_endmin=' . urlencode((string) ($search_timespent_endmin));
1367
+			$param .= '&search_timespent_duration_endmin='.urlencode((string) ($search_timespent_endmin));
1368 1368
 		}
1369 1369
 
1370 1370
 		/*
@@ -1372,24 +1372,24 @@  discard block
 block discarded – undo
1372 1372
 		 include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
1373 1373
 		 */
1374 1374
 		if ($id) {
1375
-			$param .= '&id=' . urlencode((string) ($id));
1375
+			$param .= '&id='.urlencode((string) ($id));
1376 1376
 		}
1377 1377
 		if ($projectid) {
1378
-			$param .= '&projectid=' . urlencode((string) ($projectid));
1378
+			$param .= '&projectid='.urlencode((string) ($projectid));
1379 1379
 		}
1380 1380
 		if ($withproject) {
1381
-			$param .= '&withproject=' . urlencode((string) ($withproject));
1381
+			$param .= '&withproject='.urlencode((string) ($withproject));
1382 1382
 		}
1383 1383
 		// Add $param from hooks
1384 1384
 		$parameters = array('param' => &$param);
1385 1385
 		$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
1386 1386
 		$param .= $hookmanager->resPrint;
1387 1387
 
1388
-		print '<form method="POST" action="' . $_SERVER["PHP_SELF"] . '">';
1388
+		print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
1389 1389
 		if ($optioncss != '') {
1390
-			print '<input type="hidden" name="optioncss" value="' . $optioncss . '">';
1390
+			print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
1391 1391
 		}
1392
-		print '<input type="hidden" name="token" value="' . newToken() . '">';
1392
+		print '<input type="hidden" name="token" value="'.newToken().'">';
1393 1393
 		print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
1394 1394
 		if ($action == 'editline') {
1395 1395
 			print '<input type="hidden" name="action" value="updateline">';
@@ -1404,13 +1404,13 @@  discard block
 block discarded – undo
1404 1404
 		} else {
1405 1405
 			print '<input type="hidden" name="action" value="list">';
1406 1406
 		}
1407
-		print '<input type="hidden" name="sortfield" value="' . $sortfield . '">';
1408
-		print '<input type="hidden" name="sortorder" value="' . $sortorder . '">';
1407
+		print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
1408
+		print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
1409 1409
 
1410
-		print '<input type="hidden" name="id" value="' . $id . '">';
1411
-		print '<input type="hidden" name="projectid" value="' . $projectidforalltimes . '">';
1412
-		print '<input type="hidden" name="withproject" value="' . $withproject . '">';
1413
-		print '<input type="hidden" name="tab" value="' . $tab . '">';
1410
+		print '<input type="hidden" name="id" value="'.$id.'">';
1411
+		print '<input type="hidden" name="projectid" value="'.$projectidforalltimes.'">';
1412
+		print '<input type="hidden" name="withproject" value="'.$withproject.'">';
1413
+		print '<input type="hidden" name="tab" value="'.$tab.'">';
1414 1414
 		print '<input type="hidden" name="page_y" value="">';
1415 1415
 
1416 1416
 		// Form to convert time spent into invoice
@@ -1437,7 +1437,7 @@  discard block
 block discarded – undo
1437 1437
 					'onelineperperiod' => 'OneLinePerTimeSpentLine',
1438 1438
 				);
1439 1439
 				print $form->selectarray('generateinvoicemode', $tmparray, 'onelineperuser', 0, 0, 0, '', 1);
1440
-				print "\n" . '<script type="text/javascript">';
1440
+				print "\n".'<script type="text/javascript">';
1441 1441
 				print '
1442 1442
 				$(document).ready(function () {
1443 1443
 					setDetailVisibility();
@@ -1454,8 +1454,8 @@  discard block
 block discarded – undo
1454 1454
             		}
1455 1455
             	});
1456 1456
             			';
1457
-				print '</script>' . "\n";
1458
-				print '<span style="display:none" id="detail_time_duration"><input type="checkbox" value="detail" name="detail_time_duration"/>' . $langs->trans('AddDetailDateAndDuration') . '</span>';
1457
+				print '</script>'."\n";
1458
+				print '<span style="display:none" id="detail_time_duration"><input type="checkbox" value="detail" name="detail_time_duration"/>'.$langs->trans('AddDetailDateAndDuration').'</span>';
1459 1459
 				print '</td>';
1460 1460
 				print '</tr>';
1461 1461
 
@@ -1505,14 +1505,14 @@  discard block
 block discarded – undo
1505 1505
 
1506 1506
 				print '<br>';
1507 1507
 				print '<div class="center">';
1508
-				print '<input type="submit" class="button" id="createbills" name="createbills" value="' . $langs->trans('GenerateBill') . '">  ';
1509
-				print '<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="' . $langs->trans("Cancel") . '">';
1508
+				print '<input type="submit" class="button" id="createbills" name="createbills" value="'.$langs->trans('GenerateBill').'">  ';
1509
+				print '<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="'.$langs->trans("Cancel").'">';
1510 1510
 				print '</div>';
1511 1511
 				print '<br>';
1512 1512
 			} else {
1513
-				print '<div class="warning">' . $langs->trans("ThirdPartyRequiredToGenerateInvoice") . '</div>';
1513
+				print '<div class="warning">'.$langs->trans("ThirdPartyRequiredToGenerateInvoice").'</div>';
1514 1514
 				print '<div class="center">';
1515
-				print '<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="' . $langs->trans("Cancel") . '">';
1515
+				print '<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="'.$langs->trans("Cancel").'">';
1516 1516
 				print '</div>';
1517 1517
 				$massaction = '';
1518 1518
 			}
@@ -1525,7 +1525,7 @@  discard block
 block discarded – undo
1525 1525
 				print '<table class="noborder centpercent">';
1526 1526
 				print '<tr>';
1527 1527
 				print '<td class="titlefield">';
1528
-				print img_picto('', 'intervention', 'class="pictofixedwidth"') . $langs->trans('InterToUse');
1528
+				print img_picto('', 'intervention', 'class="pictofixedwidth"').$langs->trans('InterToUse');
1529 1529
 				print '</td>';
1530 1530
 				print '<td>';
1531 1531
 				$forminter = new FormIntervention($db);
@@ -1535,14 +1535,14 @@  discard block
 block discarded – undo
1535 1535
 				print '</table>';
1536 1536
 
1537 1537
 				print '<div class="center">';
1538
-				print '<input type="submit" class="button" id="createinter" name="createinter" value="' . $langs->trans('GenerateInter') . '">  ';
1539
-				print '<input type="submit" class="button" id="cancel" name="cancel" value="' . $langs->trans('Cancel') . '">';
1538
+				print '<input type="submit" class="button" id="createinter" name="createinter" value="'.$langs->trans('GenerateInter').'">  ';
1539
+				print '<input type="submit" class="button" id="cancel" name="cancel" value="'.$langs->trans('Cancel').'">';
1540 1540
 				print '</div>';
1541 1541
 				print '<br>';
1542 1542
 			} else {
1543
-				print '<div class="warning">' . $langs->trans("ThirdPartyRequiredToGenerateIntervention") . '</div>';
1543
+				print '<div class="warning">'.$langs->trans("ThirdPartyRequiredToGenerateIntervention").'</div>';
1544 1544
 				print '<div class="center">';
1545
-				print '<input type="submit" class="button" id="cancel" name="cancel" value="' . $langs->trans('Cancel') . '">';
1545
+				print '<input type="submit" class="button" id="cancel" name="cancel" value="'.$langs->trans('Cancel').'">';
1546 1546
 				print '</div>';
1547 1547
 				$massaction = '';
1548 1548
 			}
@@ -1612,14 +1612,14 @@  discard block
 block discarded – undo
1612 1612
 			$sql .= " AND t.fk_element =".((int) $object->id);
1613 1613
 		} elseif (!empty($projectidforalltimes)) {
1614 1614
 			// Limit on one project
1615
-			$sql .= " AND pt.fk_projet IN (" . $db->sanitize($projectidforalltimes) . ")";
1615
+			$sql .= " AND pt.fk_projet IN (".$db->sanitize($projectidforalltimes).")";
1616 1616
 		} elseif (!empty($allprojectforuser)) {
1617 1617
 			// Limit on on user
1618 1618
 			if (empty($search_user)) {
1619 1619
 				$search_user = $user->id;
1620 1620
 			}
1621 1621
 			if ($search_user > 0) {
1622
-				$sql .= " AND t.fk_user = " . ((int) $search_user);
1622
+				$sql .= " AND t.fk_user = ".((int) $search_user);
1623 1623
 			}
1624 1624
 		}
1625 1625
 
@@ -1672,13 +1672,13 @@  discard block
 block discarded – undo
1672 1672
 			if ($search_timespent_starthour || $search_timespent_startmin) {
1673 1673
 				$timespent_duration_start = $search_timespent_starthour * 60 * 60; // We store duration in seconds
1674 1674
 				$timespent_duration_start += ($search_timespent_startmin ? $search_timespent_startmin : 0) * 60; // We store duration in seconds
1675
-				$sql .= " AND t.element_duration >= " . $timespent_duration_start;
1675
+				$sql .= " AND t.element_duration >= ".$timespent_duration_start;
1676 1676
 			}
1677 1677
 
1678 1678
 			if ($search_timespent_endhour || $search_timespent_endmin) {
1679 1679
 				$timespent_duration_end = $search_timespent_endhour * 60 * 60; // We store duration in seconds
1680 1680
 				$timespent_duration_end += ($search_timespent_endmin ? $search_timespent_endmin : 0) * 60; // We store duration in seconds
1681
-				$sql .= " AND t.element_duration <= " . $timespent_duration_end;
1681
+				$sql .= " AND t.element_duration <= ".$timespent_duration_end;
1682 1682
 			}
1683 1683
 		}
1684 1684
 
@@ -1726,13 +1726,13 @@  discard block
 block discarded – undo
1726 1726
 
1727 1727
 		if ($num >= 0) {
1728 1728
 			if (!empty($projectidforalltimes)) {
1729
-				print '<!-- List of time spent for project -->' . "\n";
1729
+				print '<!-- List of time spent for project -->'."\n";
1730 1730
 
1731 1731
 				$title = $langs->trans("ListTaskTimeUserProject");
1732 1732
 
1733 1733
 				print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'clock', 0, $linktocreatetime, '', $limit, 0, 0, 1);
1734 1734
 			} else {
1735
-				print '<!-- List of time spent -->' . "\n";
1735
+				print '<!-- List of time spent -->'."\n";
1736 1736
 
1737 1737
 				$title = $langs->trans("ListTaskTimeForTask");
1738 1738
 
@@ -1754,26 +1754,26 @@  discard block
 block discarded – undo
1754 1754
 		 * Form to add a new line of time spent
1755 1755
 		 */
1756 1756
 		if ($action == 'createtime' && $user->hasRight('projet', 'time')) {
1757
-			print '<!-- table to add time spent -->' . "\n";
1757
+			print '<!-- table to add time spent -->'."\n";
1758 1758
 			if (!empty($id)) {
1759
-				print '<input type="hidden" name="taskid" value="' . $id . '">';
1759
+				print '<input type="hidden" name="taskid" value="'.$id.'">';
1760 1760
 			}
1761 1761
 
1762 1762
 			print '<div class="div-table-responsive-no-min">'; // You can use div-table-responsive-no-min if you don't need reserved height for your table
1763 1763
 			print '<table class="noborder nohover centpercent">';
1764 1764
 
1765 1765
 			print '<tr class="liste_titre">';
1766
-			print '<td>' . $langs->trans("Date") . '</td>';
1766
+			print '<td>'.$langs->trans("Date").'</td>';
1767 1767
 			if (!empty($allprojectforuser)) {
1768
-				print '<td>' . $langs->trans("Project") . '</td>';
1768
+				print '<td>'.$langs->trans("Project").'</td>';
1769 1769
 			}
1770 1770
 			if (empty($id)) {
1771
-				print '<td>' . $langs->trans("Task") . '</td>';
1771
+				print '<td>'.$langs->trans("Task").'</td>';
1772 1772
 			}
1773
-			print '<td>' . $langs->trans("By") . '</td>';
1774
-			print '<td>' . $langs->trans("Note") . '</td>';
1775
-			print '<td>' . $langs->trans("NewTimeSpent") . '</td>';
1776
-			print '<td>' . $langs->trans("ProgressDeclared") . '</td>';
1773
+			print '<td>'.$langs->trans("By").'</td>';
1774
+			print '<td>'.$langs->trans("Note").'</td>';
1775
+			print '<td>'.$langs->trans("NewTimeSpent").'</td>';
1776
+			print '<td>'.$langs->trans("ProgressDeclared").'</td>';
1777 1777
 			if (!getDolGlobalString('PROJECT_HIDE_TASKS') && getDolGlobalString('PROJECT_BILL_TIME_SPENT')) {
1778 1778
 				print '<td></td>';
1779 1779
 
@@ -1827,14 +1827,14 @@  discard block
 block discarded – undo
1827 1827
 				print $form->select_dolusers((GETPOSTINT('userid') ? GETPOSTINT('userid') : $userid), 'userid', 0, '', 0, '', $contactsofproject, 0, 0, 0, '', 0, $langs->trans("ResourceNotAssignedToProject"), 'minwidth150imp maxwidth200');
1828 1828
 			} else {
1829 1829
 				if ($nboftasks) {
1830
-					print img_error($langs->trans('FirstAddRessourceToAllocateTime')) . ' ' . $langs->trans('FirstAddRessourceToAllocateTime');
1830
+					print img_error($langs->trans('FirstAddRessourceToAllocateTime')).' '.$langs->trans('FirstAddRessourceToAllocateTime');
1831 1831
 				}
1832 1832
 			}
1833 1833
 			print '</td>';
1834 1834
 
1835 1835
 			// Note
1836 1836
 			print '<td>';
1837
-			print '<textarea name="timespent_note" class="maxwidth100onsmartphone" rows="' . ROWS_2 . '">' . (GETPOST('timespent_note') ? GETPOST('timespent_note') : '') . '</textarea>';
1837
+			print '<textarea name="timespent_note" class="maxwidth100onsmartphone" rows="'.ROWS_2.'">'.(GETPOST('timespent_note') ? GETPOST('timespent_note') : '').'</textarea>';
1838 1838
 			print '</td>';
1839 1839
 
1840 1840
 			// Duration - Time spent
@@ -1902,7 +1902,7 @@  discard block
 block discarded – undo
1902 1902
 		$selectedfields .= (is_array($arrayofmassactions) && count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : '');
1903 1903
 
1904 1904
 		print '<div class="div-table-responsive">';
1905
-		print '<table class="tagtable nobottomiftotal liste' . ($moreforfilter ? " listwithfilterbefore" : "") . '">' . "\n";
1905
+		print '<table class="tagtable nobottomiftotal liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
1906 1906
 
1907 1907
 		// Fields title search
1908 1908
 		// --------------------------------------------------------------------
@@ -1927,20 +1927,20 @@  discard block
 block discarded – undo
1927 1927
 		}
1928 1928
 		// Thirdparty
1929 1929
 		if (!empty($arrayfields['p.fk_soc']['checked'])) {
1930
-			print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_company" value="' . dol_escape_htmltag($search_company) . '"></td>';
1930
+			print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_company" value="'.dol_escape_htmltag($search_company).'"></td>';
1931 1931
 		}
1932 1932
 
1933 1933
 		// Thirdparty alias
1934 1934
 		if (!empty($arrayfields['s.name_alias']['checked'])) {
1935
-			print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_company_alias" value="' . dol_escape_htmltag($search_company_alias) . '"></td>';
1935
+			print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_company_alias" value="'.dol_escape_htmltag($search_company_alias).'"></td>';
1936 1936
 		}
1937 1937
 
1938 1938
 		if (!empty($allprojectforuser)) {
1939 1939
 			if (!empty($arrayfields['p.project_ref']['checked'])) {
1940
-				print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_project_ref" value="' . dol_escape_htmltag($search_project_ref) . '"></td>';
1940
+				print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_project_ref" value="'.dol_escape_htmltag($search_project_ref).'"></td>';
1941 1941
 			}
1942 1942
 			if (!empty($arrayfields['p.project_label']['checked'])) {
1943
-				print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_project_label" value="' . dol_escape_htmltag($search_project_label) . '"></td>';
1943
+				print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="$search_project_label" value="'.dol_escape_htmltag($search_project_label).'"></td>';
1944 1944
 			}
1945 1945
 		}
1946 1946
 		// Task
@@ -1958,7 +1958,7 @@  discard block
 block discarded – undo
1958 1958
 		}
1959 1959
 		// Note
1960 1960
 		if (!empty($arrayfields['t.note']['checked'])) {
1961
-			print '<td class="liste_titre"><input type="text" class="flat maxwidth75" name="search_note" value="' . dol_escape_htmltag($search_note) . '"></td>';
1961
+			print '<td class="liste_titre"><input type="text" class="flat maxwidth75" name="search_note" value="'.dol_escape_htmltag($search_note).'"></td>';
1962 1962
 		}
1963 1963
 		// Duration
1964 1964
 		if (!empty($arrayfields['t.element_duration']['checked'])) {
@@ -1969,7 +1969,7 @@  discard block
 block discarded – undo
1969 1969
 			if ($search_timespent_starthour || $search_timespent_startmin) {
1970 1970
 				$durationtouse_start = ($search_timespent_starthour * 3600 + $search_timespent_startmin * 60);
1971 1971
 			}
1972
-			print '<div class="nowraponall">' . $langs->trans('from') . ' ';
1972
+			print '<div class="nowraponall">'.$langs->trans('from').' ';
1973 1973
 			print $form->select_duration('search_timespent_duration_start', $durationtouse_start, 0, 'text', 0, 1);
1974 1974
 			print '</div>';
1975 1975
 
@@ -1977,7 +1977,7 @@  discard block
 block discarded – undo
1977 1977
 			if ($search_timespent_endhour || $search_timespent_endmin) {
1978 1978
 				$durationtouse_end = ($search_timespent_endhour * 3600 + $search_timespent_endmin * 60);
1979 1979
 			}
1980
-			print '<div class="nowraponall">' . $langs->trans('to') . ' ';
1980
+			print '<div class="nowraponall">'.$langs->trans('to').' ';
1981 1981
 			print $form->select_duration('search_timespent_duration_end', $durationtouse_end, 0, 'text', 0, 1);
1982 1982
 			print '</div>';
1983 1983
 
@@ -1993,7 +1993,7 @@  discard block
 block discarded – undo
1993 1993
 		}
1994 1994
 		// Value billed
1995 1995
 		if (!empty($arrayfields['valuebilled']['checked'])) {
1996
-			print '<td class="liste_titre center">' . $form->selectyesno('search_valuebilled', $search_valuebilled, 1, false, 1) . '</td>';
1996
+			print '<td class="liste_titre center">'.$form->selectyesno('search_valuebilled', $search_valuebilled, 1, false, 1).'</td>';
1997 1997
 		}
1998 1998
 
1999 1999
 		/*
@@ -2011,7 +2011,7 @@  discard block
 block discarded – undo
2011 2011
 			print $searchpicto;
2012 2012
 			print '</td>';
2013 2013
 		}
2014
-		print '</tr>' . "\n";
2014
+		print '</tr>'."\n";
2015 2015
 
2016 2016
 
2017 2017
 		$totalarray = array();
@@ -2125,7 +2125,7 @@  discard block
 block discarded – undo
2125 2125
 			if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
2126 2126
 				print '<td class="center nowraponall">';
2127 2127
 				if (($action == 'editline' || $action == 'splitline') && GETPOSTINT('lineid') == $task_time->rowid) {
2128
-					print '<input type="hidden" name="lineid" value="' . GETPOSTINT('lineid') . '">';
2128
+					print '<input type="hidden" name="lineid" value="'.GETPOSTINT('lineid').'">';
2129 2129
 					print '<input type="submit" class="button buttongen smallpaddingimp margintoponlyshort marginbottomonlyshort button-save" name="save" value="'.$langs->trans("Save").'">';
2130 2130
 					print '<br>';
2131 2131
 					print '<input type="submit" class="button buttongen smallpaddingimp margintoponlyshort marginbottomonlyshort button-cancel" name="cancel" value="'.$langs->trans("Cancel").'">';
@@ -2136,7 +2136,7 @@  discard block
 block discarded – undo
2136 2136
 						print '</a>';
2137 2137
 
2138 2138
 						if (getDolGlobalString('PROJECT_ALLOW_SPLIT_TIMESPENT')) {
2139
-							print '<a class="reposition editfielda paddingleft" href="' . $_SERVER["PHP_SELF"] . '?action=splitline&token=' . newToken() . '&lineid=' . $task_time->rowid . $param . ((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '') . '">';
2139
+							print '<a class="reposition editfielda paddingleft" href="'.$_SERVER["PHP_SELF"].'?action=splitline&token='.newToken().'&lineid='.$task_time->rowid.$param.((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '').'">';
2140 2140
 							print img_split('', 'class="pictofixedwidth paddingleft"');
2141 2141
 							print '</a>';
2142 2142
 						}
@@ -2151,7 +2151,7 @@  discard block
 block discarded – undo
2151 2151
 								$selected = 1;
2152 2152
 							}
2153 2153
 							print '&nbsp;';
2154
-							print '<input id="cb' . $task_time->rowid . '" class="flat checkforselect marginleftonly" type="checkbox" name="toselect[]" value="' . $task_time->rowid . '"' . ($selected ? ' checked="checked"' : '') . '>';
2154
+							print '<input id="cb'.$task_time->rowid.'" class="flat checkforselect marginleftonly" type="checkbox" name="toselect[]" value="'.$task_time->rowid.'"'.($selected ? ' checked="checked"' : '').'>';
2155 2155
 						}
2156 2156
 					}
2157 2157
 				}
@@ -2270,7 +2270,7 @@  discard block
 block discarded – undo
2270 2270
 					}
2271 2271
 				}
2272 2272
 			} elseif ($action !== 'createtime') {
2273
-				print '<input type="hidden" name="taskid" value="' . $id . '">';
2273
+				print '<input type="hidden" name="taskid" value="'.$id.'">';
2274 2274
 			}
2275 2275
 
2276 2276
 			// Task label
@@ -2299,9 +2299,9 @@  discard block
 block discarded – undo
2299 2299
 					}
2300 2300
 					if (count($contactsoftask) > 0) {
2301 2301
 						print img_object('', 'user', 'class="pictofixedwidth hideonsmartphone"');
2302
-						print $form->select_dolusers($task_time->fk_user, 'userid_line', 0, null, 0, '', $contactsoftask, '0', 0, 0, '', 0, '', 'minwidth100 maxwidth100');	// maxwidth must be lowed than minwidth of the td
2302
+						print $form->select_dolusers($task_time->fk_user, 'userid_line', 0, null, 0, '', $contactsoftask, '0', 0, 0, '', 0, '', 'minwidth100 maxwidth100'); // maxwidth must be lowed than minwidth of the td
2303 2303
 					} else {
2304
-						print img_error($langs->trans('FirstAddRessourceToAllocateTime')) . $langs->trans('FirstAddRessourceToAllocateTime');
2304
+						print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime');
2305 2305
 					}
2306 2306
 				} else {
2307 2307
 					$userstatic->id = $task_time->fk_user;
@@ -2323,7 +2323,7 @@  discard block
 block discarded – undo
2323 2323
 			if (!empty($arrayfields['t.note']['checked'])) {
2324 2324
 				if ($action == 'editline' && GETPOSTINT('lineid') == $task_time->rowid) {
2325 2325
 					print '<td class="small">';
2326
-					print '<textarea name="timespent_note_line" width="95%" rows="' . ROWS_1 . '">' . dol_escape_htmltag($task_time->note, 0, 1) . '</textarea>';
2326
+					print '<textarea name="timespent_note_line" width="95%" rows="'.ROWS_1.'">'.dol_escape_htmltag($task_time->note, 0, 1).'</textarea>';
2327 2327
 					print '</td>';
2328 2328
 				} else {
2329 2329
 					print '<td class="small tdoverflowmax150 classfortooltip" title="'.dol_string_onlythesehtmltags(dol_htmlentitiesbr($task_time->note)).'">';
@@ -2334,7 +2334,7 @@  discard block
 block discarded – undo
2334 2334
 					$totalarray['nbfield']++;
2335 2335
 				}
2336 2336
 			} elseif ($action == 'editline' && GETPOSTINT('lineid') == $task_time->rowid) {
2337
-				print '<input type="hidden" name="timespent_note_line" value="' . dol_escape_htmltag($task_time->note, 0, 1) . '">';
2337
+				print '<input type="hidden" name="timespent_note_line" value="'.dol_escape_htmltag($task_time->note, 0, 1).'">';
2338 2338
 			}
2339 2339
 
2340 2340
 			// Time spent
@@ -2395,7 +2395,7 @@  discard block
 block discarded – undo
2395 2395
 				$value = price2num($task_time->thm * $task_time->element_duration / 3600, 'MT', 1);
2396 2396
 
2397 2397
 				print '<td class="nowraponall right">';
2398
-				print '<span class="amount" title="' . $langs->trans("THM") . ': ' . price($task_time->thm) . '">';
2398
+				print '<span class="amount" title="'.$langs->trans("THM").': '.price($task_time->thm).'">';
2399 2399
 				print price($value, 1, $langs, 1, -1, -1, $conf->currency);
2400 2400
 				print '</span>';
2401 2401
 				print '</td>';
@@ -2445,14 +2445,14 @@  discard block
 block discarded – undo
2445 2445
 							}
2446 2446
 							$invoiced = true;
2447 2447
 						} else {
2448
-							if ( intval($task_time->billable) == 1) {
2448
+							if (intval($task_time->billable) == 1) {
2449 2449
 								print $langs->trans("No");
2450 2450
 							} else {
2451 2451
 								print $langs->trans("Disabled");
2452 2452
 							}
2453 2453
 						}
2454 2454
 					} else {
2455
-						print '<span class="opacitymedium">' . $langs->trans("NA") . '</span>';
2455
+						print '<span class="opacitymedium">'.$langs->trans("NA").'</span>';
2456 2456
 					}
2457 2457
 				}
2458 2458
 				print '</td>';
@@ -2486,7 +2486,7 @@  discard block
 block discarded – undo
2486 2486
 						print '</a>';
2487 2487
 
2488 2488
 						if (getDolGlobalString('PROJECT_ALLOW_SPLIT_TIMESPENT')) {
2489
-							print '<a class="reposition editfielda paddingleft" href="' . $_SERVER["PHP_SELF"] . '?action=splitline&token=' . newToken() . '&lineid=' . $task_time->rowid . $param . ((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '') . '">';
2489
+							print '<a class="reposition editfielda paddingleft" href="'.$_SERVER["PHP_SELF"].'?action=splitline&token='.newToken().'&lineid='.$task_time->rowid.$param.((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '').'">';
2490 2490
 							print img_split('', 'class="pictofixedwidth paddingleft"');
2491 2491
 							print '</a>';
2492 2492
 						}
@@ -2502,13 +2502,13 @@  discard block
 block discarded – undo
2502 2502
 							}
2503 2503
 							print '&nbsp;';
2504 2504
 							// Disable select if task not billable or already invoiced
2505
-							$disabled = (intval($task_time->billable) !=1 || $invoiced);
2506
-							$ctrl = '<input '.($disabled?'disabled':'').' id="cb' . $task_time->rowid . '" class="flat checkforselect marginleftonly" type="checkbox" name="toselect[]" value="' . $task_time->rowid . '"' . ($selected ? ' checked="checked"' : '') . '>';
2505
+							$disabled = (intval($task_time->billable) != 1 || $invoiced);
2506
+							$ctrl = '<input '.($disabled ? 'disabled' : '').' id="cb'.$task_time->rowid.'" class="flat checkforselect marginleftonly" type="checkbox" name="toselect[]" value="'.$task_time->rowid.'"'.($selected ? ' checked="checked"' : '').'>';
2507 2507
 							if ($disabled) {
2508 2508
 								// If disabled, a dbl-click very close outside the control
2509 2509
 								// will re-enable it, so that user is not blocked if needed.
2510
-								print '<span id="cbsp'. $task_time->rowid . '">'.$ctrl.'</span>';
2511
-								print '<script>$("#cbsp' . $task_time->rowid . '").dblclick(()=>{ $("#cb' . $task_time->rowid . '").removeAttr("disabled") })</script>';
2510
+								print '<span id="cbsp'.$task_time->rowid.'">'.$ctrl.'</span>';
2511
+								print '<script>$("#cbsp'.$task_time->rowid.'").dblclick(()=>{ $("#cb'.$task_time->rowid.'").removeAttr("disabled") })</script>';
2512 2512
 							} else {
2513 2513
 								print $ctrl;
2514 2514
 							}
@@ -2606,7 +2606,7 @@  discard block
 block discarded – undo
2606 2606
 							print img_object('', 'user', 'class="hideonsmartphone"');
2607 2607
 							print $form->select_dolusers($task_time->fk_user, 'userid_line', 0, '', 0, '', $contactsoftask);
2608 2608
 						} else {
2609
-							print img_error($langs->trans('FirstAddRessourceToAllocateTime')) . $langs->trans('FirstAddRessourceToAllocateTime');
2609
+							print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime');
2610 2610
 						}
2611 2611
 					} else {
2612 2612
 						$userstatic->id = $task_time->fk_user;
@@ -2623,13 +2623,13 @@  discard block
 block discarded – undo
2623 2623
 				if (!empty($arrayfields['t.note']['checked'])) {
2624 2624
 					print '<td class="tdoverflowmax300">';
2625 2625
 					if ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) {
2626
-						print '<textarea name="timespent_note_line" width="95%" rows="' . ROWS_1 . '">' . dol_escape_htmltag($task_time->note, 0, 1) . '</textarea>';
2626
+						print '<textarea name="timespent_note_line" width="95%" rows="'.ROWS_1.'">'.dol_escape_htmltag($task_time->note, 0, 1).'</textarea>';
2627 2627
 					} else {
2628 2628
 						print dol_nl2br($task_time->note);
2629 2629
 					}
2630 2630
 					print '</td>';
2631 2631
 				} elseif ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) {
2632
-					print '<input type="hidden" name="timespent_note_line" rows="' . ROWS_1 . '" value="' . dol_escape_htmltag($task_time->note, 0, 1) . '">';
2632
+					print '<input type="hidden" name="timespent_note_line" rows="'.ROWS_1.'" value="'.dol_escape_htmltag($task_time->note, 0, 1).'">';
2633 2633
 				}
2634 2634
 
2635 2635
 				// Time spent
@@ -2770,7 +2770,7 @@  discard block
 block discarded – undo
2770 2770
 							print img_object('', 'user', 'class="hideonsmartphone"');
2771 2771
 							print $form->select_dolusers($task_time->fk_user, 'userid_line_2', 0, '', 0, '', $contactsoftask);
2772 2772
 						} else {
2773
-							print img_error($langs->trans('FirstAddRessourceToAllocateTime')) . $langs->trans('FirstAddRessourceToAllocateTime');
2773
+							print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime');
2774 2774
 						}
2775 2775
 					} else {
2776 2776
 						$userstatic->id = $task_time->fk_user;
@@ -2787,13 +2787,13 @@  discard block
 block discarded – undo
2787 2787
 				if (!empty($arrayfields['t.note']['checked'])) {
2788 2788
 					print '<td class="small tdoverflowmax300"">';
2789 2789
 					if ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) {
2790
-						print '<textarea name="timespent_note_line_2" width="95%" rows="' . ROWS_1 . '">' . dol_escape_htmltag($task_time->note, 0, 1) . '</textarea>';
2790
+						print '<textarea name="timespent_note_line_2" width="95%" rows="'.ROWS_1.'">'.dol_escape_htmltag($task_time->note, 0, 1).'</textarea>';
2791 2791
 					} else {
2792 2792
 						print dol_nl2br($task_time->note);
2793 2793
 					}
2794 2794
 					print '</td>';
2795 2795
 				} elseif ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) {
2796
-					print '<input type="hidden" name="timespent_note_line_2" value="' . dol_escape_htmltag($task_time->note, 0, 1) . '">';
2796
+					print '<input type="hidden" name="timespent_note_line_2" value="'.dol_escape_htmltag($task_time->note, 0, 1).'">';
2797 2797
 				}
2798 2798
 
2799 2799
 				// Time spent
@@ -2867,14 +2867,14 @@  discard block
 block discarded – undo
2867 2867
 				$i++;
2868 2868
 				if ($i == 1) {
2869 2869
 					if ($num < $limit && empty($offset)) {
2870
-						print '<td class="left">' . $langs->trans("Total") . '</td>';
2870
+						print '<td class="left">'.$langs->trans("Total").'</td>';
2871 2871
 					} else {
2872 2872
 						print '<td class="left">'.$form->textwithpicto($langs->trans("Total"), $langs->trans("Totalforthispage")).'</td>';
2873 2873
 					}
2874 2874
 				} elseif (isset($totalarray['totaldurationfield']) && $totalarray['totaldurationfield'] == $i) {
2875
-					print '<td class="right">' . convertSecondToTime($totalarray['totalduration'], 'allhourmin') . '</td>';
2875
+					print '<td class="right">'.convertSecondToTime($totalarray['totalduration'], 'allhourmin').'</td>';
2876 2876
 				} elseif (isset($totalarray['totalvaluefield']) && $totalarray['totalvaluefield'] == $i) {
2877
-					print '<td class="right">' . price($totalarray['totalvalue']) . '</td>';
2877
+					print '<td class="right">'.price($totalarray['totalvalue']).'</td>';
2878 2878
 					//} elseif ($totalarray['totalvaluebilledfield'] == $i) { print '<td class="center">'.price($totalarray['totalvaluebilled']).'</td>';
2879 2879
 				} else {
2880 2880
 					print '<td></td>';
@@ -2890,8 +2890,8 @@  discard block
 block discarded – undo
2890 2890
 					$totalnboffields++;
2891 2891
 				}
2892 2892
 			}
2893
-			print '<tr class="oddeven"><td colspan="' . $totalnboffields . '">';
2894
-			print '<span class="opacitymedium">' . $langs->trans("None") . '</span>';
2893
+			print '<tr class="oddeven"><td colspan="'.$totalnboffields.'">';
2894
+			print '<span class="opacitymedium">'.$langs->trans("None").'</span>';
2895 2895
 			print '</td></tr>';
2896 2896
 		}
2897 2897
 
Please login to merge, or discard this patch.
htdocs/public/ticket/list.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -384,9 +384,9 @@  discard block
 block discarded – undo
384 384
 		$sql .= " AND ((tc.source = 'external'";
385 385
 		$sql .= " AND tc.element='".$db->escape($object->element)."'";
386 386
 		$sql .= " AND tc.active=1";
387
-		$sql .= " AND sp.email='".$db->escape($_SESSION['email_customer'])."')";		// email found into an external contact
388
-		$sql .= " OR s.email='".$db->escape($_SESSION['email_customer'])."'";			// or email of the linked company
389
-		$sql .= " OR t.origin_email='".$db->escape($_SESSION['email_customer'])."')";	// or email of the requester
387
+		$sql .= " AND sp.email='".$db->escape($_SESSION['email_customer'])."')"; // email found into an external contact
388
+		$sql .= " OR s.email='".$db->escape($_SESSION['email_customer'])."'"; // or email of the linked company
389
+		$sql .= " OR t.origin_email='".$db->escape($_SESSION['email_customer'])."')"; // or email of the requester
390 390
 		// Manage filter
391 391
 		if (!empty($filter)) {
392 392
 			foreach ($filter as $key => $value) {
@@ -421,7 +421,7 @@  discard block
 block discarded – undo
421 421
 
422 422
 				$baseurl = getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE', DOL_URL_ROOT.'/public/ticket/');
423 423
 
424
-				$newcardbutton = '<a class="marginrightonly" href="'.$baseurl . 'create_ticket.php?action=create'.(!empty($entity) && isModEnabled('multicompany')?'&entity='.$entity:'').'&token='.newToken().'" rel="nofollow noopener"><span class="fa fa-15 fa-plus-circle valignmiddle btnTitle-icon" title="'.dol_escape_htmltag($langs->trans("CreateTicket")).'"></span></a>';
424
+				$newcardbutton = '<a class="marginrightonly" href="'.$baseurl.'create_ticket.php?action=create'.(!empty($entity) && isModEnabled('multicompany') ? '&entity='.$entity : '').'&token='.newToken().'" rel="nofollow noopener"><span class="fa fa-15 fa-plus-circle valignmiddle btnTitle-icon" title="'.dol_escape_htmltag($langs->trans("CreateTicket")).'"></span></a>';
425 425
 
426 426
 				print_barre_liste($langs->trans('TicketList'), $page, 'list.php', $param, $sortfield, $sortorder, '', $num, $num_total, 'ticket', 0, $newcardbutton);
427 427
 
@@ -438,7 +438,7 @@  discard block
 block discarded – undo
438 438
 
439 439
 				// allow to display information before list
440 440
 				$parameters = array('arrayfields' => $arrayfields);
441
-				$reshook = $hookmanager->executeHooks('printFieldListHeader', $parameters, $object, $action);    // Note that $action and $object may have been modified by hook
441
+				$reshook = $hookmanager->executeHooks('printFieldListHeader', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
442 442
 				print $hookmanager->resPrint;
443 443
 
444 444
 				print '<div class="div-table-responsive">';
@@ -719,7 +719,7 @@  discard block
 block discarded – undo
719 719
 
720 720
 				$url_public_ticket = getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE', dol_buildpath('/public/ticket/', 1));
721 721
 
722
-				print '<form method="POST" id="form_view_ticket" name="form_view_ticket" action="'.$url_public_ticket.'view.php'.(!empty($entity) && isModEnabled('multicompany')?'?entity='.$entity:'').'" style="display:none;">';
722
+				print '<form method="POST" id="form_view_ticket" name="form_view_ticket" action="'.$url_public_ticket.'view.php'.(!empty($entity) && isModEnabled('multicompany') ? '?entity='.$entity : '').'" style="display:none;">';
723 723
 				print '<input type="hidden" name="token" value="'.newToken().'">';
724 724
 				print '<input type="hidden" name="action" value="view_ticket">';
725 725
 				print '<input type="hidden" name="btn_view_ticket_list" value="1">';
Please login to merge, or discard this patch.
htdocs/compta/bank/bankentries_list.php 1 patch
Spacing   +16 added lines, -17 removed lines patch added patch discarded remove patch
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
 $search_type = GETPOST("search_type", 'alpha');
78 78
 $search_account = GETPOST("search_account", 'int') ? GETPOST("search_account", 'int') : GETPOST("account", 'int');
79 79
 $search_accountancy_code = GETPOST('search_accountancy_code', 'alpha') ? GETPOST('search_accountancy_code', 'alpha') : GETPOST('accountancy_code', 'alpha');
80
-$search_bid = GETPOST("search_bid", 'int') ? GETPOST("search_bid", 'int') : GETPOST("bid", 'int');		// Category id
80
+$search_bid = GETPOST("search_bid", 'int') ? GETPOST("search_bid", 'int') : GETPOST("bid", 'int'); // Category id
81 81
 $search_ref = GETPOST('search_ref', 'alpha');
82 82
 $search_description = GETPOST("search_description", 'alpha');
83 83
 $search_dt_start = dol_mktime(0, 0, 0, GETPOSTINT('search_start_dtmonth'), GETPOSTINT('search_start_dtday'), GETPOSTINT('search_start_dtyear'));
@@ -150,12 +150,12 @@  discard block
 block discarded – undo
150 150
 $search_array_options = $extrafields->getOptionalsFromPost('banktransaction', '', 'search_');
151 151
 
152 152
 $arrayfields = array(
153
-	'b.rowid' => array('label' => $langs->trans("Ref"), 'checked' => 1,'position' => 10),
154
-	'b.label' => array('label' => $langs->trans("Description"), 'checked' => 1,'position' => 20),
155
-	'b.dateo' => array('label' => $langs->trans("DateOperationShort"), 'checked' => -1,'position' => 30),
156
-	'b.datev' => array('label' => $langs->trans("DateValueShort"), 'checked' => 1,'position' => 40),
157
-	'type' => array('label' => $langs->trans("Type"), 'checked' => 1,'position' => 50),
158
-	'b.num_chq' => array('label' => $langs->trans("Numero"), 'checked' => 1,'position' => 60),
153
+	'b.rowid' => array('label' => $langs->trans("Ref"), 'checked' => 1, 'position' => 10),
154
+	'b.label' => array('label' => $langs->trans("Description"), 'checked' => 1, 'position' => 20),
155
+	'b.dateo' => array('label' => $langs->trans("DateOperationShort"), 'checked' => -1, 'position' => 30),
156
+	'b.datev' => array('label' => $langs->trans("DateValueShort"), 'checked' => 1, 'position' => 40),
157
+	'type' => array('label' => $langs->trans("Type"), 'checked' => 1, 'position' => 50),
158
+	'b.num_chq' => array('label' => $langs->trans("Numero"), 'checked' => 1, 'position' => 60),
159 159
 	'bu.label' => array('label' => $langs->trans("ThirdParty").'/'.$langs->trans("User"), 'checked' => 1, 'position' => 70),
160 160
 	'ba.ref' => array('label' => $langs->trans("BankAccount"), 'checked' => (($id > 0 || !empty($ref)) ? 0 : 1), 'position' => 80),
161 161
 	'b.debit' => array('label' => $langs->trans("Debit"), 'checked' => 1, 'position' => 90),
@@ -652,20 +652,20 @@  discard block
 block discarded – undo
652 652
 	$sql .= " AND b.rappro = ".((int) $search_conciliated);
653 653
 }
654 654
 if ($search_fk_bordereau > 0) {
655
-	$sql .= " AND b.fk_bordereau = " . ((int) $search_fk_bordereau);
655
+	$sql .= " AND b.fk_bordereau = ".((int) $search_fk_bordereau);
656 656
 }
657 657
 if ($search_thirdparty_user) {
658 658
 	$sql .= " AND (b.rowid IN ";
659 659
 	$sql .= " 	( SELECT bu.fk_bank FROM ".MAIN_DB_PREFIX."bank_url AS bu";
660 660
 	$sql .= "	 JOIN ".MAIN_DB_PREFIX."bank AS b2 ON b2.rowid = bu.fk_bank";
661 661
 	$sql .= "	 JOIN ".MAIN_DB_PREFIX."user AS subUser ON (bu.type = 'user' AND bu.url_id = subUser.rowid)";
662
-	$sql .= "	  WHERE ". natural_search(array("subUser.firstname", "subUser.lastname"), $search_thirdparty_user, 0, 1).")";
662
+	$sql .= "	  WHERE ".natural_search(array("subUser.firstname", "subUser.lastname"), $search_thirdparty_user, 0, 1).")";
663 663
 
664 664
 	$sql .= " OR b.rowid IN ";
665 665
 	$sql .= " 	( SELECT bu.fk_bank FROM ".MAIN_DB_PREFIX."bank_url AS bu";
666 666
 	$sql .= "	 JOIN ".MAIN_DB_PREFIX."bank AS b2 ON b2.rowid = bu.fk_bank";
667 667
 	$sql .= "	 JOIN ".MAIN_DB_PREFIX."societe AS subSoc ON (bu.type = 'company' AND bu.url_id = subSoc.rowid)";
668
-	$sql .= "	  WHERE ". natural_search(array("subSoc.nom"), $search_thirdparty_user, 0, 1);
668
+	$sql .= "	  WHERE ".natural_search(array("subSoc.nom"), $search_thirdparty_user, 0, 1);
669 669
 	$sql .= "))";
670 670
 }
671 671
 if ($search_description) {
@@ -1091,7 +1091,7 @@  discard block
 block discarded – undo
1091 1091
 	}
1092 1092
 
1093 1093
 	$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
1094
-	$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN'));  // This also change content of $arrayfields with user setup
1094
+	$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')); // This also change content of $arrayfields with user setup
1095 1095
 	$selectedfields = ($mode != 'kanban' ? $htmlofselectarray : '');
1096 1096
 	$selectedfields .= ($action == 'reconcile' ? $form->showCheckAddButtons('checkforselect', 1) : '');
1097 1097
 
@@ -1457,10 +1457,10 @@  discard block
 block discarded – undo
1457 1457
 			$backgroundcolor = "class='oddeven'";
1458 1458
 		} else {
1459 1459
 			if ($objp->amount < 0) {
1460
-				$color = '#' . getDolGlobalString('BANK_COLORIZE_MOVEMENT_COLOR1', 'fca955');
1460
+				$color = '#'.getDolGlobalString('BANK_COLORIZE_MOVEMENT_COLOR1', 'fca955');
1461 1461
 				$backgroundcolor = 'style="background: '.$color.';"';
1462 1462
 			} else {
1463
-				$color = '#' . getDolGlobalString('BANK_COLORIZE_MOVEMENT_COLOR2', '7fdb86');
1463
+				$color = '#'.getDolGlobalString('BANK_COLORIZE_MOVEMENT_COLOR2', '7fdb86');
1464 1464
 				$backgroundcolor = 'style="background: '.$color.';"';
1465 1465
 			}
1466 1466
 		}
@@ -1609,7 +1609,7 @@  discard block
 block discarded – undo
1609 1609
 				}
1610 1610
 			}
1611 1611
 
1612
-			print $labeltoshow;	// Already escaped
1612
+			print $labeltoshow; // Already escaped
1613 1613
 
1614 1614
 			print '</td>';
1615 1615
 			if (!$i) {
@@ -1697,8 +1697,7 @@  discard block
 block discarded – undo
1697 1697
 					$companylinked_id = $donstatic->socid;
1698 1698
 					if (!$companylinked_id) {
1699 1699
 						$thirdstr = ($donstatic->societe !== "" ?
1700
-									$donstatic->societe :
1701
-									$donstatic->firstname." ".$donstatic->lastname);
1700
+									$donstatic->societe : $donstatic->firstname." ".$donstatic->lastname);
1702 1701
 					}
1703 1702
 				}
1704 1703
 				if ($links[$key]['type'] == 'payment_expensereport') {
@@ -1853,7 +1852,7 @@  discard block
 block discarded – undo
1853 1852
 
1854 1853
 		// Fields from hook
1855 1854
 		$parameters = array('arrayfields' => $arrayfields, 'obj' => $objp, 'i' => $i, 'totalarray' => &$totalarray);
1856
-		$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $object, $action);    // Note that $action and $objecttmpect may have been modified by hook
1855
+		$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object, $action); // Note that $action and $objecttmpect may have been modified by hook
1857 1856
 		print $hookmanager->resPrint;
1858 1857
 
1859 1858
 		// Action edit/delete and select
Please login to merge, or discard this patch.
htdocs/includes/OAuth/Common/Storage/DoliStorage.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
 		$sql .= " WHERE service = '".$this->db->escape($servicepluskeyforprovider)."'";
131 131
 		$sql .= " AND entity IN (".getEntity('oauth_token').")";
132 132
 		$resql = $this->db->query($sql);
133
-		if (! $resql) {
133
+		if (!$resql) {
134 134
 			dol_print_error($this->db);
135 135
 		}
136 136
 		$obj = $this->db->fetch_array($resql);
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
 		$sql .= " WHERE service = '".$this->db->escape($servicepluskeyforprovider)."'";
184 184
 		$sql .= " AND entity IN (".getEntity('oauth_token').")";
185 185
 		$resql = $this->db->query($sql);
186
-		if (! $resql) {
186
+		if (!$resql) {
187 187
 			dol_print_error($this->db);
188 188
 		}
189 189
 		$result = $this->db->fetch_array($resql);
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
 		$sql .= " WHERE service = '".$this->db->escape($servicepluskeyforprovider)."'";
293 293
 		$sql .= " AND entity IN (".getEntity('oauth_token').")";
294 294
 		$resql = $this->db->query($sql);
295
-		if (! $resql) {
295
+		if (!$resql) {
296 296
 			dol_print_error($this->db);
297 297
 		}
298 298
 		$obj = $this->db->fetch_array($resql);
Please login to merge, or discard this patch.
htdocs/ticket/class/ticket.class.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -261,14 +261,14 @@  discard block
 block discarded – undo
261 261
 	/**
262 262
 	 * Status
263 263
 	 */
264
-	const STATUS_NOT_READ = 0;			// Draft. Not take into account yet.
265
-	const STATUS_READ = 1;				// Ticket was read.
266
-	const STATUS_ASSIGNED = 2;			// Ticket was just assigned to someone. Not in progress yet.
267
-	const STATUS_IN_PROGRESS = 3;		// In progress
268
-	const STATUS_NEED_MORE_INFO = 5;	// Waiting requester feedback
269
-	const STATUS_WAITING = 7;			// On hold
270
-	const STATUS_CLOSED = 8;			// Closed - Solved
271
-	const STATUS_CANCELED = 9;			// Closed - Not solved
264
+	const STATUS_NOT_READ = 0; // Draft. Not take into account yet.
265
+	const STATUS_READ = 1; // Ticket was read.
266
+	const STATUS_ASSIGNED = 2; // Ticket was just assigned to someone. Not in progress yet.
267
+	const STATUS_IN_PROGRESS = 3; // In progress
268
+	const STATUS_NEED_MORE_INFO = 5; // Waiting requester feedback
269
+	const STATUS_WAITING = 7; // On hold
270
+	const STATUS_CLOSED = 8; // Closed - Solved
271
+	const STATUS_CANCELED = 9; // Closed - Not solved
272 272
 
273 273
 
274 274
 	/**
@@ -1597,9 +1597,9 @@  discard block
 block discarded – undo
1597 1597
 		}
1598 1598
 		// show categories for this record only in ajax to not overload lists
1599 1599
 		if (isModEnabled('category') && !$nofetch) {
1600
-			require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php';
1600
+			require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
1601 1601
 			$form = new Form($this->db);
1602
-			$datas['categories'] = '<br>' . $form->showCategories($this->id, Categorie::TYPE_TICKET, 1);
1602
+			$datas['categories'] = '<br>'.$form->showCategories($this->id, Categorie::TYPE_TICKET, 1);
1603 1603
 		}
1604 1604
 
1605 1605
 		return $datas;
@@ -1838,7 +1838,7 @@  discard block
 block discarded – undo
1838 1838
 		// Insert entry into agenda with code 'TICKET_MSG'
1839 1839
 		include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
1840 1840
 		$actioncomm = new ActionComm($this->db);
1841
-		$actioncomm->type_code = 'AC_OTH_AUTO';	// This is not an entry that must appears into manual calendar but only into CRM calendar
1841
+		$actioncomm->type_code = 'AC_OTH_AUTO'; // This is not an entry that must appears into manual calendar but only into CRM calendar
1842 1842
 		$actioncomm->code = 'TICKET_MSG';
1843 1843
 		if ($this->private) {
1844 1844
 			$actioncomm->code = 'TICKET_MSG_PRIVATE';
@@ -1852,7 +1852,7 @@  discard block
 block discarded – undo
1852 1852
 		$actioncomm->socid = $this->socid;
1853 1853
 		$actioncomm->label = $this->subject;
1854 1854
 		$actioncomm->note_private = $this->message;
1855
-		$actioncomm->userassigned = array($user->id => array('id' => $user->id,'transparency' => 0));
1855
+		$actioncomm->userassigned = array($user->id => array('id' => $user->id, 'transparency' => 0));
1856 1856
 		$actioncomm->userownerid = $user->id;
1857 1857
 		$actioncomm->datep = $now;
1858 1858
 		$actioncomm->percentage = -1; // percentage is not relevant for punctual events
@@ -2427,7 +2427,7 @@  discard block
 block discarded – undo
2427 2427
 						'email' => $obj->email,
2428 2428
 						'rowid' => $obj->rowid,
2429 2429
 						'code' => $obj->code,
2430
-						'libelle' => $labelType,		// deprecated, replaced with labeltype
2430
+						'libelle' => $labelType, // deprecated, replaced with labeltype
2431 2431
 						'labeltype' => $labelType,
2432 2432
 						'status' => $obj->statuslink,
2433 2433
 						'statuscontact' => $obj->statuscontact,
@@ -2512,7 +2512,7 @@  discard block
 block discarded – undo
2512 2512
 			if (is_resource($handle)) {
2513 2513
 				while (($file = readdir($handle)) !== false) {
2514 2514
 					if (!utf8_check($file)) {
2515
-						$file = mb_convert_encoding($file, 'UTF-8', 'ISO-8859-1');	// To be sure data is stored in UTF8 in memory
2515
+						$file = mb_convert_encoding($file, 'UTF-8', 'ISO-8859-1'); // To be sure data is stored in UTF8 in memory
2516 2516
 					}
2517 2517
 					if (dol_is_file($dir.$file)) {
2518 2518
 						return true;
@@ -2550,7 +2550,7 @@  discard block
 block discarded – undo
2550 2550
 		$formmail->trackid = (is_null($forcetrackid) ? 'tic'.$this->id : '');
2551 2551
 		$attachedfiles = $formmail->get_attached_files();
2552 2552
 
2553
-		$filepath = $attachedfiles['paths'];	// path is for example user->dir_temp.'/'.$user->id.'/'...
2553
+		$filepath = $attachedfiles['paths']; // path is for example user->dir_temp.'/'.$user->id.'/'...
2554 2554
 		$filename = $attachedfiles['names'];
2555 2555
 		$mimetype = $attachedfiles['mimes'];
2556 2556
 
@@ -2940,7 +2940,7 @@  discard block
 block discarded – undo
2940 2940
 
2941 2941
 								// If public interface is not enable, use link to internal page into mail
2942 2942
 								$url_public_ticket = (getDolGlobalInt('TICKET_ENABLE_PUBLIC_INTERFACE') ?
2943
-										(getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE') !== '' ? getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE') . '/view.php' : dol_buildpath('/public/ticket/view.php', 2)) : dol_buildpath('/ticket/card.php', 2)).'?track_id='.urlencode($object->track_id);
2943
+										(getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE') !== '' ? getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE').'/view.php' : dol_buildpath('/public/ticket/view.php', 2)) : dol_buildpath('/ticket/card.php', 2)).'?track_id='.urlencode($object->track_id);
2944 2944
 
2945 2945
 								$message .= '<br>'.$langs->trans('TicketNewEmailBodyInfosTrackUrlCustomer').' : <a href="'.$url_public_ticket.'">'.$object->track_id.'</a><br>';
2946 2946
 
@@ -2977,7 +2977,7 @@  discard block
 block discarded – undo
2977 2977
 									if ($result) {
2978 2978
 										// update last_msg_sent date (for last message sent to external users)
2979 2979
 										$this->date_last_msg_sent = dol_now();
2980
-										$this->update($user, 1);	// disable trigger when updating date_last_msg_sent. sendTicketMessageByEmail already create an event in actioncomm table.
2980
+										$this->update($user, 1); // disable trigger when updating date_last_msg_sent. sendTicketMessageByEmail already create an event in actioncomm table.
2981 2981
 									}
2982 2982
 								}
2983 2983
 							}
Please login to merge, or discard this patch.
htdocs/product/class/product.class.php 1 patch
Spacing   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 		'contratdet' => array('name' => 'Contract', 'parent' => 'contrat', 'parentkey' => 'fk_contrat'),
88 88
 		'facture_fourn_det' => array('name' => 'SupplierInvoice', 'parent' => 'facture_fourn', 'parentkey' => 'fk_facture_fourn'),
89 89
 		'commande_fournisseurdet' => array('name' => 'SupplierOrder', 'parent' => 'commande_fournisseur', 'parentkey' => 'fk_commande'),
90
-		'mrp_production' => array('name' => 'Mo', 'parent' => 'mrp_mo', 'parentkey' => 'fk_mo' ),
90
+		'mrp_production' => array('name' => 'Mo', 'parent' => 'mrp_mo', 'parentkey' => 'fk_mo'),
91 91
 		'bom_bom' => array('name' => 'BOM'),
92 92
 		'bom_bomline' => array('name' => 'BOMLine', 'parent' => 'bom_bom', 'parentkey' => 'fk_bom'),
93 93
 	);
@@ -147,7 +147,7 @@  discard block
 block discarded – undo
147 147
 	 */
148 148
 	public $price;
149 149
 
150
-	public $price_formated;			// used by takepos/ajax/ajax.php
150
+	public $price_formated; // used by takepos/ajax/ajax.php
151 151
 
152 152
 	/**
153 153
 	 * Selling price with tax
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
 	 */
157 157
 	public $price_ttc;
158 158
 
159
-	public $price_ttc_formated;		// used by takepos/ajax/ajax.php
159
+	public $price_ttc_formated; // used by takepos/ajax/ajax.php
160 160
 
161 161
 	/**
162 162
 	 * Minimum price net
@@ -409,20 +409,20 @@  discard block
 block discarded – undo
409 409
 
410 410
 	//! Metric of products
411 411
 	public $weight;
412
-	public $weight_units;	// scale -3, 0, 3, 6
412
+	public $weight_units; // scale -3, 0, 3, 6
413 413
 	public $length;
414
-	public $length_units;	// scale -3, 0, 3, 6
414
+	public $length_units; // scale -3, 0, 3, 6
415 415
 	public $width;
416
-	public $width_units;	// scale -3, 0, 3, 6
416
+	public $width_units; // scale -3, 0, 3, 6
417 417
 	public $height;
418
-	public $height_units;	// scale -3, 0, 3, 6
418
+	public $height_units; // scale -3, 0, 3, 6
419 419
 	public $surface;
420
-	public $surface_units;	// scale -3, 0, 3, 6
420
+	public $surface_units; // scale -3, 0, 3, 6
421 421
 	public $volume;
422
-	public $volume_units;	// scale -3, 0, 3, 6
422
+	public $volume_units; // scale -3, 0, 3, 6
423 423
 
424 424
 	public $net_measure;
425
-	public $net_measure_units;	// scale -3, 0, 3, 6
425
+	public $net_measure_units; // scale -3, 0, 3, 6
426 426
 
427 427
 	public $accountancy_code_sell;
428 428
 	public $accountancy_code_sell_intra;
@@ -648,7 +648,7 @@  discard block
 block discarded – undo
648 648
 		'import_key'    => array('type' => 'varchar(14)', 'label' => 'ImportId', 'enabled' => 1, 'visible' => -2, 'notnull' => -1, 'index' => 0, 'position' => 1000),
649 649
 		//'tosell'       =>array('type'=>'integer',      'label'=>'Status',           'enabled'=>1, 'visible'=>1,  'notnull'=>1, 'default'=>'0', 'index'=>1,  'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')),
650 650
 		//'tobuy'        =>array('type'=>'integer',      'label'=>'Status',           'enabled'=>1, 'visible'=>1,  'notnull'=>1, 'default'=>'0', 'index'=>1,  'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')),
651
-		'mandatory_period' => array('type' => 'integer', 'label' => 'mandatoryperiod', 'enabled' => 1, 'visible' => 1,  'notnull' => 1, 'default' => '0', 'index' => 1,  'position' => 1000),
651
+		'mandatory_period' => array('type' => 'integer', 'label' => 'mandatoryperiod', 'enabled' => 1, 'visible' => 1, 'notnull' => 1, 'default' => '0', 'index' => 1, 'position' => 1000),
652 652
 	);
653 653
 
654 654
 	/**
@@ -952,9 +952,9 @@  discard block
 block discarded – undo
952 952
 
953 953
 							// update accountancy for this entity
954 954
 							if (!$error && getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
955
-								$this->db->query("DELETE FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = " .((int) $this->id) . " AND entity = " . ((int) $conf->entity));
955
+								$this->db->query("DELETE FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $this->id)." AND entity = ".((int) $conf->entity));
956 956
 
957
-								$sql = "INSERT INTO " . $this->db->prefix() . "product_perentity (";
957
+								$sql = "INSERT INTO ".$this->db->prefix()."product_perentity (";
958 958
 								$sql .= " fk_product";
959 959
 								$sql .= ", entity";
960 960
 								$sql .= ", accountancy_code_buy";
@@ -965,13 +965,13 @@  discard block
 block discarded – undo
965 965
 								$sql .= ", accountancy_code_sell_export";
966 966
 								$sql .= ") VALUES (";
967 967
 								$sql .= $this->id;
968
-								$sql .= ", " . ((int) $conf->entity);
969
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy) . "'";
970
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
971
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
972
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell) . "'";
973
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
974
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
968
+								$sql .= ", ".((int) $conf->entity);
969
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy)."'";
970
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy_intra)."'";
971
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy_export)."'";
972
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell)."'";
973
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell_intra)."'";
974
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell_export)."'";
975 975
 								$sql .= ")";
976 976
 								$result = $this->db->query($sql);
977 977
 								if (!$result) {
@@ -1352,12 +1352,12 @@  discard block
 block discarded – undo
1352 1352
 			$sql .= ", note_public = ".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : 'null');
1353 1353
 			$sql .= ", duration = '".$this->db->escape($this->duration_value.$this->duration_unit)."'";
1354 1354
 			if (!getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
1355
-				$sql .= ", accountancy_code_buy = '" . $this->db->escape($this->accountancy_code_buy) . "'";
1356
-				$sql .= ", accountancy_code_buy_intra = '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
1357
-				$sql .= ", accountancy_code_buy_export = '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
1358
-				$sql .= ", accountancy_code_sell= '" . $this->db->escape($this->accountancy_code_sell) . "'";
1359
-				$sql .= ", accountancy_code_sell_intra= '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
1360
-				$sql .= ", accountancy_code_sell_export= '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
1355
+				$sql .= ", accountancy_code_buy = '".$this->db->escape($this->accountancy_code_buy)."'";
1356
+				$sql .= ", accountancy_code_buy_intra = '".$this->db->escape($this->accountancy_code_buy_intra)."'";
1357
+				$sql .= ", accountancy_code_buy_export = '".$this->db->escape($this->accountancy_code_buy_export)."'";
1358
+				$sql .= ", accountancy_code_sell= '".$this->db->escape($this->accountancy_code_sell)."'";
1359
+				$sql .= ", accountancy_code_sell_intra= '".$this->db->escape($this->accountancy_code_sell_intra)."'";
1360
+				$sql .= ", accountancy_code_sell_export= '".$this->db->escape($this->accountancy_code_sell_export)."'";
1361 1361
 			}
1362 1362
 			$sql .= ", desiredstock = ".((isset($this->desiredstock) && is_numeric($this->desiredstock)) ? (float) $this->desiredstock : "null");
1363 1363
 			$sql .= ", cost_price = ".($this->cost_price != '' ? $this->db->escape($this->cost_price) : 'null');
@@ -1388,9 +1388,9 @@  discard block
 block discarded – undo
1388 1388
 
1389 1389
 				// update accountancy for this entity
1390 1390
 				if (!$error && getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
1391
-					$this->db->query("DELETE FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = " . ((int) $this->id) . " AND entity = " . ((int) $conf->entity));
1391
+					$this->db->query("DELETE FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $this->id)." AND entity = ".((int) $conf->entity));
1392 1392
 
1393
-					$sql = "INSERT INTO " . $this->db->prefix() . "product_perentity (";
1393
+					$sql = "INSERT INTO ".$this->db->prefix()."product_perentity (";
1394 1394
 					$sql .= " fk_product";
1395 1395
 					$sql .= ", entity";
1396 1396
 					$sql .= ", accountancy_code_buy";
@@ -1401,13 +1401,13 @@  discard block
 block discarded – undo
1401 1401
 					$sql .= ", accountancy_code_sell_export";
1402 1402
 					$sql .= ") VALUES (";
1403 1403
 					$sql .= ((int) $this->id);
1404
-					$sql .= ", " . ((int) $conf->entity);
1405
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy) . "'";
1406
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
1407
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
1408
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell) . "'";
1409
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
1410
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
1404
+					$sql .= ", ".((int) $conf->entity);
1405
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy)."'";
1406
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy_intra)."'";
1407
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy_export)."'";
1408
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell)."'";
1409
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell_intra)."'";
1410
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell_export)."'";
1411 1411
 					$sql .= ")";
1412 1412
 					$result = $this->db->query($sql);
1413 1413
 					if (!$result) {
@@ -1485,7 +1485,7 @@  discard block
 block discarded – undo
1485 1485
 								$error++;
1486 1486
 							} else {
1487 1487
 								// to keep old entries with the new dir
1488
-								require_once DOL_DOCUMENT_ROOT . '/ecm/class/ecmfiles.class.php';
1488
+								require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmfiles.class.php';
1489 1489
 								$ecmfiles = new EcmFiles($this->db);
1490 1490
 								$ecmfiles->updateAfterRename("produit/".dol_sanitizeFileName($this->oldcopy->ref), "produit/".dol_sanitizeFileName($this->ref));
1491 1491
 							}
@@ -1783,7 +1783,7 @@  discard block
 block discarded – undo
1783 1783
 				}
1784 1784
 			} elseif (isset($this->multilangs[$key])) {
1785 1785
 				if (empty($this->multilangs["$key"]["label"])) {
1786
-					$this->errors[] = $key . ' : ' . $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label"));
1786
+					$this->errors[] = $key.' : '.$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label"));
1787 1787
 					return -1;
1788 1788
 				}
1789 1789
 
@@ -1978,7 +1978,7 @@  discard block
 block discarded – undo
1978 1978
 	 */
1979 1979
 	private function getArrayForPriceCompare($level = 0)
1980 1980
 	{
1981
-		$testExit = array('multiprices','multiprices_ttc','multiprices_base_type','multiprices_min','multiprices_min_ttc','multiprices_tva_tx','multiprices_recuperableonly');
1981
+		$testExit = array('multiprices', 'multiprices_ttc', 'multiprices_base_type', 'multiprices_min', 'multiprices_min_ttc', 'multiprices_tva_tx', 'multiprices_recuperableonly');
1982 1982
 
1983 1983
 		foreach ($testExit as $field) {
1984 1984
 			if (!isset($this->$field)) {
@@ -2620,12 +2620,12 @@  discard block
 block discarded – undo
2620 2620
 
2621 2621
 		//For MultiCompany
2622 2622
 		//PMP per entity & Stocks Sharings stock_reel includes only stocks shared with this entity
2623
-		$separatedEntityPMP = false;	// Set to true to get the AWP from table llx_product_perentity instead of field 'pmp' into llx_product.
2624
-		$separatedStock = false;		// Set to true will count stock from subtable llx_product_stock. It is slower than using denormalized field 'stock', but it is required when using multientity and shared warehouses.
2623
+		$separatedEntityPMP = false; // Set to true to get the AWP from table llx_product_perentity instead of field 'pmp' into llx_product.
2624
+		$separatedStock = false; // Set to true will count stock from subtable llx_product_stock. It is slower than using denormalized field 'stock', but it is required when using multientity and shared warehouses.
2625 2625
 		$visibleWarehousesEntities = $conf->entity;
2626 2626
 		if (getDolGlobalString('MULTICOMPANY_PRODUCT_SHARING_ENABLED')) {
2627 2627
 			if (getDolGlobalString('MULTICOMPANY_PMP_PER_ENTITY_ENABLED')) {
2628
-				$checkPMPPerEntity = $this->db->query("SELECT pmp FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = ".((int) $id)." AND entity = ".(int) $conf->entity);
2628
+				$checkPMPPerEntity = $this->db->query("SELECT pmp FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $id)." AND entity = ".(int) $conf->entity);
2629 2629
 				if ($this->db->num_rows($checkPMPPerEntity) > 0) {
2630 2630
 					$separatedEntityPMP = true;
2631 2631
 				}
@@ -2633,7 +2633,7 @@  discard block
 block discarded – undo
2633 2633
 			global $mc;
2634 2634
 			$separatedStock = true;
2635 2635
 			if (isset($mc->sharings['stock']) && !empty($mc->sharings['stock'])) {
2636
-				$visibleWarehousesEntities .= "," . implode(",", $mc->sharings['stock']);
2636
+				$visibleWarehousesEntities .= ",".implode(",", $mc->sharings['stock']);
2637 2637
 			}
2638 2638
 		}
2639 2639
 		if ($separatedEntityPMP) {
@@ -2651,10 +2651,10 @@  discard block
 block discarded – undo
2651 2651
 		}
2652 2652
 		$sql .= " FROM ".$this->db->prefix()."product as p";
2653 2653
 		if (getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED') || $separatedEntityPMP) {
2654
-			$sql .= " LEFT JOIN " . $this->db->prefix() . "product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity);
2654
+			$sql .= " LEFT JOIN ".$this->db->prefix()."product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = ".((int) $conf->entity);
2655 2655
 		}
2656 2656
 		if ($separatedStock) {
2657
-			$sql .= " LEFT JOIN " . $this->db->prefix() . "product_stock as sp ON sp.fk_product = p.rowid AND sp.fk_entrepot IN (SELECT rowid FROM ".$this->db->prefix()."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))";
2657
+			$sql .= " LEFT JOIN ".$this->db->prefix()."product_stock as sp ON sp.fk_product = p.rowid AND sp.fk_entrepot IN (SELECT rowid FROM ".$this->db->prefix()."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))";
2658 2658
 		}
2659 2659
 
2660 2660
 		if ($id) {
@@ -2814,15 +2814,15 @@  discard block
 block discarded – undo
2814 2814
 						$sql .= " WHERE entity IN (".getEntity('productprice').")";
2815 2815
 						$sql .= " AND price_level=".((int) $i);
2816 2816
 						$sql .= " AND fk_product = ".((int) $this->id);
2817
-						$sql .= " ORDER BY date_price DESC, rowid DESC";	// Get the most recent line
2818
-						$sql .= " LIMIT 1";									// Only the first one
2817
+						$sql .= " ORDER BY date_price DESC, rowid DESC"; // Get the most recent line
2818
+						$sql .= " LIMIT 1"; // Only the first one
2819 2819
 						$resql = $this->db->query($sql);
2820 2820
 						if ($resql) {
2821 2821
 							$result = $this->db->fetch_array($resql);
2822 2822
 
2823 2823
 							$this->multiprices[$i] = $result ? $result["price"] : null;
2824 2824
 							$this->multiprices_ttc[$i] = $result ? $result["price_ttc"] : null;
2825
-							$this->multiprices_min[$i] =  $result ? $result["price_min"] : null;
2825
+							$this->multiprices_min[$i] = $result ? $result["price_min"] : null;
2826 2826
 							$this->multiprices_min_ttc[$i] = $result ? $result["price_min_ttc"] : null;
2827 2827
 							$this->multiprices_base_type[$i] = $result ? $result["price_base_type"] : null;
2828 2828
 							// Next two fields are used only if PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL is on
@@ -3047,7 +3047,7 @@  discard block
 block discarded – undo
3047 3047
 				$obj = $this->db->fetch_object($result);
3048 3048
 				$this->stats_mo['customers_'.$role] = $obj->nb_customers ? $obj->nb_customers : 0;
3049 3049
 				$this->stats_mo['nb_'.$role] = $obj->nb ? $obj->nb : 0;
3050
-				$this->stats_mo['qty_'.$role] = $obj->qty ? price2num($obj->qty, 'MS') : 0;		// qty may be a float due to the SUM()
3050
+				$this->stats_mo['qty_'.$role] = $obj->qty ? price2num($obj->qty, 'MS') : 0; // qty may be a float due to the SUM()
3051 3051
 			} else {
3052 3052
 				$this->error = $this->db->error();
3053 3053
 				$error++;
@@ -4550,7 +4550,7 @@  discard block
 block discarded – undo
4550 4550
 				//Addition of a product with the highest rank +1
4551 4551
 				$sql = "INSERT INTO ".$this->db->prefix()."product_association(fk_product_pere,fk_product_fils,qty,incdec,rang)";
4552 4552
 				$sql .= " VALUES (".((int) $id_pere).", ".((int) $id_fils).", ".price2num($qty, 'MS').", ".((int) $incdec).", ".((int) $rank).")";
4553
-				if (! $this->db->query($sql)) {
4553
+				if (!$this->db->query($sql)) {
4554 4554
 					dol_print_error($this->db);
4555 4555
 					return -1;
4556 4556
 				} else {
@@ -4671,7 +4671,7 @@  discard block
 block discarded – undo
4671 4671
 				$sql = "UPDATE ".$this->db->prefix()."product_association";
4672 4672
 				$sql .= " SET rang = ".((int) $cpt);
4673 4673
 				$sql .= " WHERE rowid = ".((int) $objrank->rowid);
4674
-				if (! $this->db->query($sql)) {
4674
+				if (!$this->db->query($sql)) {
4675 4675
 					dol_print_error($this->db);
4676 4676
 					return -1;
4677 4677
 				}
@@ -5106,7 +5106,7 @@  discard block
 block discarded – undo
5106 5106
 		if (isset($this->sousprods) && is_array($this->sousprods)) {
5107 5107
 			foreach ($this->sousprods as $prod_name => $desc_product) {
5108 5108
 				if (is_array($desc_product)) {
5109
-					$this->fetch_prod_arbo($desc_product, "", $multiply, 1, $this->id, $ignore_stock_load);	// This set $this->res
5109
+					$this->fetch_prod_arbo($desc_product, "", $multiply, 1, $this->id, $ignore_stock_load); // This set $this->res
5110 5110
 				}
5111 5111
 			}
5112 5112
 		}
@@ -5262,7 +5262,7 @@  discard block
 block discarded – undo
5262 5262
 		$sql .= " AND pa.fk_product_fils <> ".((int) $id); // This should not happens, it is to avoid infinite loop if it happens
5263 5263
 		$sql .= " ORDER BY pa.rang";
5264 5264
 
5265
-		dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level. ' parents='.(is_array($parents) ? implode(',', $parents) : $parents), LOG_DEBUG);
5265
+		dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level.' parents='.(is_array($parents) ? implode(',', $parents) : $parents), LOG_DEBUG);
5266 5266
 
5267 5267
 		if ($level == 1) {
5268 5268
 			$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 immediately
@@ -5353,7 +5353,7 @@  discard block
 block discarded – undo
5353 5353
 		if (!empty($this->entity)) {
5354 5354
 			$tmpphoto = $this->show_photos('product', $conf->product->multidir_output[$this->entity], 1, 1, 0, 0, 0, 80, 0, 0, 0, 0, 1);
5355 5355
 			if ($this->nbphoto > 0) {
5356
-				$datas['photo'] = '<div class="photointooltip floatright">'."\n" . $tmpphoto . '</div>';
5356
+				$datas['photo'] = '<div class="photointooltip floatright">'."\n".$tmpphoto.'</div>';
5357 5357
 			}
5358 5358
 		}
5359 5359
 
@@ -5363,7 +5363,7 @@  discard block
 block discarded – undo
5363 5363
 			$datas['picto'] = img_picto('', 'service').' <u class="paddingrightonly">'.$langs->trans("Service").'</u>';
5364 5364
 		}
5365 5365
 		if (isset($this->status) && isset($this->status_buy)) {
5366
-			$datas['status'] = ' '.$this->getLibStatut(5, 0) . ' '.$this->getLibStatut(5, 1);
5366
+			$datas['status'] = ' '.$this->getLibStatut(5, 0).' '.$this->getLibStatut(5, 1);
5367 5367
 		}
5368 5368
 
5369 5369
 		if (!empty($this->ref)) {
@@ -5411,7 +5411,7 @@  discard block
 block discarded – undo
5411 5411
 				$labelsurfacevolume .= ($labelsurfacevolume ? " - " : "")."<b>".$langs->trans("Volume").'</b>: '.$this->volume.' '.measuringUnitString(0, 'volume', $this->volume_units);
5412 5412
 			}
5413 5413
 			if ($labelsurfacevolume) {
5414
-				$datas['surface'] = "<br>" . $labelsurfacevolume;
5414
+				$datas['surface'] = "<br>".$labelsurfacevolume;
5415 5415
 			}
5416 5416
 		}
5417 5417
 		if ($this->isService() && !empty($this->duration_value)) {
@@ -5453,9 +5453,9 @@  discard block
 block discarded – undo
5453 5453
 		}
5454 5454
 		// show categories for this record only in ajax to not overload lists
5455 5455
 		if (isModEnabled('category') && !$nofetch) {
5456
-			require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php';
5456
+			require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
5457 5457
 			$form = new Form($this->db);
5458
-			$datas['categories'] = '<br>' . $form->showCategories($this->id, Categorie::TYPE_PRODUCT, 1);
5458
+			$datas['categories'] = '<br>'.$form->showCategories($this->id, Categorie::TYPE_PRODUCT, 1);
5459 5459
 		}
5460 5460
 
5461 5461
 		return $datas;
@@ -5977,7 +5977,7 @@  discard block
 block discarded – undo
5977 5977
 		if (isModEnabled("supplier_order")) {
5978 5978
 			$filterStatus = getDolGlobalString('SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK', '3,4');
5979 5979
 			if (isset($includedraftpoforvirtual)) {
5980
-				$filterStatus = '0,1,2,'.$filterStatus;	// 1,2 may have already been inside $filterStatus but it is better to have twice than missing $filterStatus does not include them
5980
+				$filterStatus = '0,1,2,'.$filterStatus; // 1,2 may have already been inside $filterStatus but it is better to have twice than missing $filterStatus does not include them
5981 5981
 			}
5982 5982
 			$result = $this->load_stats_commande_fournisseur(0, $filterStatus, 1, $dateofvirtualstock);
5983 5983
 			if ($result < 0) {
@@ -6393,7 +6393,7 @@  discard block
 block discarded – undo
6393 6393
 		if (getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM')) {
6394 6394
 			$dirsociete = array_merge(array('/core/modules/barcode/'), $conf->modules_parts['barcode']);
6395 6395
 			foreach ($dirsociete as $dirroot) {
6396
-				$res = dol_include_once($dirroot . getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM').'.php');
6396
+				$res = dol_include_once($dirroot.getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM').'.php');
6397 6397
 				if ($res) {
6398 6398
 					break;
6399 6399
 				}
Please login to merge, or discard this patch.
htdocs/core/class/html.formticket.class.php 1 patch
Spacing   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -28,9 +28,9 @@  discard block
 block discarded – undo
28 28
  *    \brief      File of class to generate the form for creating a new ticket.
29 29
  */
30 30
 
31
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.form.class.php';
32
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
33
-require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php';
31
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
32
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
33
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
34 34
 
35 35
 if (!class_exists('FormCompany')) {
36 36
 	include DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
@@ -84,17 +84,17 @@  discard block
 block discarded – undo
84 84
 
85 85
 	public $backtopage;
86 86
 
87
-	public $ispublic;  // to show information or not into public form
87
+	public $ispublic; // to show information or not into public form
88 88
 
89 89
 	public $withtitletopic;
90 90
 	public $withtopicreadonly;
91 91
 	public $withreadid;
92 92
 
93
-	public $withcompany;  // to show company drop-down list
93
+	public $withcompany; // to show company drop-down list
94 94
 	public $withfromsocid;
95 95
 	public $withfromcontactid;
96 96
 	public $withnotifytiersatcreate;
97
-	public $withusercreate;  // to show name of creating user in form
97
+	public $withusercreate; // to show name of creating user in form
98 98
 	public $withcreatereadonly;
99 99
 
100 100
 	/**
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 	 */
103 103
 	public $withextrafields;
104 104
 
105
-	public $withref;  // to show ref field
105
+	public $withref; // to show ref field
106 106
 	public $withcancel;
107 107
 
108 108
 	public $type_code;
@@ -147,7 +147,7 @@  discard block
 block discarded – undo
147 147
 		$this->withcreatereadonly = 1;
148 148
 		$this->withemail = 0;
149 149
 		$this->withref = 0;
150
-		$this->withextrafields = 0;  // to show extrafields or not
150
+		$this->withextrafields = 0; // to show extrafields or not
151 151
 		//$this->withtopicreadonly=0;
152 152
 	}
153 153
 
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
 		print '<form method="POST" '.($withdolfichehead ? '' : 'style="margin-bottom: 30px;" ').'name="ticket" id="form_create_ticket" enctype="multipart/form-data" action="'.(!empty($this->param["returnurl"]) ? $this->param["returnurl"] : $_SERVER['PHP_SELF']).'">';
235 235
 		print '<input type="hidden" name="token" value="'.newToken().'">';
236 236
 		print '<input type="hidden" name="action" value="'.$this->action.'">';
237
-		if (!empty($object->id)) print '<input type="hidden" name="id" value="'. $object->id .'">';
237
+		if (!empty($object->id)) print '<input type="hidden" name="id" value="'.$object->id.'">';
238 238
 		print '<input type="hidden" name="trackid" value="'.$this->trackid.'">';
239 239
 		foreach ($this->param as $key => $value) {
240 240
 			print '<input type="hidden" name="'.$key.'" value="'.$value.'">';
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
 		// Title
259 259
 		if ($this->withemail) {
260 260
 			print '<tr><td class="titlefield"><label for="email"><span class="fieldrequired">'.$langs->trans("Email").'</span></label></td><td>';
261
-			print '<input class="text minwidth200" id="email" name="email" value="'.$email.'" autofocus>';	// Do not use "required", it breaks button cancel
261
+			print '<input class="text minwidth200" id="email" name="email" value="'.$email.'" autofocus>'; // Do not use "required", it breaks button cancel
262 262
 			print '</td></tr>';
263 263
 
264 264
 			if ($with_contact) {
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 				$html_contact_search = '';
267 267
 				$html_contact_search .= '<tr id="contact_search_line">';
268 268
 				$html_contact_search .= '<td class="titlefield">';
269
-				$html_contact_search .= '<label for="contact"><span class="fieldrequired">' . $langs->trans('Contact') . '</span></label>';
269
+				$html_contact_search .= '<label for="contact"><span class="fieldrequired">'.$langs->trans('Contact').'</span></label>';
270 270
 				$html_contact_search .= '<input type="hidden" id="contact_id" name="contact_id" value="" />';
271 271
 				$html_contact_search .= '</td>';
272 272
 				$html_contact_search .= '<td id="contact_search_result"></td>';
@@ -274,26 +274,26 @@  discard block
 block discarded – undo
274 274
 				print $html_contact_search;
275 275
 				// contact lastname
276 276
 				$html_contact_lastname = '';
277
-				$html_contact_lastname .= '<tr id="contact_lastname_line" class="contact_field"><td class="titlefield"><label for="contact_lastname"><span class="fieldrequired">' . $langs->trans('Lastname') . '</span></label></td><td>';
278
-				$html_contact_lastname .= '<input type="text" id="contact_lastname" name="contact_lastname" value="' . dol_escape_htmltag(GETPOSTISSET('contact_lastname') ? GETPOST('contact_lastname', 'alphanohtml') : '') . '" />';
277
+				$html_contact_lastname .= '<tr id="contact_lastname_line" class="contact_field"><td class="titlefield"><label for="contact_lastname"><span class="fieldrequired">'.$langs->trans('Lastname').'</span></label></td><td>';
278
+				$html_contact_lastname .= '<input type="text" id="contact_lastname" name="contact_lastname" value="'.dol_escape_htmltag(GETPOSTISSET('contact_lastname') ? GETPOST('contact_lastname', 'alphanohtml') : '').'" />';
279 279
 				$html_contact_lastname .= '</td></tr>';
280 280
 				print $html_contact_lastname;
281 281
 				// contact firstname
282 282
 				$html_contact_firstname = '';
283
-				$html_contact_firstname .= '<tr id="contact_firstname_line" class="contact_field"><td class="titlefield"><label for="contact_firstname"><span class="fieldrequired">' . $langs->trans('Firstname') . '</span></label></td><td>';
284
-				$html_contact_firstname .= '<input type="text" id="contact_firstname" name="contact_firstname" value="' . dol_escape_htmltag(GETPOSTISSET('contact_firstname') ? GETPOST('contact_firstname', 'alphanohtml') : '') . '" />';
283
+				$html_contact_firstname .= '<tr id="contact_firstname_line" class="contact_field"><td class="titlefield"><label for="contact_firstname"><span class="fieldrequired">'.$langs->trans('Firstname').'</span></label></td><td>';
284
+				$html_contact_firstname .= '<input type="text" id="contact_firstname" name="contact_firstname" value="'.dol_escape_htmltag(GETPOSTISSET('contact_firstname') ? GETPOST('contact_firstname', 'alphanohtml') : '').'" />';
285 285
 				$html_contact_firstname .= '</td></tr>';
286 286
 				print $html_contact_firstname;
287 287
 				// company name
288 288
 				$html_company_name = '';
289
-				$html_company_name .= '<tr id="contact_company_name_line" class="contact_field"><td><label for="company_name"><span>' . $langs->trans('Company') . '</span></label></td><td>';
290
-				$html_company_name .= '<input type="text" id="company_name" name="company_name" value="' . dol_escape_htmltag(GETPOSTISSET('company_name') ? GETPOST('company_name', 'alphanohtml') : '') . '" />';
289
+				$html_company_name .= '<tr id="contact_company_name_line" class="contact_field"><td><label for="company_name"><span>'.$langs->trans('Company').'</span></label></td><td>';
290
+				$html_company_name .= '<input type="text" id="company_name" name="company_name" value="'.dol_escape_htmltag(GETPOSTISSET('company_name') ? GETPOST('company_name', 'alphanohtml') : '').'" />';
291 291
 				$html_company_name .= '</td></tr>';
292 292
 				print $html_company_name;
293 293
 				// contact phone
294 294
 				$html_contact_phone = '';
295
-				$html_contact_phone .= '<tr id="contact_phone_line" class="contact_field"><td><label for="contact_phone"><span>' . $langs->trans('Phone') . '</span></label></td><td>';
296
-				$html_contact_phone .= '<input type="text" id="contact_phone" name="contact_phone" value="' . dol_escape_htmltag(GETPOSTISSET('contact_phone') ? GETPOST('contact_phone', 'alphanohtml') : '') . '" />';
295
+				$html_contact_phone .= '<tr id="contact_phone_line" class="contact_field"><td><label for="contact_phone"><span>'.$langs->trans('Phone').'</span></label></td><td>';
296
+				$html_contact_phone .= '<input type="text" id="contact_phone" name="contact_phone" value="'.dol_escape_htmltag(GETPOSTISSET('contact_phone') ? GETPOST('contact_phone', 'alphanohtml') : '').'" />';
297 297
 				$html_contact_phone .= '</td></tr>';
298 298
 				print $html_contact_phone;
299 299
 
@@ -482,7 +482,7 @@  discard block
 block discarded – undo
482 482
 		// If public form, display more information
483 483
 		$toolbarname = 'dolibarr_notes';
484 484
 		if ($this->ispublic) {
485
-			$toolbarname = 'dolibarr_details';	// TODO Allow image so use can do paste of image into content but disallow file manager
485
+			$toolbarname = 'dolibarr_details'; // TODO Allow image so use can do paste of image into content but disallow file manager
486 486
 			print '<div class="warning hideonsmartphone">'.(getDolGlobalString("TICKET_PUBLIC_TEXT_HELP_MESSAGE", $langs->trans('TicketPublicPleaseBeAccuratelyDescribe'))).'</div>';
487 487
 		}
488 488
 		include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
@@ -561,7 +561,7 @@  discard block
 block discarded – undo
561 561
 				$maxfilesizearray = getMaxFileSizeArray();
562 562
 				$maxmin = $maxfilesizearray['maxmin'];
563 563
 				if ($maxmin > 0) {
564
-					$out .= '<input type="hidden" name="MAX_FILE_SIZE" value="'.($maxmin * 1024).'">';	// MAX_FILE_SIZE must precede the field type=file
564
+					$out .= '<input type="hidden" name="MAX_FILE_SIZE" value="'.($maxmin * 1024).'">'; // MAX_FILE_SIZE must precede the field type=file
565 565
 				}
566 566
 				$out .= '<input type="file" class="flat" id="addedfile" name="addedfile" value="'.$langs->trans("Upload").'" />';
567 567
 				$out .= ' ';
@@ -771,7 +771,7 @@  discard block
 block discarded – undo
771 771
 		$selected = is_array($selected) ? $selected : (!empty($selected) ? explode(',', $selected) : array());
772 772
 		$ticketstat = new Ticket($this->db);
773 773
 
774
-		dol_syslog(get_class($this) . "::select_types_tickets " . implode(';', $selected) . ", " . $htmlname . ", " . $filtertype . ", " . $format . ", " . $multiselect, LOG_DEBUG);
774
+		dol_syslog(get_class($this)."::select_types_tickets ".implode(';', $selected).", ".$htmlname.", ".$filtertype.", ".$format.", ".$multiselect, LOG_DEBUG);
775 775
 
776 776
 		$filterarray = array();
777 777
 
@@ -877,7 +877,7 @@  discard block
 block discarded – undo
877 877
 		$publicgroups = ($filtertype == 'public=1' || $filtertype == '(public:=:1)');
878 878
 
879 879
 		$ticketstat = new Ticket($this->db);
880
-		$ticketstat->loadCacheCategoriesTickets($publicgroups ? 1 : -1);	// get list of active ticket groups
880
+		$ticketstat->loadCacheCategoriesTickets($publicgroups ? 1 : -1); // get list of active ticket groups
881 881
 
882 882
 		if ($use_multilevel <= 0) {
883 883
 			print '<select id="select'.$htmlname.'" class="flat minwidth100'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
@@ -1050,7 +1050,7 @@  discard block
 block discarded – undo
1050 1050
 			}
1051 1051
 			$stringtoprint .= '</select>&nbsp;';
1052 1052
 
1053
-			$levelid = 1;	// The first combobox
1053
+			$levelid = 1; // The first combobox
1054 1054
 			while ($levelid <= $use_multilevel) {	// Loop to take the child of the combo
1055 1055
 				$tabscript = array();
1056 1056
 				$stringtoprint .= '<select id="'.$htmlname.'_child_'.$levelid.'" class="maxwidth500 minwidth400 groupticketchild" child_id="'.$levelid.'">';
@@ -1127,7 +1127,7 @@  discard block
 block discarded – undo
1127 1127
 				$stringtoprint .= '</select>';
1128 1128
 
1129 1129
 				$stringtoprint .= '<script nonce="'.getNonce().'">';
1130
-				$stringtoprint .= 'arraynotparents = '.json_encode($arraycodenotparent).';';	// when the last visible combo list is number x, this is the array of group
1130
+				$stringtoprint .= 'arraynotparents = '.json_encode($arraycodenotparent).';'; // when the last visible combo list is number x, this is the array of group
1131 1131
 				$stringtoprint .= 'if (arraynotparents.includes($("#'.$htmlname.($levelid > 1 ? '_child_'.($levelid - 1) : '').'").val())){
1132 1132
 					console.log("'.$htmlname.'_child_'.$levelid.'")
1133 1133
 					if($("#'.$htmlname.'_child_'.$levelid.'").val() == "" && ($("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")>'.$child_id.')){
@@ -1565,7 +1565,7 @@  discard block
 block discarded – undo
1565 1565
 			}
1566 1566
 			print '<tr class="email_line"><td>'.$langs->trans('Subject').'</td>';
1567 1567
 			if (empty($topic)) {
1568
-				print '<td><input type="text" class="text minwidth500" name="subject" value="['.getDolGlobalString('MAIN_INFO_SOCIETE_NOM').' - '.$langs->trans("Ticket").' '.$ticketstat->ref.'] '. $ticketstat->subject .'" />';
1568
+				print '<td><input type="text" class="text minwidth500" name="subject" value="['.getDolGlobalString('MAIN_INFO_SOCIETE_NOM').' - '.$langs->trans("Ticket").' '.$ticketstat->ref.'] '.$ticketstat->subject.'" />';
1569 1569
 			} else {
1570 1570
 				print '<td><input type="text" class="text minwidth500" name="subject" value="'.make_substitutions($topic, $this->substit).'" />';
1571 1571
 			}
Please login to merge, or discard this patch.
test/phpunit/ExampleTest.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -23,36 +23,36 @@  discard block
 block discarded – undo
23 23
  *		\remarks	To run this script as CLI:  phpunit filename.php
24 24
  */
25 25
 
26
-global $conf,$user,$langs,$db;
26
+global $conf, $user, $langs, $db;
27 27
 //define('TEST_DB_FORCE_TYPE','mysql');	// This is to force using mysql driver
28 28
 //require_once 'PHPUnit/Autoload.php';
29 29
 
30
-if (! defined('NOREQUIRESOC')) {
30
+if (!defined('NOREQUIRESOC')) {
31 31
 	define('NOREQUIRESOC', '1');
32 32
 }
33
-if (! defined('NOCSRFCHECK')) {
33
+if (!defined('NOCSRFCHECK')) {
34 34
 	define('NOCSRFCHECK', '1');
35 35
 }
36
-if (! defined('NOTOKENRENEWAL')) {
36
+if (!defined('NOTOKENRENEWAL')) {
37 37
 	define('NOTOKENRENEWAL', '1');
38 38
 }
39
-if (! defined('NOREQUIREMENU')) {
39
+if (!defined('NOREQUIREMENU')) {
40 40
 	define('NOREQUIREMENU', '1'); // If there is no menu to show
41 41
 }
42
-if (! defined('NOREQUIREHTML')) {
42
+if (!defined('NOREQUIREHTML')) {
43 43
 	define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php
44 44
 }
45
-if (! defined('NOREQUIREAJAX')) {
45
+if (!defined('NOREQUIREAJAX')) {
46 46
 	define('NOREQUIREAJAX', '1');
47 47
 }
48
-if (! defined("NOLOGIN")) {
49
-	define("NOLOGIN", '1');       // If this page is public (can be called outside logged session)
48
+if (!defined("NOLOGIN")) {
49
+	define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
50 50
 }
51
-if (! defined("NOSESSION")) {
51
+if (!defined("NOSESSION")) {
52 52
 	define("NOSESSION", '1');
53 53
 }
54 54
 
55
-require_once dirname(__FILE__).'/../../htdocs/main.inc.php';	// We force include of main.inc.php instead of master.inc.php even if we are in CLI mode because it contains a lot of security components we want to test.
55
+require_once dirname(__FILE__).'/../../htdocs/main.inc.php'; // We force include of main.inc.php instead of master.inc.php even if we are in CLI mode because it contains a lot of security components we want to test.
56 56
 require_once dirname(__FILE__).'/../../htdocs/core/lib/security.lib.php';
57 57
 require_once dirname(__FILE__).'/../../htdocs/core/lib/security2.lib.php';
58 58
 require_once dirname(__FILE__).'/CommonClassTest.class.php';
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 	 */
82 82
 	public function testExample()
83 83
 	{
84
-		global $conf,$user,$langs,$db;
84
+		global $conf, $user, $langs, $db;
85 85
 		$conf = $this->savconf;
86 86
 		$user = $this->savuser;
87 87
 		$langs = $this->savlangs;
Please login to merge, or discard this patch.
test/phpunit/SecurityTest.php 1 patch
Spacing   +77 added lines, -77 removed lines patch added patch discarded remove patch
@@ -24,36 +24,36 @@  discard block
 block discarded – undo
24 24
  *		\remarks	To run this script as CLI:  phpunit filename.php
25 25
  */
26 26
 
27
-global $conf,$user,$langs,$db;
27
+global $conf, $user, $langs, $db;
28 28
 //define('TEST_DB_FORCE_TYPE','mysql');	// This is to force using mysql driver
29 29
 //require_once 'PHPUnit/Autoload.php';
30 30
 
31
-if (! defined('NOREQUIRESOC')) {
31
+if (!defined('NOREQUIRESOC')) {
32 32
 	define('NOREQUIRESOC', '1');
33 33
 }
34
-if (! defined('NOCSRFCHECK')) {
34
+if (!defined('NOCSRFCHECK')) {
35 35
 	define('NOCSRFCHECK', '1');
36 36
 }
37
-if (! defined('NOTOKENRENEWAL')) {
37
+if (!defined('NOTOKENRENEWAL')) {
38 38
 	define('NOTOKENRENEWAL', '1');
39 39
 }
40
-if (! defined('NOREQUIREMENU')) {
40
+if (!defined('NOREQUIREMENU')) {
41 41
 	define('NOREQUIREMENU', '1'); // If there is no menu to show
42 42
 }
43
-if (! defined('NOREQUIREHTML')) {
43
+if (!defined('NOREQUIREHTML')) {
44 44
 	define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php
45 45
 }
46
-if (! defined('NOREQUIREAJAX')) {
46
+if (!defined('NOREQUIREAJAX')) {
47 47
 	define('NOREQUIREAJAX', '1');
48 48
 }
49
-if (! defined("NOLOGIN")) {
50
-	define("NOLOGIN", '1');       // If this page is public (can be called outside logged session)
49
+if (!defined("NOLOGIN")) {
50
+	define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
51 51
 }
52
-if (! defined("NOSESSION")) {
52
+if (!defined("NOSESSION")) {
53 53
 	define("NOSESSION", '1');
54 54
 }
55 55
 
56
-require_once dirname(__FILE__).'/../../htdocs/main.inc.php';	// We force include of main.inc.php instead of master.inc.php even if we are in CLI mode because it contains a lot of security components we want to test.
56
+require_once dirname(__FILE__).'/../../htdocs/main.inc.php'; // We force include of main.inc.php instead of master.inc.php even if we are in CLI mode because it contains a lot of security components we want to test.
57 57
 require_once dirname(__FILE__).'/../../htdocs/core/lib/security.lib.php';
58 58
 require_once dirname(__FILE__).'/../../htdocs/core/lib/security2.lib.php';
59 59
 require_once dirname(__FILE__).'/CommonClassTest.class.php';
@@ -227,8 +227,8 @@  discard block
 block discarded – undo
227 227
 		$result = testSqlAndScriptInject($test, 0);
228 228
 		$this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject eee');
229 229
 
230
-		$test = "<IMG SRC=\"jav\tascript:alert('XSS');\">";		// Is locked by some browser like chrome because the default directive no-referrer-when-downgrade is sent when requesting the SRC and then refused because of browser protection on img src load without referrer.
231
-		$test = "<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">";	// Same
230
+		$test = "<IMG SRC=\"jav\tascript:alert('XSS');\">"; // Is locked by some browser like chrome because the default directive no-referrer-when-downgrade is sent when requesting the SRC and then refused because of browser protection on img src load without referrer.
231
+		$test = "<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">"; // Same
232 232
 
233 233
 		$test = '<SCRIPT/XSS SRC="http://xss.rocks/xss.js"></SCRIPT>';
234 234
 		$result = testSqlAndScriptInject($test, 0);
@@ -262,21 +262,21 @@  discard block
 block discarded – undo
262 262
 		$result = testSqlAndScriptInject($test, 0);
263 263
 		$this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject lll');
264 264
 
265
-		$test = '<a onscrollend=alert(1) style="display:block;overflow:auto;border:1px+dashed;width:500px;height:100px;"><br><br><br><br><br><span+id=x>test</span></a>';	// Add the char %F6 into the variable
265
+		$test = '<a onscrollend=alert(1) style="display:block;overflow:auto;border:1px+dashed;width:500px;height:100px;"><br><br><br><br><br><span+id=x>test</span></a>'; // Add the char %F6 into the variable
266 266
 		$result = testSqlAndScriptInject($test, 0);
267 267
 		//print "test=".$test." result=".$result."\n";
268 268
 		$this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject mmm');
269 269
 
270 270
 
271 271
 		$test = "Text with ' encoded with the numeric html entity converted into text entity &#39; (like when submitted by CKEditor)";
272
-		$result = testSqlAndScriptInject($test, 0);	// result must be 0
272
+		$result = testSqlAndScriptInject($test, 0); // result must be 0
273 273
 		$this->assertEquals(0, $result, 'Error on testSqlAndScriptInject mmm, result should be 0 and is not');
274 274
 
275 275
 		$test = '<a href="j&Tab;a&Tab;v&Tab;asc&NewLine;ri&Tab;pt:&lpar;a&Tab;l&Tab;e&Tab;r&Tab;t&Tab;(document.cookie)&rpar;">XSS</a>';
276 276
 		$result = testSqlAndScriptInject($test, 0);
277 277
 		$this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject nnn, result should be >= 1 and is not');
278 278
 
279
-		$test = "/dolibarr/htdocs/index.php/".chr('246')."abc";	// Add the char %F6 into the variable
279
+		$test = "/dolibarr/htdocs/index.php/".chr('246')."abc"; // Add the char %F6 into the variable
280 280
 		$result = testSqlAndScriptInject($test, 2);
281 281
 		//print "test=".$test." result=".$result."\n";
282 282
 		$this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject with a non valid UTF8 char');
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
 	 */
298 298
 	public function testGETPOST()
299 299
 	{
300
-		global $conf,$user,$langs,$db;
300
+		global $conf, $user, $langs, $db;
301 301
 		$conf = $this->savconf;
302 302
 		$user = $this->savuser;
303 303
 		$langs = $this->savlangs;
@@ -314,7 +314,7 @@  discard block
 block discarded – undo
314 314
 		$_GET["param1"] = "222";
315 315
 		$_POST["param1"] = "333";
316 316
 		$_GET["param2"] = 'a/b#e(pr)qq-rr\cc';
317
-		$_GET["param3"] = '"&#110;a/b#e(pr)qq-rr\cc';    // Same than param2 + " and &#110;
317
+		$_GET["param3"] = '"&#110;a/b#e(pr)qq-rr\cc'; // Same than param2 + " and &#110;
318 318
 		$_GET["param4a"] = '..&#47;../dir';
319 319
 		$_GET["param4b"] = '..&#92;..\dirwindows';
320 320
 		$_GET["param4c"] = '\a123 \123 \u123 \x123';
@@ -322,11 +322,11 @@  discard block
 block discarded – undo
322 322
 		$_POST["param6"] = "&quot;&gt;<svg o&#110;load='console.log(&quot;123&quot;)'&gt;";
323 323
 		$_POST["param6b"] = '<<<../>../>../svg><<<../>../>../animate =alert(1)>abc';
324 324
 		$_GET["param7"] = '"c:\this is a path~1\aaa&#110; &#x&#x31;&#x31;&#x30;;" abc<bad>def</bad>';
325
-		$_POST["param8a"] = "Hacker<svg o&#110;load='console.log(&quot;123&quot;)'";	// html tag is not closed so it is not detected as html tag but is still harmfull
326
-		$_POST['param8b'] = '<img src=x onerror=alert(document.location) t=';		// this is html obfuscated by non closing tag
325
+		$_POST["param8a"] = "Hacker<svg o&#110;load='console.log(&quot;123&quot;)'"; // html tag is not closed so it is not detected as html tag but is still harmfull
326
+		$_POST['param8b'] = '<img src=x onerror=alert(document.location) t='; // this is html obfuscated by non closing tag
327 327
 		$_POST['param8c'] = '< with space after is ok';
328 328
 		$_POST['param8d'] = '<abc123 is html to clean';
329
-		$_POST['param8e'] = '<123abc is not html to clean';	// other similar case: '<2021-12-12'
329
+		$_POST['param8e'] = '<123abc is not html to clean'; // other similar case: '<2021-12-12'
330 330
 		$_POST['param8f'] = 'abc<<svg <><<animate onbegin=alert(document.domain) a';
331 331
 		$_POST["param9"] = 'is_object($object) ? ($object->id < 10 ? round($object->id / 2, 2) : (2 * $user->id) * (int) substr($mysoc->zip, 1, 2)) : \'objnotdefined\'';
332 332
 		$_POST["param10"] = 'is_object($object) ? ($object->id < 10 ? round($object->id / 2, 2) : (2 * $user->id) * (int) substr($mysoc->zip, 1, 2)) : \'<abc>objnotdefined\'';
@@ -346,7 +346,7 @@  discard block
 block discarded – undo
346 346
 
347 347
 
348 348
 
349
-		$result = GETPOST('id', 'int');              // Must return nothing
349
+		$result = GETPOST('id', 'int'); // Must return nothing
350 350
 		print __METHOD__." result=".$result."\n";
351 351
 		$this->assertEquals('', $result);
352 352
 
@@ -360,7 +360,7 @@  discard block
 block discarded – undo
360 360
 
361 361
 		// Test with alpha
362 362
 
363
-		$result = GETPOST("param0", 'alpha');		// a simple format, so " completely removed
363
+		$result = GETPOST("param0", 'alpha'); // a simple format, so " completely removed
364 364
 		$resultexpected = 'A real string with aaa and and \' and & inside content';
365 365
 		print __METHOD__." result=".$result."\n";
366 366
 		$this->assertEquals($resultexpected, $result, 'Test on param0');
@@ -369,19 +369,19 @@  discard block
 block discarded – undo
369 369
 		print __METHOD__." result=".$result."\n";
370 370
 		$this->assertEquals('a/b#e(pr)qq-rr\cc', $result, 'Test on param2');
371 371
 
372
-		$result = GETPOST("param3", 'alpha');  // Must return string sanitized from char "
372
+		$result = GETPOST("param3", 'alpha'); // Must return string sanitized from char "
373 373
 		print __METHOD__." result=".$result."\n";
374 374
 		$this->assertEquals('na/b#e(pr)qq-rr\cc', $result, 'Test on param3');
375 375
 
376
-		$result = GETPOST("param4a", 'alpha');  // Must return string sanitized from ../
376
+		$result = GETPOST("param4a", 'alpha'); // Must return string sanitized from ../
377 377
 		print __METHOD__." result=".$result."\n";
378 378
 		$this->assertEquals('dir', $result);
379 379
 
380
-		$result = GETPOST("param4b", 'alpha');  // Must return string sanitized from ../
380
+		$result = GETPOST("param4b", 'alpha'); // Must return string sanitized from ../
381 381
 		print __METHOD__." result=".$result."\n";
382 382
 		$this->assertEquals('dirwindows', $result);
383 383
 
384
-		$result = GETPOST("param4c", 'alpha');  // Must return string sanitized from ../
384
+		$result = GETPOST("param4c", 'alpha'); // Must return string sanitized from ../
385 385
 		print __METHOD__." result=".$result."\n";
386 386
 		$this->assertEquals('\a123 /123 /u123 /x123', $result);
387 387
 
@@ -391,19 +391,19 @@  discard block
 block discarded – undo
391 391
 		print __METHOD__." result=".$result."\n";
392 392
 		$this->assertEquals($result, $_GET["param1"]);
393 393
 
394
-		$result = GETPOST("param2", 'aZ09');  // Must return '' as string contains car not in aZ09 definition
394
+		$result = GETPOST("param2", 'aZ09'); // Must return '' as string contains car not in aZ09 definition
395 395
 		print __METHOD__." result=".$result."\n";
396 396
 		$this->assertEquals($result, '');
397 397
 
398
-		$result = GETPOST("param3", 'aZ09');  // Must return '' as string contains car not in aZ09 definition
398
+		$result = GETPOST("param3", 'aZ09'); // Must return '' as string contains car not in aZ09 definition
399 399
 		print __METHOD__." result=".$result."\n";
400 400
 		$this->assertEquals($result, '');
401 401
 
402
-		$result = GETPOST("param4a", 'aZ09');  // Must return '' as string contains car not in aZ09 definition
402
+		$result = GETPOST("param4a", 'aZ09'); // Must return '' as string contains car not in aZ09 definition
403 403
 		print __METHOD__." result=".$result."\n";
404 404
 		$this->assertEquals('', $result);
405 405
 
406
-		$result = GETPOST("param4b", 'aZ09');  // Must return '' as string contains car not in aZ09 definition
406
+		$result = GETPOST("param4b", 'aZ09'); // Must return '' as string contains car not in aZ09 definition
407 407
 		print __METHOD__." result=".$result."\n";
408 408
 		$this->assertEquals('', $result);
409 409
 
@@ -514,13 +514,13 @@  discard block
 block discarded – undo
514 514
 		print __METHOD__." result=".$result."\n";
515 515
 		$this->assertEquals("Text with ' encoded with the numeric html entity converted into text entity &#39; (like when submitted by CKEditor)", $result, 'Test 14');
516 516
 
517
-		$result = GETPOST("param15", 'restricthtml');		// param15 = <img onxxxx<=alert(document.domain)> src=>0xbeefed that is a dangerous string
517
+		$result = GETPOST("param15", 'restricthtml'); // param15 = <img onxxxx<=alert(document.domain)> src=>0xbeefed that is a dangerous string
518 518
 		print __METHOD__." result=".$result."\n";
519
-		$this->assertEquals("<img onxxxx=alert(document.domain) src=>0xbeefed", $result, 'Test 15');	// The GETPOST return a harmull string
519
+		$this->assertEquals("<img onxxxx=alert(document.domain) src=>0xbeefed", $result, 'Test 15'); // The GETPOST return a harmull string
520 520
 
521
-		$result = GETPOST("param15b", 'restricthtml');		// param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
521
+		$result = GETPOST("param15b", 'restricthtml'); // param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
522 522
 		print __METHOD__." result=".$result."\n";
523
-		$this->assertEquals("<img alert(document.domain) src=>0xbeefed", $result, 'Test 15b');	// The GETPOST return a harmull string
523
+		$this->assertEquals("<img alert(document.domain) src=>0xbeefed", $result, 'Test 15b'); // The GETPOST return a harmull string
524 524
 
525 525
 		$result = GETPOST("param19", 'restricthtml');
526 526
 		print __METHOD__." result=".$result."\n";
@@ -538,17 +538,17 @@  discard block
 block discarded – undo
538 538
 		print __METHOD__." result for param0=".$result."\n";
539 539
 		$this->assertEquals($resultexpected, $result, 'Test on param0');
540 540
 
541
-		$result = GETPOST("param15b", 'restricthtml');		// param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
541
+		$result = GETPOST("param15b", 'restricthtml'); // param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
542 542
 		print __METHOD__." result for param15b=".$result."\n";
543 543
 		//$this->assertEquals('InvalidHTMLStringCantBeCleaned', $result, 'Test 15b');   // With some PHP and libxml version, we got this result when parsing invalid HTML, but ...
544 544
 		//$this->assertEquals('<img onerror> src=&gt;0xbeefed', $result, 'Test 15b');	// ... on other PHP and libxml versions, we got a HTML that has been cleaned
545 545
 
546
-		$result = GETPOST("param6", 'restricthtml');		// param6 = "&quot;&gt;<svg o&#110;load='console.log(&quot;123&quot;)'&gt;"
546
+		$result = GETPOST("param6", 'restricthtml'); // param6 = "&quot;&gt;<svg o&#110;load='console.log(&quot;123&quot;)'&gt;"
547 547
 		print __METHOD__." result for param6=".$result." - before=".$_POST["param6"]."\n";
548 548
 		//$this->assertEquals('InvalidHTMLStringCantBeCleaned', $result, 'Test 15b');   // With some PHP and libxml version, we got this result when parsing invalid HTML, but ...
549 549
 		//$this->assertEquals('"&gt;', $result);										// ... on other PHP and libxml versions, we got a HTML that has been cleaned
550 550
 
551
-		$result = GETPOST("param7", 'restricthtml');		// param7 = "c:\this is a path~1\aaa&#110; &#x&#x31;&#x31;&#x30;;" abc<bad>def</bad>
551
+		$result = GETPOST("param7", 'restricthtml'); // param7 = "c:\this is a path~1\aaa&#110; &#x&#x31;&#x31;&#x30;;" abc<bad>def</bad>
552 552
 		print __METHOD__." result param7 = ".$result."\n";
553 553
 		//$this->assertEquals('InvalidHTMLStringCantBeCleaned', $result, 'Test 15b');   // With some PHP and libxml version, we got this result when parsing invalid HTML, but ...
554 554
 		//$this->assertEquals('"c:\this is a path~1\aaan 110;" abcdef', $result);		// ... on other PHP and libxml versions, we got a HTML that has been cleaned
@@ -565,7 +565,7 @@  discard block
 block discarded – undo
565 565
 			print __METHOD__." result for param0=".$result."\n";
566 566
 			$this->assertEquals($resultexpected, $result, 'Test on param0');
567 567
 
568
-			$result = GETPOST("param15b", 'restricthtml');		// param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
568
+			$result = GETPOST("param15b", 'restricthtml'); // param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
569 569
 			print __METHOD__." result for param15b=".$result."\n";
570 570
 			//$this->assertEquals('InvalidHTMLStringCantBeCleaned', $result, 'Test 15b');   // With some PHP and libxml version, we got this result when parsing invalid HTML, but ...
571 571
 			//$this->assertEquals('<img onerror> src=&gt;0xbeefed', $result, 'Test 15b');	// ... on other PHP and libxml versions, we got a HTML that has been cleaned
@@ -593,7 +593,7 @@  discard block
 block discarded – undo
593 593
 			print __METHOD__." result for param0=".$result."\n";
594 594
 			$this->assertEquals($resultexpected, $result, 'Test on param0');
595 595
 
596
-			$result = GETPOST("param15b", 'restricthtml');		// param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
596
+			$result = GETPOST("param15b", 'restricthtml'); // param15b = <img onerror<=alert(document.domain)> src=>0xbeefed that is a dangerous string
597 597
 			print __METHOD__." result=".$result."\n";
598 598
 			//$this->assertEquals('InvalidHTMLStringCantBeCleaned', $result, 'Test 15b');   // With some PHP and libxml version, we got this result when parsing invalid HTML, but ...
599 599
 			//$this->assertEquals('<img onerror> src=&gt;0xbeefed', $result, 'Test 15b');	// ... on other PHP and libxml versions, we got a HTML that has been cleaned
@@ -810,21 +810,21 @@  discard block
 block discarded – undo
810 810
 	{
811 811
 		global $conf;
812 812
 
813
-		$genpass1 = getRandomPassword(true);				// Should be a string return by dol_hash (if no option set, will be md5)
813
+		$genpass1 = getRandomPassword(true); // Should be a string return by dol_hash (if no option set, will be md5)
814 814
 		print __METHOD__." genpass1=".$genpass1."\n";
815 815
 		$this->assertEquals(strlen($genpass1), 32);
816 816
 
817
-		$genpass1 = getRandomPassword(true, array('I'));	// Should be a string return by dol_hash (if no option set, will be md5)
817
+		$genpass1 = getRandomPassword(true, array('I')); // Should be a string return by dol_hash (if no option set, will be md5)
818 818
 		print __METHOD__." genpass1=".$genpass1."\n";
819 819
 		$this->assertEquals(strlen($genpass1), 32);
820 820
 
821 821
 		$conf->global->USER_PASSWORD_GENERATED = 'None';
822
-		$genpass2 = getRandomPassword(false);				// Should return an empty string
822
+		$genpass2 = getRandomPassword(false); // Should return an empty string
823 823
 		print __METHOD__." genpass2=".$genpass2."\n";
824 824
 		$this->assertEquals($genpass2, '');
825 825
 
826 826
 		$conf->global->USER_PASSWORD_GENERATED = 'Standard';
827
-		$genpass3 = getRandomPassword(false);				// Should return a password of 12 chars
827
+		$genpass3 = getRandomPassword(false); // Should return a password of 12 chars
828 828
 		print __METHOD__." genpass3=".$genpass3."\n";
829 829
 		$this->assertEquals(strlen($genpass3), 12);
830 830
 
@@ -838,7 +838,7 @@  discard block
 block discarded – undo
838 838
 	 */
839 839
 	public function testRestrictedArea()
840 840
 	{
841
-		global $conf,$user,$langs,$db;
841
+		global $conf, $user, $langs, $db;
842 842
 		$conf = $this->savconf;
843 843
 		$user = $this->savuser;
844 844
 		$langs = $this->savlangs;
@@ -869,40 +869,40 @@  discard block
 block discarded – undo
869 869
 		$tmpvar = preg_match('/not supported/', $tmp['curl_error_msg']);
870 870
 		$this->assertEquals(1, $tmpvar, "Did not find the /not supported/ in getURLContent error message. We should.");
871 871
 
872
-		$url = 'https://www.dolibarr.fr';	// This is a redirect 301 page
873
-		$tmp = getURLContent($url, 'GET', '', 0);	// We do NOT follow
872
+		$url = 'https://www.dolibarr.fr'; // This is a redirect 301 page
873
+		$tmp = getURLContent($url, 'GET', '', 0); // We do NOT follow
874 874
 		print __METHOD__." url=".$url."\n";
875 875
 		$this->assertEquals(301, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url 301 response');
876 876
 
877
-		$url = 'https://www.dolibarr.fr';	// This is a redirect 301 page
878
-		$tmp = getURLContent($url);		// We DO follow a page with return 300 so result should be 200
877
+		$url = 'https://www.dolibarr.fr'; // This is a redirect 301 page
878
+		$tmp = getURLContent($url); // We DO follow a page with return 300 so result should be 200
879 879
 		print __METHOD__." url=".$url."\n";
880 880
 		$this->assertEquals(200, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url 301 with a follow -> 200 but we get '.(empty($tmp['http_code']) ? 0 : $tmp['http_code']));
881 881
 
882 882
 		$url = 'http://localhost';
883
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
883
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL
884 884
 		print __METHOD__." url=".$url."\n";
885
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that resolves to a local URL');	// Test we receive an error because localtest.me is not an external URL
885
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that resolves to a local URL'); // Test we receive an error because localtest.me is not an external URL
886 886
 
887 887
 		$url = 'http://127.0.0.1';
888
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
888
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL
889 889
 		print __METHOD__." url=".$url."\n";
890
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL');	// Test we receive an error because 127.0.0.1 is not an external URL
890
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL'); // Test we receive an error because 127.0.0.1 is not an external URL
891 891
 
892 892
 		$url = 'http://127.0.2.1';
893
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
893
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL
894 894
 		print __METHOD__." url=".$url."\n";
895
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL');	// Test we receive an error because 127.0.2.1 is not an external URL
895
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL'); // Test we receive an error because 127.0.2.1 is not an external URL
896 896
 
897 897
 		$url = 'https://169.254.0.1';
898
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
898
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL
899 899
 		print __METHOD__." url=".$url."\n";
900
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL');	// Test we receive an error because 169.254.0.1 is not an external URL
900
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL'); // Test we receive an error because 169.254.0.1 is not an external URL
901 901
 
902 902
 		$url = 'http://[::1]';
903
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
903
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL
904 904
 		print __METHOD__." url=".$url."\n";
905
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL');	// Test we receive an error because [::1] is not an external URL
905
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Should GET url to '.$url.' that is a local URL'); // Test we receive an error because [::1] is not an external URL
906 906
 
907 907
 		/*$url = 'localtest.me';
908 908
 		 $tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL
@@ -911,9 +911,9 @@  discard block
 block discarded – undo
911 911
 		 */
912 912
 
913 913
 		$url = 'http://192.0.0.192';
914
-		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0);		// Only external URL but on an IP in blacklist
914
+		$tmp = getURLContent($url, 'GET', '', 0, array(), array('http', 'https'), 0); // Only external URL but on an IP in blacklist
915 915
 		print __METHOD__." url=".$url." tmp['http_code'] = ".(empty($tmp['http_code']) ? 0 : $tmp['http_code'])."\n";
916
-		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Access should be refused and was not');	// Test we receive an error because ip is in blacklist
916
+		$this->assertEquals(400, (empty($tmp['http_code']) ? 0 : $tmp['http_code']), 'Access should be refused and was not'); // Test we receive an error because ip is in blacklist
917 917
 
918 918
 		return 0;
919 919
 	}
@@ -925,7 +925,7 @@  discard block
 block discarded – undo
925 925
 	 */
926 926
 	public function testDolSanitizeUrl()
927 927
 	{
928
-		global $conf,$user,$langs,$db;
928
+		global $conf, $user, $langs, $db;
929 929
 		$conf = $this->savconf;
930 930
 		$user = $this->savuser;
931 931
 		$langs = $this->savlangs;
@@ -951,7 +951,7 @@  discard block
 block discarded – undo
951 951
 	 */
952 952
 	public function testDolSanitizeEmail()
953 953
 	{
954
-		global $conf,$user,$langs,$db;
954
+		global $conf, $user, $langs, $db;
955 955
 		$conf = $this->savconf;
956 956
 		$user = $this->savuser;
957 957
 		$langs = $this->savlangs;
@@ -981,7 +981,7 @@  discard block
 block discarded – undo
981 981
 	 */
982 982
 	public function testDolSanitizeFileName()
983 983
 	{
984
-		global $conf,$user,$langs,$db;
984
+		global $conf, $user, $langs, $db;
985 985
 		$conf = $this->savconf;
986 986
 		$user = $this->savuser;
987 987
 		$langs = $this->savlangs;
@@ -1004,7 +1004,7 @@  discard block
 block discarded – undo
1004 1004
 	 */
1005 1005
 	public function testDolEval()
1006 1006
 	{
1007
-		global $conf,$user,$langs,$db;
1007
+		global $conf, $user, $langs, $db;
1008 1008
 		$conf = $this->savconf;
1009 1009
 		$user = $this->savuser;
1010 1010
 		$langs = $this->savlangs;
@@ -1014,7 +1014,7 @@  discard block
 block discarded – undo
1014 1014
 		include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
1015 1015
 		include_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php';
1016 1016
 
1017
-		$result = dol_eval('1==\x01', 1, 0);	// Check that we can't make dol_eval on string containing \ char.
1017
+		$result = dol_eval('1==\x01', 1, 0); // Check that we can't make dol_eval on string containing \ char.
1018 1018
 		print "result0 = ".$result."\n";
1019 1019
 		$this->assertStringContainsString('Bad string syntax to evaluate', $result);
1020 1020
 
@@ -1093,7 +1093,7 @@  discard block
 block discarded – undo
1093 1093
 		print "result13 = ".$result."\n";
1094 1094
 		$this->assertEquals('358080.38', $result);
1095 1095
 
1096
-		global $leftmenu;	// Used into strings to eval
1096
+		global $leftmenu; // Used into strings to eval
1097 1097
 
1098 1098
 		$leftmenu = 'AAA';
1099 1099
 		$result = dol_eval('$conf->currency && preg_match(\'/^(AAA|BBB)/\',$leftmenu)', 1, 1, '1');
@@ -1121,7 +1121,7 @@  discard block
 block discarded – undo
1121 1121
 		print "result17 = ".$result."\n";
1122 1122
 		$this->assertTrue($result);
1123 1123
 
1124
-		$result = dol_eval('1 && getDolGlobalInt("doesnotexist1") && $conf->global->MAIN_FEATURES_LEVEL', 1, 0);	// Should return false and not a 'Bad string syntax to evaluate ...'
1124
+		$result = dol_eval('1 && getDolGlobalInt("doesnotexist1") && $conf->global->MAIN_FEATURES_LEVEL', 1, 0); // Should return false and not a 'Bad string syntax to evaluate ...'
1125 1125
 		print "result18 = ".$result."\n";
1126 1126
 		$this->assertFalse($result);
1127 1127
 
@@ -1155,12 +1155,12 @@  discard block
 block discarded – undo
1155 1155
 		global $conf;
1156 1156
 
1157 1157
 		// Set options for cleaning data
1158
-		$conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML = 0;	// disabled, does not work on HTML5 and some libxml versions
1158
+		$conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML = 0; // disabled, does not work on HTML5 and some libxml versions
1159 1159
 		// Enabled option MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY if possible
1160 1160
 		if (extension_loaded('tidy') && class_exists("tidy")) {
1161 1161
 			$conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY = 1;
1162 1162
 		}
1163
-		$conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES = 0;	// disabled, does not work on HTML5 and some libxml versions
1163
+		$conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES = 0; // disabled, does not work on HTML5 and some libxml versions
1164 1164
 
1165 1165
 
1166 1166
 		// For a string that is already HTML (contains HTML tags) with special tags but badly formatted
@@ -1172,7 +1172,7 @@  discard block
 block discarded – undo
1172 1172
 		//$result = dol_escape_htmltag(dol_htmlwithnojs(dol_string_onlythesehtmltags(dol_htmlentitiesbr($stringtotest), 1, 1, 1, 0)), 1, 1, 'common', 0, 1);
1173 1173
 		$result = dolPrintHTML($stringtotest);
1174 1174
 		print __METHOD__." result=".$result."\n";
1175
-		$this->assertEquals($stringfixed, $result, 'Error');    // Expected '' because should failed because login 'auto' does not exists
1175
+		$this->assertEquals($stringfixed, $result, 'Error'); // Expected '' because should failed because login 'auto' does not exists
1176 1176
 
1177 1177
 
1178 1178
 		// For a string that is already HTML (contains HTML tags) with special tags but badly formatted
@@ -1241,7 +1241,7 @@  discard block
 block discarded – undo
1241 1241
 		// With cleaning options of HTML TIDY
1242 1242
 		if (extension_loaded('tidy') && class_exists("tidy")) {
1243 1243
 			$stringtotest = "Message<br>with ' and &egrave; and &#39; !";
1244
-			$stringexpected = "Message<br>\nwith ' and &egrave; and ' !";		// The &#39; is modified into ' because html tidy fix it.
1244
+			$stringexpected = "Message<br>\nwith ' and &egrave; and ' !"; // The &#39; is modified into ' because html tidy fix it.
1245 1245
 			/*
1246 1246
 			var_dump($stringtotest);
1247 1247
 			var_dump(dol_htmlentitiesbr($stringtotest));
@@ -1273,11 +1273,11 @@  discard block
 block discarded – undo
1273 1273
 		$this->assertEquals('a', $result);
1274 1274
 
1275 1275
 		// Test that testRealCharforNumericEntities return an emoji utf8 char when code is inside Emoji range
1276
-		$arraytmp = array(0 => '&#9989;', 1 => '9989;');	// Encoded as decimal
1276
+		$arraytmp = array(0 => '&#9989;', 1 => '9989;'); // Encoded as decimal
1277 1277
 		$result = realCharForNumericEntities($arraytmp);
1278 1278
 		$this->assertEquals('✅', $result);
1279 1279
 
1280
-		$arraytmp = array(0 => '&#x2705;', 1 => 'x2705;');	// Encoded as hexadecimal
1280
+		$arraytmp = array(0 => '&#x2705;', 1 => 'x2705;'); // Encoded as hexadecimal
1281 1281
 		$result = realCharForNumericEntities($arraytmp);
1282 1282
 		$this->assertEquals('✅', $result);
1283 1283
 
@@ -1362,16 +1362,16 @@  discard block
 block discarded – undo
1362 1362
 		print __METHOD__." login=".$login."\n";
1363 1363
 		$this->assertEquals($login, '');
1364 1364
 
1365
-		$login = checkLoginPassEntity('admin', 'admin', 1, array('dolibarr'));            // Should works because admin/admin exists
1365
+		$login = checkLoginPassEntity('admin', 'admin', 1, array('dolibarr')); // Should works because admin/admin exists
1366 1366
 		print __METHOD__." login=".$login."\n";
1367 1367
 		$this->assertEquals($login, 'admin', 'The test to check if pass of user "admin" is "admin" has failed');
1368 1368
 
1369
-		$login = checkLoginPassEntity('admin', 'admin', 1, array('http','dolibarr'));    // Should work because of second authentication method
1369
+		$login = checkLoginPassEntity('admin', 'admin', 1, array('http', 'dolibarr')); // Should work because of second authentication method
1370 1370
 		print __METHOD__." login=".$login."\n";
1371 1371
 		$this->assertEquals($login, 'admin');
1372 1372
 
1373 1373
 		$login = checkLoginPassEntity('admin', 'admin', 1, array('forceuser'));
1374 1374
 		print __METHOD__." login=".$login."\n";
1375
-		$this->assertEquals('', $login, 'Error');    // Expected '' because should failed because login 'auto' does not exists
1375
+		$this->assertEquals('', $login, 'Error'); // Expected '' because should failed because login 'auto' does not exists
1376 1376
 	}
1377 1377
 }
Please login to merge, or discard this patch.