Ar cieņu,
--
+TicketMessageMailSignatureLabelAdmin=Atbildes e-pasta paraksts +TicketMessageMailSignatureHelpAdmin=Šis teksts tiks ievietots pēc atbildes ziņojuma. +TicketMessageHelp=Tikai šis teksts tiks saglabāts ziņojumu sarakstā uz biļešu kartes. +TicketMessageSubstitutionReplacedByGenericValues=Mainīšanas mainīgos aizstāj ar vispārējām vērtībām. +TimeElapsedSince=Laiks pagājis kopš +TicketTimeToRead=Laiks, kas pagājis pirms izlasīšanas +TicketContacts=Kontakti biļete +TicketDocumentsLinked=Ar biļeti saistītie dokumenti +ConfirmReOpenTicket=Vai apstiprināt atkārtotu pieteikuma atvēršanu ? +TicketMessageMailIntroAutoNewPublicMessage=Pieteikumā tika ievietota jauna ziņa par tēmu%s: +TicketAssignedToYou=Pieteikums piešķirts +TicketAssignedEmailBody=Jums piešķīra pieteikumu # %s %s +MarkMessageAsPrivate=Atzīmēt ziņu kā privātu +TicketMessagePrivateHelp=Šis ziņojums netiks rādīts ārējiem lietotājiem +TicketEmailOriginIssuer=Emitents pēc biļetes avota +InitialMessage=Sākotnējā ziņa +LinkToAContract=Saite uz līgumu +TicketPleaseSelectAContract=Izvēlieties līgumu +UnableToCreateInterIfNoSocid=Nevar izveidot iejaukšanos, ja nav noteikta trešā puse +TicketMailExchanges=Pasta apmaiņa +TicketInitialMessageModified=Sākotnējais ziņojums ir labots +TicketMessageSuccesfullyUpdated=Ziņa ir veiksmīgi atjaunota +TicketChangeStatus=Mainīt statusu +TicketConfirmChangeStatus=Apstiprināt statusa maiņu: %s? +TicketLogStatusChanged=Statuss mainīts: %s līdz %s +TicketNotNotifyTiersAtCreate=Neinformēt uzņēmumu par radīšanu +Unread=Nelasīts + +# +# Logs +# +TicketLogMesgReadBy=Pieteikumu lasīja %s +NoLogForThisTicket=Vēl nav piereģistrējies par šo biļeti +TicketLogAssignedTo=Pieteikums piešķirts %s +TicketAssignedButLogActionNotSaved=Piešķirts pieteikums, bet žurnāls nav saglabāts! +TicketLogPropertyChanged=Mainīt klasifikāciju: no %s līdz %s +TicketLogClosedBy=Pieteikumu slēdza %s +TicketLogProgressSetTo=Progresa izmaiņas %s procenti +TicketLogReopen=Pieteikumu atkārtoti atvēra + +# +# Public pages +# +TicketSystem=Pieteikumu sistēma +ShowListTicketWithTrackId=Parādīt biļešu sarakstu no maršruta ID +ShowTicketWithTrackId=Rādīt biļeti no maršruta ID +TicketPublicDesc=Jūs varat izveidot atbalsta biļeti vai pārbaudīt no esoša ID. +YourTicketSuccessfullySaved=Biļete ir veiksmīgi saglabāta! +MesgInfosPublicTicketCreatedWithTrackId=Jauns pieteikums ir izveidots ar ID %s. +PleaseRememberThisId=Lūdzu, saglabājiet izsekošanas numuru, kuru mēs vēlāk varētu jums lūgt. +TicketNewEmailSubject=Pieteikuma izveides apstiprinājums +TicketNewEmailSubjectCustomer=Jauns atbalsta biļete +TicketNewEmailBody=Šis ir automātisks e-pasts, lai apstiprinātu, ka esat reģistrējies jauns biļete. +TicketNewEmailBodyCustomer=Šis ir automātiskais e-pasta ziņojums, kas apstiprina, ka jaunais biļete ir tikko izveidots jūsu kontā. +TicketNewEmailBodyInfosTicket=Informācija biļetes uzraudzībai +TicketNewEmailBodyInfosTrackId=Pieteikuma izsekošanas numurs: %s +TicketNewEmailBodyInfosTrackUrl=Jūs varat apskatīt biļetes norisi, noklikšķinot uz iepriekš redzamās saites. +TicketNewEmailBodyInfosTrackUrlCustomer=Jūs varat apskatīt pieteikuma statusu konkrētajā saskarnē, noklikšķinot uz šīs saites +TicketEmailPleaseDoNotReplyToThisEmail=Lūdzu, neatbildiet tieši uz šo e-pastu! Izmantojiet saiti, lai atbildētu interfeisu. +TicketPublicInfoCreateTicket=Šī veidlapa ļauj ierakstīt atbalsta biļeti mūsu vadības sistēmā. +TicketPublicPleaseBeAccuratelyDescribe=Lūdzu, precīzi aprakstiet problēmu. Iesniedziet pēc iespējas vairāk informācijas, lai mēs varētu pareizi identificēt jūsu pieprasījumu. +TicketPublicMsgViewLogIn=Lūdzu, ievadiet biļešu izsekošanas ID +TicketTrackId=Izsekošanas ID +OneOfTicketTrackId=Viens no jūsu izsekošanas ID +ErrorTicketNotFound=Biļete ar izsekošanas ID %s nav atrasta! +Subject=Virsraksts +ViewTicket=Skatīt pieteikumu +ViewMyTicketList=Skatīt manu pieteikumu sarakstu +ErrorEmailMustExistToCreateTicket=Kļūda: e-pasta adrese nav atrodama mūsu datu bāzē +TicketNewEmailSubjectAdmin=Izveidots jauns pieteikums +TicketNewEmailBodyAdmin=Pieteikums tikko tika izveidots ar ID #%s, skatīt informāciju:
+SeeThisTicketIntomanagementInterface=Skatiet biļeti vadības saskarnē +TicketPublicInterfaceForbidden=Pieeja šai vietai: aizliegta + +# notifications +TicketNotificationEmailSubject=Pieteikums %s ir atjaunots +TicketNotificationEmailBody=Šī ir automātiska ziņa, kas informē jūs, ka biļete %s tikko atjaunināta +TicketNotificationRecipient=Paziņojuma saņēmējs +TicketNotificationLogMessage=Log ziņojums +TicketNotificationEmailBodyInfosTrackUrlinternal=Skatīt biļeti interfeisu +TicketNotificationNumberEmailSent=Paziņojuma e-pasts nosūtīts: %s + + +# +# Boxes +# +BoxLastTicket=Jaunākais izveidotais pieteikums +BoxLastTicketDescription=Jaunākie %s izveidotie pieteikumi +BoxLastTicketContent= +BoxLastTicketNoRecordedTickets=Nav nesen nelasītu pieteikumu +BoxLastModifiedTicket=Jaunākie labotie pieteikumi +BoxLastModifiedTicketDescription=Jaunākās %s lanbotās biļetes +BoxLastModifiedTicketContent= +BoxLastModifiedTicketNoRecordedTickets=Nav nesen labotu pieteikumu diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 580099e2a95..ed1f3794eec 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -390,7 +390,6 @@ Module2600Desc=Ativa o servidor de serviços web do Dolibarr Module2610Desc=Permitir que o servidor prestação de serviços de API REST do Dolibarr Module2660Name=Chamar ServiçosWeb (cliente SOAP) Module2900Desc=Capacidade de conversão com o GeoIP Maxmind -Module3100Desc=Adicionar um botão Skype nos cartões dos usuários / terceiros / contatos membros Module4000Name=RH Module4000Desc=Gerenciamento de recursos humanos (gerenciamento do departamento, contratos dos funcionários e benefícios) Module5000Name=Multi-Empresas diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index b120e2c04d2..e8dd9cbd210 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -3935,6 +3935,7 @@ tr.visible { display: inline-block; padding-left: 10px; vertical-align: middle; + line-height: 28px; } .websitetools { float: right; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index ecb80bf6c22..31fc81280c2 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -37,7 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php'; require_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; -$langs->loadLangs(array("admin","other","website")); +$langs->loadLangs(array("admin","other","website","errors")); if (! $user->rights->website->read) accessforbidden(); @@ -280,6 +280,12 @@ if ($action == 'addsite') { $db->begin(); + if (GETPOST('virtualhost','alpha') && ! preg_match('/^http/',GETPOST('virtualhost','alpha'))) + { + $error++; + setEventMessages($langs->trans('ErrorURLMustStartWithHttp', $langs->transnoentitiesnoconv("VirtualHost")), null, 'errors'); + } + if (! $error && ! GETPOST('WEBSITE_REF','alpha')) { $error++; @@ -298,7 +304,7 @@ if ($action == 'addsite') $tmpobject=new Website($db); $tmpobject->ref = GETPOST('WEBSITE_REF','alpha'); $tmpobject->description = GETPOST('WEBSITE_DESCRIPTION','alpha'); - $tmpobject->virtualhost = GETPOST('WEBSITE_VIRTUALHOST','alpha'); + $tmpobject->virtualhost = GETPOST('virtualhost','alpha'); $result = $tmpobject->create($user); if ($result <= 0) @@ -353,6 +359,7 @@ if ($action == 'addcontainer') if (! preg_match('/^http/', $urltograb)) { $error++; + $langs->load("errors"); setEventMessages('Error URL must start with http:// or https://', null, 'errors'); $action = 'createcontainer'; } @@ -867,180 +874,207 @@ if ($action == 'updatecss') $res = $object->fetch(0, $websitekey); $website = $object; - // Save master.inc.php file - $filemaster=$pathofwebsite.'/master.inc.php'; - - dol_syslog("Save master file ".$filemaster); - - dol_mkdir($pathofwebsite); - - // Now generate the master.inc.php page - $result = dolSaveMasterFile($filemaster); - if (! $result) setEventMessages('Failed to write file '.$filemaster, null, 'errors'); - - - // Html header file - $htmlheadercontent =''; - - /* We disable php code since htmlheader is never executed as an include but only read by fgets_content. - $htmlheadercontent.= "\n";*/ - - $htmlheadercontent.= preg_replace(array('/\n*/ims','/<\/html>\n*/ims'),array('',''),GETPOST('WEBSITE_HTML_HEADER', 'none')); - - /*$htmlheadercontent.= "\n".'"."\n";*/ - - $htmlheadercontent = trim($htmlheadercontent)."\n"; - - dolSaveHtmlHeader($filehtmlheader, $htmlheadercontent); - - - // Css file - $csscontent =''; - - $csscontent.= "\n"; - - $csscontent.= GETPOST('WEBSITE_CSS_INLINE', 'none'); - - $csscontent.= "\n".'"."\n"; - - dol_syslog("Save css content into ".$filecss); - - dol_mkdir($pathofwebsite); - $result = file_put_contents($filecss, $csscontent); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($filecss, octdec($conf->global->MAIN_UMASK)); - - if (! $result) + if (GETPOSTISSET('virtualhost')) { - $error++; - setEventMessages('Failed to write file '.$filecss, null, 'errors'); + if (GETPOST('virtualhost','alpha') && ! preg_match('/^http/',GETPOST('virtualhost','alpha'))) + { + $error++; + setEventMessages($langs->trans('ErrorURLMustStartWithHttp', $langs->transnoentitiesnoconv("VirtualHost")), null, 'errors'); + $action='editcss'; + } + + if (! $error) + { + $object->virtualhost = GETPOST('virtualhost','alpha'); + + $result = $object->update($user); + if ($result < 0) + { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + $action='editcss'; + } + } } - - // Js file - $jscontent =''; - - $jscontent.= "\n"; - - $jscontent.= GETPOST('WEBSITE_JS_INLINE', 'none'); - - $jscontent.= "\n".'"."\n"; - - dol_syslog("Save js content into ".$filejs); - - dol_mkdir($pathofwebsite); - $result = file_put_contents($filejs, $jscontent); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($filejs, octdec($conf->global->MAIN_UMASK)); - - if (! $result) - { - $error++; - setEventMessages('Failed to write file '.$filejs, null, 'errors'); - } - - - // Robot file - $robotcontent =''; - - /*$robotcontent.= "\n";*/ - - $robotcontent.= GETPOST('WEBSITE_ROBOT', 'none'); - - /*$robotcontent.= "\n".'"."\n";*/ - - dol_syslog("Save file robot into ".$filerobot); - - dol_mkdir($pathofwebsite); - $result = file_put_contents($filerobot, $robotcontent); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($filerobot, octdec($conf->global->MAIN_UMASK)); - - if (! $result) - { - $error++; - setEventMessages('Failed to write file '.$filerobot, null, 'errors'); - } - - - // Css file - $htaccesscontent =''; - - /*$htaccesscontent.= "\n";*/ - - $htaccesscontent.= GETPOST('WEBSITE_HTACCESS', 'none'); - - /*$htaccesscontent.= "\n".'"."\n";*/ - - dol_syslog("Save file htaccess into ".$filehtaccess); - - dol_mkdir($pathofwebsite); - $result = file_put_contents($filehtaccess, $htaccesscontent); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($filehtaccess, octdec($conf->global->MAIN_UMASK)); - - if (! $result) - { - $error++; - setEventMessages('Failed to write file '.$filehtaccess, null, 'errors'); - } - - // Message if no error if (! $error) { - setEventMessages($langs->trans("Saved"), null, 'mesgs'); - } + // Save master.inc.php file + $filemaster=$pathofwebsite.'/master.inc.php'; - $action='preview'; + dol_syslog("Save master file ".$filemaster); + + dol_mkdir($pathofwebsite); + + // Now generate the master.inc.php page + $result = dolSaveMasterFile($filemaster); + if (! $result) setEventMessages('Failed to write file '.$filemaster, null, 'errors'); + + + // Html header file + $htmlheadercontent =''; + + /* We disable php code since htmlheader is never executed as an include but only read by fgets_content. + $htmlheadercontent.= "\n";*/ + + $htmlheadercontent.= preg_replace(array('/\n*/ims','/<\/html>\n*/ims'),array('',''),GETPOST('WEBSITE_HTML_HEADER', 'none')); + + /*$htmlheadercontent.= "\n".'"."\n";*/ + + $htmlheadercontent = trim($htmlheadercontent)."\n"; + + dolSaveHtmlHeader($filehtmlheader, $htmlheadercontent); + + + // Css file + $csscontent =''; + + $csscontent.= "\n"; + + $csscontent.= GETPOST('WEBSITE_CSS_INLINE', 'none'); + + $csscontent.= "\n".'"."\n"; + + dol_syslog("Save css content into ".$filecss); + + dol_mkdir($pathofwebsite); + $result = file_put_contents($filecss, $csscontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filecss, octdec($conf->global->MAIN_UMASK)); + + if (! $result) + { + $error++; + setEventMessages('Failed to write file '.$filecss, null, 'errors'); + } + + + // Js file + $jscontent =''; + + $jscontent.= "\n"; + + $jscontent.= GETPOST('WEBSITE_JS_INLINE', 'none'); + + $jscontent.= "\n".'"."\n"; + + dol_syslog("Save js content into ".$filejs); + + dol_mkdir($pathofwebsite); + $result = file_put_contents($filejs, $jscontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filejs, octdec($conf->global->MAIN_UMASK)); + + if (! $result) + { + $error++; + setEventMessages('Failed to write file '.$filejs, null, 'errors'); + } + + + // Robot file + $robotcontent =''; + + /*$robotcontent.= "\n";*/ + + $robotcontent.= GETPOST('WEBSITE_ROBOT', 'none'); + + /*$robotcontent.= "\n".'"."\n";*/ + + dol_syslog("Save file robot into ".$filerobot); + + dol_mkdir($pathofwebsite); + $result = file_put_contents($filerobot, $robotcontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filerobot, octdec($conf->global->MAIN_UMASK)); + + if (! $result) + { + $error++; + setEventMessages('Failed to write file '.$filerobot, null, 'errors'); + } + + + // Css file + $htaccesscontent =''; + + /*$htaccesscontent.= "\n";*/ + + $htaccesscontent.= GETPOST('WEBSITE_HTACCESS', 'none'); + + /*$htaccesscontent.= "\n".'"."\n";*/ + + dol_syslog("Save file htaccess into ".$filehtaccess); + + dol_mkdir($pathofwebsite); + $result = file_put_contents($filehtaccess, $htaccesscontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filehtaccess, octdec($conf->global->MAIN_UMASK)); + + if (! $result) + { + $error++; + setEventMessages('Failed to write file '.$filehtaccess, null, 'errors'); + } + + + // Message if no error + if (! $error) + { + setEventMessages($langs->trans("Saved"), null, 'mesgs'); + } + + $action='preview'; + } } } @@ -1784,53 +1818,47 @@ if (! GETPOST('hide_websitemenu')) // Toolbar for websites - print '