company.php 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115
  1. <?php
  2. /* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
  3. * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
  4. * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
  5. * Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
  6. * Copyright (C) 2011-2016 Philippe Grand <philippe.grand@atoo-net.com>
  7. * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License as published by
  11. * the Free Software Foundation; either version 3 of the License, or
  12. * (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21. */
  22. /**
  23. * \file htdocs/admin/company.php
  24. * \ingroup company
  25. * \brief Setup page to configure company/foundation
  26. */
  27. require '../main.inc.php';
  28. require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
  29. require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
  30. require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
  31. require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
  32. require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
  33. require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
  34. require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
  35. $action=GETPOST('action');
  36. $langs->load("admin");
  37. $langs->load("companies");
  38. if (! $user->admin) accessforbidden();
  39. $error=0;
  40. /*
  41. * Actions
  42. */
  43. if ( ($action == 'update' && empty($_POST["cancel"]))
  44. || ($action == 'updateedit') )
  45. {
  46. require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
  47. $tmparray=getCountry(GETPOST('country_id','int'),'all',$db,$langs,0);
  48. if (! empty($tmparray['id']))
  49. {
  50. $mysoc->country_id =$tmparray['id'];
  51. $mysoc->country_code =$tmparray['code'];
  52. $mysoc->country_label=$tmparray['label'];
  53. $s=$mysoc->country_id.':'.$mysoc->country_code.':'.$mysoc->country_label;
  54. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_COUNTRY", $s,'chaine',0,'',$conf->entity);
  55. }
  56. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"],'chaine',0,'',$conf->entity);
  57. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADDRESS",$_POST["address"],'chaine',0,'',$conf->entity);
  58. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TOWN",$_POST["town"],'chaine',0,'',$conf->entity);
  59. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ZIP",$_POST["zipcode"],'chaine',0,'',$conf->entity);
  60. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_STATE",$_POST["state_id"],'chaine',0,'',$conf->entity);
  61. dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"],'chaine',0,'',$conf->entity);
  62. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TEL",$_POST["tel"],'chaine',0,'',$conf->entity);
  63. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FAX",$_POST["fax"],'chaine',0,'',$conf->entity);
  64. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MAIL",$_POST["mail"],'chaine',0,'',$conf->entity);
  65. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_WEB",$_POST["web"],'chaine',0,'',$conf->entity);
  66. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOTE",$_POST["note"],'chaine',0,'',$conf->entity);
  67. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_GENCOD",$_POST["barcode"],'chaine',0,'',$conf->entity);
  68. if ($_FILES["logo"]["tmp_name"])
  69. {
  70. if (preg_match('/([^\\/:]+)$/i',$_FILES["logo"]["name"],$reg))
  71. {
  72. $original_file=$reg[1];
  73. $isimage=image_format_supported($original_file);
  74. if ($isimage >= 0)
  75. {
  76. dol_syslog("Move file ".$_FILES["logo"]["tmp_name"]." to ".$conf->mycompany->dir_output.'/logos/'.$original_file);
  77. if (! is_dir($conf->mycompany->dir_output.'/logos/'))
  78. {
  79. dol_mkdir($conf->mycompany->dir_output.'/logos/');
  80. }
  81. $result=dol_move_uploaded_file($_FILES["logo"]["tmp_name"],$conf->mycompany->dir_output.'/logos/'.$original_file,1,0,$_FILES['logo']['error']);
  82. if ($result > 0)
  83. {
  84. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO",$original_file,'chaine',0,'',$conf->entity);
  85. // Create thumbs of logo (Note that PDF use original file and not thumbs)
  86. if ($isimage > 0)
  87. {
  88. // Create thumbs
  89. //$object->addThumbs($newfile); // We can't use addThumbs here yet because we need name of generated thumbs to add them into constants. TODO Check if need such constants. We should be able to retreive value with get...
  90. // Used on logon for example
  91. $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthsmall, $maxheightsmall, '_small', $quality);
  92. if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg))
  93. {
  94. $imgThumbSmall = $reg[1]; // Save only basename
  95. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity);
  96. }
  97. else dol_syslog($imgThumbSmall);
  98. // Create mini thumbs for company (Ratio is near 16/9)
  99. // Used on menu or for setup page for example
  100. $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthmini, $maxheightmini, '_mini', $quality);
  101. if (image_format_supported($imgThumbMini) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg))
  102. {
  103. $imgThumbMini = $reg[1]; // Save only basename
  104. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity);
  105. }
  106. else dol_syslog($imgThumbMini);
  107. }
  108. else dol_syslog("ErrorImageFormatNotSupported",LOG_WARNING);
  109. }
  110. else if (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result))
  111. {
  112. $error++;
  113. $langs->load("errors");
  114. $tmparray=explode(':',$result);
  115. setEventMessages($langs->trans('ErrorFileIsInfectedWithAVirus',$tmparray[1]), null, 'errors');
  116. }
  117. else
  118. {
  119. $error++;
  120. setEventMessages($langs->trans("ErrorFailedToSaveFile"), null, 'errors');
  121. }
  122. }
  123. else
  124. {
  125. $error++;
  126. $langs->load("errors");
  127. setEventMessages($langs->trans("ErrorBadImageFormat"), null, 'errors');
  128. }
  129. }
  130. }
  131. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MANAGERS",$_POST["MAIN_INFO_SOCIETE_MANAGERS"],'chaine',0,'',$conf->entity);
  132. dolibarr_set_const($db, "MAIN_INFO_CAPITAL",$_POST["capital"],'chaine',0,'',$conf->entity);
  133. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FORME_JURIDIQUE",$_POST["forme_juridique_code"],'chaine',0,'',$conf->entity);
  134. dolibarr_set_const($db, "MAIN_INFO_SIREN",$_POST["siren"],'chaine',0,'',$conf->entity);
  135. dolibarr_set_const($db, "MAIN_INFO_SIRET",$_POST["siret"],'chaine',0,'',$conf->entity);
  136. dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"],'chaine',0,'',$conf->entity);
  137. dolibarr_set_const($db, "MAIN_INFO_RCS",$_POST["rcs"],'chaine',0,'',$conf->entity);
  138. dolibarr_set_const($db, "MAIN_INFO_PROFID5",$_POST["MAIN_INFO_PROFID5"],'chaine',0,'',$conf->entity);
  139. dolibarr_set_const($db, "MAIN_INFO_PROFID6",$_POST["MAIN_INFO_PROFID6"],'chaine',0,'',$conf->entity);
  140. dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"],'chaine',0,'',$conf->entity);
  141. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_OBJECT",$_POST["object"],'chaine',0,'',$conf->entity);
  142. dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonthstart"],'chaine',0,'',$conf->entity);
  143. dolibarr_set_const($db, "FACTURE_TVAOPTION",$_POST["optiontva"],'chaine',0,'',$conf->entity);
  144. // Local taxes
  145. dolibarr_set_const($db, "FACTURE_LOCAL_TAX1_OPTION",$_POST["optionlocaltax1"],'chaine',0,'',$conf->entity);
  146. dolibarr_set_const($db, "FACTURE_LOCAL_TAX2_OPTION",$_POST["optionlocaltax2"],'chaine',0,'',$conf->entity);
  147. if($_POST["optionlocaltax1"]=="localtax1on")
  148. {
  149. if(!isset($_REQUEST['lt1']))
  150. {
  151. dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", 0,'chaine',0,'',$conf->entity);
  152. }
  153. else
  154. {
  155. dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", GETPOST('lt1'),'chaine',0,'',$conf->entity);
  156. }
  157. dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC1", $_POST["clt1"],'chaine',0,'',$conf->entity);
  158. }
  159. if($_POST["optionlocaltax2"]=="localtax2on")
  160. {
  161. if(!isset($_REQUEST['lt2']))
  162. {
  163. dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", 0,'chaine',0,'',$conf->entity);
  164. }
  165. else
  166. {
  167. dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", GETPOST('lt2'),'chaine',0,'',$conf->entity);
  168. }
  169. dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC2", $_POST["clt2"],'chaine',0,'',$conf->entity);
  170. }
  171. if ($action != 'updateedit' && ! $error)
  172. {
  173. header("Location: ".$_SERVER["PHP_SELF"]);
  174. exit;
  175. }
  176. }
  177. if ($action == 'addthumb')
  178. {
  179. if (file_exists($conf->mycompany->dir_output.'/logos/'.$_GET["file"]))
  180. {
  181. $isimage=image_format_supported($_GET["file"]);
  182. // Create thumbs of logo
  183. if ($isimage > 0)
  184. {
  185. // Create thumbs
  186. //$object->addThumbs($newfile); // We can't use addThumbs here yet because we need name of generated thumbs to add them into constants. TODO Check if need such constants. We should be able to retreive value with get...
  187. // Used on logon for example
  188. $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthsmall, $maxheightsmall, '_small',$quality);
  189. if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg))
  190. {
  191. $imgThumbSmall = $reg[1]; // Save only basename
  192. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity);
  193. }
  194. else dol_syslog($imgThumbSmall);
  195. // Create mini thumbs for company (Ratio is near 16/9)
  196. // Used on menu or for setup page for example
  197. $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthmini, $maxheightmini, '_mini',$quality);
  198. if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg))
  199. {
  200. $imgThumbMini = $reg[1]; // Save only basename
  201. dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity);
  202. }
  203. else dol_syslog($imgThumbMini);
  204. header("Location: ".$_SERVER["PHP_SELF"]);
  205. exit;
  206. }
  207. else
  208. {
  209. $error++;
  210. $langs->load("errors");
  211. setEventMessages($langs->trans("ErrorBadImageFormat"), null, 'errors');
  212. dol_syslog($langs->transnoentities("ErrorBadImageFormat"),LOG_WARNING);
  213. }
  214. }
  215. else
  216. {
  217. $error++;
  218. $langs->load("errors");
  219. setEventMessages($langs->trans("ErrorFileDoesNotExists",$_GET["file"]), null, 'errors');
  220. dol_syslog($langs->transnoentities("ErrorFileDoesNotExists",$_GET["file"]),LOG_WARNING);
  221. }
  222. }
  223. if ($action == 'removelogo')
  224. {
  225. require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
  226. $logofile=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo;
  227. dol_delete_file($logofile);
  228. dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO",$conf->entity);
  229. $mysoc->logo='';
  230. $logosmallfile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small;
  231. dol_delete_file($logosmallfile);
  232. dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$conf->entity);
  233. $mysoc->logo_small='';
  234. $logominifile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini;
  235. dol_delete_file($logominifile);
  236. dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$conf->entity);
  237. $mysoc->logo_mini='';
  238. }
  239. /*
  240. * View
  241. */
  242. $wikihelp='EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones';
  243. llxHeader('',$langs->trans("Setup"),$wikihelp);
  244. $form=new Form($db);
  245. $formother=new FormOther($db);
  246. $formcompany=new FormCompany($db);
  247. $countrynotdefined='<font class="error">'.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')</font>';
  248. print load_fiche_titre($langs->trans("CompanyFoundation"),'','title_setup');
  249. print $langs->trans("CompanyFundationDesc")."<br>\n";
  250. print "<br>\n";
  251. if ($action == 'edit' || $action == 'updateedit')
  252. {
  253. /**
  254. * Edition des parametres
  255. */
  256. print "\n".'<script type="text/javascript" language="javascript">';
  257. print '$(document).ready(function () {
  258. $("#selectcountry_id").change(function() {
  259. document.form_index.action.value="updateedit";
  260. document.form_index.submit();
  261. });
  262. });';
  263. print '</script>'."\n";
  264. print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'" name="form_index">';
  265. print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
  266. print '<input type="hidden" name="action" value="update">';
  267. $var=true;
  268. print '<table class="noborder" width="100%">';
  269. print '<tr class="liste_titre"><th width="35%">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n";
  270. // Name
  271. $var=!$var;
  272. print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>';
  273. print '<input name="nom" id="name" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_NOM?$conf->global->MAIN_INFO_SOCIETE_NOM:$_POST["nom"]) . '" autofocus="autofocus"></td></tr>'."\n";
  274. // Addresse
  275. $var=!$var;
  276. print '<tr '.$bc[$var].'><td><label for="address">'.$langs->trans("CompanyAddress").'</label></td><td>';
  277. print '<textarea name="address" id="address" class="quatrevingtpercent" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_SOCIETE_ADDRESS?$conf->global->MAIN_INFO_SOCIETE_ADDRESS:$_POST["address"]) . '</textarea></td></tr>'."\n";
  278. $var=!$var;
  279. print '<tr '.$bc[$var].'><td><label for="zipcode">'.$langs->trans("CompanyZip").'</label></td><td>';
  280. print '<input name="zipcode" id="zipcode" value="'. ($conf->global->MAIN_INFO_SOCIETE_ZIP?$conf->global->MAIN_INFO_SOCIETE_ZIP:$_POST["zipcode"]) . '" size="10"></td></tr>'."\n";
  281. $var=!$var;
  282. print '<tr '.$bc[$var].'><td><label for="town">'.$langs->trans("CompanyTown").'</label></td><td>';
  283. print '<input name="town" id="town" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_TOWN?$conf->global->MAIN_INFO_SOCIETE_TOWN:$_POST["town"]) . '"></td></tr>'."\n";
  284. // Country
  285. $var=!$var;
  286. print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans("Country").'</label></td><td class="maxwidthonsmartphone">';
  287. //if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization
  288. print $form->select_country($mysoc->country_id,'country_id');
  289. if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
  290. print '</td></tr>'."\n";
  291. $var=!$var;
  292. print '<tr '.$bc[$var].'><td><label for="state_id">'.$langs->trans("State").'</label></td><td class="maxwidthonsmartphone">';
  293. $formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_STATE,$mysoc->country_code,'state_id');
  294. print '</td></tr>'."\n";
  295. $var=!$var;
  296. print '<tr '.$bc[$var].'><td><label for="currency">'.$langs->trans("CompanyCurrency").'</label></td><td>';
  297. print $form->selectCurrency($conf->currency,"currency");
  298. print '</td></tr>'."\n";
  299. $var=!$var;
  300. print '<tr '.$bc[$var].'><td><label for="phone">'.$langs->trans("Phone").'</label></td><td>';
  301. print '<input name="tel" id="phone" value="'. $conf->global->MAIN_INFO_SOCIETE_TEL . '"></td></tr>';
  302. print '</td></tr>'."\n";
  303. $var=!$var;
  304. print '<tr '.$bc[$var].'><td><label for="fax">'.$langs->trans("Fax").'</label></td><td>';
  305. print '<input name="fax" id="fax" value="'. $conf->global->MAIN_INFO_SOCIETE_FAX . '"></td></tr>';
  306. print '</td></tr>'."\n";
  307. $var=!$var;
  308. print '<tr '.$bc[$var].'><td><label for="email">'.$langs->trans("EMail").'</label></td><td>';
  309. print '<input name="mail" id="email" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_MAIL . '"></td></tr>';
  310. print '</td></tr>'."\n";
  311. // Web
  312. $var=!$var;
  313. print '<tr '.$bc[$var].'><td><label for="web">'.$langs->trans("Web").'</label></td><td>';
  314. print '<input name="web" id="web" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_WEB . '"></td></tr>';
  315. print '</td></tr>'."\n";
  316. // Barcode
  317. if (! empty($conf->barcode->enabled)) {
  318. $var=!$var;
  319. print '<tr '.$bc[$var].'><td><label for="barcode">'.$langs->trans("Gencod").'</label></td><td>';
  320. print '<input name="barcode" id="barcode" size="40" value="'. $conf->global->MAIN_INFO_SOCIETE_GENCOD . '"></td></tr>';
  321. print '</td></tr>';
  322. }
  323. // Logo
  324. $var=!$var;
  325. print '<tr'.dol_bc($var,'hideonsmartphone').'><td><label for="logo">'.$langs->trans("Logo").' (png,jpg)</label></td><td>';
  326. print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">';
  327. print '<input type="file" class="flat" name="logo" id="logo" size="50">';
  328. print '</td><td class="nocellnopadd" valign="middle" align="right">';
  329. if (! empty($mysoc->logo_mini)) {
  330. print '<a href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete")).'</a>';
  331. if (file_exists($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) {
  332. print ' &nbsp; ';
  333. print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&amp;file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">';
  334. }
  335. } else {
  336. print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
  337. }
  338. print '</td></tr></table>';
  339. print '</td></tr>';
  340. // Note
  341. $var=!$var;
  342. print '<tr '.$bc[$var].'><td valign="top"><label for="note">'.$langs->trans("Note").'</label></td><td>';
  343. print '<textarea class="flat quatrevingtpercent" name="note" id="note" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? $conf->global->MAIN_INFO_SOCIETE_NOTE : '').'</textarea></td></tr>';
  344. print '</td></tr>';
  345. print '</table>';
  346. print '<br>';
  347. // IDs of the company (country-specific)
  348. print '<table class="noborder" width="100%">';
  349. print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
  350. $var=true;
  351. $langs->load("companies");
  352. // Managing Director(s)
  353. $var=!$var;
  354. print '<tr '.$bc[$var].'><td width="35%"><label for="director">'.$langs->trans("ManagingDirectors").'</label></td><td>';
  355. print '<input name="MAIN_INFO_SOCIETE_MANAGERS" id="director" size="80" value="' . $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '"></td></tr>';
  356. // Capital
  357. $var=!$var;
  358. print '<tr '.$bc[$var].'><td width="35%"><label for="capital">'.$langs->trans("Capital").'</label></td><td>';
  359. print '<input name="capital" id="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>';
  360. // Juridical Status
  361. $var=!$var;
  362. print '<tr '.$bc[$var].'><td><label for="forme_juridique_code">'.$langs->trans("JuridicalStatus").'</label></td><td>';
  363. if ($mysoc->country_code) {
  364. print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'forme_juridique_code');
  365. } else {
  366. print $countrynotdefined;
  367. }
  368. print '</td></tr>';
  369. // ProfID1
  370. if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-')
  371. {
  372. $var=!$var;
  373. print '<tr '.$bc[$var].'><td width="35%"><label for="profid1">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</label></td><td>';
  374. if (! empty($mysoc->country_code))
  375. {
  376. print '<input name="siren" id="profid1" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIREN) ? $conf->global->MAIN_INFO_SIREN : '') . '">';
  377. }
  378. else
  379. {
  380. print $countrynotdefined;
  381. }
  382. print '</td></tr>';
  383. }
  384. // ProfId2
  385. if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-')
  386. {
  387. $var=!$var;
  388. print '<tr '.$bc[$var].'><td width="35%"><label for="profid2">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</label></td><td>';
  389. if (! empty($mysoc->country_code))
  390. {
  391. print '<input name="siret" id="profid2" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIRET) ? $conf->global->MAIN_INFO_SIRET : '' ) . '">';
  392. }
  393. else
  394. {
  395. print $countrynotdefined;
  396. }
  397. print '</td></tr>';
  398. }
  399. // ProfId3
  400. if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-')
  401. {
  402. $var=!$var;
  403. print '<tr '.$bc[$var].'><td width="35%"><label for="profid3">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</label></td><td>';
  404. if (! empty($mysoc->country_code))
  405. {
  406. print '<input name="ape" id="profid3" size="20" value="' . (! empty($conf->global->MAIN_INFO_APE) ? $conf->global->MAIN_INFO_APE : '') . '">';
  407. }
  408. else
  409. {
  410. print $countrynotdefined;
  411. }
  412. print '</td></tr>';
  413. }
  414. // ProfId4
  415. if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-')
  416. {
  417. $var=!$var;
  418. print '<tr '.$bc[$var].'><td width="35%"><label for="profid4">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</label></td><td>';
  419. if (! empty($mysoc->country_code))
  420. {
  421. print '<input name="rcs" id="profid4" size="20" value="' . (! empty($conf->global->MAIN_INFO_RCS) ? $conf->global->MAIN_INFO_RCS : '') . '">';
  422. }
  423. else
  424. {
  425. print $countrynotdefined;
  426. }
  427. print '</td></tr>';
  428. }
  429. // ProfId5
  430. if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-')
  431. {
  432. $var=!$var;
  433. print '<tr '.$bc[$var].'><td width="35%"><label for="profid5">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</label></td><td>';
  434. if (! empty($mysoc->country_code))
  435. {
  436. print '<input name="MAIN_INFO_PROFID5" id="profid5" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID5) ? $conf->global->MAIN_INFO_PROFID5 : '') . '">';
  437. }
  438. else
  439. {
  440. print $countrynotdefined;
  441. }
  442. print '</td></tr>';
  443. }
  444. // ProfId6
  445. if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-')
  446. {
  447. $var=!$var;
  448. print '<tr '.$bc[$var].'><td width="35%"><label for="profid6">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</label></td><td>';
  449. if (! empty($mysoc->country_code))
  450. {
  451. print '<input name="MAIN_INFO_PROFID6" id="profid6" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID6) ? $conf->global->MAIN_INFO_PROFID6 : '') . '">';
  452. }
  453. else
  454. {
  455. print $countrynotdefined;
  456. }
  457. print '</td></tr>';
  458. }
  459. // TVA Intra
  460. $var=!$var;
  461. print '<tr '.$bc[$var].'><td width="35%"><label for="intra_vat">'.$langs->trans("VATIntra").'</label></td><td>';
  462. print '<input name="tva" id="intra_vat" size="20" value="' . (! empty($conf->global->MAIN_INFO_TVAINTRA) ? $conf->global->MAIN_INFO_TVAINTRA : '') . '">';
  463. print '</td></tr>';
  464. // Object of the company
  465. $var=!$var;
  466. print '<tr '.$bc[$var].'><td width="35%"><label for="object">'.$langs->trans("CompanyObject").'</label></td><td>';
  467. print '<textarea class="flat quatrevingtpercent" name="object" id="object" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? $conf->global->MAIN_INFO_SOCIETE_OBJECT : '').'</textarea></td></tr>';
  468. print '</td></tr>';
  469. print '</table>';
  470. // Fiscal year start
  471. print '<br>';
  472. print '<table class="noborder" width="100%">';
  473. print '<tr class="liste_titre">';
  474. print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>';
  475. print "</tr>\n";
  476. $var=true;
  477. $var=!$var;
  478. print '<tr '.$bc[$var].'><td width="35%"><label for="fiscalmonthstart">'.$langs->trans("FiscalMonthStart").'</label></td><td>';
  479. print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',0,1) . '</td></tr>';
  480. print "</table>";
  481. // Fiscal options
  482. print '<br>';
  483. print '<table class="noborder" width="100%">';
  484. print '<tr class="liste_titre">';
  485. print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>';
  486. print '<td align="right">&nbsp;</td>';
  487. print "</tr>\n";
  488. $var=true;
  489. $var=!$var;
  490. print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"use_vat\" value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</label></td>";
  491. print '<td colspan="2">';
  492. print "<table>";
  493. print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>";
  494. print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n";
  495. print "</table>";
  496. print "</td></tr>\n";
  497. $var=!$var;
  498. print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"no_vat\" value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>";
  499. print '<td colspan="2">';
  500. print "<table>";
  501. print "<tr><td><label for=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>";
  502. print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n";
  503. print "</table>";
  504. print "</td></tr>\n";
  505. print "</table>";
  506. /*
  507. * Local Taxes
  508. */
  509. if ($mysoc->useLocalTax(1))
  510. {
  511. // Local Tax 1
  512. print '<br>';
  513. print '<table class="noborder" width="100%">';
  514. print '<tr class="liste_titre">';
  515. print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>';
  516. print '<td align="right">&nbsp;</td>';
  517. print "</tr>\n";
  518. $var=true;
  519. $var=!$var;
  520. // Note: When option is not set, it must not appears as set on on, because there is no default value for this option
  521. print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>";
  522. print '<td colspan="2">';
  523. print '<table class="nobordernopadding">';
  524. print "<tr><td><label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>";
  525. $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code);
  526. print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  527. if(! isOnlyOneLocalTax(1))
  528. {
  529. print '<tr><td align="left"><label for="lt1">'.$langs->trans("LTRate").'</label>: ';
  530. $formcompany->select_localtax(1,$conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1");
  531. print '</td></tr>';
  532. }
  533. $opcions=array($langs->trans("CalcLocaltax1").' '.$langs->trans("CalcLocaltax1Desc"),$langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"),$langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc"));
  534. print '<tr><td align="left"></label for="clt1">'.$langs->trans("CalcLocaltax").'</label>: ';
  535. print $form->selectarray("clt1", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC1);
  536. print '</td></tr>';
  537. print "</table>";
  538. print "</td></tr>\n";
  539. $var=!$var;
  540. print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" value=\"localtax1off\"".((empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off")?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>";
  541. print '<td colspan="2">';
  542. print "<table>";
  543. print "<tr><td><label for=\"nolt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>";
  544. $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code);
  545. print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  546. print "</table>";
  547. print "</td></tr>\n";
  548. print "</table>";
  549. }
  550. if ($mysoc->useLocalTax(2))
  551. {
  552. // Local Tax 2
  553. print '<br>';
  554. print '<table class="noborder" width="100%">';
  555. print '<tr class="liste_titre">';
  556. print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>';
  557. print '<td align="right">&nbsp;</td>';
  558. print "</tr>\n";
  559. $var=true;
  560. $var=!$var;
  561. // Note: When option is not set, it must not appears as set on on, because there is no default value for this option
  562. print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>";
  563. print '<td colspan="2">';
  564. print '<table class="nobordernopadding">';
  565. print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>";
  566. $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code);
  567. print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  568. if(! isOnlyOneLocalTax(2))
  569. {
  570. print '<tr><td align="left"><label for="lt2">'.$langs->trans("LTRate").'</label>: ';
  571. $formcompany->select_localtax(2,$conf->global->MAIN_INFO_VALUE_LOCALTAX2, "lt2");
  572. print '</td></tr>';
  573. }
  574. print '<tr><td align="left"><label for="clt2">'.$langs->trans("CalcLocaltax").'</label>: ';
  575. print $form->selectarray("clt2", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC2);
  576. print '</td></tr>';
  577. print "</table>";
  578. print "</td></tr>\n";
  579. $var=!$var;
  580. print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" value=\"localtax2off\"".((empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off")?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>";
  581. print '<td colspan="2">';
  582. print "<table>";
  583. print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>";
  584. $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code);
  585. print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  586. print "</table>";
  587. print "</td></tr>\n";
  588. print "</table>";
  589. }
  590. print '<br><div class="center">';
  591. print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
  592. print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
  593. print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
  594. print '</div>';
  595. print '<br>';
  596. print '</form>';
  597. }
  598. else
  599. {
  600. /*
  601. * Show parameters
  602. */
  603. // Actions buttons
  604. //print '<div class="tabsAction">';
  605. //print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
  606. //print '</div><br>';
  607. print '<table class="noborder" width="100%">';
  608. print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>';
  609. $var=true;
  610. $var=!$var;
  611. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>';
  612. if (! empty($conf->global->MAIN_INFO_SOCIETE_NOM)) print $conf->global->MAIN_INFO_SOCIETE_NOM;
  613. else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyName")).'</font>';
  614. print '</td></tr>';
  615. $var=!$var;
  616. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_SOCIETE_ADDRESS)?'':$conf->global->MAIN_INFO_SOCIETE_ADDRESS) . '</td></tr>';
  617. $var=!$var;
  618. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_ZIP)?'':$conf->global->MAIN_INFO_SOCIETE_ZIP) . '</td></tr>';
  619. $var=!$var;
  620. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_TOWN)?'':$conf->global->MAIN_INFO_SOCIETE_TOWN) . '</td></tr>';
  621. $var=!$var;
  622. print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>';
  623. if ($mysoc->country_code)
  624. {
  625. $img=picto_from_langcode($mysoc->country_code);
  626. print $img?$img.' ':'';
  627. print getCountry($mysoc->country_code,1);
  628. }
  629. else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyCountry")).'</font>';
  630. print '</td></tr>';
  631. $var=!$var;
  632. print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>';
  633. if (! empty($conf->global->MAIN_INFO_SOCIETE_STATE)) print getState($conf->global->MAIN_INFO_SOCIETE_STATE);
  634. else print '&nbsp;';
  635. print '</td></tr>';
  636. $var=!$var;
  637. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>';
  638. print currency_name($conf->currency,1);
  639. print ' ('.$conf->currency;
  640. print ($conf->currency != $langs->getCurrencySymbol($conf->currency) ? ' - '.$langs->getCurrencySymbol($conf->currency) : '');
  641. print ')';
  642. print '</td></tr>';
  643. $var=!$var;
  644. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Phone").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_TEL,$mysoc->country_code) . '</td></tr>';
  645. $var=!$var;
  646. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Fax").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_FAX,$mysoc->country_code) . '</td></tr>';
  647. $var=!$var;
  648. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_SOCIETE_MAIL,0,0,0,80) . '</td></tr>';
  649. // Web
  650. $var=!$var;
  651. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_SOCIETE_WEB,'_blank',80) . '</td></tr>';
  652. // Barcode
  653. if (! empty($conf->barcode->enabled))
  654. {
  655. $var=!$var;
  656. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Gencod").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_GENCOD . '</td></tr>';
  657. }
  658. // Logo
  659. $var=!$var;
  660. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Logo").'</td><td>';
  661. print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">';
  662. print $mysoc->logo;
  663. print '</td><td class="nocellnopadd" valign="center" align="right">';
  664. // It offers the generation of the thumbnail if it does not exist
  665. if (!is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini) && preg_match('/(\.jpg|\.jpeg|\.png)$/i',$mysoc->logo))
  666. {
  667. print '<a href="'.$_SERVER["PHP_SELF"].'?action=addthumb&amp;file='.urlencode($mysoc->logo).'">'.img_picto($langs->trans('GenerateThumb'),'refresh').'</a>&nbsp;&nbsp;';
  668. }
  669. else if ($mysoc->logo_mini && is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini))
  670. {
  671. print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&amp;file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">';
  672. }
  673. else
  674. {
  675. print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
  676. }
  677. print '</td></tr></table>';
  678. print '</td></tr>';
  679. $var=!$var;
  680. print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("Note").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? nl2br($conf->global->MAIN_INFO_SOCIETE_NOTE) : '') . '</td></tr>';
  681. print '</table>';
  682. print '<br>';
  683. // IDs of the company (country-specific)
  684. print '<form name="formsoc" method="post">';
  685. print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
  686. print '<table class="noborder" width="100%">';
  687. print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
  688. $var=true;
  689. // Managing Director(s)
  690. $var=!$var;
  691. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("ManagingDirectors").'</td><td>';
  692. print $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '</td></tr>';
  693. // Capital
  694. $var=!$var;
  695. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>';
  696. print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>';
  697. // Juridical Status
  698. $var=!$var;
  699. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>';
  700. print getFormeJuridiqueLabel($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE);
  701. print '</td></tr>';
  702. // ProfId1
  703. if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-')
  704. {
  705. $var=!$var;
  706. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</td><td>';
  707. if (! empty($conf->global->MAIN_INFO_SIREN))
  708. {
  709. print $conf->global->MAIN_INFO_SIREN;
  710. if ($mysoc->country_code == 'FR') print ' &nbsp; <a href="http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp" target="_blank">'.$langs->trans("Check").'</a>';
  711. } else {
  712. print '&nbsp;';
  713. }
  714. print '</td></tr>';
  715. }
  716. // ProfId2
  717. if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-')
  718. {
  719. $var=!$var;
  720. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</td><td>';
  721. if (! empty($conf->global->MAIN_INFO_SIRET))
  722. {
  723. print $conf->global->MAIN_INFO_SIRET;
  724. } else {
  725. print '&nbsp;';
  726. }
  727. print '</td></tr>';
  728. }
  729. // ProfId3
  730. if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-')
  731. {
  732. $var=!$var;
  733. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</td><td>';
  734. if (! empty($conf->global->MAIN_INFO_APE))
  735. {
  736. print $conf->global->MAIN_INFO_APE;
  737. } else {
  738. print '&nbsp;';
  739. }
  740. print '</td></tr>';
  741. }
  742. // ProfId4
  743. if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-')
  744. {
  745. $var=!$var;
  746. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</td><td>';
  747. if (! empty($conf->global->MAIN_INFO_RCS))
  748. {
  749. print $conf->global->MAIN_INFO_RCS;
  750. } else {
  751. print '&nbsp;';
  752. }
  753. print '</td></tr>';
  754. }
  755. // ProfId5
  756. if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-')
  757. {
  758. $var=!$var;
  759. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</td><td>';
  760. if (! empty($conf->global->MAIN_INFO_PROFID5))
  761. {
  762. print $conf->global->MAIN_INFO_PROFID5;
  763. } else {
  764. print '&nbsp;';
  765. }
  766. print '</td></tr>';
  767. }
  768. // ProfId6
  769. if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-')
  770. {
  771. $var=!$var;
  772. print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</td><td>';
  773. if (! empty($conf->global->MAIN_INFO_PROFID6))
  774. {
  775. print $conf->global->MAIN_INFO_PROFID6;
  776. } else {
  777. print '&nbsp;';
  778. }
  779. print '</td></tr>';
  780. }
  781. // VAT
  782. $var=!$var;
  783. print '<tr '.$bc[$var].'><td>'.$langs->trans("VATIntra").'</td>';
  784. print '<td>';
  785. if (! empty($conf->global->MAIN_INFO_TVAINTRA))
  786. {
  787. $s='';
  788. $s.=$conf->global->MAIN_INFO_TVAINTRA;
  789. $s.='<input type="hidden" name="tva_intra" size="12" maxlength="20" value="'.$conf->global->MAIN_INFO_TVAINTRA.'">';
  790. if (empty($conf->global->MAIN_DISABLEVATCHECK))
  791. {
  792. $s.=' &nbsp; ';
  793. if (! empty($conf->use_javascript_ajax))
  794. {
  795. print "\n";
  796. print '<script language="JavaScript" type="text/javascript">';
  797. print "function CheckVAT(a) {\n";
  798. print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,285);\n";
  799. print "}\n";
  800. print '</script>';
  801. print "\n";
  802. $s.='<a href="#" onClick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>';
  803. $s = $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1);
  804. }
  805. else
  806. {
  807. $s.='<a href="'.$langs->transcountry("VATIntraCheckURL",$soc->id_country).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').'</a>';
  808. }
  809. }
  810. print $s;
  811. }
  812. else
  813. {
  814. print '&nbsp;';
  815. }
  816. print '</td>';
  817. print '</tr>';
  818. $var=!$var;
  819. print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("CompanyObject").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? nl2br($conf->global->MAIN_INFO_SOCIETE_OBJECT) : '') . '</td></tr>';
  820. print '</table>';
  821. print '</form>';
  822. /*
  823. * fiscal year beginning
  824. */
  825. print '<br>';
  826. print '<table class="noborder" width="100%">';
  827. print '<tr class="liste_titre">';
  828. print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>';
  829. print "</tr>\n";
  830. $var=true;
  831. $var=!$var;
  832. print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>';
  833. $monthstart=(! empty($conf->global->SOCIETE_FISCAL_MONTH_START)) ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1;
  834. print dol_print_date(dol_mktime(12,0,0,$monthstart,1,2000,1),'%B','gm') . '</td></tr>';
  835. print "</table>";
  836. /*
  837. * tax options
  838. */
  839. print '<br>';
  840. print '<table class="noborder" width="100%">';
  841. print '<tr class="liste_titre">';
  842. print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>';
  843. print '<td align="right">&nbsp;</td>';
  844. print "</tr>\n";
  845. $var=true;
  846. $var=!$var;
  847. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"use_vat\" disabled value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</td>";
  848. print '<td colspan="2">';
  849. print "<table>";
  850. print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>";
  851. print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n";
  852. print "</table>";
  853. print "</td></tr>\n";
  854. $var=!$var;
  855. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"no_vat\" disabled value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</td>";
  856. print '<td colspan="2">';
  857. print "<table>";
  858. print "<tr><td><label=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>";
  859. print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n";
  860. print "</table>";
  861. print "</td></tr>\n";
  862. print "</table>";
  863. /*
  864. * Local Taxes
  865. */
  866. if ($mysoc->useLocalTax(1)) // True if we found at least on vat with a setup adding a localtax 1
  867. {
  868. // Local Tax 1
  869. print '<br>';
  870. print '<table class="noborder" width="100%">';
  871. print '<tr class="liste_titre">';
  872. print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>';
  873. print '<td align="right">&nbsp;</td>';
  874. print "</tr>\n";
  875. $var=true;
  876. $var=!$var;
  877. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" disabled value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>";
  878. print '<td colspan="2">';
  879. print "<table>";
  880. print "<tr><td></label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>";
  881. $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code);
  882. print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  883. if($conf->global->MAIN_INFO_VALUE_LOCALTAX1!=0)
  884. {
  885. print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX1 .'</td></tr>';
  886. }
  887. print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': ';
  888. if($conf->global->MAIN_INFO_LOCALTAX_CALC1==0)
  889. {
  890. print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc");
  891. }
  892. else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==1)
  893. {
  894. print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc");
  895. }
  896. else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==2){
  897. print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc");
  898. }
  899. print '</td></tr>';
  900. print "</table>";
  901. print "</td></tr>\n";
  902. $var=!$var;
  903. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" disabled value=\"localtax1off\"".((empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off")?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>";
  904. print '<td colspan="2">';
  905. print "<table>";
  906. print "<tr><td><label for=\"no_lt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>";
  907. $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code);
  908. print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  909. print "</table>";
  910. print "</td></tr>\n";
  911. print "</table>";
  912. }
  913. if ($mysoc->useLocalTax(2)) // True if we found at least on vat with a setup adding a localtax 1
  914. {
  915. // Local Tax 2
  916. print '<br>';
  917. print '<table class="noborder" width="100%">';
  918. print '<tr class="liste_titre">';
  919. print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>';
  920. print '<td align="right">&nbsp;</td>';
  921. print "</tr>\n";
  922. $var=true;
  923. $var=!$var;
  924. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" disabled value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>";
  925. print '<td colspan="2">';
  926. print "<table>";
  927. print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>";
  928. $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code);
  929. print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  930. if($conf->global->MAIN_INFO_VALUE_LOCALTAX2!=0)
  931. {
  932. print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX2 .'</td></tr>';
  933. }
  934. print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': ';
  935. if($conf->global->MAIN_INFO_LOCALTAX_CALC2==0)
  936. {
  937. print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc");
  938. }
  939. else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==1)
  940. {
  941. print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc");
  942. }
  943. else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==2)
  944. {
  945. print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc");
  946. }
  947. print '</td></tr>';
  948. print "</table>";
  949. print "</td></tr>\n";
  950. $var=!$var;
  951. print "<tr ".$bc[$var]."><td width=\"160\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" disabled value=\"localtax2off\"".((empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off")?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>";
  952. print '<td colspan="2">';
  953. print "<table>";
  954. print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>";
  955. $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code);
  956. print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
  957. print "</table>";
  958. print "</td></tr>\n";
  959. print "</table>";
  960. }
  961. // Actions buttons
  962. print '<div class="tabsAction">';
  963. print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a></div>';
  964. print '</div>';
  965. print '<br>';
  966. }
  967. llxFooter();
  968. $db->close();